Bufferbloat
बफरब्लोट पैकेट-स्विच्ड नेटवर्क में उच्च विलंबता और घबराहट का एक कारण है जो पैकेटों के अत्यधिक बफरिंग के कारण होता है। बफरब्लोट पैकेट देरी भिन्नता (जिसे जिटर के रूप में भी जाना जाता है) का कारण बन सकता है, साथ ही समग्र नेटवर्क थ्रूपुट को भी कम कर सकता है। जब एक राउटर या स्विच को अत्यधिक बड़े बफर का उपयोग करने के लिए कॉन्फ़िगर किया जाता है, तो बहुत तेज गति वाले नेटवर्क भी वॉयस ओवर आईपी (वीओआईपी), ऑडियो स्ट्रीमिंग, ऑनलाइन गेमिंग और यहां तक कि सामान्य वेब ब्राउज़िंग जैसे कई इंटरैक्टिव अनुप्रयोगों के लिए व्यावहारिक रूप से अनुपयोगी हो सकते हैं। कुछ संचार उपकरण निर्माताओं ने अपने कुछ नेटवर्क उत्पादों में अनावश्यक रूप से बड़े बफर बनाए। इस तरह के उपकरणों में, बफरब्लोट तब होता है जब एक नेटवर्क लिंक भीड़भाड़ वाला हो जाता है, जिससे इन बड़े आकार के बफरों में पैकेट लंबे समय तक कतार में लग जाते हैं। फर्स्ट-इन-फर्स्ट-आउट कतार प्रणाली में, अत्यधिक बड़े बफ़र्स के परिणामस्वरूप लंबी कतारें और उच्च विलंबता होती है, और नेटवर्क थ्रूपुट में सुधार नहीं होता है। यह अन्य पैकेटों की समय पर डिलीवरी में बाधा डालने वाले विशिष्ट धीमी गति वाले कनेक्शनों द्वारा भी प्रेरित किया जा सकता है। बफरब्लोट घटना को 1985 की शुरुआत में वर्णित किया गया था। इसने 2009 में शुरू होने से अधिक व्यापक ध्यान आकर्षित किया। कुछ स्रोतों के अनुसार ऑनलाइन वीडियो गेम में उच्च विलंबता ("अंतराल") का सबसे आम कारण स्थानीय घरेलू नेटवर्क बफरब्लोट है। उच्च विलंबता आधुनिक ऑनलाइन खेल को असंभव बना सकती है। नेटवर्क उपकरण निर्माताओं के लिए एक स्थापित नियम यह था कि किसी उपकरण से गुजरने वाले यातायात की धारा के लिए कम से कम 250 एमएस बफरिंग को समायोजित करने के लिए पर्याप्त बड़े बफर प्रदान किए जाएं। उदाहरण के लिए, एक राउटर के गीगाबिट ईथरनेट इंटरफेस के लिए अपेक्षाकृत बड़े 32 एमबी बफर की आवश्यकता होगी। बफ़र्स के इस तरह के आकार से टीसीपी कंजेशन कंट्रोल एल्गोरिदम की विफलता हो सकती है। बफ़र्स को फिर से निकलने में कुछ समय लगता है, इससे पहले कि भीड़ नियंत्रण रीसेट हो जाए और टीसीपी कनेक्शन रैंप गति बढ़ाने के लिए वापस आ जाए और बफ़र्स को फिर से भर दे। बफरब्लोट इस प्रकार उच्च और परिवर्तनीय विलंबता जैसी समस्याओं का कारण बनता है, और अन्य सभी प्रवाहों के लिए नेटवर्क की बाधाओं को रोकता है क्योंकि बफर एक टीसीपी धारा के पैकेटों से भर जाता है और फिर अन्य पैकेटों को गिरा दिया जाता है। एक फूला हुआ बफर केवल तभी प्रभाव डालता है जब इस बफर का वास्तव में उपयोग किया जाता है। दूसरे शब्दों में, बड़े आकार के बफ़र्स का हानिकारक प्रभाव केवल तभी पड़ता है जब उनका बफ़र लिंक एक अड़चन बन जाता है। एक अड़चन की सेवा करने वाले बफर के आकार को अधिकांश ऑपरेटिंग सिस्टम द्वारा प्रदान की गई पिंग उपयोगिता का उपयोग करके मापा जा सकता है। सबसे पहले, दूसरे होस्ट को लगातार पिंग किया जाना चाहिए; फिर, इससे कई-सेकंड-लंबे डाउनलोड को शुरू किया जाना चाहिए और कुछ बार रोका जाना चाहिए। डिजाइन के अनुसार, टी. सी. पी. कंजेशन अवोइडेन्स एल्गोरिदम मार्ग की अड़चनों को तेजी से भर देगा। यदि डाउनलोड करना (और अपलोड करना, क्रमशः) पिंग द्वारा रिपोर्ट किए गए राउंड ट्रिप समय की प्रत्यक्ष और महत्वपूर्ण वृद्धि के साथ संबंधित है, तो यह दर्शाता है कि डाउनलोड (और अपलोड, क्रमशः) दिशा में वर्तमान अड़चन का बफर फूला हुआ है। चूंकि राउंड ट्रिप के समय में वृद्धि अड़चन पर बफर के कारण होती है, इसलिए अधिकतम वृद्धि मिलीसेकंड में इसके आकार का एक मोटा अनुमान देती है। पिछले उदाहरण में, साधारण पिंगिंग (उदाहरण के लिए, एम. टी. आर.) के बजाय एक उन्नत ट्रेसरआउट उपकरण का उपयोग न केवल अड़चन पर एक फूले हुए बफर के अस्तित्व को प्रदर्शित करेगा, बल्कि नेटवर्क में इसके स्थान को भी इंगित करेगा। ट्रेसर रूट मार्ग (पथ) को प्रदर्शित करके और पूरे नेटवर्क में पैकेटों की पारगमन देरी को मापकर इसे प्राप्त करता है। मार्ग के इतिहास को मार्ग (पथ) में प्रत्येक क्रमिक मेजबान (दूरस्थ नोड) से प्राप्त पैकेटों के राउंड-ट्रिप समय के रूप में दर्ज किया जाता है। तंत्र अधिकांश टीसीपी भीड़ नियंत्रण एल्गोरिदम एक कनेक्शन के दो सिरों के बीच उपलब्ध बैंडविड्थ निर्धारित करने के लिए पैकेट ड्रॉप्स की घटना को मापने पर निर्भर करते हैं। एल्गोरिदम डेटा हस्तांतरण को तब तक तेज करते हैं जब तक कि पैकेट गिरना शुरू नहीं हो जाते, फिर संचरण दर को धीमा कर देते हैं। आदर्श रूप से, वे संचरण दर को तब तक समायोजित करते रहते हैं जब तक कि यह लिंक की संतुलन गति तक नहीं पहुंच जाती। ताकि एल्गोरिदम एक उपयुक्त स्थानांतरण गति का चयन कर सकें, पैकेट ड्रॉप के बारे में प्रतिक्रिया समय पर होनी चाहिए। भरे गए एक बड़े बफर के साथ, पैकेट अपने गंतव्य पर पहुंचेंगे, लेकिन उच्च विलंबता के साथ। पैकेटों को नहीं गिराया गया था, इसलिए एक बार अपलिंक संतृप्त हो जाने के बाद टीसीपी धीमा नहीं होता है, जिससे आगे बफर भर जाता है। नए आने वाले पैकेट केवल तभी गिराए जाते हैं जब बफर पूरी तरह से संतृप्त हो जाता है। एक बार ऐसा होने पर टीसीपी यह भी तय कर सकता है कि कनेक्शन का रास्ता बदल गया है, और फिर से एक नए संचालन बिंदु के लिए अधिक आक्रामक खोज में जा सकता है। पैकेटों को संचारित करने से पहले एक नेटवर्क बफर के भीतर कतार में खड़ा किया जाता है; समस्याग्रस्त स्थितियों में, पैकेट केवल तभी गिराए जाते हैं जब बफर भरा होता है। पुराने राउटरों पर, बफर काफी छोटे होते थे इसलिए वे जल्दी भर जाते थे और इसलिए लिंक के संतृप्त होने के तुरंत बाद पैकेट गिरना शुरू हो जाते थे, इसलिए टीसीपी प्रोटोकॉल समायोजित हो सकता था और समस्या स्पष्ट नहीं होगी। नए राउटरों पर, बफर इतने बड़े हो गए हैं कि कई सेकंड के बफर डेटा को पकड़ सकते हैं। टी. सी. पी. के लिए, एक भीड़भाड़ वाला लिंक सामान्य रूप से काम कर रहा प्रतीत हो सकता है क्योंकि बफर भर जाता है। टीसीपी एल्गोरिदम इस बात से अनजान है कि लिंक भीड़भाड़ वाला है और तब तक सुधारात्मक कार्रवाई करना शुरू नहीं करता है जब तक कि बफर अंत में ओवरफ्लो नहीं हो जाता और पैकेट गिर नहीं जाते। एकल कतार के रूप में लागू एक साधारण बफर से गुजरने वाले सभी पैकेटों में समान देरी का अनुभव होगा, इसलिए भरे हुए बफर से गुजरने वाले किसी भी कनेक्शन की विलंबता प्रभावित होगी। उपलब्ध चैनल बैंडविड्थ भी अप्रयुक्त हो सकती है, क्योंकि कुछ तेज गंतव्यों तक तुरंत नहीं पहुंचा जा सकता है क्योंकि बफर धीमी गति से गंतव्यों तक वितरण की प्रतीक्षा कर रहे डेटा से भरे हुए हैं। ये प्रभाव अन्य नेटवर्क प्रोटोकॉल का उपयोग करने वाले अनुप्रयोगों की अंतःक्रियाशीलता को बाधित करते हैं, जिसमें वीओआईपी और ऑनलाइन गेमिंग जैसे विलंबता-संवेदनशील अनुप्रयोगों में उपयोग किए जाने वाले यूडीपी शामिल हैं। अनुप्रयोग पर प्रभाव बैंडविड्थ आवश्यकताओं के बावजूद, किसी भी प्रकार की सेवा जिसमें लगातार कम विलंबता या घबराहट-मुक्त संचरण की आवश्यकता होती है, बफरब्लोट से प्रभावित हो सकती है। ऐसी सेवाओं में डिजिटल वॉयस कॉल (वीओआईपी), ऑनलाइन गेमिंग, वीडियो चैट और अन्य इंटरैक्टिव एप्लिकेशन जैसे रेडियो स्ट्रीमिंग, वीडियो ऑन डिमांड और रिमोट लॉगिन शामिल हैं। जब बफरब्लोट घटना मौजूद होती है और नेटवर्क लोड के तहत होता है, तो सामान्य वेब पेज लोड को पूरा होने में कई सेकंड लग सकते हैं, या सरल डी. एन. एस. प्रश्न समय समाप्त होने के कारण विफल हो सकते हैं। वास्तव में कोई भी टीसीपी कनेक्शन टाइमआउट और डिस्कनेक्ट हो सकता है, और यूडीपी पैकेट को त्याग दिया जा सकता है। चूँकि टी. सी. पी. डाउनलोड स्ट्रीम की निरंतरता अपलोड स्ट्रीम में पावती (ए. सी. के.) पैकेटों पर निर्भर करती है, अपलोड में एक बफरब्लोट समस्या अन्य गैर-संबंधित डाउनलोड अनुप्रयोगों की विफलता का कारण बन सकती है, क्योंकि क्लाइंट ए. सी. के. पैकेट समय पर इंटरनेट सर्वर तक नहीं पहुंचते हैं। आप उदाहरण ले सकते हैं। इंटरनेट रेडियो स्ट्रीमिंग जैसे अन्य घरेलू नेटवर्क उपयोगकर्ताओं को परेशान न करने के लिए अपलोड वनड्राइव सिंक्रोनाइजेशन की प्रसारण दर को सीमित करें। डी. एस. एल. रिपोर्ट स्पीडटेस्ट एक उपयोग में आसान परीक्षण है जिसमें बफरब्लोट के लिए एक अंक शामिल है। ICSI Netalyzr एक और ऑनलाइन उपकरण था जिसका उपयोग कई अन्य सामान्य विन्यास समस्याओं की जांच के साथ-साथ बफरब्लोट की उपस्थिति के लिए नेटवर्क की जांच के लिए किया जा सकता था। यह सेवा मार्च 2019 में बंद कर दी गई थी। bufferbloat.net वेब साइट यह निर्धारित करने के लिए उपकरणों और प्रक्रियाओं को सूचीबद्ध करती है कि क्या किसी कनेक्शन में अतिरिक्त बफरिंग है जो इसे धीमा कर देगी। समाधान और शमन कई तकनीकी समाधान मौजूद हैं जिन्हें मोटे तौर पर दो श्रेणियों में बांटा जा सकता हैः समाधान जो नेटवर्क को लक्षित करते हैं और समाधान जो अंतिम बिंदुओं को लक्षित करते हैं। दो प्रकार के समाधान अक्सर पूरक होते हैं। समस्या कभी-कभी तेज़ और धीमी नेटवर्क पथों के संयोजन के साथ आती है। नेटवर्क समाधान आम तौर पर कतार प्रबंधन एल्गोरिदम का रूप लेते हैं। इस प्रकार के समाधान पर आई. ई. टी. एफ. ए. क्यू. एम. कार्य समूह का ध्यान केंद्रित रहा है। उल्लेखनीय उदाहरणों में शामिल हैंः आई. पी. कतार की लंबाई को सीमित करते हुए, कोडेल और पी. आई. ई. जैसे टी. सी. पी. ट्यूनिंग ए. क्यू. एम. एल्गोरिदम देखें। हाइब्रिड एक्यूएम और पैकेट शेड्यूलिंग एल्गोरिदम जैसे एफक्यू-कोडेल। केबल मॉडेम में बेहतर बफर नियंत्रण को सक्षम करने के लिए डीओसीएसआईएस मानक में संशोधन। लिनक्स के रूप में लिनक्स ऑपरेटिंग सिस्टम के वाई-फाई सबसिस्टम में कतार प्रबंधन (एफक्यू-कोडेल) का एकीकरण आमतौर पर वायरलेस एक्सेस पॉइंट्स में उपयोग किया जाता है। अंतिम बिंदुओं को लक्षित करने वाले समाधानों के उल्लेखनीय उदाहरण हैंः टीसीपी के लिए बी. बी. आर. भीड़ नियंत्रण एल्गोरिदम। कई बिटटोरेंट ग्राहकों द्वारा नियोजित सूक्ष्म परिवहन प्रोटोकॉल। कम कनेक्शनों का उपयोग करने की तकनीकें, जैसे कि सादे एचटीटीपी प्रोटोकॉल के बजाय एचटीटीपी पाइपलाइनिंग या एचटीटीपी/2। ओएस और नेटवर्क हार्डवेयर पर बफर आकार को कम करके भी समस्या को कम किया जा सकता है; हालाँकि, यह अक्सर विन्यास योग्य नहीं होता है और इष्टतम बफर आकार लाइन दर पर निर्भर करता है जो विभिन्न गंतव्यों के लिए भिन्न हो सकता है। डिफसर्व का उपयोग (और कई प्राथमिकता-आधारित कतारों को नियोजित करना) कम विलंबता वाले यातायात (जैसे वी. ओ. आई. पी., वीडियो कॉन्फ्रेंसिंग, गेमिंग) के संचरण को प्राथमिकता देने में मदद करता है, भीड़भाड़ और बफरबोट से निपटने के लिए गैर-प्राथमिकता वाले यातायात को कम करता है। इष्टतम बफर आकार सबसे लंबी देरी वाले टीसीपी कनेक्शनों के लिए अभी भी बैंडविड्थ का अपना उचित हिस्सा प्राप्त करने के लिए, बफर आकार कम से कम बैंडविड्थ-विलंब उत्पाद होना चाहिए जिसे एक साथ धाराओं की संख्या के वर्गमूल से विभाजित किया जाना चाहिए। अंगूठे का एक विशिष्ट नियम लाइन दर डेटा का 50 एमएस है, लेकिन कुछ लोकप्रिय उपभोक्ता ग्रेड स्विचों में केवल 1 एमएस होता है, जिसके परिणामस्वरूप दूसरों के साथ स्थानीय विवाद के मामले में लंबे विलंब कनेक्शन पर अतिरिक्त बैंडविड्थ का नुकसान हो सकता है। बैंडविड्थ-डिले उत्पाद कंजेशन विंडो एक्सप्लिसिट कंजेशन नोटिफिकेशन हेड-ऑफ-लाइन ब्लॉकिंग पैकेट लॉस संदर्भ बाहरी लिंक बफरब्लोटः इंटरनेट में क्या गलत है? विंट सर्फ, वैन जैकबसन, निक वीवर और जिम गेटी के साथ एक चर्चा अप्रैल, 2011, जिम गेटी द्वारा, विंट सर्फ अप्रैल, 2011 द्वारा परिचय, जिम गेटी द्वारा, विंट सर्फ द्वारा परिचय 21 मिनट का प्रदर्शन और विशिष्ट ब्रॉडबैंड बफरब्लोट मई 2012 की व्याख्या, स्पेनिश में फ्रेड बेकर (आईईटीएफ चेयर) द्वारा, अंग्रेजी स्लाइड उपलब्ध टीएसओ साइजिंग और एफक्यू शेड्यूलर (जोनाथन कॉर्बेट, LWN.net) फ्लो कंट्रोल (डेटा) इंटरनेट आर्किटेक्चर नेटवर्क प्रदर्शन