टीसीपी संकुलन नियंत्रण
ट्रांसमिशन कंट्रोल प्रोटोकॉल (टीसीपी) कंजेशन कंट्रोल एल्गोरिदम का उपयोग करता है जिसमें कंजेशन से बचने के लिए स्लो प्रारंभ सहित और कंजेशन विंडो (सीडब्ल्यूएनडी) सहित अन्य योजनाओं के साथ-साथ एडिटिव इनक्रीस/मल्टिप्लिकेटिव डिक्रीज (एआईएमडी) योजना के विभिन्न विषय सम्मिलित हैं।[1] टीसीपी कंजेशन-अवॉइडेंस एल्गोरिदम इंटरनेट में कंजेशन कंट्रोल का प्राइमरी हाफर है।[2][3][4] एंड-टू-एंड सिद्धांत के अनुसार, कंजेशन कंट्रोल अधिक लिमिट तक [[इंटरनेट होस्ट]] का कार्य है, न कि नेटवर्क का का कार्य है। इंटरनेट से कनेक्ट होने वाले कंप्यूटरों के ऑपरेटिंग सिस्टम के प्रोटोकॉल स्टैक में प्रारम्भ एल्गोरिदम के कई वैरिएशंस और वर्जन्स हैं।
कंजेस्टिव कोलैपस से बचने के लिए, टीसीपी मल्टी-फेसटेड कंजेशन-कंट्रोल स्ट्रेटेजी का उपयोग करता है। प्रत्येक कनेक्शन के लिए, टीसीपी सीडब्ल्यूएनडी बनाए रखता है, जो ट्रांजिट में एंड-टू-एंड हो सकने वाले अनएकनॉलेजड पैकेटों की कुल संख्या को सीमित करता है। यह कुछ लिमिट तक ट्रांसमिशन कंट्रोल प्रोटोकॉल#फ्लो कंट्रोल के लिए उपयोग की जाने वाली टीसीपी की स्लाइडिंग विंडो के समान है।
एड्डीटिव इनक्रीस/मल्टिप्लिकेटिव डिक्रीज
एड्डीटिव इनक्रीस/मल्टिप्लिकेटिव डिक्रीज (एआईएमडी) एल्गोरिदम क्लोज्ड-लूप कंट्रोल एल्गोरिदम है। एआईएमडी कंजेशन होने पर कंजेशन विंडो की लीनियर ग्रोथ को एक्सपोनेंशियल से रिडक्शन के साथ जोड़ती है। एआईएमडी कंजेशन कंट्रोल का उपयोग करने वाले मल्टीप्ल फ्लो कण्टेण्डेड लिंक की समान अमौंट्स का उपयोग करने के लिए एकत्रित होंगे।[5]
यह वह एल्गोरिदम है जिसे कंजेशन एवॉइडेन्स स्थिति के लिए RFC 5681 में वर्णन किया गया है।[6]
कंजेशन विंडो
टीसीपी में, कंजेशन विंडो (सीडब्ल्यूएनडी) उन फैक्टर्स में से है जो किसी भी टाइम भेजे जा सकने वाले बाइट्स की संख्या निर्धारित करती है। कंजेशन विंडो को सेन्डर द्वारा बनाए रखा जाता है और यह सेन्डर और रिसीवर के मध्य लिंक को अधिक ट्रैफ़िक से ओवरलोड होने से स्टॉप करने का साधन है। इसे सेन्डर द्वारा बनाए गए स्लाइडिंग विंडो के साथ कन्फ्यूज्ड नहीं किया जाना चाहिए जो रिसीवर को ओवरलोड होने से स्टॉप करने के लिए उपस्थित है। कंजेशन विंडो की गणना यह अनुमान लगाकर की जाती है कि लिंक पर कितना कंजेशन है।
जब कोई कनेक्शन स्थापित किया जाता है, तो कंजेशन विंडो, प्रत्येक होस्ट पर स्वतंत्र रूप से बनाए रखा गया मान, उस कनेक्शन पर अलाउड मैक्सिमम सेगमेंट साइज़ (एमएसएस) के छोटे मल्टिप्लिकेटिव पर सेट किया जाता है। कंजेशन विंडो में और अधिक वरियन्स एड्डीटिव इनक्रीस/मल्टिप्लिकेटिव डिक्रीज (एआईएमडी) दृष्टिकोण द्वारा निर्धारित होती है। इसका तात्पर्य यह है कि यदि सभी सेगमेंट प्राप्त हो जाते हैं और एकनॉलेजमेंट सेन्डर तक टाइम पर पहुंच जाती है, तो विंडो साइज़ में कुछ कांस्टेंट जोड़ दिया जाता है। यह भिन्न-भिन्न एल्गोरिदम का पालन करेगा।
सिस्टम प्रशासक टीसीपी ट्यूनिंग के भाग के रूप में मैक्सिमम विंडो साइज़ लिमिट को समायोजित कर सकता है, या एडिटिव इनक्रीस के टाइम जोड़े गए कांस्टेंट को समायोजित कर सकता है।
टीसीपी कनेक्शन पर डेटा के फ्लो रिसीवर द्वारा एडवर्टाइज ट्रांसमिशन रिसीव विंडो के उपयोग से भी कण्ट्रोल होता है। सेन्डर अपनी स्वयं की कंजेशन विंडो और रिसीव विंडो से कम डेटा भेज सकता है।
स्लो स्टार्ट
स्लो स्टार्ट, RFC 5681[7] द्वारा परिभाषित टीसीपी द्वारा अन्य एल्गोरिदम विधि के साथ मिलकर उपयोग की जाने वाली कंजेशन कंट्रोल स्ट्रेटेजी का भाग है जिससे नेटवर्क फ़ॉर्वर्डेड करने में सक्षम से अधिक डेटा भेजने से बचा जा सके, अर्थात नेटवर्क कंजेशन से बचने के लिए किया जाता है।
स्लो स्टार्ट में 1, 2, 4 या 10 एमएसएस के कंजेशन विंडो साइज़ (सीडब्ल्यूएनडी) के साथ प्रारंभ होती है।[8][3]: 1 प्रभावी रूप से प्रत्येक आरटीटी में विंडो का साइज़ डबल हो जाता है।[lower-alpha 1]
ट्रांसमिशन रेट स्लो स्टार्ट एल्गोरिथ्म द्वारा तब तक इनक्रीसड की जाएगी जब तक कि पैकेट लॉस को ज्ञात नहीं किया जा सकता है, या रिसीवर की एडवर्टाइज विंडो (आरडब्ल्यूएनडी) लिमिट फैक्टर नहीं है।
या स्लो स्टार्ट थ्रेशोल्ड (ssthresh) तक पहुंच गया है, जिसका उपयोग यह निर्धारित करने के लिए किया जाता है कि स्लो स्टार्ट या कंजेशन से एवॉइडेन्स एल्गोरिदम का उपयोग किया जाता है, जो स्लो स्टार्ट को सीमित करने के लिए निर्धारित मान है
यदि सीडब्ल्यूएनडी ssthresh तक पहुँच जाता है, तो टीसीपी कंजेशन अवॉइडेंस एल्गोरिदम में परिवर्तित कर दिया जाता है। इसे प्रत्येक आरटीटी के लिए 1 एमएसएस तक इनक्रीसड किया जाना चाहिए।
सामान्य सूत्र यह है कि प्रत्येक नया ACK सीडब्ल्यूएनडी को MSS* MSS / CWND. द्वारा इनक्रीसड करता है। यह लगभग लीनियर रूप से बढ़ता है और एक्सेप्टएबल एप्प्रोक्सिमेंशन प्रदान करता है।
यदि कोई लॉस इवेंट होता है, तो टीसीपी मानता है कि यह नेटवर्क के कंजेशन के कारण है और नेटवर्क पर प्रस्तावित लोड को कम करने के लिए स्टेप लेता है। ये मेज़रमेंट उपयोग किए गए एक्साक्ट टीसीपी कंजेशन अवॉइडेंस एल्गोरिदम पर निर्भर करते हैं।
जब टीसीपी सेन्डर रीट्रांसमिशन टाइमर का उपयोग करके सेगमेंट लॉस को ज्ञात किया जाता है और दिए गए सेगमेंट को रीट्रांसमिशन टाइमर के माध्यम से अभी तक रिसेंट नहीं गया है, तो ssthresh का मान भेजे गए डेटा के अमाउंट के हाफ से अधिक पर सेट नहीं किया जाना चाहिए, किंतु फिर भी संचयी रूप से 2 * MSS स्वीकार किया गया।
- टीसीपी ताहो
- जब कोई लॉस होता है, तो रिट्रांसमिट सेंट किया जाता है, करंट सीडब्ल्यूएनडी का हाफ भाग ssthresh के रूप में सेव किया जाता है और इसके प्रारंभिक सीडब्ल्यूएनडी से स्लो स्टार्ट फिर से प्रारंभ होती है।
- टीसीपी रेनो
- फास्ट रिट्रांसमिट सेंट किया जाता है, करंट सीडब्ल्यूएनडी का हाफ भाग ssthresh और नए सीडब्ल्यूएनडी के रूप में सेव किया जाता है, इस प्रकार स्लो स्टार्ट को स्किप कर दिया जाता है और डायरेक्ट कंजेशन अवॉइडेंस एल्गोरिदम पर चला जाता है। यहां ओवरआल एल्गोरिदम को फ़ास्ट रिकवरी कहा जाता है।
स्लो स्टार्ट यह मानती है कि अनएकनॉलेजड सेगमेंट नेटवर्क कंजेशन के कारण हैं। चूँकि यह कई नेटवर्कों के लिए एक्सेप्टएबल धारणा है, अन्य कारणों से सेगमेंट लॉस्ट हो सकते हैं, जैसे पुअर डेटा लिंक लेयर ट्रांसमिशन क्वालिटी है। इस प्रकार, वायरलेस लेन जैसी पुअर रिसेप्शन वाली स्थितियों में स्लो स्टार्ट पुअर परफॉर्म कर सकता है।
स्लो स्टार्ट प्रोटोकॉल शार्ट लिवड कनेक्शन के लिए भी बेड परफॉर्म करता है। ओल्डर वेब ब्राउज़र्स वेब सर्वर के लिए निरंतर कई शार्ट लिवड कनेक्शन बनाएंगे, और रिक्वेस्टड प्रत्येक फ़ाइल के लिए कनेक्शन ओपन और क्लोज्ड करेंगे। इसने अधिकांश कनेक्शनों को स्लो स्टार्ट मोड में रखा, जिसके परिणामस्वरूप रिपोंस टाइम पुअर हो गया। इस समस्या से बचने के लिए, मॉडर्न ब्राउज़र या तो कई कनेक्शन ओपन करते हैं या किसी विशेष वेब सर्वर से रिक्वेस्टड सभी फ़ाइलों के लिए एचटीटीपी कनेक्शन पुन: उपयोग करते हैं। चूँकि, वेब एडवर्टाइजिंग को प्रारंभ करने, सोशल नेटवर्किंग सर्विसेज की सुविधाओं को और एनालिटिक्स की काउंटर स्क्रिप्ट के लिए वेब साइटों द्वारा उपयोग किए जाने वाले कई थर्ड-पार्टी सर्वरों के लिए कनेक्शन का पुन: उपयोग नहीं किया जा सकता है।[9]
फास्ट रीट्रांसमिट
फास्ट रीट्रांसमिट ट्रांसमिशन कंट्रोल प्रोटोकॉल का एनहांसमेंट है जो किसी लॉस्ट हुए सेगमेंट को रीट्रांसमिट करने से पहले सेन्डर के टाइमर को कम कर देता है। टीसीपी सेन्डर सामान्यतः लॉस्ट सेगमेंटों को पहचानने के लिए साधारण टाइमर का उपयोग करता है। यदि किसी स्पेसिफ़िएड टाइम (एस्टिमेटेड राउंड-ट्रिप डिले टाइम का फ़ंक्शन) के भीतर किसी विशेष सेगमेंट के लिए एकनॉलेजमेंट प्राप्त नहीं होती है, तो सेन्डर मान लेगा कि सेगमेंट नेटवर्क में लॉस्ट हो गया है और सेगमेंट को रीट्रांसमिट करेगा।
डुप्लिकेट एकनॉलेजमेंट तेजी से पुन: प्रेषण तंत्र का हाफर है। पैकेट प्राप्त करने के बाद प्राप्त डेटा के अंतिम इन-ऑर्डर बाइट के लिए एकनॉलेजमेंट भेजी जाती है। इन-ऑर्डर पैकेट के लिए, यह प्रभावी रूप से अंतिम पैकेट की अनुक्रम संख्या और करंट पैकेट की पेलोड लंबाई है। यदि अनुक्रम में अगला पैकेट खो जाता है किंतु अनुक्रम में तीसरा पैकेट प्राप्त होता है, तो रिसीवर केवल डेटा के अंतिम इन-ऑर्डर बाइट को स्वीकार कर सकता है, जो कि वही मान है जो पहले पैकेट के लिए स्वीकार किया गया था। दूसरा पैकेट खो गया है और तीसरा पैकेट क्रम में नहीं है, इसलिए डेटा का अंतिम इन-ऑर्डर बाइट पहले जैसा ही रहता है। इस प्रकार डुप्लिकेट एकनॉलेजमेंट होती है। सेन्डर पैकेट भेजना जारी रखता है, और चौथा और पांचवां पैकेट रिसीवर को प्राप्त होता है। फिर, दूसरा पैकेट अनुक्रम से गायब है, इसलिए अंतिम इन-ऑर्डर बाइट नहीं परिवर्तिता है। इन दोनों पैकेटों के लिए डुप्लिकेट एकनॉलेजमेंट भेजी जाती है।
जब सेन्डर को तीन डुप्लिकेट एकनॉलेजमेंट प्राप्त होती है, तो यह उचित रूप से आश्वस्त हो सकता है कि एकनॉलेजमेंट में निर्दिष्ट अंतिम इन-ऑर्डर बाइट के बाद डेटा ले जाने वाला सेगमेंट खो गया था। तेजी से रीट्रांसमिट करने वाला सेन्डर इस पैकेट को इसके टाइम समेज़रमेंट्त होने की प्रतीक्षा किए बिना तुरंत रीट्रांसमिट करेगा। पुन: प्रेषित सेगमेंट की प्राप्ति पर, रिसीवर प्राप्त डेटा के अंतिम इन-ऑर्डर बाइट को स्वीकार कर सकता है। उपरोक्त उदाहरण में, यह पांचवें पैकेट के पेलोड के अंत की पुष्टि करेगा। मध्यवर्ती पैकेटों को स्वीकार करने की कोई आवश्यकता नहीं है क्योंकि टीसीपी डिफ़ॉल्ट रूप से संचयी स्वीकृतियों का उपयोग करता है।
एल्गोरिदम
कंजेशन कंट्रोल एल्गोरिदम (सीसीए) के लिए नामकरण परंपरा की प्रारंभ केविन फॉल और सैली फ्लॉयड के 1996 के पेपर में हुई होगी।[10]
निम्नलिखित गुणों के अनुसार निम्नलिखित संभावित वर्गीकरण है:
- नेटवर्क से प्राप्त फीडबैक का प्रकार और मात्रा
- करंट इंटरनेट पर इनक्रीसशील तैनाती
- प्ररेट्शन का वह विषय जिसे सुधारना है: उच्च बैंडविड्थ-विलंब उत्पाद नेटवर्क (बी); लॉसपूर्ण लिंक (एल); निष्पक्षता (एफ); लघु फ्लो का लाभ (एस); परिवर्तनीय-रेट लिंक (वी); अभिसरण की गति (सी)
- यह निष्पक्षता मानदंड का उपयोग करता है
कुछ प्रसिद्ध कंजेशन-भाड़ से बचाव तंत्रों को इस योजना द्वारा निम्नानुसार वर्गीकृत किया गया है:
Variant | Feedback | Required changes | Benefits | Fairness |
---|---|---|---|---|
(New) Reno | Loss | — | — | Delay |
Vegas | Delay | Sender | Less loss | Proportional |
High Speed | Loss | Sender | High bandwidth | |
BIC | Loss | Sender | High bandwidth | |
CUBIC | Loss | Sender | High bandwidth | |
C2TCP[11][12] | Loss/Delay | Sender | Ultra-low latency and high bandwidth | |
NATCP[13] | Multi-bit signal | Sender | Near Optimal Performance | |
Elastic-TCP | Loss/Delay | Sender | High bandwidth/short & long-distance | |
Agile-TCP | Loss | Sender | High bandwidth/short-distance | |
H-TCP | Loss | Sender | High bandwidth | |
FAST | Delay | Sender | High bandwidth | Proportional |
Compound TCP | Loss/Delay | Sender | High bandwidth | Proportional |
Westwood | Loss/Delay | Sender | Lossy links | |
Jersey | Loss/Delay | Sender | Lossy links | |
BBR[14] | Delay | Sender | BLVC, Bufferbloat | |
CLAMP | Multi-bit signal | Receiver, Router | Variable-rate links | Max-min |
TFRC | Loss | Sender, Receiver | No Retransmission | Minimum delay |
XCP | Multi-bit signal | Sender, Receiver, Router | BLFC | Max-min |
VCP | 2-bit signal | Sender, Receiver, Router | BLF | Proportional |
MaxNet | Multi-bit signal | Sender, Receiver, Router | BLFSC | Max-min |
JetMax | Multi-bit signal | Sender, Receiver, Router | High bandwidth | Max-min |
RED | Loss | Router | Reduced delay | |
ECN | Single-bit signal | Sender, Receiver, Router | Reduced loss |
टीसीपी ताहो और रेनो
टीसीपी ताहो और रेनो एल्गोरिदम को पूर्वव्यापी रूप से 4.3बीएसडी ऑपरेटिंग सिस्टम के वर्जन्सों या स्वादों के नाम पर रखा गया था, जिनमें से प्रत्येक पहली बार दिखाई दिया था (जो स्वयं ताहो झील और पास के शहर रेनो, नेवादा के नाम पर थे)। ताहो एल्गोरिथ्म पहली बार 4.3बीएसडी-ताहो में दिखाई दिया (जो कंप्यूटर कंसोल इंक. # पावर 5 और पावर 6 कंप्यूटर | सीसीआई पावर 6/32 ताहो मिनी कंप्यूटर का समर्थन करने के लिए बनाया गया था), और बाद में इसे गैर-एटी एंड टी लाइसेंसधारियों के लिए उपलब्ध कराया गया था। 4.3बीएसडी नेटवर्किंग रिलीज़ 1 का; इससे इसका व्यापक वितरण और कार्यान्वयन सुनिश्चित हुआ। 4.3BSD-रेनो में सुधार किए गए और बाद में इसे नेटवर्किंग रिलीज़ 2 और बाद में 4.4BSD-लाइट के रूप में जनता के लिए जारी किया गया।
जबकि दोनों रीट्रांसमिशन टाइमआउट (आरटीओ) और डुप्लिकेट एसीके को पैकेट लॉस की घटनाओं के रूप में मानते हैं, ताहो और रेनो का व्यवहार मुख्य रूप से इस बात में भिन्न होता है कि वे डुप्लिकेट एसीके पर कैसे प्रतिक्रिया करते हैं:
- ताहो: यदि तीन डुप्लिकेट एसीके प्राप्त होते हैं (अर्थात ही पैकेट को स्वीकार करने वाले चार एसीके, जो डेटा पर पिग्गीबैक नहीं होते हैं और रिसीवर की एडवर्टाइज विंडो को नहीं परिवर्तितते हैं), ताहो तेज़ रिट्रांसमिट करता है, धीमी प्रारंभ लिमिट को करंट के आधे पर सेट करता है कंजेशन विंडो, कंजेशन विंडो को 1 एमएसएस तक कम कर देता है, और धीमी प्रारंभ स्थिति पर रीसेट कर देता है।[15]
- रेनो: यदि तीन डुप्लिकेट ACK प्राप्त होते हैं, तो रेनो तेजी से पुन: ट्रांसमिट करेगा और कंजेशन विंडो को हाफ करके (ताहो की तरह 1 MSS पर सेट करने के बजाय), ssthresh को नई कंजेशन विंडो के बराबर सेट करके धीमी प्रारंभ चरण को छोड़ देगा। और तेज़ पुनर्प्राप्ति नामक चरण में प्रवेश करें।[16]
ताहो और रेनो दोनों में, यदि एसीके टाइम आउट (आरटीओ टाइमआउट) होता है, तो धीमी प्रारंभ का उपयोग किया जाता है, और दोनों एल्गोरिदम कंजेशन विंडो को 1 एमएसएस तक कम कर देते हैं।
टीसीपी न्यू रेनो
टीसीपी न्यू रेनो, द्वारा परिभाषित RFC 6582 (जो पिछली परिभाषाओं को अप्रचलित करता है RFC 3782 और RFC 2582), टीसीपी रेनो के तेजी से पुनर्प्राप्ति चरण के टाइम पुनः ट्रांसमिशन में सुधार करता है।
तेजी से पुनर्प्राप्ति के टाइम, ट्रांसमिट विंडो को भरा रखने के लिए, लौटाए जाने वाले प्रत्येक डुप्लिकेट ACK के लिए, कंजेशन विंडो के अंत से नया असंतुलित पैकेट भेजा जाता है।
रेनो से अंतर यह है कि नई रेनो ssthresh को तुरंत हाफ नहीं करती है, जिससे ाधिक पैकेट लॉस होने पर विंडो बहुत कम हो सकती है। यह तेजी से पुनर्प्राप्ति से बाहर नहीं निकलता है और ssthresh को रीसेट नहीं करता है जब तक कि यह सभी डेटा को स्वीकार नहीं करता है।
पुनः ट्रांसमिशन के बाद, नए स्वीकृत डेटा के दो मामले हैं:
- पूर्ण स्वीकृतियाँ: ACK भेजे गए सभी मध्यवर्ती सेगमेंटों को स्वीकार करता है, ssthresh को परिवर्तिता नहीं जा सकता है, cwnd को ssthresh पर सेट किया जा सकता है
- आंशिक स्वीकृतियाँ: ACK सभी डेटा को स्वीकार नहीं करता है। इसका तात्पर्य है कि और लॉस हो सकती है, यदि अनुमति हो तो पहले अज्ञात सेगमेंट को दोबारा प्रसारित करें
यह रिकॉर्ड करने के लिए पुनर्प्राप्ति नामक चर का उपयोग करता है कि कितना डेटा पुनर्प्राप्त करने की आवश्यकता है। रीट्रांसमिट टाइमआउट के बाद, यह पुनर्प्राप्ति चर में प्रेषित उच्चतम अनुक्रम संख्या को रिकॉर्ड करता है और तेजी से पुनर्प्राप्ति प्रक्रिया से बाहर निकलता है। यदि इस अनुक्रम संख्या को स्वीकार किया जाता है, तो टीसीपी कंजेशनभाड़ से बचाव की स्थिति में वापस आ जाती है।
न्यू रेनो के साथ समस्या तब उत्पन्न होती है जब कोई पैकेट लॉस नहीं होती है, बल्कि पैकेट को 3 से अधिक पैकेट अनुक्रम संख्याओं द्वारा पुन: व्यवस्थित किया जाता है। इस मामले में, नई रेनो गलती से तेजी से रिकवरी में प्रवेश करती है। जब पुन: ऑर्डर किया गया पैकेट वितरित किया जाता है, तो डुप्लिकेट और अनावश्यक पुन: ट्रांसमिशन तुरंत भेज दिए जाते हैं।
नई रेनो कम पैकेट त्रुटि रेट पर SACK के समान ही प्ररेट्शन करती है और उच्च त्रुटि रेट पर रेनो से अधिक बेहतर प्ररेट्शन करती है।[17]
टीसीपी वेगास
1990 के दशक के मध्य तक, टीसीपी के सभी निर्धारित टाइमआउट और मेज़रमेंटी गई राउंड-ट्रिप देरी केवल ट्रांसमिट बफर में अंतिम प्रेषित पैकेट पर हाफरित थी। एरिज़ोना विश्वविद्यालय के शोधकर्ता लैरी पीटरसन और लॉरेंस ब्रैक्मो ने टीसीपी वेगास की प्रारंभ की जिसमें टाइमआउट सेट किए गए थे और ट्रांसमिट बफर में प्रत्येक पैकेट के लिए राउंड-ट्रिप देरी को मेज़रमेंटा गया था। इसके अलावा, टीसीपी वेगास कंजेशन विंडो में एडिटिव बढ़ोतरी का उपयोग करता है। विभिन्न टीसीपी के तुलनात्मक अध्ययन में CCAएस, टीसीपी क्यूबिक के बाद टीसीपी वेगास सबसे सहज दिखाई दिया।[18] टीसीपी वेगास को पीटरसन की प्रयोगशाला के बाहर व्यापक रूप से तैनात नहीं किया गया था, किंतु डीडी-WRT फर्मवेयर v24 SP2 के लिए डिफ़ॉल्ट कंजेशन कंट्रोल विधि के रूप में चुना गया था।[19]
टीसीपी हाइब्ला
टीसीपी हाइब्ला[20][21] इसका उद्देश्य उच्च-विलंबता स्थलीय या उपग्रह रेडियो लिंक का उपयोग करने वाले टीसीपी कनेक्शनों पर दंड को समेज़रमेंट्त करना है। हाइब्ला सुधार कंजेशन विंडो गतिशीलता के विश्लेषणात्मक मूल्यांकन पर हाफरित हैं।[22]
टीसीपी बीआईसी
बाइनरी इनक्रीस कंजेशन कंट्रोल (बीआईसी) उच्च विलंबता वाले हाई-स्पीड नेटवर्क के लिए अनुकूलित सीसीए के साथ टीसीपी कार्यान्वयन है, जिसे लंबे वसा नेटवर्क (एलएफएन) के रूप में जाना जाता है।[23] लिनक्स कर्नेल 2.6.8 से 2.6.18 तक डिफ़ॉल्ट रूप से बीआईसी का उपयोग किया जाता है।[citation needed]
टीसीपी घन
CUBIC, BIC का कम आक्रामक और अधिक व्यवस्थित व्युत्पन्न है, जिसमें विंडो अंतिम कंजेशन इवेंट के बाद से टाइम का क्यूबिक फ़ंक्शन है, जिसमें इवेंट से पहले विंडो पर विभक्ति बिंदु सेट होता है। वर्जन्स 2.6.19 से लिनक्स कर्नेल में डिफ़ॉल्ट रूप से CUBIC का उपयोग किया जाता है।
एजाइल-एसडी टीसीपी
एजाइल-एसडी लिनक्स-हाफरित सीसीए है जिसे वास्तविक लिनक्स कर्नेल के लिए डिज़ाइन किया गया है। यह रिसीवर-साइड एल्गोरिदम है जो चपलता कारक (एएफ) नामक उपन्यास तंत्र का उपयोग करके लॉस-हाफरित दृष्टिकोण को नियोजित करता है। उच्च गति और कम दूरी के नेटवर्क (कम-बीडीपी नेटवर्क) जैसे स्थानीय क्षेत्र नेटवर्क या फाइबर-ऑप्टिक नेटवर्क पर बैंडविड्थ उपयोग को बढ़ाने के लिए, खासकर जब प्रारम्भ बफर साइज़ छोटा होता है।[24]NS-2 सिम्युलेटर का उपयोग करके इसके प्ररेट्शन की तुलना कंपाउंड टीसीपी (एमएस विंडोज में डिफ़ॉल्ट सीसीए) और क्यूबिक (लिनक्स का डिफ़ॉल्ट) से करके इसका मूल्यांकन किया गया है। यह औसत थ्रूपुट की अवधि में कुल प्ररेट्शन को 55% तक सुधारता है।
टीसीपी वेस्टवुड+
वेस्टवुड+ टीसीपी रेनो का केवल-सेन्डर संशोधन है जो वायर्ड और बेतार तंत्र दोनों पर टीसीपी कंजेशन कंट्रोल के प्ररेट्शन को अनुकूलित करता है। टीसीपी वेस्टवुड+ कंजेशन एपिसोड के बाद, अर्थात तीन डुप्लिकेट एकनॉलेजमेंट या टाइमआउट के बाद कंजेशन विंडो और धीमी प्रारंभ लिमिट निर्धारित करने के लिए एंड-टू-एंड बैंडविड्थ (कंप्यूटिंग) अनुमान पर हाफरित है। एकनॉलेजमेंट पैकेट लौटाने की रेट के औसत से बैंडविड्थ का अनुमान लगाया जाता है। टीसीपी रेनो के विपरीत, जो तीन डुप्लिकेट एसीके के बाद कंजेशन विंडो को आँख क्लोज्ड करके हाफ कर देता है, टीसीपी वेस्टवुड+ अनुकूल रूप से धीमी प्रारंभ लिमिट और कंजेशन विंडो सेट करता है जो कंजेशन के अनुभव के टाइम उपलब्ध बैंडविड्थ के अनुमान को ध्यान में रखता है। रेनो और न्यू रेनो की तुलना में, वेस्टवुड+ वायरलेस लिंक पर थ्रूपुट को महत्वपूर्ण रूप से बढ़ाता है और वायर्ड नेटवर्क में निष्पक्षता में सुधार करता है।
कंपाउंड टीसीपी
कंपाउंड टीसीपी, टीसीपी का माइक्रोसॉफ्ट कार्यान्वयन है जो निष्पक्षता मेज़रमेंट को ख़राब किए बिना एलएफएन पर अच्छा प्ररेट्शन प्राप्त करने के लक्ष्य के साथ, दो भिन्न-भिन्न कंजेशन विंडो को साथ बनाए रखता है। इसे Microsoft Windows Vista और Windows Server 2008 के बाद से Windows वर्जन्सों में व्यापक रूप से तैनात किया गया है और इसे ओल्डर Microsoft Windows वर्जन्सों के साथ-साथ Linux में भी पोर्ट किया गया है।
टीसीपी आनुपातिक रेट में डिक्रीज
टीसीपी आनुपातिक रेट में डिक्रीज (पीआरआर)[25] पुनर्प्राप्ति के टाइम भेजे गए डेटा की सटीकता में सुधार करने के लिए डिज़ाइन किया गया एल्गोरिदम है। एल्गोरिदम यह सुनिश्चित करता है कि पुनर्प्राप्ति के बाद विंडो का साइज़ धीमी प्रारंभ लिमिट के जितना संभव हो उतना करीब हो। Google द्वारा किए गए परीक्षणों में, PRR के परिणामस्वरूप औसत विलंबता में 3-10% की डिक्रीज आई और पुनर्प्राप्ति टाइमबाह्य में 5% की डिक्रीज आई।[26] पीआरआर वर्जन्स 3.2 से लिनक्स कर्नेल में उपलब्ध है।[27]
टीसीपी बीबीआर
बॉटलनेक बैंडविड्थ और राउंड-ट्रिप प्रसार टाइम (बीबीआर) 2016 में Google द्वारा विकसित CCA है।[28] जबकि अधिकांश सीसीए लॉस-हाफरित हैं, इसमें वे कंजेशनभाड़ और ट्रांसमिशन की कम रेटों का पता लगाने के लिए पैकेट लॉस पर भरोसा करते हैं, बीबीआर, टीसीपी वेगास की तरह, मॉडल-हाफरित है। एल्गोरिदम मैक्सिमम बैंडविड्थ और राउंड-ट्रिप टाइम का उपयोग करता है जिस पर नेटवर्क ने नेटवर्क का मॉडल बनाने के लिए आउटबाउंड डेटा पैकेट की सबसे हालिया उड़ान वितरित की। पैकेट डिलीवरी की प्रत्येक संचयी या चयनात्मक एकनॉलेजमेंट रेट नमूना उत्पन्न करती है जो डेटा पैकेट के ट्रांसमिशन और उस पैकेट की एकनॉलेजमेंट के मध्य टाइम अंतराल पर वितरित डेटा की मात्रा को रिकॉर्ड करती है।[29] जब YouTube पर प्रारम्भ किया गया, तो BBRv1 ने औसतन 4% अधिक नेटवर्क थ्रूपुट और कुछ देशों में 14% तक का उत्पादन किया।[30] लिनक्स 4.9 से बीबीआर लिनक्स टीसीपी के लिए उपलब्ध है।[31] यह QUIC के लिए भी उपलब्ध है।[32] बीबीआर वर्जन्स 1 (बीबीआरवी1) की गैर-बीबीआर धाराओं के प्रति निष्पक्षता कण्टेण्डेड है। जबकि Google की प्रस्तुति BBRv1 को CUBIC के साथ अच्छी तरह से सह-अस्तित्व में दिखाती है,[28]ज्योफ हस्टन और हॉक, ब्लेस और ज़िटरबार्ट जैसे शोधकर्ताओं ने इसे अन्य धाराओं के लिए अनुचित और स्केलेबल नहीं पाया।[33] हॉक एट अल. लिनक्स 4.9 के बीबीआर कार्यान्वयन में कतार में बढ़ती देरी, अनुचितता और बड़े पैमाने पर पैकेट लॉस जैसे कुछ गंभीर अंतर्निहित मुद्दे भी पाए गए।[34] सोहेल अब्बासलू एट अल। (C2TCP के लेखक) बताते हैं कि BBRv1 सेलुलर नेटवर्क जैसे गतिशील वातावरण में अच्छा प्ररेट्शन नहीं करता है।[11][12]उन्होंने यह भी दिखाया है कि बीबीआर में अनुचितता का मुद्दा है। उदाहरण के लिए, जब CUBIC TCP फ्लो (जो Linux, Android और MacOS में डिफ़ॉल्ट ट्रांसमिशन कंट्रोल प्रोटोकॉल कार्यान्वयन है) नेटवर्क में BBR फ्लो के साथ सह-अस्तित्व में होता है, तो BBR फ्लो CUBIC फ्लो पर हावी हो सकता है और इससे संपूर्ण लिंक बैंडविड्थ प्राप्त कर सकता है। (चित्र 16 देखें [11]).
वर्जन्स 2 CUBIC जैसे लॉस-हाफरित कंजेशन प्रबंधन के साथ संचालन करते टाइम अनुचितता के मुद्दे से निपटने का प्रयास करता है।[35] BBRv2 में BBRv1 द्वारा उपयोग किए गए मॉडल को पैकेट लॉस के बारे में जानकारी और स्पष्ट कंजेशन अधिसूचना (ECN) से जानकारी सम्मिलित करने के लिए संवर्धित किया गया है।[36] चूँकि BBRv2 में कई बार BBRv1 की तुलना में कम थ्रूपुट हो सकता है, किंतु आमतौर पर इसे बेहतर गुडपुट माना जाता है।
वर्जन्स 3 (बीबीआरवी3) बीबीआरवी2 में दो बग को ठीक करता है (बैंडविड्थ जांच का टाइम से पहले समेज़रमेंट्त होना, बैंडविड्थ अभिसरण) और कुछ प्ररेट्शन ट्यूनिंग करता है। वैरिएंट भी है, जिसे BBR.Swift कहा जाता है, जो डेटासेंटर-आंतरिक लिंक के लिए अनुकूलित है: यह मुख्य कंजेशन कंट्रोल सिग्नल के रूप में नेटवर्क_आरटीटी (रिसीवर देरी को छोड़कर) का उपयोग करता है।[36]
C2TCP
सेलुलर कण्ट्रोल विलंब टीसीपी (C2TCP)[11][12] लचीले एंड-टू-एंड टीसीपी दृष्टिकोण की डिक्रीज से प्रेरित था जो नेटवर्क उपकरणों में किसी भी परिवर्तिताव की आवश्यकता के बिना विभिन्न अनुप्रयोगों के लिए सर्विसेज की विभिन्न क्वालिटी आवश्यकताओं को पूरा कर सकता है। C2TCP का लक्ष्य करंट LTE (दूरसंचार) और भविष्य के 5G जैसे अत्यधिक गतिशील वातावरण में आभासी वास्तविकता , वीडियो कॉन्फ्रेंसिंग, ऑनलाइन गेम, वाहन संचार प्रणाली आदि जैसे अनुप्रयोगों की अल्ट्रा-लो विलंबता (इंजीनियरिंग) और उच्च-बैंडविड्थ आवश्यकताओं को पूरा करना है। सेल्युलर नेटवर्क C2TCP लॉस-हाफरित टीसीपी (जैसे रेनो, न्यूरेनो, क्यूबिक टीसीपी, बीआईसी टीसीपी, ...) के शीर्ष पर प्लग-इन (कंप्यूटिंग) | ऐड-ऑन के रूप में काम करता है, इसे केवल सर्वर-साइड पर स्थापित करना आवश्यक है और पैकेटों के औसत विलंब को अनुप्रयोगों द्वारा निर्धारित वांछित विलंबों तक सीमित कर देता है।
न्यूयॉर्क विश्वविद्यालय के शोधकर्ता[37] दिखाया गया कि C2TCP विभिन्न अत्याधुनिक टीसीपी योजनाओं के विलंब और विलंब-भिन्नता प्ररेट्शन से बेहतर प्ररेट्शन करता है। उदाहरण के लिए, उन्होंने दिखाया कि BBR, CUBIC और वेस्टवुड की तुलना में, C2TCP विभिन्न सेलुलर नेटवर्क वातावरणों पर पैकेट की औसत देरी को क्रमशः 250%, 900% और 700% कम कर देता है।[11]
इलास्टिक-टीसीपी
क्लाउड कंप्यूटिंग के समर्थन में उच्च-बीडीपी नेटवर्क पर बैंडविड्थ उपयोग को बढ़ाने के लिए फरवरी 2019 में इलास्टिक-टीसीपी का प्रस्ताव दिया गया था। यह Linux-हाफरित CCA है जिसे Linux कर्नेल के लिए डिज़ाइन किया गया है। यह रिसीवर-साइड एल्गोरिदम है जो विंडो-सहसंबंधित वेटिंग फ़ंक्शन (डब्ल्यूडब्ल्यूएफ) नामक उपन्यास तंत्र का उपयोग करके लॉस-विलंब-हाफरित दृष्टिकोण को नियोजित करता है। इसमें मानव ट्यूनिंग की आवश्यकता के बिना विभिन्न नेटवर्क विशेषताओं से निपटने के लिए उच्च स्तर की लोच है। एनएस-2 सिम्युलेटर और टेस्टबेड का उपयोग करके इसके प्ररेट्शन की तुलना कंपाउंड टीसीपी (एमएस विंडोज में डिफ़ॉल्ट सीसीए), क्यूबिक (लिनक्स के लिए डिफ़ॉल्ट) और टीसीपी-बीबीआर (Google द्वारा उपयोग किए जाने वाले लिनक्स 4.9 का डिफ़ॉल्ट) से तुलना करके की गई है। इलास्टिक-टीसीपी औसत थ्रूपुट, लॉस अनुपात और देरी के मामले में कुल प्ररेट्शन में उल्लेखनीय सुधार करता है।[38]
एनएटीसीपी
सोहेल अब्बासलू एट अल। प्रस्तावित NATCP (नेटवर्क-असिस्टेड टीसीपी)[13] ए controversial[according to whom?] टीसीपी डिज़ाइन मल्टी-्सेस एज कंप्यूटिंग (एमईसी) को लक्षित करता है। NATCP का मुख्य विचार यह है कि यदि नेटवर्क की विशेषताओं के बारे में पहले से पता होता, तो TCP को भिन्न तरह से डिज़ाइन किया गया होता। इसलिए, NATCP टीसीपी के प्ररेट्शन को इष्टतम प्ररेट्शन के करीब पहुंचाने के लिए करंट एमईसी-हाफरित सेलुलर आर्किटेक्चर में उपलब्ध सुविधाओं और गुणों को नियोजित करता है। NATCP नेटवर्क से पास में स्थित सर्वर पर आउट-ऑफ-बैंड फीडबैक का उपयोग करता है। नेटवर्क से फीडबैक, जिसमें सेलुलर ्सेस लिंक की क्षमता और नेटवर्क का न्यूनतम आरटीटी सम्मिलित है, सर्वर को उनकी भेजने की रेटों को समायोजित करने के लिए मार्गरेट्शन करता है। जैसा कि प्रारंभिक परिणाम दिखाते हैं, NATCP अत्याधुनिक टीसीपी योजनाओं से बेहतर प्ररेट्शन करता है।[13][39]
अन्य टीसीपी कंजेशन से बचाव एल्गोरिदम
- तेज़ टीसीपी
- सामान्यीकृत फास्ट टीसीपी[40]
- एच-टीसीपी
- डाटा सेंटर टीसीपी
- हाई स्पीड टीसीपी
- एचएसटीसीपी-एलपी[41]
- टीसीपी-इलिनोइस
- टीसीपी-एलपी[41]* टीसीपी बोरी
- स्केलेबल टीसीपी
- टीसीपी वेनो[42]
- टीसीपी वेस्टवुड
- ्ससीपी[43]
- हाँ-टीसीपी[44]
- टीसीपी-फिट[45]
- टाइम के सामान्यीकृत अंतराल के साथ कंजेशनभाड़ से बचाव (CANIT)[46]
- टीसीपी/आईपी नेटवर्क के लिए आनुवंशिक एल्गोरिदम पर हाफरित गैर-रेखीय तंत्रिका नेटवर्क कंजेशन कंट्रोल[47]
- डी-टीसीपी[48]
- नेक्सजेन डी-टीसीपी[49]
- कप [50]
- टीसीपी न्यू रेनो सबसे सामान्यतः प्रारम्भ किया जाने वाला एल्गोरिदम था, सैक समर्थन बहुत आम है और रेनो/न्यू रेनो का विस्तार है। अधिकांश अन्य प्रतिस्पर्धी प्रस्ताव हैं जिन्हें अभी भी मूल्यांकन की आवश्यकता है। 2.6.8 से प्रारंभ होकर लिनक्स कर्नेल ने डिफ़ॉल्ट कार्यान्वयन को न्यू रेनो से बीआईसी टीसीपी में परिवर्तित दिया। 2.6.19 वर्जन्स में डिफ़ॉल्ट कार्यान्वयन को फिर से CUBIC में परिवर्तित दिया गया। फ्रीबीएसडी न्यू रेनो को डिफ़ॉल्ट एल्गोरिदम के रूप में उपयोग करता है। चूँकि, यह कई अन्य विकल्पों का समर्थन करता है।[51]
जब कतार योजना की परवाह किए बिना बैंडविड्थ और विलंबता का प्रति-फ्लो उत्पाद बढ़ता है, तो टीसीपी अक्षम हो जाता है और अस्थिरता का खतरा होता है। यह और भी महत्वपूर्ण हो जाता है क्योंकि इंटरनेट बहुत उच्च-बैंडविड्थ ऑप्टिकल लिंक को सम्मिलित करने के लिए विकसित हो रहा है।
टीसीपी इंटरैक्टिव (आईटीसीपी)[52] एप्लिकेशन को टीसीपी ईवेंट की सदस्यता लेने और तदनुसार प्रतिक्रिया देने की अनुमति देता है, जिससे टीसीपी परत के बाहर से टीसीपी में विभिन्न कार्यात्मक ्सटेंशन सक्षम होते हैं। अधिकांश टीसीपी कंजेशन योजनाएं आंतरिक रूप से काम करती हैं। आईटीसीपी अतिरिक्त रूप से उन्नत अनुप्रयोगों को सीधे कंजेशन कंट्रोल में भाग लेने में सक्षम बनाता है जैसे कि स्रोत उत्पादन रेट को कण्ट्रोल करना।
ज़ेटा-टीसीपी विलंबता और लॉस रेट दोनों उपायों से कंजेशन का पता लगाता है। गुडपुट ज़ेटा-टीसीपी को मैक्सिमम करने के लिए और कंजेशनभाड़ की संभावना के हाफर पर भिन्न-भिन्न कंजेशन विंडो बैकऑफ़ स्ट्रेटेजीयों को प्रारम्भ करता है। इसमें पैकेट के नुकसान का सटीक पता लगाने के लिए अन्य सुधार भी हैं, जिससे रिट्रांसमिशन टाइमआउट रिट्रांसमिशन से बचा जा सके; और इनबाउंड (डाउनलोड) ट्रैफ़िक को तेज़ और कण्ट्रोल करें।[53]
नेटवर्क जागरूकता द्वारा वर्गीकरण
सीसीए को नेटवर्क जागरूकता के संबंध में वर्गीकृत किया जा सकता है, जिसका अर्थ है कि ये एल्गोरिदम नेटवर्क की स्थिति के बारे में किस लिमिट तक जागरूक हैं। इसमें तीन प्राइमरी श्रेणियां सम्मिलित हैं: ब्लैक बॉक्स, ग्रे बॉक्स और ग्रीन बॉक्स।[54] ब्लैक बॉक्स एल्गोरिदम कंजेशन कंट्रोल के अंधी तरीकों की पेशकश करते हैं। वे केवल कंजेशन पर प्राप्त बाइनरी फीडबैक पर काम करते हैं और जिस नेटवर्क को वे प्रबंधित करते हैं उसकी स्थिति के बारे में कोई जानकारी नहीं रखते हैं।
ग्रे बॉक्स एल्गोरिदम का उपयोग करें time-instances[clarification needed] बैंडविड्थ, फ्लो विवाद और नेटवर्क स्थितियों के अन्य ज्ञान के मेज़रमेंट और अनुमान प्राप्त करने के लिए।
ग्रीन बॉक्स एल्गोरिदम कंजेशन कंट्रोल के द्विमोडल तरीकों की पेशकश करते हैं जो कुल बैंडविड्थ के उचित भाग को मेज़रमेंटते हैं जिसे सिस्टम के निष्पादन के टाइम किसी भी बिंदु पर प्रत्येक फ्लो के लिए आवंटित किया जाना चाहिए।
ब्लैक बॉक्स
- हाईस्पीड-टीसीपी[55]
- बीआईसी टीसीपी (बाइनरी इनक्रीस कंजेशन कंट्रोल प्रोटोकॉल) प्रत्येक कंजेशन इवेंट के बाद स्रोत रेट में अवतल इनक्रीस का उपयोग करता है जब तक कि विंडो इवेंट से पहले विंडो के बराबर न हो जाए, जिससे नेटवर्क के पूरी तरह से उपयोग किए जाने वाले टाइम को मैक्सिमम किया जा सके। इसके बाद वह आक्रामक तरीके से जांच करती है.
- क्यूबिक टीसीपी - बीआईसी का कम आक्रामक और अधिक व्यवस्थित व्युत्पन्न, जिसमें विंडो अंतिम कंजेशन इवेंट के बाद से टाइम का क्यूबिक फ़ंक्शन है, जिसमें इवेंट से पहले विंडो पर विभक्ति बिंदु सेट होता है।
- एआईएमडी-एफसी (तेजी से अभिसरण के साथ एड्डीटिव इनक्रीस मल्टिप्लिकेटिव डिक्रीज), एआईएमडी का सुधार।[56]
- द्विपद तंत्र
- SIMD प्रोटोकॉल
- GAIMD
ग्रे बॉक्स
- टीसीपी वेगास - कतार में देरी का अनुमान लगाता है, और विंडो को लीनियर रूप से बढ़ाता या घटाता है जिससे नेटवर्क में प्रति फ्लो पैकेट की स्थिर संख्या कतार में रहे। वेगास आनुपातिक निष्पक्षता प्रारम्भ करता है।
- फास्ट टीसीपी - वेगास के समान संतुलन प्राप्त करता है, किंतु लीनियर इनक्रीस के बजाय आनुपातिक कंट्रोल का उपयोग करता है, और स्थिरता सुनिश्चित करने के उद्देश्य से बैंडविड्थ बढ़ने पर जानबूझकर लाभ को कम कर देता है।
- टीसीपी बीबीआर - कतार में देरी का अनुमान लगाता है किंतु तेजी से इनक्रीस का उपयोग करता है। निष्पक्षता और विलंब को कम करने के लिए जानबूझकर टाइम-टाइम पर इसे धीमा किया जाता है।
- टीसीपी-वेस्टवुड (टीसीपीडब्ल्यू) - नुकसान के कारण विंडो बैंडविड्थ-विलंब उत्पाद के सेन्डर के अनुमान पर रीसेट हो जाती है (एसीके प्राप्त करने की देखी गई रेट से गुणा किया गया सबसे छोटा आरटीटी)।[57]
- सी2टीसीपी[12][11]* टीसीपी अनुकूल रेट कंट्रोल[58]
- टीसीपी-रियल
- टीसीपी-जर्सी
हरा डिब्बा
- बिमोडल तंत्र - बिमोडल कंजेशन बचाव और कंट्रोल तंत्र।
- राउटर्स द्वारा कार्यान्वित सिग्नलिंग विधियाँ
- रैंडम अर्ली डिटेक्शन (RED) राउटर की कतार के साइज़ के अनुपात में पैकेट को बेतरतीब ढंग से गिराता है, जिससे कुछ फ्लो में मल्टिप्लिकेटिव डिक्रीज आती है।
- स्पष्ट कंजेशन अधिसूचना (ईसीएन)
- नेटवर्क-सहायता प्राप्त कंजेशन कंट्रोल
- एनएटीसीपी[13] - नेटवर्क-असिस्टेड टीसीपी नेटवर्क के न्यूनतम आरटीटी और सेल्युलर ्सेस लिंक की क्षमता को इंगित करने वाले आउट-ऑफ-बैंड स्पष्ट फीडबैक का उपयोग करता है।
- वैरिएबल-स्ट्रक्चर कंजेशन कंट्रोल प्रोटोकॉल (वीसीपी) कंजेशन की नेटवर्क स्थिति पर स्पष्ट रूप से प्रतिक्रिया देने के लिए दो ईसीएन बिट्स का उपयोग करता है। इसमें एंड होस्ट साइड एल्गोरिदम भी सम्मिलित है।
निम्नलिखित एल्गोरिदम को टीसीपी पैकेट संरचना में कस्टम फ़ील्ड जोड़ने की आवश्यकता होती है:
- स्पष्ट कंट्रोल प्रोटोकॉल (्ससीपी) - ्ससीपी पैकेट में फीडबैक फ़ील्ड के साथ कंजेशन हेडर होता है, जो सेन्डर की कंजेशन विंडो में इनक्रीस या डिक्रीज का संकेत देता है। XCP राउटर दक्षता और निष्पक्षता के लिए फीडबैक मान को स्पष्ट रूप से निर्धारित करते हैं।[59]
- मैक्सनेट - ल हेडर फ़ील्ड का उपयोग करता है, जो फ्लो के पथ पर किसी भी राउटर के मैक्सिमम कंजेशन स्तर को वहन करता है। रेट इस मैक्सिमम कंजेशन के फ़ंक्शन के रूप में निर्धारित की जाती है, जिसके परिणामस्वरूप मैक्सिमम-न्यूनतम निष्पक्षता होती है।[60]
- जेटमैक्स, मैक्सनेट की तरह, केवल मैक्सिमम कंजेशन सिग्नल पर प्रतिक्रिया करता है, किंतु अन्य ओवरहेड फ़ील्ड भी वहन करता है।
लिनक्स उपयोग
- बीआईसी का उपयोग लिनक्स कर्नेल 2.6.8 से 2.6.18 तक डिफ़ॉल्ट रूप से किया जाता है। (अगस्त 2004 - सितम्बर 2006)
- वर्जन्स 2.6.19 से लिनक्स कर्नेल में डिफ़ॉल्ट रूप से CUBIC का उपयोग किया जाता है। (नवंबर 2006)
- पीआरआर को वर्जन्स 3.2 के बाद से लॉस पुनर्प्राप्ति में सुधार के लिए लिनक्स कर्नेल में सम्मिलित किया गया है। (जनवरी 2012)
- BBRv1 को वर्जन्स 4.9 के बाद से मॉडल-हाफरित कंजेशन कंट्रोल को सक्षम करने के लिए लिनक्स कर्नेल में सम्मिलित किया गया है। (दिसंबर 2016)
यह भी देखें
- Transmission Control Protocol §§ Congestion control and Development
- Network congestion § Mitigation
- कम अतिरिक्त विलंब पृष्ठभूमि परिवहन (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.
- ↑ 41.0 41.1 "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.
- TCP Congestion Handling and Congestion Avoidance Algorithms – The TCP/IP Guide