विषय-सूचि
नेटवर्क लेयर में इस से पहले कि नेटवर्क सर्विस की कोई गारंटी दे, इसे ये जान लेना जरूरी होता है कि यहाँ पर ट्रैफिक किस तरह का होगा। कंजेशन का एक सबसे बड़ा कारण ये होता है कि ट्रैफिक काफी फैला हुआ होता है।
इसे समझने के पहले हमे ये जानना होगा कि ट्रैफिक शेपिंग क्या होता है। ट्रैफिक शेपिंग एक ऐसा मैकेनिज्म होता है जिसके द्वारा ये तय करते हैं कि नेटवर्क में कितनी मात्रा में और किस गति से ट्रैफिक जायेगा।
यानी कंजेशन को मैनेज करने के तरीके को ट्रैफिक शेपिंग कहते हैं। ट्रैफिक शेपिंग डाटा के ट्रांसमिशन की गति को नियंत्रित करने कि क्षमता देता है और कंजेशन को ख़त्म करने में काफी सहायक सिद्ध होता है। कुल दो तरह के ट्रैफिक शेपिंग अल्गोरिथम होते हैं और वो हैं:
- लीकी बकेट अल्गोरिथम, और
- टोकन बकेट अल्गोरिथम
लीकी बकेट अल्गोरिथम क्या है? (leaky bucket algorithm in hindi)
उदाहरण के तौर पर समझने के लिए मान लीजिये कि हमारे पास एक बकेट है जिसमे हम कैसे भी कितनी भी मात्रा में पानी डाले जा रहर हैं लेकिन हमे पानी एक निश्चित गति में ही चाहिए।
इसका एक उपाय यह हो सकता है कि उस बकेट की पेंदी में एक छेद कर दिया जाये। इस से ये सुनिश्चित हो जायेगा कि पानी एक निश्चित गति से बहार आ रहा है और जब बकेट पूरा भर जाये तो हम पानी डालना बंद कर सकते हैं।
इसका मतलब हुआ कि इनपुट रेट चाहे जो भी हो (वो बदलता रहेगा) लेकिन आउटपुट रेट हमेशा समान ही रहेगा।
इसी सिद्धांत पर नेटवर्किंग में लीकी बकेट का कांसेप्ट आया जिसमे फैले हुए अतिरिक्त ट्रैफिक को हम निश्चित गति से बाहर निकाल सकते हैं। पैकेट्स को बकेट में डाटा जाता है और फिर एक औसत गति से बहार निकाला जाता है।
लीकी बकेट की कार्यप्रणाली (working of leaky bucket)
इस चित्र को देखें:
अब होस्ट 5 सेकंड्स के लिए शांत हो जाता है और फिर 2Mbps की गति से फिर 2 सेकंड्स तक डाटा भेजता है और कुल डाटा यहाँ पर 6Mbits है। अगर पूरे को मिलाया जाए तो होस्ट ने अबतक 10 सेकंड्स में 30Mbits डाटा भेज दिया है। अब लीकिंग बकेट उसी 10 सेकंड्स के दौरान डाटा को 3Mbps की गति से भेज कर ट्रैफिक को स्मूथ बनाता है।
अगर यहाँ पर लीकी बकेट नहीं होता तो सारे शुरूआती ट्रैफिक ही नेटवर्क को नुक्सान पहुंचा सकते थे। ऐसा इसीलिए होता क्योंकि वो होस्ट के लिए जितना सेट है उस से ज्यादा बंदविड्थ खा जाते। तो यहाँ पर हम ये भी निष्कर्ष निकाल सकते हैं कि लीकी बकेट कंजेशन से भी राहत देता है।
अल्गोरिथम और स्टेप्स (algorithm and steps)
एक सिंपल लीकी बकेट को FIFO क्यू का इस्तेमाल कर के प्रयोग में लाया जा सकता है। ये FIFO क्यू पैकेट को रखेगा। अगर ट्रैफिक के अंदर सारे निश्चित आकार के पैकेट्स हैं (जैसे कि ATM नेटवर्क के अंदर के सेल्स) तो प्रोसेस एक निश्चित संख्या में पैकेट्स को क्लॉक के हर टिचक के साथ क्यू से बाहर निकाल देगा। अगर ट्रैफिक में अनिश्चित लेंथ वाले पैकेट्स हैं, तो एक निश्चित आउटपुट गति होनी चाहिए जो कि बिट्स या bytes की संख्या पर आधारित हो।
अनिश्चित आकार वाले पैकेट्स के लिए निम्नलिखित अल्गोरिथम को फॉलो किया जा सकता है:
- क्लॉक के टिचक के साथ ही n तक के एक काउंटर की शुरुआत होती है।
- अगर ये n पैकेट के आकार से बड़ा है तो पैकेट को हेज कर काउंटर को पैकेट के आकार जितना घटा दिया जाता है। इस स्टेप को तब तक दुहराया जायेगा जब तक कि ये n पैकेट के आकार से छोटा न हो जाये।
- अब काउंटर को रिसेट कर के वापस स्टेप 1 पर जाते हैं।
लीकी बकेट के उदाहरण (leaky bucket examples)
अब हम एक उदान्रण को हल कर के समझायेंगे कि गणितीय रूप से ये कैसे सम्भव होता है।
माना कि, n=1000
पैकेट=
चूँकि n> क्यूका फ्रंट, इसका मतलब n>200
इसीलिए, n=1000-200=800
नेटवर्क को 200 आकार का पैकेट भेजा जाएगा।
अब फिर से, n> क्यू का फ्रंट, इसका मतलब n > 400
इसीलिए, n=800-400=400
इस बार 400 आकार का पैकेट नेटवर्क को भेजा जाएगा।
चूँकि n < क्यू का फ्रंट, इसीलिए ये प्रक्रिया यहीं पर रुक जाएगी। अब इनिशियलाइज़ करें n= 1000 (क्लॉक के दूसरे टिचक पर)।अब इस प्रक्रिया को तब तक दुहराया जाएगा जब तक कि सारे पैकेट्स को नेटवर्क को ना भेज दिया जाये।
लीकी बकेट और टोकन बकेट के बीच अंतर (difference between token bucket and leaky bucket)
अब हम आपको निम्न तालिका द्वारा ये समझायेंगे कि लीकी बकेट अल्गोरिथम और टोकन बकेट अल्गोरिथम में क्या अंतर है और कैसे ये दोनो अलग-अलग हैं:
लीकी बकेट | टोकन बकेट |
---|---|
जब होस्ट को कोई पैकेट भेजना हो तो उस पैकेट को बकेट में डाल दिया जाता है। | इसमें एक निश्चित अंतराल पर आ रहे टोकेंस को लीकी बकेट होल्ड कर के रखता है। |
बकेट निश्चित गति से लीक होता रहता है। | बकेट के पास अधिकतम क्षमता होती है। |
लीकू बकेट एक फैले हुए ट्रैफिक को यूनिफार्म में बदल देता है। | अगर कोई तैयार पैकेट है तो बकेट से एक टोकन को हटा कर पैकेट को भेज दिया जाता है। |
प्रैक्टिस में बकेट एक निश्चित आकार का क्यू है जो कि निश्चित गति से आउटपुट देता है। | अगर बकेट में कोई टोकन नहीं है तो पैकेट को नहीं भेजा जा सकता। |
टोकन बकेट के फायदे (benefits of token bucket)
टोकन बकेट कैसे बेहतर है लीकी बकेट से ये जानने के लिए नीचे देखें:
- अगर टोकन बकेट में बकेट फुल हो जाये तो टोकन को हटाया जाता है बजाय बास्केट के। जबकि लीकी बकेट में पैकेट को ही हटा दिया जाता है।
- टोकन बकेट भारी संख्या में डाटा भेज सकता है औए वो भी काफी तेज गति से जबकि लीकी बकेट हमेशा निश्चित गति से ही ये काम करता है।
इस तरह जैसा कि आपने देखा, लीकी बकेट टोकन बकेट से कुछ मामलों में पीछे रह जाता है।
इस लेख से सम्बंधित यदि आपका कोई भी सवाल या सुझाव है, तो आप उसे नीचे कमेंट में लिख सकते हैं।