टीसीपी संकुलन नियंत्रण: Difference between revisions
No edit summary |
No edit summary |
||
Line 8: | Line 8: | ||
== एड्डीटिव इनक्रीस/मल्टिप्लिकेटिव डिक्रीज == | == एड्डीटिव इनक्रीस/मल्टिप्लिकेटिव डिक्रीज == | ||
एड्डीटिव इनक्रीस/मल्टिप्लिकेटिव डिक्रीज (एआईएमडी) एल्गोरिदम क्लोज्ड-लूप [[नियंत्रण प्रणाली|कंट्रोल]] एल्गोरिदम है। एआईएमडी कंजेशन होने पर कंजेशन विंडो की लीनियर ग्रोथ को एक्सपोनेंशियल से रिडक्शन के साथ कंबाइन करती है। एआईएमडी कंजेशन कंट्रोल का उपयोग करने वाले मल्टीप्ल फ्लो कण्टेण्डेड लिंक | एड्डीटिव इनक्रीस/मल्टिप्लिकेटिव डिक्रीज (एआईएमडी) एल्गोरिदम क्लोज्ड-लूप [[नियंत्रण प्रणाली|कंट्रोल]] एल्गोरिदम है। एआईएमडी कंजेशन होने पर कंजेशन विंडो की लीनियर ग्रोथ को एक्सपोनेंशियल से रिडक्शन के साथ कंबाइन करती है। एआईएमडी कंजेशन कंट्रोल का उपयोग करने वाले मल्टीप्ल फ्लो कण्टेण्डेड लिंक के समान अमाउंटस का उपयोग करने के लिए एकत्रित होंगे।<ref name="chui1989" /> | ||
यह वह एल्गोरिदम है जिसे कंजेशन एवॉइडेन्स स्टेट के लिए {{IETF RFC|5681}} में वर्णन किया गया है।<ref>{{cite IETF|title=टीसीपी कंजेशन नियंत्रण|rfc=5681|section=3.1|last1=Allman|first1=M.|last2=Paxson|first2=V.|date=September 2009|publisher=[[Internet Engineering Task Force|IETF]]|access-date=March 4, 2021|doi=10.17487/RFC5681}}</ref> | यह वह एल्गोरिदम है जिसे कंजेशन एवॉइडेन्स स्टेट के लिए {{IETF RFC|5681}} में वर्णन किया गया है।<ref>{{cite IETF|title=टीसीपी कंजेशन नियंत्रण|rfc=5681|section=3.1|last1=Allman|first1=M.|last2=Paxson|first2=V.|date=September 2009|publisher=[[Internet Engineering Task Force|IETF]]|access-date=March 4, 2021|doi=10.17487/RFC5681}}</ref> | ||
Line 15: | Line 15: | ||
टीसीपी में, '''कंजेशन विंडो''' (सीडब्ल्यूएनडी) उन फैक्टर्स में से है जो किसी भी टाइम भेजे जा सकने वाले बाइट्स के नंबर सेट करती है। कंजेशन विंडो को सेन्डर द्वारा बनाए रखा जाता है और यह सेन्डर और रिसीवर के मध्य लिंक को अधिक ट्रैफ़िक से ओवरलोड होने से स्टॉप करने का साधन है। इसे सेन्डर द्वारा बनाए गए स्लाइडिंग विंडो के साथ कन्फ्यूज्ड नहीं किया जाना चाहिए जो रिसीवर को ओवरलोड होने से स्टॉप करने के लिए उपस्थित है। कंजेशन विंडो की गणना यह अनुमान लगाकर की जाती है कि लिंक पर कितना कंजेशन है। | टीसीपी में, '''कंजेशन विंडो''' (सीडब्ल्यूएनडी) उन फैक्टर्स में से है जो किसी भी टाइम भेजे जा सकने वाले बाइट्स के नंबर सेट करती है। कंजेशन विंडो को सेन्डर द्वारा बनाए रखा जाता है और यह सेन्डर और रिसीवर के मध्य लिंक को अधिक ट्रैफ़िक से ओवरलोड होने से स्टॉप करने का साधन है। इसे सेन्डर द्वारा बनाए गए स्लाइडिंग विंडो के साथ कन्फ्यूज्ड नहीं किया जाना चाहिए जो रिसीवर को ओवरलोड होने से स्टॉप करने के लिए उपस्थित है। कंजेशन विंडो की गणना यह अनुमान लगाकर की जाती है कि लिंक पर कितना कंजेशन है। | ||
जब कोई कनेक्शन स्थापित किया जाता है, तो कंजेशन विंडो, प्रत्येक होस्ट पर स्वतंत्र रूप से बनाई गयी वैल्यू, उस कनेक्शन पर अलाउड '''मैक्सिमम सेगमेंट साइज़ (एमएसएस)''' के छोटे मल्टिप्लिकेटिव पर सेट किया जाता है। कंजेशन विंडो में और अधिक वरियन्स एड्डीटिव इनक्रीस/मल्टिप्लिकेटिव डिक्रीज (एआईएमडी) एप्रोच द्वारा सेट होती है। इसका तात्पर्य यह है कि यदि सभी सेगमेंट प्राप्त हो जाते हैं और एकनॉलेजमेंट सेन्डर टाइम पर पहुंच जाती है, तो विंडो साइज़ में कुछ कांस्टेंट ऐड कर | जब कोई कनेक्शन स्थापित किया जाता है, तो कंजेशन विंडो, प्रत्येक होस्ट पर स्वतंत्र रूप से बनाई गयी वैल्यू, उस कनेक्शन पर अलाउड '''मैक्सिमम सेगमेंट साइज़ (एमएसएस)''' के छोटे मल्टिप्लिकेटिव पर सेट किया जाता है। कंजेशन विंडो में और अधिक वरियन्स एड्डीटिव इनक्रीस/मल्टिप्लिकेटिव डिक्रीज (एआईएमडी) एप्रोच द्वारा सेट होती है। इसका तात्पर्य यह है कि यदि सभी सेगमेंट प्राप्त हो जाते हैं और एकनॉलेजमेंट सेन्डर टाइम पर पहुंच जाती है, तो विंडो साइज़ में कुछ कांस्टेंट ऐड कर दिए जाते है। यह भिन्न-भिन्न एल्गोरिदम को फॉलो करता है। | ||
सिस्टम एडमिनिस्ट्रेटर [[टीसीपी ट्यूनिंग]] के पार्टिसिपेट के रूप में मैक्सिमम विंडो साइज़ लिमिट को समायोजित कर सकता है, या एडिटिव इनक्रीस के टाइम ऐड किए गए कांस्टेंट को समायोजित कर सकता है। | सिस्टम एडमिनिस्ट्रेटर [[टीसीपी ट्यूनिंग]] के पार्टिसिपेट के रूप में मैक्सिमम विंडो साइज़ लिमिट को समायोजित कर सकता है, या एडिटिव इनक्रीस के टाइम ऐड किए गए कांस्टेंट को समायोजित कर सकता है। | ||
Line 42: | Line 42: | ||
: फास्ट रिट्रांसमिट सेंट किया जाता है, करंट सीडब्ल्यूएनडी का हाफ पार्टिसिपेट ssthresh और न्यू सीडब्ल्यूएनडी के रूप में सेव किया जाता है, इस प्रकार स्लो स्टार्ट को स्किप कर दिया जाता है और डायरेक्ट कंजेशन अवॉइडेंस एल्गोरिदम पर चला जाता है। यहां ओवरआल एल्गोरिदम को '''{{vanchor|फ़ास्ट रिकवरी}}''' कहा जाता है। | : फास्ट रिट्रांसमिट सेंट किया जाता है, करंट सीडब्ल्यूएनडी का हाफ पार्टिसिपेट ssthresh और न्यू सीडब्ल्यूएनडी के रूप में सेव किया जाता है, इस प्रकार स्लो स्टार्ट को स्किप कर दिया जाता है और डायरेक्ट कंजेशन अवॉइडेंस एल्गोरिदम पर चला जाता है। यहां ओवरआल एल्गोरिदम को '''{{vanchor|फ़ास्ट रिकवरी}}''' कहा जाता है। | ||
स्लो स्टार्ट यह मानती है कि | स्लो स्टार्ट यह मानती है कि अनएकनॉलेजड सेगमेंट नेटवर्क कंजेशन के कारण हैं। चूँकि यह कई नेटवर्कों के लिए एक्सेप्टएबल असंप्शन है, अन्य कारणों से सेगमेंट लॉस्ट हो सकते हैं, जैसे पुअर [[सूचना श्रंखला तल|डेटा लिंक लेयर]] ट्रांसमिशन क्वालिटी है। इस प्रकार, [[वायरलेस लेन]] जैसी पुअर रिसेप्शन वाली स्थितियों में स्लो स्टार्ट पुअर परफॉर्म कर सकता है। | ||
स्लो स्टार्ट प्रोटोकॉल शार्ट लिवड कनेक्शन के लिए भी बेड परफॉर्म करता है। ओल्डर [[वेब ब्राउज़र्स]] वेब सर्वर के लिए निरंतर कई शार्ट लिवड कनेक्शन बनाएंगे, और रिक्वेस्टड प्रत्येक फ़ाइल के लिए कनेक्शन ओपन और क्लोज्ड करेंगे। इसने अधिकांश कनेक्शनों को स्लो स्टार्ट मोड में रखा, जिसके परिणामस्वरूप रिपोंस टाइम पुअर हो गया। इस समस्या से बचने के लिए, मॉडर्न ब्राउज़र या तो कई कनेक्शन ओपन करते हैं या किसी विशेष वेब सर्वर से रिक्वेस्टड सभी फ़ाइलों के लिए [[HTTP लगातार कनेक्शन|एचटीटीपी कनेक्शन]] पुन: उपयोग करते हैं। चूँकि, [[विज्ञापन नेटवर्क|वेब एडवर्टाइजिंग]] को प्रारंभ करने, [[सामाजिक नेटवर्किंग सेवा|सोशल नेटवर्किंग सर्विसेज]] की फीचर्स को और [[ बटन की तरह |एनालिटिक्स की काउंटर स्क्रिप्ट]] के लिए वेब साइटों द्वारा उपयोग किए जाने वाले कई थर्ड-पार्टी सर्वरों के लिए कनेक्शन का पुन: उपयोग नहीं किया जा सकता है।<ref>Nick O'Neill. "[http://allfacebook.com/whats-making-your-site-go-slow-could-be-the-like-button_b24121 What's Making Your Site Go Slow? Could Be The Like Button]". ''AllFacebook'', 10 November 2010. Retrieved on 12 September 2012.</ref> | स्लो स्टार्ट प्रोटोकॉल शार्ट लिवड कनेक्शन के लिए भी बेड परफॉर्म करता है। ओल्डर [[वेब ब्राउज़र्स]] वेब सर्वर के लिए निरंतर कई शार्ट लिवड कनेक्शन बनाएंगे, और रिक्वेस्टड प्रत्येक फ़ाइल के लिए कनेक्शन ओपन और क्लोज्ड करेंगे। इसने अधिकांश कनेक्शनों को स्लो स्टार्ट मोड में रखा, जिसके परिणामस्वरूप रिपोंस टाइम पुअर हो गया। इस समस्या से बचने के लिए, मॉडर्न ब्राउज़र या तो कई कनेक्शन ओपन करते हैं या किसी विशेष वेब सर्वर से रिक्वेस्टड सभी फ़ाइलों के लिए [[HTTP लगातार कनेक्शन|एचटीटीपी कनेक्शन]] पुन: उपयोग करते हैं। चूँकि, [[विज्ञापन नेटवर्क|वेब एडवर्टाइजिंग]] को प्रारंभ करने, [[सामाजिक नेटवर्किंग सेवा|सोशल नेटवर्किंग सर्विसेज]] की फीचर्स को और [[ बटन की तरह |एनालिटिक्स की काउंटर स्क्रिप्ट]] के लिए वेब साइटों द्वारा उपयोग किए जाने वाले कई थर्ड-पार्टी सर्वरों के लिए कनेक्शन का पुन: उपयोग नहीं किया जा सकता है।<ref>Nick O'Neill. "[http://allfacebook.com/whats-making-your-site-go-slow-could-be-the-like-button_b24121 What's Making Your Site Go Slow? Could Be The Like Button]". ''AllFacebook'', 10 November 2010. Retrieved on 12 September 2012.</ref> | ||
Line 56: | Line 56: | ||
कंजेशन कंट्रोल एल्गोरिदम (सीसीए) के लिए नेमिंग कन्वेंशन का प्रारंभ केविन फॉल और सैली फ्लॉयड के 1996 के पेपर में हुई होगी।<ref>{{cite journal| last = Fall | first = Kevin |author2=Sally Floyd | title = ताहो, रेनो और सैक टीसीपी की सिमुलेशन-आधारित तुलना| journal = Computer Communications Review | volume = 26 | issue = 3 | pages = 5–21 | date = July 1996 | url = https://www.icir.org/floyd/papers/sacks.pdf | doi = 10.1145/235160.235162 | citeseerx = 10.1.1.586.2403 | s2cid = 7459148 }}</ref> | कंजेशन कंट्रोल एल्गोरिदम (सीसीए) के लिए नेमिंग कन्वेंशन का प्रारंभ केविन फॉल और सैली फ्लॉयड के 1996 के पेपर में हुई होगी।<ref>{{cite journal| last = Fall | first = Kevin |author2=Sally Floyd | title = ताहो, रेनो और सैक टीसीपी की सिमुलेशन-आधारित तुलना| journal = Computer Communications Review | volume = 26 | issue = 3 | pages = 5–21 | date = July 1996 | url = https://www.icir.org/floyd/papers/sacks.pdf | doi = 10.1145/235160.235162 | citeseerx = 10.1.1.586.2403 | s2cid = 7459148 }}</ref> | ||
निम्नलिखित प्रॉपर्टीज के अनुसार | निम्नलिखित प्रॉपर्टीज के अनुसार संभावित क्लासिफिकेशन है: | ||
# नेटवर्क से प्राप्त फीडबैक का टाइप और अमाउंट। | # नेटवर्क से प्राप्त फीडबैक का टाइप और अमाउंट। | ||
Line 237: | Line 237: | ||
यह रिकॉर्ड करने के लिए कि कितना डेटा रिकवर करने की आवश्यकता है, यह "रिकवर" नामक वेरिएबल का उपयोग करता है। रीट्रांसमिट टाइमआउट के पश्चात, यह रिकवरी वेरिएबल में ट्रांसमिटेड हाईएस्ट सीक्वेंस नंबर को रिकॉर्ड करता है और फास्ट रिकवरी प्रोसीजर से बाहर निकलता है। यदि इस सीक्वेंस नंबर को एकनॉलेजड किया जाता है, तो टीसीपी कंजेशन से एवॉइडेन्स की स्टेट में रिटर्न हो जाती है। | यह रिकॉर्ड करने के लिए कि कितना डेटा रिकवर करने की आवश्यकता है, यह "रिकवर" नामक वेरिएबल का उपयोग करता है। रीट्रांसमिट टाइमआउट के पश्चात, यह रिकवरी वेरिएबल में ट्रांसमिटेड हाईएस्ट सीक्वेंस नंबर को रिकॉर्ड करता है और फास्ट रिकवरी प्रोसीजर से बाहर निकलता है। यदि इस सीक्वेंस नंबर को एकनॉलेजड किया जाता है, तो टीसीपी कंजेशन से एवॉइडेन्स की स्टेट में रिटर्न हो जाती है। | ||
न्यू रेनो के साथ समस्या तब उत्पन्न होती है जब कोई पैकेट लॉस नहीं | न्यू रेनो के साथ समस्या तब उत्पन्न होती है जब कोई पैकेट लॉस नहीं होता है, अन्यथा पैकेट को 3 से अधिक पैकेट सीक्वेंस नंबर्स द्वारा रिआर्डरड किया जाता है। इस केस में, न्यू रेनो मिस्टेक्स से फास्ट रिकवरी में एंटर करती है। जब रिऑर्डर किया गया पैकेट डिलीवर किया जाता है, तो डुप्लिकेट और अनावश्यक रिट्रांसमिशन इम्मेडिएटली सेंट कर दिए जाते हैं। | ||
न्यू रेनो लो पैकेट एरर रेट पर सैक के समान ही परफॉरमेंस करती है और हाई एरर रेट पर रेनो से अधिक बेटर | न्यू रेनो लो पैकेट एरर रेट पर सैक के समान ही परफॉरमेंस करती है और हाई एरर रेट पर रेनो से अधिक बेटर परफॉर्म करती है।<ref>{{cite journal|last1=VasanthiN.|first1=V.|last2=SinghM.|first2=Ajith|last3=Kumar|first3=Romen|last4=Hemalatha|first4=M.|date=2011|editor1-last=Das|editor1-first=Vinu V|editor2-last=Thankachan|editor2-first=Nessy|title=Evaluation of Protocols and Algorithms for Improving the Performance of TCP over Wireless/Wired Network|journal=International Conference on Computational Intelligence and Information Technology|series=Communications in Computer and Information Science|publisher=Springer|volume=250|pages=693–697|doi=10.1007/978-3-642-25734-6_120|isbn=978-3-642-25733-9}}</ref> | ||
'''टीसीपी वेगास''' | '''टीसीपी वेगास''' |
Revision as of 15:05, 6 October 2023
ट्रांसमिशन कंट्रोल प्रोटोकॉल (टीसीपी) कंजेशन कंट्रोल एल्गोरिदम का उपयोग करता है जिसमें कंजेशन से बचने के लिए स्लो स्टार्ट और कंजेशन विंडो (सीडब्ल्यूएनडी) सहित अन्य योजनाओं के साथ-साथ एडिटिव इनक्रीस/मल्टिप्लिकेटिव डिक्रीज (एआईएमडी) योजना के विभिन्न विषय सम्मिलित हैं।[1] टीसीपी कंजेशन-अवॉइडेंस एल्गोरिदम इंटरनेट में कंजेशन कंट्रोल का प्राइमरी बेसिस है।[2][3][4] एंड-टू-एंड सिद्धांत के अनुसार, कंजेशन कंट्रोल अधिक लिमिट तक इंटरनेट होस्ट का कार्य है, न कि नेटवर्क का कार्य है। इंटरनेट से कनेक्ट होने वाले कंप्यूटरों के ऑपरेटिंग सिस्टम के प्रोटोकॉल स्टैक में इम्प्लीमेंट एल्गोरिदम के कई वैरिएशंस और वर्जन्स हैं।
कंजेस्टिव कोलैपस को अवॉइड करने के लिए, टीसीपी मल्टी-फेसटेड कंजेशन-कंट्रोल स्ट्रेटेजी का उपयोग करता है। प्रत्येक कनेक्शन के लिए, टीसीपी सीडब्ल्यूएनडी बनाए रखता है, जो ट्रांजिट में एंड-टू-एंड होने वाले अनएकनॉलेजड पैकेटों के टोटल नंबर को सीमित करता है। यह कुछ लिमिट तक फ्लो कंट्रोल के लिए उपयोग की जाने वाली टीसीपी की स्लाइडिंग विंडो के समान है।
एड्डीटिव इनक्रीस/मल्टिप्लिकेटिव डिक्रीज
एड्डीटिव इनक्रीस/मल्टिप्लिकेटिव डिक्रीज (एआईएमडी) एल्गोरिदम क्लोज्ड-लूप कंट्रोल एल्गोरिदम है। एआईएमडी कंजेशन होने पर कंजेशन विंडो की लीनियर ग्रोथ को एक्सपोनेंशियल से रिडक्शन के साथ कंबाइन करती है। एआईएमडी कंजेशन कंट्रोल का उपयोग करने वाले मल्टीप्ल फ्लो कण्टेण्डेड लिंक के समान अमाउंटस का उपयोग करने के लिए एकत्रित होंगे।[5]
यह वह एल्गोरिदम है जिसे कंजेशन एवॉइडेन्स स्टेट के लिए RFC 5681 में वर्णन किया गया है।[6]
कंजेशन विंडो
टीसीपी में, कंजेशन विंडो (सीडब्ल्यूएनडी) उन फैक्टर्स में से है जो किसी भी टाइम भेजे जा सकने वाले बाइट्स के नंबर सेट करती है। कंजेशन विंडो को सेन्डर द्वारा बनाए रखा जाता है और यह सेन्डर और रिसीवर के मध्य लिंक को अधिक ट्रैफ़िक से ओवरलोड होने से स्टॉप करने का साधन है। इसे सेन्डर द्वारा बनाए गए स्लाइडिंग विंडो के साथ कन्फ्यूज्ड नहीं किया जाना चाहिए जो रिसीवर को ओवरलोड होने से स्टॉप करने के लिए उपस्थित है। कंजेशन विंडो की गणना यह अनुमान लगाकर की जाती है कि लिंक पर कितना कंजेशन है।
जब कोई कनेक्शन स्थापित किया जाता है, तो कंजेशन विंडो, प्रत्येक होस्ट पर स्वतंत्र रूप से बनाई गयी वैल्यू, उस कनेक्शन पर अलाउड मैक्सिमम सेगमेंट साइज़ (एमएसएस) के छोटे मल्टिप्लिकेटिव पर सेट किया जाता है। कंजेशन विंडो में और अधिक वरियन्स एड्डीटिव इनक्रीस/मल्टिप्लिकेटिव डिक्रीज (एआईएमडी) एप्रोच द्वारा सेट होती है। इसका तात्पर्य यह है कि यदि सभी सेगमेंट प्राप्त हो जाते हैं और एकनॉलेजमेंट सेन्डर टाइम पर पहुंच जाती है, तो विंडो साइज़ में कुछ कांस्टेंट ऐड कर दिए जाते है। यह भिन्न-भिन्न एल्गोरिदम को फॉलो करता है।
सिस्टम एडमिनिस्ट्रेटर टीसीपी ट्यूनिंग के पार्टिसिपेट के रूप में मैक्सिमम विंडो साइज़ लिमिट को समायोजित कर सकता है, या एडिटिव इनक्रीस के टाइम ऐड किए गए कांस्टेंट को समायोजित कर सकता है।
टीसीपी कनेक्शन पर डेटा के फ्लो रिसीवर द्वारा एडवर्टाइज ट्रांसमिशन रिसीव विंडो के उपयोग से भी कण्ट्रोल होता है। सेन्डर स्वयं की कंजेशन विंडो और रिसीव विंडो से कम डेटा सेंट कर सकता है।
स्लो स्टार्ट
स्लो स्टार्ट, RFC 5681[7] द्वारा परिभाषित टीसीपी द्वारा अन्य एल्गोरिदम मेथड के साथ मिलकर उपयोग की जाने वाली कंजेशन कंट्रोल स्ट्रेटेजी का पार्टिसिपेट है जिससे नेटवर्क फ़ॉर्वर्डेड करने में इनेबल से अधिक डेटा सेंट करने से बचा जा सके, अर्थात नेटवर्क कंजेशन से बचने के लिए किया जाता है।
स्लो स्टार्ट में 1, 2, 4 या 10 एमएसएस के कंजेशन विंडो साइज़ (सीडब्ल्यूएनडी) के साथ प्रारंभ होती है।[8][3]: 1 प्रभावी रूप से प्रत्येक आरटीटी में विंडो का साइज़ डबल हो जाता है।[lower-alpha 1]
ट्रांसमिशन रेट स्लो स्टार्ट एल्गोरिथ्म द्वारा तब तक इनक्रीसड की जाएगी जब तक कि पैकेट लॉस को डिटेक्ट नहीं किया जा सकता है, या रिसीवर की एडवर्टाइज विंडो (आरडब्ल्यूएनडी) लिमिट फैक्टर नहीं है।
या स्लो स्टार्ट थ्रेशोल्ड (ssthresh) तक पहुंच गया है, जिसका उपयोग यह सेट करने के लिए किया जाता है कि स्लो स्टार्ट या कंजेशन से एवॉइडेन्स एल्गोरिदम का उपयोग किया जाता है, जो स्लो स्टार्ट को सीमित करने के लिए सेट वैल्यू है।
यदि सीडब्ल्यूएनडी ssthresh तक पहुँच जाता है, तो टीसीपी कंजेशन अवॉइडेंस एल्गोरिदम में परिवर्तित कर दिया जाता है। इसे प्रत्येक आरटीटी के लिए 1 एमएसएस तक इनक्रीसड किया जाना चाहिए।
सामान्य फार्मूला यह है कि प्रत्येक एसीके सीडब्ल्यूएनडी को MSS* MSS / CWND. द्वारा इनक्रीसड करता है। यह लगभग लीनियर रूप से इनक्रीसड होता है और एक्सेप्टएबल एप्प्रोक्सिमेंशन प्रदान करता है।
यदि कोई लॉस इवेंट होता है, तो टीसीपी मानता है कि यह नेटवर्क के कंजेशन के कारण है और नेटवर्क पर ऑफर्ड लोड को कम करने के लिए स्टेप लेता है। ये मेज़रमेंट उपयोग किए गए एक्साक्ट टीसीपी कंजेशन अवॉइडेंस एल्गोरिदम पर निर्भर करते हैं।
जब टीसीपी सेन्डर रीट्रांसमिशन टाइमर का उपयोग करके सेगमेंट लॉस को डिटेक्ट किया जाता है और दिए गए सेगमेंट को रीट्रांसमिशन टाइमर के माध्यम से अभी तक रिसेंट नहीं गया है, तो ssthresh की वैल्यू सेंट किये गए डेटा के अमाउंट के हाफ से अधिक पर सेट नहीं किया जाना चाहिए, किंतु फिर भी क्युमुलेटिव रूप से 2 * MSS को एकनॉलेज किया गया।
- टीसीपी ताहो
- जब कोई लॉस होता है, तो रिट्रांसमिट सेंट किया जाता है, करंट सीडब्ल्यूएनडी का हाफ पार्टिसिपेट ssthresh के रूप में सेव किया जाता है और इसके प्रारंभिक सीडब्ल्यूएनडी से स्लो स्टार्ट फिर से प्रारंभ होती है।
- टीसीपी रेनो
- फास्ट रिट्रांसमिट सेंट किया जाता है, करंट सीडब्ल्यूएनडी का हाफ पार्टिसिपेट ssthresh और न्यू सीडब्ल्यूएनडी के रूप में सेव किया जाता है, इस प्रकार स्लो स्टार्ट को स्किप कर दिया जाता है और डायरेक्ट कंजेशन अवॉइडेंस एल्गोरिदम पर चला जाता है। यहां ओवरआल एल्गोरिदम को फ़ास्ट रिकवरी कहा जाता है।
स्लो स्टार्ट यह मानती है कि अनएकनॉलेजड सेगमेंट नेटवर्क कंजेशन के कारण हैं। चूँकि यह कई नेटवर्कों के लिए एक्सेप्टएबल असंप्शन है, अन्य कारणों से सेगमेंट लॉस्ट हो सकते हैं, जैसे पुअर डेटा लिंक लेयर ट्रांसमिशन क्वालिटी है। इस प्रकार, वायरलेस लेन जैसी पुअर रिसेप्शन वाली स्थितियों में स्लो स्टार्ट पुअर परफॉर्म कर सकता है।
स्लो स्टार्ट प्रोटोकॉल शार्ट लिवड कनेक्शन के लिए भी बेड परफॉर्म करता है। ओल्डर वेब ब्राउज़र्स वेब सर्वर के लिए निरंतर कई शार्ट लिवड कनेक्शन बनाएंगे, और रिक्वेस्टड प्रत्येक फ़ाइल के लिए कनेक्शन ओपन और क्लोज्ड करेंगे। इसने अधिकांश कनेक्शनों को स्लो स्टार्ट मोड में रखा, जिसके परिणामस्वरूप रिपोंस टाइम पुअर हो गया। इस समस्या से बचने के लिए, मॉडर्न ब्राउज़र या तो कई कनेक्शन ओपन करते हैं या किसी विशेष वेब सर्वर से रिक्वेस्टड सभी फ़ाइलों के लिए एचटीटीपी कनेक्शन पुन: उपयोग करते हैं। चूँकि, वेब एडवर्टाइजिंग को प्रारंभ करने, सोशल नेटवर्किंग सर्विसेज की फीचर्स को और एनालिटिक्स की काउंटर स्क्रिप्ट के लिए वेब साइटों द्वारा उपयोग किए जाने वाले कई थर्ड-पार्टी सर्वरों के लिए कनेक्शन का पुन: उपयोग नहीं किया जा सकता है।[9]
फास्ट रीट्रांसमिट
फास्ट रीट्रांसमिट ट्रांसमिशन कंट्रोल प्रोटोकॉल का एनहांसमेंट है जो किसी लॉस्ट हुए सेगमेंट को रीट्रांसमिट करने से पूर्व सेन्डर के टाइमर को कम कर देता है। टीसीपी सेन्डर सामान्यतः लॉस्ट सेगमेंटों को पहचानने के लिए साधारण टाइमर का उपयोग करता है। यदि किसी स्पेसिफ़िएड टाइम (एस्टिमेटेड राउंड-ट्रिप डिले टाइम का फ़ंक्शन) के भीतर किसी विशेष सेगमेंट के लिए एकनॉलेजमेंट प्राप्त नहीं होती है, तो सेन्डर मान लेगा कि सेगमेंट नेटवर्क में लॉस्ट हो गया है और सेगमेंट को रीट्रांसमिट करेगा।
डुप्लिकेट एकनॉलेजमेंट फास्ट से रीट्रांसमिट सिस्टम का बेसिस है। पैकेट प्राप्त करने के पश्चात प्राप्त डेटा के लास्ट इन-ऑर्डर बाइट के लिए एकनॉलेजमेंट सेंट की जाती है। इन-ऑर्डर पैकेट के लिए, यह प्रभावी रूप से लास्ट पैकेट की सीक्वेंस नंबर और करंट पैकेट की पेलोड लंबाई है। यदि सीक्वेंस में नेक्स्ट पैकेट लॉस्ट हो जाता है किंतु सीक्वेंस में थर्ड पैकेट प्राप्त होता है, तो रिसीवर केवल डेटा के लास्ट इन-ऑर्डर बाइट को एकनॉलेजड कर सकता है, जो कि वही मान है जो पहले पैकेट के लिए एकनॉलेजड किया गया था। सेकंड पैकेट लॉस्ट हो गया है और थर्ड पैकेट आर्डर में नहीं है, इसलिए डेटा का लास्ट इन-ऑर्डर बाइट पहले जैसा ही रहता है। इस प्रकार डुप्लिकेट एकनॉलेजमेंट होती है। सेन्डर पैकेट सेंट करना प्रारंभ रखता है, फोर्थ और फिफ्थ पैकेट रिसीवर को प्राप्त होता है। फिर, सेकंड पैकेट सीक्वेंस से मिस हो जाता है, इसलिए लास्ट इन-ऑर्डर बाइट नहीं परिवर्तित हुआ है। इन दोनों पैकेटों के लिए डुप्लिकेट एकनॉलेजमेंट सेंट की जाती है।
जब सेन्डर को तीन डुप्लिकेट एकनॉलेजमेंट प्राप्त होती है, तो यह उचित रूप से कॉंफिडेंट हो सकता है कि एकनॉलेजमेंट में स्पेसिफ़िएड लास्ट इन-ऑर्डर बाइट के पश्चात डेटा ले जाने वाला सेगमेंट लॉस्ट हो गया था। फास्ट रीट्रांसमिट करने वाला सेन्डर इस पैकेट को इसके टाइम आउट होने की प्रतीक्षा किए बिना रीट्रांसमिट करेगा। रीट्रांसमिट सेगमेंट की प्राप्ति पर, रिसीवर प्राप्त डेटा के लास्ट इन-ऑर्डर बाइट को एकनॉलेजड कर सकता है। उपरोक्त उदाहरण में, यह फिफ्थ पैकेट के पेलोड के एंड को एकनॉलेजड करेगा। इंटरमीडिएट पैकेटों को एकनॉलेजमेंट करने की कोई आवश्यकता नहीं है क्योंकि टीसीपी डिफ़ॉल्ट रूप से क्युमुलेटिव एकनॉलेजमेंट का उपयोग करता है।
एल्गोरिदम
कंजेशन कंट्रोल एल्गोरिदम (सीसीए) के लिए नेमिंग कन्वेंशन का प्रारंभ केविन फॉल और सैली फ्लॉयड के 1996 के पेपर में हुई होगी।[10]
निम्नलिखित प्रॉपर्टीज के अनुसार संभावित क्लासिफिकेशन है:
- नेटवर्क से प्राप्त फीडबैक का टाइप और अमाउंट।
- करंट इंटरनेट पर इनक्रीमेंटल डेप्लॉयबिलिटी।
- परफॉरमेंस के जिस विषय में इम्प्रूव करना इसका गोल है: हाई बैंडविड्थ-डिले प्रोडक्ट नेटवर्क (बी); लॉसी लिंक (एल); फेयरनेस (एफ); शोर्ट फ्लो का एडवांटेज (एस); वेरिएबल-रेट लिंक (वी); कन्वर्जेन्स की स्पीड (सी)।
- यह फेयरनेस क्रिटेरियन का उपयोग करता है।
कुछ प्रसिद्ध कंजेशन से एवॉइडेन्स सिस्टमों को इस योजना द्वारा निम्नानुसार क्लासिफाइड किया गया है:
वैरिएंट | फीडबैक | आवश्यक परिवर्तन | लाभ | फेयरनेस |
---|---|---|---|---|
(न्यू) रिनो | लॉस | — | — | डिले |
वेगास | डिले | सेन्डर | लेस लॉस | प्रोपोरशनल |
हाई स्पीड | लॉस | सेन्डर | हाई बैंडविड्थ | |
बीआईसी | लॉस | सेन्डर | हाई बैंडविड्थ | |
क्यूबिक | लॉस | सेन्डर | हाई बैंडविड्थ | |
सी2टीसीपी[11][12] | लॉस/डिले | सेन्डर | अल्ट्रा-लो लेटेंसी और हाई बैंडविड्थ | |
एन्यूटीसीपी[13] | मल्टी-बिट सिग्नल | सेन्डर | नियर ऑप्टीमल परफॉरमेंस | |
इलास्टिक-टीसीपी | लॉस/डिले | सेन्डर | हाई बैंडविड्थ/शोर्ट और लॉन्ग डिस्टेंस | |
एजल-टीसीपी | लॉस | सेन्डर | हाई बैंडविड्थ/शोर्ट-डिस्टेंस | |
एच-टीसीपी | लॉस | सेन्डर | हाई बैंडविड्थ | |
फ़ास्ट | डिले | सेन्डर | हाई बैंडविड्थ | प्रोपोरशनल |
कंपाउंड टीसीपी | लॉस/डिले | सेन्डर | हाई बैंडविड्थ | प्रोपोरशनल |
वेस्टवुड | लॉस/डिले | सेन्डर | लॉसी लिंक्स | |
जर्सी | लॉस/डिले | सेन्डर | लॉसी लिंक्स | |
बीबीआर[14] | डिले | सेन्डर | बीएलवीसी, बफ़रब्लोट | |
क्लैंप | मल्टी-बिट सिग्नल | रिसीवर, राउटर | वेरिएबल-रेट लिंक्स | मैक्सिमम-मिनिमम |
टीएफआरसी | लॉस | सेन्डर, रिसीवर | नो रीट्रान्समिशन | मिनिमम डिले |
एक्ससीपी | मल्टी-बिट सिग्नल | सेन्डर, रिसीवर, राउटर | बीएलएफसी | मैक्सिमम-मिनिमम |
वीसीपी | 2-बिट सिग्नल | सेन्डर, रिसीवर, राउटर | बीएलएफ | प्रोपोरशनल |
मैक्सनेट | मल्टी-बिट सिग्नल | सेन्डर, रिसीवर, राउटर | बीएलएफएस | मैक्सिमम-मिनिमम |
जेटमैक्स | मल्टी-बिट सिग्नल | सेन्डर, रिसीवर, राउटर | हाई बैंडविड्थ | मैक्सिमम-मिनिमम |
रेड | लॉस | राउटर | रिडूएड डिले | |
ईसीएन | सिंगल-बिट सिग्नल | सेन्डर, रिसीवर, राउटर | रिडूएड लॉस |
टीसीपी ताहो और रेनो
टीसीपी ताहो और रेनो एल्गोरिदम को रेट्रोस्पेक्टिवेली 4.3बीएसडी ऑपरेटिंग सिस्टम के वर्जन या फ्लेवरस के नाम पर रखा गया था, जिनमें से प्रत्येक सर्वप्रथम दिखाई दिया था (जो स्वयं ताहो लेक और निकट के शहर रेनो, नेवादा के नाम पर थे)। ताहो एल्गोरिथ्म सर्वप्रथम 4.3बीएसडी-ताहो (जो सीसीआई पावर 6/32 "ताहो" मिनीकंप्यूटर का सपोर्ट करने के लिए बनाया गया था) में दिखाई दिया, और पश्चात में 4.3बीएसडी नेटवर्किंग रिलीज़ 1 के पार्टिसिपेट के रूप में नॉन-एटी एंड टी लिसेंसिस के लिए उपलब्ध कराया गया; इससे इसका व्यापक वितरण और इम्प्लीमेंटेशन सुनिश्चित हुआ। 4.3बीएसडी-रेनो में इम्प्रूव किए गए और पश्चात में इसे नेटवर्किंग रिलीज़ 2 और पश्चात में 4.4बीएसडी-लाइट के रूप में पब्लिक के लिए प्रारंभ किया गया।
जबकि दोनों रीट्रांसमिशन टाइमआउट (आरटीओ) और डुप्लिकेट एसीके को पैकेट लॉस की इवेंट्स के रूप में मानते हैं, ताहो और रेनो का बिहेवियर मेन रूप से इस विचार में भिन्न होता है कि वे डुप्लिकेट एसीके पर कैसे फीडबैक करते हैं:
- ताहो: यदि तीन डुप्लिकेट एसीके प्राप्त होते हैं (अर्थात एक ही पैकेट को एकनॉलेजिंग करने वाले चार एसीके, जो डेटा पर पिग्गीबैक नहीं होते हैं और रिसीवर की एडवर्टाइड विंडो को नहीं परिवर्तितत करते हैं), ताहो फ़ास्ट रिट्रांसमिट करता है, स्लो स्टार्ट लिमिट को करंट के हाफ पर सेट करता है विंडो, कंजेशन विंडो को 1 एमएसएस तक कम कर देती है, और स्लो स्टार्ट स्टेट पर रीसेट कर देती है।[15]
- रेनो: यदि तीन डुप्लिकेट एसीके प्राप्त होते हैं, तो रेनो फास्ट से रिट्रांसमिट करेगा और कंजेशन विंडो को हाफ करके (ताहो के जैसे 1 MSS पर सेट करने के अतिरिक्त), ssthresh को न्यू कंजेशन विंडो के समान सेट करके स्लो स्टार्ट फेज को स्किप कर देगा। और फ़ास्ट रिकवरी नामक फेज में एंटर करें।[16]
ताहो और रेनो दोनों में, यदि एसीके टाइम आउट (आरटीओ टाइमआउट) होता है, तो स्लो स्टार्ट का उपयोग किया जाता है, और दोनों एल्गोरिदम कंजेशन विंडो को 1 एमएसएस तक कम कर देते हैं।
टीसीपी न्यू रेनो
टीसीपी न्यू रेनो, RFC 6582 द्वारा परिभाषित (जो RFC 3782 और RFC 2582 में पूर्व परिभाषाओं को ओब्सोलेस करता है), टीसीपी रेनो के फास्ट रिकवरी फेज के टाइम रिट्रांसमिशन में इम्प्रूव करता है।
फास्ट रिकवरी के टाइम, ट्रांसमिट विंडो को फुल रखने के लिए, रिटर्न किये जाने वाले प्रत्येक डुप्लिकेट एसीके के लिए, कंजेशन विंडो के अंत से न्यू अनसेंट पैकेट सेंट किया जाता है।
रेनो से अंतर यह है कि न्यू रेनो ssthresh को इम्मेडिएटली हाफ नहीं करती है, जिससे मल्टीप्ल पैकेट लॉस होने पर विंडो अधिक कम हो सकती है। यह फास्ट रिकवरी से बाहर नहीं निकलता है और ssthresh को रीसेट नहीं करता है जब तक कि यह सभी डेटा को एकनॉलेज नहीं करता है।
रिट्रांसमिशन के पश्चात, न्यू एकनॉलेजड डेटा के दो केसेस हैं:
- फुल एकनॉलेजमेंट्स: एसीके सेंट किये गए सभी इंटरमीडिएट सेगमेंटों को एकनॉलेज करता है, ssthresh को परिवर्तित नहीं किया जा सकता है, cwnd को ssthresh पर सेट किया जा सकता है।
- पार्शियल एकनॉलेजमेंट्स: एसीके सभी डेटा को एकनॉलेज नहीं करता है। इसका तात्पर्य है कि लॉस हो सकता है, यदि अनुमति हो तो पहले अनएकनॉलेजड सेगमेंट को रिट्रांसमिट करना है।
यह रिकॉर्ड करने के लिए कि कितना डेटा रिकवर करने की आवश्यकता है, यह "रिकवर" नामक वेरिएबल का उपयोग करता है। रीट्रांसमिट टाइमआउट के पश्चात, यह रिकवरी वेरिएबल में ट्रांसमिटेड हाईएस्ट सीक्वेंस नंबर को रिकॉर्ड करता है और फास्ट रिकवरी प्रोसीजर से बाहर निकलता है। यदि इस सीक्वेंस नंबर को एकनॉलेजड किया जाता है, तो टीसीपी कंजेशन से एवॉइडेन्स की स्टेट में रिटर्न हो जाती है।
न्यू रेनो के साथ समस्या तब उत्पन्न होती है जब कोई पैकेट लॉस नहीं होता है, अन्यथा पैकेट को 3 से अधिक पैकेट सीक्वेंस नंबर्स द्वारा रिआर्डरड किया जाता है। इस केस में, न्यू रेनो मिस्टेक्स से फास्ट रिकवरी में एंटर करती है। जब रिऑर्डर किया गया पैकेट डिलीवर किया जाता है, तो डुप्लिकेट और अनावश्यक रिट्रांसमिशन इम्मेडिएटली सेंट कर दिए जाते हैं।
न्यू रेनो लो पैकेट एरर रेट पर सैक के समान ही परफॉरमेंस करती है और हाई एरर रेट पर रेनो से अधिक बेटर परफॉर्म करती है।[17]
टीसीपी वेगास
1990 के दशक के मध्य तक, टीसीपी के सभी सेट टाइमआउट और मेज़रमेंट की गई राउंड-ट्रिप डिले केवल ट्रांसमिट बफर में लास्ट ट्रांसमिटेड पैकेट पर बेस्ड थी। एरिज़ोना विश्वविद्यालय के रिसर्च लैरी पीटरसन और लॉरेंस ब्रैक्मो ने टीसीपी वेगास का प्रारंभ किया जिसमें टाइमआउट सेट किए गए थे और ट्रांसमिट बफर में प्रत्येक पैकेट के लिए राउंड-ट्रिप डिले को मेज़रमेंट किया गया था। इसके अतिरिक्त, टीसीपी वेगास कंजेशन विंडो में एडिटिव इनक्रीसजस का उपयोग करता है। विभिन्न टीसीपी सीसीएएस के कम्पेरिजन अध्ययन में, टीसीपी क्यूबिक के पश्चात टीसीपी वेगास सबसे स्मूथ दिखाई दिया।[18]
टीसीपी वेगास को पीटरसन की लेबोरेटरी के बाहर व्यापक रूप से डेप्लॉयड नहीं किया गया था, किंतु डीडी-डब्ल्यूआरटी फर्मवेयर v24 SP2 के लिए डिफ़ॉल्ट कंजेशन कंट्रोल मेथड के रूप में चयन किया गया था।[19]
टीसीपी हाइब्ला
टीसीपी हाइब्ला[20][21] का ऐंम हाई-लेटेंसी टेरेस्ट्रियल या सॅटॅलाइट रेडियो लिंक का उपयोग करने वाले टीसीपी कनेक्शनों पर पेनलटीएस को समाप्त करना है। हाइब्ला इम्प्रूव कंजेशन विंडो डायनामिक्स के एनालिटिकल इवैल्यूएशन पर बेस्ड हैं।[22]
टीसीपी बीआईसी
बाइनरी इनक्रीस कंजेशन कंट्रोल (बीआईसी) हाई लेटेंसी वाले हाई-स्पीड नेटवर्क के लिए ऑप्टीमाइज़्ड सीसीए के साथ टीसीपी इम्प्लीमेंटेशन है, जिसे लॉन्ग फैट नेटवर्क (एलएफएन) के रूप में जाना जाता है।[23] लिनक्स कर्नेल 2.6.8 से 2.6.18 तक डिफ़ॉल्ट रूप से बीआईसी का उपयोग किया जाता है।
टीसीपी क्यूबिक
क्यूबिक, बीआईसी का लेस एग्रेसिव और अधिक सिस्टेमेटिक डेरीवेटिव है, जिसमें विंडो लास्ट कंजेशन इवेंट के पश्चात से टाइम का क्यूबिक फ़ंक्शन है, जिसमें इवेंट से पूर्व विंडो पर इन्फ्लेक्शन पॉइंट सेट होता है। वर्जन्स 2.6.19 से लिनक्स कर्नेल में डिफ़ॉल्ट रूप से क्यूबिक का उपयोग किया जाता है।
एजाइल-एसडी टीसीपी
एजाइल-एसडी लिनक्स-बेस्ड सीसीए है जिसे रियल लिनक्स कर्नेल के लिए डिज़ाइन किया गया है। यह रिसीवर-साइड एल्गोरिदम है जो अजेलिटी फैक्टर (एएफ) नामक नावेल सिस्टम का उपयोग करके लॉस-बेस्ड एप्रोच को नियोजित करता है। हाई स्पीड और कम दूरी के नेटवर्क (कम-बीडीपी नेटवर्क) जैसे लोकल एरिया नेटवर्क या फाइबर-ऑप्टिक नेटवर्क पर बैंडविड्थ उपयोग को बढ़ाने के लिए, विशेष जब इम्प्लीमेंट बफर साइज़ छोटा होता है।[24]NS-2 सिम्युलेटर का उपयोग करके इसके परफॉरमेंस की कम्पेरिंग कंपाउंड टीसीपी (एमएस विंडोज में डिफ़ॉल्ट सीसीए) और क्यूबिक (लिनक्स का डिफ़ॉल्ट) से करके इसका मूल्यांकन किया गया है। यह एवरेज थ्रूपुट की अवधि में टोटल परफॉरमेंस को 55% तक इम्प्रूव करता है।
टीसीपी वेस्टवुड+
वेस्टवुड+ टीसीपी रेनो का केवल-सेन्डर मॉडिफिकेशन है जो वायर्ड और वायरलेस नेटवर्क दोनों पर टीसीपी कंजेशन कंट्रोल के परफॉरमेंस को ऑप्टीमाइज़्ड करता है। टीसीपी वेस्टवुड+ कंजेशन एपिसोड के पश्चात, अर्थात तीन डुप्लिकेट एकनॉलेजमेंट या टाइमआउट के पश्चात कंजेशन विंडो और स्लो स्टार्ट थ्रेशोल्ड सेट करने के लिए एंड-टू-एंड बैंडविड्थ (कंप्यूटिंग) अनुमान पर बेस्ड है। एकनॉलेजमेंट पैकेट रिटर्न रेट के एवरेज से बैंडविड्थ का अनुमान लगाया जाता है। टीसीपी रेनो के विपरीत, जो तीन डुप्लिकेट एसीके के पश्चात कंजेशन विंडो को क्लोज्ड करके हाफ कर देता है, टीसीपी वेस्टवुड+ अनुकूल रूप से स्लो स्टार्ट लिमिट और कंजेशन विंडो सेट करता है जो कंजेशन के अनुभव के टाइम उपलब्ध बैंडविड्थ के अनुमान को ध्यान में रखता है। रेनो और न्यू रेनो की कम्पेयर में, वेस्टवुड+ वायरलेस लिंक पर थ्रूपुट को महत्वपूर्ण रूप से बढ़ाता है और वायर्ड नेटवर्क में फेयरनेस में इम्प्रूव करता है।
कंपाउंड टीसीपी
कंपाउंड टीसीपी, टीसीपी का माइक्रोसॉफ्ट इम्प्लीमेंटेशन है जो फेयरनेस मेज़रमेंट को पुअर किए बिना एलएफएन पर बेटर परफॉरमेंस प्राप्त करने के गोल के साथ, दो भिन्न-भिन्न कंजेशन विंडो को बनाए रखता है। इसे माइक्रोसॉफ्ट विंडोज विस्टा और विंडोज सर्वर 2008 के पश्चात से विंडोज वर्जन में व्यापक रूप से डेप्लॉयड किया गया है और इसे ओल्डर माइक्रोसॉफ्ट विंडोज वर्जन के साथ-साथ लिनक्स में भी पोर्ट किया गया है।
टीसीपी प्रोपोरशनल रेट में रिडक्शन
टीसीपी प्रोपोरशनल रेट में रिडक्शन (पीआरआर)[25] एल्गोरिदम है जिसे रिकवरी के टाइम सेंट किये गए डेटा की एक्यूरेसी में इम्प्रूव करने के लिए डिज़ाइन किया गया एल्गोरिदम है। एल्गोरिदम यह सुनिश्चित करता है कि रिकवरी के पश्चात विंडो का साइज़ स्लो स्टार्ट थ्रेसहोल्ड के समान हो। गूगल द्वारा किए गए टेस्ट्स में, पीआरआर के परिणामस्वरूप एवरेज लेटेंसी में 3-10% रिडक्शन हुआ और रिकवरी टाइमआउट 5% डिक्रीज हुआ।[26] पीआरआर लिनक्स कर्नेल में वर्जन्स 3.2 से लिनक्स कर्नेल में उपलब्ध है।[27]
टीसीपी बीबीआर
बॉटलनेक बैंडविड्थ और राउंड-ट्रिप प्रोपगेशन टाइम (बीबीआर) 2016 में गूगल द्वारा विकसित सीसीए है।[28] जबकि अधिकांश सीसीए लॉस-बेस्ड हैं, इसमें वे कंजेशन और ट्रांसमिशन के कम रेटों को डिटेक्ट करने के लिए पैकेट लॉस पर रिलाय करते हैं, बीबीआर, टीसीपी वेगास की भाँति, मॉडल-बेस्ड है। एल्गोरिदम मैक्सिमम बैंडविड्थ और राउंड-ट्रिप टाइम का उपयोग करता है जिस पर नेटवर्क ने नेटवर्क का मॉडल बनाने के लिए आउटबाउंड डेटा पैकेट की सबसे रीसेंट फ्लाइट डिलीवर की है। पैकेट डिलीवरी की प्रत्येक क्युमुलेटिव या सेलेक्टिव एकनॉलेजमेंट रेट सैंपल उत्पन्न करती है जो डेटा पैकेट के ट्रांसमिशन और उस पैकेट की एकनॉलेजमेंट के मध्य टाइम इंटरवल पर डिलीवर्ड डेटा के अमाउंट को रिकॉर्ड करती है।[29]
जब इसे यूट्यूब पर इम्प्लीमेंट किया गया, तो BBRv1 ने एवरेज 4% अधिक नेटवर्क थ्रूपुट और कुछ देशों में 14% तक का जनरेशन किया।[30] लिनक्स 4.9 के पश्चात् से बीबीआर लिनक्स टीसीपी के लिए उपलब्ध है।[31] यह क्यूयूआईसी के लिए भी उपलब्ध है।[32]
बीबीआर वर्जन्स 1 (BBRv1) की नॉन-बीबीआर स्ट्रीम्स के प्रति फेयरनेस कण्टेण्डेड है। जबकि गूगल का प्रेजेंटेशन BBRv1 को सीयूबीआईसी के साथ वेल को-एक्सिस्टिंग में दर्शाता है,[28] ज्योफ हस्टन और हॉक, ब्लेस और ज़िटरबार्ट जैसे रेसर्चेर्स ने इसे अन्य स्ट्रीम्स के लिए अनफेयर और स्केलेबल नहीं पाया है।[33] हॉक एट अल. लिनक्स 4.9 के बीबीआर इम्प्लीमेंटेशन में क्वेउंग डिले, अनफेयरनेस और बड़े लेवल पर पैकेट लॉस जैसे इन्हेरेंट इश्यूज भी पाए गए।[34] सोहेल अब्बासलू एट अल (C2टीसीपी के लेखक) बताते हैं कि BBRv1 सेलुलर नेटवर्क जैसे स्पीडशील एनवायरनमेंट में अच्छा परफॉरमेंस नहीं करता है।[11][12]उन्होंने यह भी दिखाया है कि बीबीआर में अनफेयरनेस का इश्यू है। उदाहरण के लिए, जब सीयूबीआईसी टीसीपी फ्लो (जो लिनक्स, एंड्राइड और मैकओएस में डिफ़ॉल्ट ट्रांसमिशन कंट्रोल प्रोटोकॉल इम्प्लीमेंटेशन है) नेटवर्क में बीबीआर फ्लो के साथ कोएक्सिस्ट्स है, तो बीबीआर फ्लो सीयूबीआईसी फ्लो पर प्रभावी हो सकता है और इससे संपूर्ण लिंक बैंडविड्थ प्राप्त कर सकता है। (चित्र 16 देखें [11]).
वर्जन्स 2 सीयूबीआईसी जैसे लॉस-बेस्ड कंजेशन मैनेजमेंट के साथ ऑपरेट होते टाइम अनफेयरनेस के इश्यूज को सॉल्व करने का प्रयास करता है।[35] BBRv2 में BBRv1 द्वारा उपयोग किए गए मॉडल को पैकेट लॉस के विषय में इंफॉर्मेशन और एक्सप्लिसिट कंजेशन नोटिफिकेशन (ईसीएन) से इंफॉर्मेशन सम्मिलित करने के लिए ऑगमेंट किया गया है।[36] चूँकि BBRv2 में BBRv1 की अपेक्षा में कम थ्रूपुट हो सकता है, किंतु सामान्यतः इसे बेटर गुडपुट माना जाता है।
वर्जन्स 3 (BBRv3) BBRv2 में दो बग को फिक्स करता है (बैंडविड्थ प्रोबिंग का टाइम से पहले समेज़रमेंट्त होना, बैंडविड्थ कन्वर्जेन्स) और कुछ परफॉरमेंस ट्यूनिंग करता है। वैरिएंट भी है, जिसे BBR.Swift कहा जाता है, जो डेटासेंटर-इंटरनल लिंक के लिए ऑप्टीमाइज़्ड है: यह मेन कंजेशन कंट्रोल सिग्नल के रूप में नेटवर्क_आरटीटी (एक्सक्लूडिंग रिसीवर डिले) का उपयोग करता है।[36]
C2टीसीपी
सेलुलर कण्ट्रोल डिले टीसीपी (C2टीसीपी)[11][12] लचीले एंड-टू-एंड टीसीपी एप्रोच की डिक्रीज से प्रेरित था जो नेटवर्क डिवाइस में किसी भी चेंजेस की आवश्यकता के बिना विभिन्न ऍप्लिकेशन्स के लिए सर्विसेज की विभिन्न क्वालिटी आवश्यकताओं को पूर्ण कर सकता है। C2टीसीपी का गोल करंट LTE (दूरसंचार) और भविष्य के 5G जैसे अत्यधिक स्पीडशील एनवायरनमेंट में वर्चुअल रियलिटी, वीडियो कॉन्फ्रेंसिंग, ऑनलाइन गेम, वेहिटोटलर कम्युनिकेशन सिस्टम आदि जैसे ऍप्लिकेशन्स की अल्ट्रा-लो लेटेंसी (इंजीनियरिंग) और हाई-बैंडविड्थ आवश्यकताओं को पूर्ण करना है। सेल्युलर नेटवर्क C2टीसीपी लॉस-बेस्ड टीसीपी के टॉप पर प्लग-इन (कंप्यूटिंग) (जैसे रेनो, न्यूरेनो, क्यूबिक टीसीपी, बीआईसी टीसीपी, ...) ऐड-ऑन के रूप में कार्य करता है, इसे केवल सर्वर-साइड पर स्थापित करना आवश्यक है और पैकेटों के एवरेज डिले को ऍप्लिकेशन्स द्वारा सेट डिसाएर्ड डिलेस तक सीमित कर देता है।
न्यूयॉर्क विश्वविद्यालय के रिसर्च[37] में दिखाया गया है कि C2टीसीपी विभिन्न अत्याधुनिक टीसीपी योजनाओं के डिले और डिले वेरिएशन परफॉरमेंस से आउटपरफॉर्म करता है। उदाहरण के लिए, उन्होंने दिखाया कि बीबीआर, सीयूबीआईसी और वेस्टवुड के कंपैरिजन में, C2टीसीपी विभिन्न सेलुलर नेटवर्क एनवायरनमेंटों पर पैकेट की एवरेज डिले को क्रमशः 250%, 900% और 700% कम कर देता है।[11]
इलास्टिक-टीसीपी
क्लाउड कंप्यूटिंग के सपोर्ट में हाई-बीडीपी नेटवर्क पर बैंडविड्थ उपयोग को बढ़ाने के लिए फरवरी 2019 में इलास्टिक-टीसीपी का प्रपोजल दिया गया था। यह लिनक्स-बेस्ड सीसीए है जिसे लिनक्स कर्नेल के लिए डिज़ाइन किया गया है। यह रिसीवर-साइड एल्गोरिदम है जो विंडो-कोरिलेटेड वेटिंग फ़ंक्शन (डब्ल्यूडब्ल्यूएफ) नामक नावेल सिस्टम का उपयोग करके लॉस-डिले-बेस्ड एप्रोच को नियोजित करता है। इसमें मानव ट्यूनिंग की आवश्यकता के बिना विभिन्न नेटवर्क कैरेक्टरिस्टिक से डील करने के लिए हाई लेवल की इलास्टिसिटी है। एन्यूस-2 सिम्युलेटर और टेस्टबेड का उपयोग करके इसके परफॉरमेंस का इवैल्यूएशन कंपाउंड टीसीपी (एमएस विंडोज में डिफ़ॉल्ट सीसीए), क्यूबिक (लिनक्स के लिए डिफ़ॉल्ट) और टीसीपी-बीबीआर (गूगल द्वारा उपयोग किए जाने वाले लिनक्स 4.9 का डिफ़ॉल्ट) से कम्पेर करके किया गया है। इलास्टिक-टीसीपी एवरेज थ्रूपुट, लॉस रेशियो और डिले के केस में परफॉरमेंस इम्प्रूव करता है।[38]
एनएटीसीपी
सोहेल अब्बासलू एट अल प्रोपोसड एनएटीसीपी (नेटवर्क-असिस्टेड टीसीपी)[13] कंट्रोवर्सिअल[according to whom?] टीसीपी डिज़ाइन मल्टी-्सेस एज कंप्यूटिंग (एमईसी) को टारगेट करता है। एनएटीसीपी का मेन आईडिया यह है कि यदि नेटवर्क की कैरेक्टरिस्टिक के विषय में पहले से पता होता, तो टीसीपी को भिन्न प्रकार से डिज़ाइन किया गया होता। इसलिए, एनएटीसीपी टीसीपी के परफॉरमेंस को ऑप्टीमल परफॉरमेंस के नियर पहुंचाने के लिए करंट एमईसी-बेस्ड सेलुलर आर्किटेक्वेरिएबल में फीचर्स और प्रॉपर्टीज को नियोजित करता है। एनएटीसीपी नेटवर्क से नियर बाय लोकेटेड सर्वर पर आउट-ऑफ-बैंड फीडबैक का उपयोग करता है। नेटवर्क से फीडबैक, जिसमें सेलुलर एक्सेस लिंक की कैपेबिलिटी और नेटवर्क का मिनिमम आरटीटी सम्मिलित है, सर्वर को उनकी कैपेबिलिटी रेटों को समायोजित करने के लिए गाइड करता है। जैसा कि प्रारंभिक परिणाम दिखाते हैं, एनएटीसीपी अत्याधुनिक टीसीपी योजनाओं से बेटर परफॉरम करता है।[13][39]
अन्य टीसीपी कंजेशन से एवॉइडेन्स एल्गोरिदम
- फ़ास्ट टीसीपी
- जनरलाइज्ड फास्ट टीसीपी[40]
- एच-टीसीपी
- डाटा सेंटर टीसीपी
- हाई स्पीड टीसीपी
- एचएसटीसीपी-एलपी[41]
- टीसीपी-इलिनोइस
- टीसीपी एलपी
- स्केलेबल टीसीपी
- टीसीपी वेनो[42]
- टीसीपी वेस्टवुड
- एक्ससीपी[43]
- येअह-टीसीपी[44]
- टीसीपी-फिट[45]
- टाइम के जनरलाइज्ड इंटरवल के साथ कंजेशन कंट्रोल से एवॉइडेन्स (सीएएनआईटी )[46]
- टीसीपी/आईपी नेटवर्क के लिए जेनेटिक एल्गोरिदम पर बेस्ड नॉन-लीनियर नेटवर्क कंजेशन कंट्रोल[47]
- डी-टीसीपी[48]
- नेक्सजेन डी-टीसीपी[49]
- कप [50]
- टीसीपी न्यू रेनो सबसे सामान्यतः इम्प्लीमेंट किया जाने वाला एल्गोरिदम था, सैक सपोर्ट अधिक कॉमन है और रेनो/न्यू रेनो का एक्सटेंड है। अधिकांश अन्य कंपेटिंग प्रपोजल हैं जिन्हें अभी भी मूल्यांकन की आवश्यकता है। 2.6.8 से प्रारंभ होकर लिनक्स कर्नेल ने डिफ़ॉल्ट इम्प्लीमेंटेशन को न्यू रेनो से बीआईसी टीसीपी में परिवर्तित कर दिया। 2.6.19 वर्जन्स में डिफ़ॉल्ट इम्प्लीमेंटेशन को फिर से सीयूबीआईसी में परिवर्तित कर दिया गया। फ्रीबीएसडी न्यू रेनो को डिफ़ॉल्ट एल्गोरिदम के रूप में उपयोग करता है। चूँकि, यह कई अन्य चॉइसेस का सपोर्ट करता है।[51]
जब क्वेउंग डिले योजना के रिगार्डलेस बैंडविड्थ और लेटेंसी का पर-फ्लो प्रोडक्ट बढ़ता है, तो टीसीपी इनएफ़्फीसिएंट हो जाता है और इंस्टैबिलिटी के प्रोन होता है। यह और भी महत्वपूर्ण हो जाता है क्योंकि इंटरनेट अधिक हाई-बैंडविड्थ ऑप्टिकल लिंक को सम्मिलित करने के लिए विकसित हो रहा है।
टीसीपी इंटरैक्टिव (आईटीसीपी)[52] एप्लिकेशन को टीसीपी ईवेंट की सब्सक्राइब करने और तदनुसार फीडबैक देने की अनुमति देता है, जिससे टीसीपी लेयर के बाहर से टीसीपी में विभिन्न फंक्शनल एक्सटेंशन इनेबल होते हैं। अधिकांश टीसीपी कंजेशन स्कीम्स इंटरनल रूप से कार्य करती हैं। आईटीसीपी अतिरिक्त रूप से उन्नत ऍप्लिकेशन्स को डायरेक्ट कंजेशन कंट्रोल में पार्टिसिपेट करने में इनेबल बनाता है जैसे कि सोर्स जनरेशन रेट को कण्ट्रोल करना आदि।
ज़ेटा-टीसीपी लेटेंसी और लॉस रेट दोनों उपायों से कंजेशन को डिटेक्ट करता है। गुडपुट ज़ेटा-टीसीपी को मैक्सिमम करने के लिए और कंजेशन कंट्रोल की संभावना के बेसिस पर भिन्न-भिन्न कंजेशन विंडो बैकऑफ़ स्ट्रेटेजीयों को इम्प्लीमेंट करता है। इसमें पैकेट के लॉस का एक़ुरेटेली डिटेक्ट करने के लिए इम्प्रोवेमेन्ट्स भी हैं, जिससे रिट्रांसमिशन टाइमआउट रिट्रांसमिशन से बचा जा सकता है; और इनबाउंड (डाउनलोड) ट्रैफ़िक को फ़ास्ट और कण्ट्रोल कर सकता है।[53]
नेटवर्क अवेयरनेस द्वारा क्लासिफिकेशन
सीसीए को नेटवर्क अवेयरनेस के संबंध में क्लासिफाइड किया जा सकता है, जिसका अर्थ है कि ये एल्गोरिदम नेटवर्क के स्टेट के विषय में किस लिमिट तक अवेयर हैं। इसमें तीन प्राइमरी कैटेगरीज: ब्लैक बॉक्स, ग्रे बॉक्स और ग्रीन बॉक्स सम्मिलित हैं।[54]ब्लैक बॉक्स एल्गोरिदम कंजेशन कंट्रोल के ब्लाइंड मेथड्स को ऑफर करते हैं। वे केवल कंजेशन पर प्राप्त बाइनरी फीडबैक पर कार्य करते हैं और जिस नेटवर्क को वे मैनेज करते हैं उसकी स्टेट के विषय में कोई इंफॉर्मेशन नहीं रखते हैं।
टाइम इन्सटेंसेस[clarification needed] बैंडविड्थ, फ्लो कंटेन्शन और नेटवर्क स्टेट के अन्य नॉलेज, मेज़रमेंट और अनुमान प्राप्त करने के लिए ग्रे बॉक्स एल्गोरिदम का उपयोग किया जाना चाहिए।
ग्रीन बॉक्स एल्गोरिदम कंजेशन कंट्रोल के द्विमोडल मेथड्स को ऑफर करते हैं जो टोटल बैंडविड्थ के फेयर शेयर को मेज़र करता हैं जिसे सिस्टम के एक्सेक्यूशन के टाइम किसी भी पॉइंट पर प्रत्येक फ्लो के लिए अल्लोकेट किया जाना चाहिए।
ब्लैक बॉक्स
- हाईस्पीड-टीसीपी[55]
- बीआईसी टीसीपी (बाइनरी इनक्रीस कंजेशन कंट्रोल प्रोटोकॉल) प्रत्येक कंजेशन इवेंट के पश्चात सोर्स रेट में कॉनकेव इनक्रीस का उपयोग करता है जब तक कि विंडो इवेंट पूर्व विंडो के समान न हो जाए, जिससे नेटवर्क के उपयोग किए जाने वाले टाइम को मैक्सिमम किया जा सके। इसके पश्चात वह अग्ग्रेसिवली प्रोब करती है।
- क्यूबिक टीसीपी - बीआईसी का कम अग्ग्रेसिवली और अधिक सिस्टेमेटिक डेरीवेटिव, जिसमें विंडो लास्ट कंजेशन इवेंट के पश्चात से टाइम का क्यूबिक फ़ंक्शन से पूर्व विंडो पर इन्फ्लेक्शन पॉइंट सेट होता है।
- एआईएमडी-एफसी (फास्ट से कन्वर्जेन्स के साथ एड्डीटिव इनक्रीस मल्टीप्लिकेटिव डिक्रीज), एआईएमडी का इम्प्रूवमेंट है।[56]
- बिनोमिअल मैकेनिज्म
- एसआईएमडी प्रोटोकॉल
- जीएआईएमडी
ग्रे बॉक्स
- टीसीपी वेगास - क्वेउंग डिले में डिले का अनुमान लगाता है, और विंडो को लीनियर रूप से बढ़ाता या घटाता है जिससे नेटवर्क में प्रति फ्लो पैकेट के कांस्टेंट नंबर क्वेउंग डिले में रहे। वेगास प्रोपोरशनल फेयरनेस इम्प्लीमेंट करता है।
- फास्ट टीसीपी - वेगास के समान इक्विलिब्रियम प्राप्त करता है, किंतु लीनियर इनक्रीस के अतिरिक्त प्रोपोरशनल कंट्रोल का उपयोग करता है, और स्टेबिलिटी सुनिश्चित करने के ऐंम से बैंडविड्थ बढ़ने पर एडवांटेज को कम कर देता है।
- टीसीपी बीबीआर - क्वेउंग डिले में डिले का अनुमान लगाता है किंतु एक्सपोनेंशियल इनक्रीस का उपयोग करता है। फेयरनेस और डिले को कम करने के लिए इंटेंसीअली टाइम-टाइम पर इसे स्लो किया जाता है।
- टीसीपी-वेस्टवुड (टीसीपीडब्ल्यू) - लॉस के कारण विंडो बैंडविड्थ-डिले प्रोडक्ट के सेन्डर के अनुमान पर रीसेट हो जाती है (एसीके प्राप्त करने की देखी गई रेट से मल्टीप्लाई किया गया सबसे छोटा आरटीटी)।[57]
- C2टीसीपी[12][11]* टीसीपी रेट कंट्रोल[58]
- टीसीपी-रियल
- टीसीपी-जर्सी
ग्रीन बॉक्स
- बिमोडल सिस्टम - बिमोडल कंजेशन एवॉइडेन्स और कंट्रोल सिस्टम।
- राउटर्स द्वारा इम्प्लीमेंटेड सिग्नलिंग मेथड्स
- रैंडम अर्ली डिटेक्शन (रेड) राउटर की क्वेउंग डिले के साइज़ के रेशियो में पैकेट को रैंडम्ली ड्राप करता है, जिससे कुछ फ्लो में मल्टिप्लिकेटिव डिक्रीज आती है।
- एक्सप्लिसिट कंजेशन नोटिफिकेशन (ईसीएन)
- नेटवर्क-असिस्ट कंजेशन कंट्रोल
- एन्यूटीसीपी[13] - नेटवर्क-असिस्टेड टीसीपी नेटवर्क के मिनिमम आरटीटी और सेल्युलर एक्सेस लिंक की कैपेबिलिटी को इंडिकेट करने वाले आउट-ऑफ-बैंड फीडबैक का उपयोग करता है।
- वैरिएबल-स्ट्रक्वेरिएबल कंजेशन कंट्रोल प्रोटोकॉल (वीसीपी) कंजेशन की नेटवर्क स्टेट पर एक्सप्लीसिटली फीडबैक देने के लिए दो ईसीएन बिट्स का उपयोग करता है। इसमें एंड होस्ट साइड एल्गोरिदम भी सम्मिलित है।
निम्नलिखित एल्गोरिदम को टीसीपी पैकेट स्ट्रक्चर में कस्टम फ़ील्ड ऐड करने की आवश्यकता होती है:
- एक्सप्लिसिट कंट्रोल प्रोटोकॉल (एक्ससीपी) - एक्ससीपी पैकेट में फीडबैक फ़ील्ड के साथ कंजेशन हेडर होता है, जो सेन्डर की कंजेशन विंडो में इनक्रीस या डिक्रीज का संकेत देता है। एक्ससीपी राउटर दक्षता और फेयरनेस के लिए फीडबैक मान को एक्सप्लीसिटली सेट करते हैं।[59]
- मैक्सनेट - ल हेडर फ़ील्ड का उपयोग करता है, जो फ्लो के पाथ पर किसी भी राउटर के मैक्सिमम कंजेशन लेवल को कैरी करता है। रेट इस मैक्सिमम कंजेशन के फ़ंक्शन के रूप में सेट की जाती है, जिसके परिणामस्वरूप मैक्सिमम-मिनिमम फेयरनेस होती है।[60]
- जेटमैक्स, मैक्सनेट के जैसे, केवल मैक्सिमम कंजेशन सिग्नल पर फीडबैक करता है, किंतु अन्य ओवरहेड फ़ील्ड भी कैरी करता है।
लिनक्स उपयोग
- बीआईसी का उपयोग लिनक्स कर्नेल 2.6.8 से 2.6.18 तक डिफ़ॉल्ट रूप से किया जाता है। (अगस्त 2004 - सितम्बर 2006)
- वर्जन 2.6.19 से लिनक्स कर्नेल में डिफ़ॉल्ट रूप से सीयूबीआईसी का उपयोग किया जाता है। (नवंबर 2006)
- पीआरआर को वर्जन 3.2 के पश्चात से लॉस रिकवरी में इम्प्रूवमेंट के लिए लिनक्स कर्नेल में सम्मिलित किया गया है। (जनवरी 2012)
- BBRv1 को वर्जन 4.9 के पश्चात से मॉडल-बेस्ड कंजेशन कंट्रोल को इनेबल करने के लिए लिनक्स कर्नेल में सम्मिलित किया गया है। (दिसंबर 2016)
यह भी देखें
- ट्रांसमिशन कंट्रोल प्रोटोकॉल §§ कंजेशन कंट्रोल and डेवलपमेंट
- नेटवर्क कंजेशन § मिटिगेशन
- लो एक्स्ट्रा डिले बैकग्राउंड ट्रांसपोर्ट (LEDBAT)
टिप्पणियाँ
संरेट्भ
- ↑ Jacobson & Karels 1988.
- ↑ 2.0 2.1 W. Stevens (January 1997). TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms. doi:10.17487/RFC2001. RFC 2001.
- ↑ 3.0 3.1 M. Allman; S. Floyd; C. Partridge (October 2002). टीसीपी की आरंभिक विंडो बढ़ाना. doi:10.17487/RFC3390. RFC 3390.
- ↑ "टीसीपी कंजेशन से बचाव को एक अनुक्रम आरेख के माध्यम से समझाया गया" (PDF). eventhelix.com.
- ↑ Chiu, Dah-Ming; Raj Jain (1989). "Analysis of increase and decrease algorithms for congestion avoidance in computer networks". Computer Networks and ISDN Systems. 17: 1–14. CiteSeerX 10.1.1.136.8108. doi:10.1016/0169-7552(89)90019-6.
- ↑ Allman, M.; Paxson, V. (September 2009). टीसीपी कंजेशन नियंत्रण. IETF. sec. 3.1. doi:10.17487/RFC5681. RFC 5681. Retrieved March 4, 2021.
- ↑ Blanton, Ethan; Paxson, Vern; Allman, Mark (September 2009). "टीसीपी कंजेशन नियंत्रण". IETF.
- ↑ Corbet, Jonathan. "टीसीपी प्रारंभिक कंजेशन विंडो को बढ़ाना". LWN. Retrieved 10 October 2012.
- ↑ Nick O'Neill. "What's Making Your Site Go Slow? Could Be The Like Button". AllFacebook, 10 November 2010. Retrieved on 12 September 2012.
- ↑ Fall, Kevin; Sally Floyd (July 1996). "ताहो, रेनो और सैक टीसीपी की सिमुलेशन-आधारित तुलना" (PDF). Computer Communications Review. 26 (3): 5–21. CiteSeerX 10.1.1.586.2403. doi:10.1145/235160.235162. S2CID 7459148.
- ↑ 11.0 11.1 11.2 11.3 11.4 11.5 Abbasloo, S.; Xu, Y.; Chao, H. J. (2019). "C2TCP: A Flexible Cellular TCP to Meet Stringent Delay Requirements". IEEE Journal on Selected Areas in Communications. 37 (4): 918–932. arXiv:1810.13241. doi:10.1109/JSAC.2019.2898758. ISSN 0733-8716. S2CID 53107038.
- ↑ 12.0 12.1 12.2 12.3 Abbasloo, S.; Li, T.; Xu, Y.; Chao, H. J. (May 2018). "Cellular Controlled Delay TCP (C2TCP)". 2018 IFIP Networking Conference and Workshops: 118–126. arXiv:1807.02689. Bibcode:2018arXiv180702689A. doi:10.23919/IFIPNetworking.2018.8696844. ISBN 978-3-903176-08-9. S2CID 49650788.
- ↑ 13.0 13.1 13.2 13.3 Abbasloo et al. 2019.
- ↑ Cardwell, Neal; Cheng, Yuchung; Gunn, C. Stephen; Yeganeh, Soheil Hassas; Jacobson, Van (2016). "BBR: Congestion-Based Congestion Control". Queue. 14 (5): 20–53. doi:10.1145/3012426.3022184.
- ↑ Kurose & Ross 2008, p. 284.
- ↑ Kurose & Ross 2012, p. 277.
- ↑ VasanthiN., V.; SinghM., Ajith; Kumar, Romen; Hemalatha, M. (2011). Das, Vinu V; Thankachan, Nessy (eds.). "Evaluation of Protocols and Algorithms for Improving the Performance of TCP over Wireless/Wired Network". International Conference on Computational Intelligence and Information Technology. Communications in Computer and Information Science. Springer. 250: 693–697. doi:10.1007/978-3-642-25734-6_120. ISBN 978-3-642-25733-9.
- ↑ "टीसीपी कंजेशन नियंत्रण एल्गोरिदम का प्रदर्शन विश्लेषण" (PDF). Retrieved 26 March 2012.
- ↑ "डीडी-डब्ल्यूआरटी चेंजलॉग". Retrieved 2 January 2012.
- ↑ "हाइब्ला होम पेज". Archived from the original on 11 October 2007. Retrieved 4 March 2007.
- ↑ Caini, Carlo; Firrincieli, Rosario (2004). "TCP Hybla: a TCP enhancement for heterogeneous networks". International Journal of Satellite Communications and Networking (in English). 22 (5): 547–566. doi:10.1002/sat.799. ISSN 1542-0973. S2CID 2360535.
- ↑ Caini, C.; Firrincieli, R.; Lacamera, D. (2009). "Comparative Performance Evaluation of TCP Variants on Satellite Environments". 2009 IEEE International Conference on Communications. pp. 1–5. doi:10.1109/ICC.2009.5198834. S2CID 8352762.
- ↑ V., Jacobson; R.T., Braden. लंबी-विलंबित पथों के लिए टीसीपी एक्सटेंशन. doi:10.17487/RFC1072. RFC 1072.
- ↑ Alrshah, M.A.; Othman, M.; Ali, B.; Hanapi, Z.M. (September 2015). "Agile-SD: A Linux-based TCP congestion control algorithm for supporting high-speed and short-distance networks". Journal of Network and Computer Applications. 55: 181–190. doi:10.1016/j.jnca.2015.05.011. S2CID 2645016.
- ↑ Mathis, M.; Dukkipati, N.; Cheng, Y. (2013). टीसीपी के लिए आनुपातिक दर में कमी. doi:10.17487/RFC6937. RFC 6937.
- ↑ Corbet, Jonathan. "LPC: Making the net go faster". Retrieved 6 June 2014.
- ↑ "Linux 3.2 - Linux Kernel Newbies". Retrieved 6 June 2014.
- ↑ 28.0 28.1 "BBR: Congestion-Based Congestion Control". Retrieved 25 August 2017.
- ↑ Cheng, Yuchung; Cardwell, Neal; Yeganeh, Soheil Hassas; Jacobson, Van. "डिलिवरी दर अनुमान". IETF. Retrieved 25 August 2017.
- ↑ "TCP BBR congestion control comes to GCP – your Internet just got faster". Retrieved 25 August 2017.
- ↑ "BBR congestion control [LWN.net]". lwn.net.
- ↑ "बीबीआर अद्यतन". IETF.
- ↑ "टीसीपी और बीबीआर" (PDF). Retrieved 27 May 2018.
- ↑ "बीबीआर कंजेशन नियंत्रण का प्रायोगिक मूल्यांकन" (PDF). Retrieved 27 May 2018.
- ↑ "A Performance Evaluation of TCP BBRv2". Retrieved 12 January 2021.
- ↑ 36.0 36.1 Google TCP BBR team; Google QUIC BBR team (Jul 26, 2023). BBRv3: Algorithm Bug Fixes and Public Internet Deployment. IETF 117: San Francisco.
{{cite conference}}
:|author1=
has generic name (help) - ↑ "Cellular Controlled Delay TCP (C2TCP)". wp.nyu.edu. Retrieved 2019-04-27.
- ↑ Alrshah, M.A.; Al-Maqri, M.A.; Othman, M. (June 2019). "Elastic-TCP: Flexible Congestion Control Algorithm to Adapt for High-BDP Networks". IEEE Systems Journal. 13 (2): 1336–1346. arXiv:1904.13105. Bibcode:2019ISysJ..13.1336A. doi:10.1109/JSYST.2019.2896195.
- ↑ Abbasloo, Soheil (2019-06-03), GitHub - Soheil-ab/natcp, retrieved 2019-08-05
- ↑ Yuan, Cao; Tan, Liansheng; Andrew, Lachlan L. H.; Zhang, Wei; Zukerman, Moshe (6 June 2008). "एक सामान्यीकृत फास्ट टीसीपी योजना". Computer Communications. 31 (14): 3242–3249. doi:10.1016/j.comcom.2008.05.028. hdl:1959.3/44051. S2CID 17988768.
- ↑ "Rice Networks Group".
- ↑ "TCP Veno: TCP Enhancement for Transmission over Wireless Access Networks" (PDF). IEEE Journal on Selected Areas in Communication.
- ↑ "XCP @ ISI".
- ↑ "हाई स्पीड टीपीसी" (PDF). www.csc.lsu.edu.
- ↑ "संग्रहीत प्रति". Archived from the original on 3 April 2011. Retrieved 5 March 2011.
- ↑ Benaboud, H.; Berqia, A.; Mikou, N. (2002). "टीसीपी प्रोटोकॉल में CANIT एल्गोरिदम का एक विश्लेषणात्मक अध्ययन". ACM SIGMETRICS Performance Evaluation Review. 30 (3): 20. doi:10.1145/605521.605530. S2CID 6637174.
- ↑ Rouhani, Modjtaba (2010). "Nonlinear Neural Network Congestion Control Based on Genetic Algorithm for TCP/IP Networks". 2010 2nd International Conference on Computational Intelligence, Communication Systems and Networks. pp. 1–6. doi:10.1109/CICSyN.2010.21. ISBN 978-1-4244-7837-8. S2CID 15126416.
- ↑ Kanagarathinam, Madhan Raj; Singh, Sukhdeep; Sandeep, Irlanki; Roy, Abhishek; Saxena, Navrati (January 2018). "D-TCP: Dynamic TCP congestion control algorithm for next generation mobile networks". 2018 15th IEEE Annual Consumer Communications & Networking Conference (CCNC). pp. 1–6. doi:10.1109/CCNC.2018.8319185. ISBN 978-1-5386-4790-5. S2CID 3991163.
- ↑ Kanagarathinam, Madhan Raj; Singh, Sukhdeep; Sandeep, Irlanki; Kim, Hanseok; Maheshwari, Mukesh Kumar; Hwang, Jaehyun; Roy, Abhishek; Saxena, Navrati (2020). "NexGen D-TCP: Next Generation Dynamic TCP Congestion Control Algorithm". IEEE Access. 8: 164482–164496. doi:10.1109/ACCESS.2020.3022284. ISSN 2169-3536. S2CID 221846931.
- ↑ Arun, Venkat; Balakrishnan, Hari (2018). "Copa: Practical Delay-Based Congestion Control for the Internet". 15th USENIX Symposium on Networked Systems Design and Implementation (NSDI 18): 329–342. ISBN 978-1-939133-01-4.
- ↑ "पांच नए टीसीपी कंजेशन नियंत्रण एल्गोरिदम परियोजना का सारांश". 8 March 2011.
- ↑ "iTCP - Interactive Transport Protocol - Medianet Lab, Kent State University".
- ↑ "Whitepaper: Zeta-TCP - Intelligent, Adaptive, Asymmetric TCP Acceleration" (PDF). Retrieved 2019-12-06.
- ↑ Lefteris Mamatas; Tobias Harks; Vassilis Tsaoussidis (January 2007). "पैकेट नेटवर्क में भीड़ नियंत्रण के दृष्टिकोण" (PDF). Journal of Internet Engineering. 1 (1). Archived from the original (PDF) on 2014-02-21.
- ↑ "हाईस्पीड टीसीपी". www.icir.org.
- ↑ "एआईएमडी-एफसी होमपेज". neu.edu. Archived from the original on 13 January 2009. Retrieved 13 March 2016.
- ↑ "नेटवर्क रिसर्च लैब में आपका स्वागत है". www.cs.ucla.edu.
- ↑ "यूनिकैस्ट अनुप्रयोगों के लिए समीकरण-आधारित भीड़ नियंत्रण". www.icir.org.
- ↑ Katabi, Dina; Handley, Mark; Rohrs, Charlie (2002). "Congestion control for high bandwidth-delay product networks". Proceedings of the 2002 conference on Applications, technologies, architectures, and protocols for computer communications. New York, New York, USA: ACM Press. p. 89. doi:10.1145/633025.633035. ISBN 1-58113-570-X.
- ↑ "मैक्सनेट--मैक्स-मिन फेयर, स्थिर स्पष्ट सिग्नलिंग कंजेशन नियंत्रण". netlab.caltech.edu.
सोर्स
- Kurose, James; Ross, Keith (2008). कंप्यूटर नेटवर्किंग: एक ऊपर से नीचे का दृष्टिकोण (4th ed.). Addison Wesley. ISBN 978-0-13-607967-5.
- Kurose, James; Ross, Keith (2012). कंप्यूटर नेटवर्किंग: एक ऊपर से नीचे का दृष्टिकोण (6th ed.). Pearson. ISBN 978-0-13-285620-1.
- Abbasloo, Soheil; Xu, Yang; Chao, H. Jonathon; Shi, Hang; Kozat, Ulas C.; Ye, Yinghua (2019). "मोबाइल एज पर नेटवर्क असिस्टेड टीसीपी के साथ इष्टतम प्रदर्शन की ओर". 2nd USENIX Workshop on Hot Topics in Edge Computing (HotEdge 19). Renton, WA: USENIX Association.
- Afanasyev, A.; N. Tilley; P. Reiher; L. Kleinrock (2010). "टीसीपी के लिए होस्ट-टू-होस्ट भीड़ नियंत्रण" (PDF). IEEE Communications Surveys and Tutorials. 12 (3): 304–342. CiteSeerX 10.1.1.228.3080. doi:10.1109/SURV.2010.042710.00114. S2CID 8638824.
- Jacobson, Van; Karels, Michael J. (November 1988). "भीड़भाड़ से बचाव और नियंत्रण" (PDF). ACM SIGCOMM Computer Communication Review. 18 (4): 314–329. doi:10.1145/52325.52356.
बाहरी संबंध
- Approaches to Congestion Control in Packet Networks
- Papers in Congestion Control
- Allman, Mark; Paxson, Vern; Stevens, W. Richard (April 1999). "Fast Retransmit/Fast Recovery". TCP Congestion Control. IETF. sec. 3.2. doi:10.17487/RFC2581. RFC 2581. Retrieved 2010-05-01.
- टीसीपी Congestion Handling and Congestion Avoidance Algorithms – The टीसीपी/IP Guide