टीसीपी संकुलन नियंत्रण

ट्रांसमिशन नियंत्रण प्रोटोकॉल (टीसीपी)  भीड़ नियंत्रण  एल्गोरिदम का उपयोग करता है जिसमें #धीमी शुरुआत सहित अन्य योजनाओं के साथ-साथ एडिटिव वृद्धि/गुणक कमी (एआईएमडी) योजना के विभिन्न पहलू शामिल हैं। और #कंजेशन विंडो (सीडब्ल्यूएनडी), भीड़भाड़ से बचने के लिए। टीसीपी कंजेशन-अवॉइडेंस एल्गोरिदम इंटरनेट में कंजेशन नियंत्रण का प्राथमिक आधार है। एंड-टू-एंड सिद्धांत के अनुसार, भीड़भाड़ नियंत्रण काफी हद तक [[इंटरनेट होस्ट]] का कार्य है, न कि नेटवर्क का। इंटरनेट से कनेक्ट होने वाले कंप्यूटरों के ऑपरेटिंग सिस्टम के प्रोटोकॉल स्टैक में लागू एल्गोरिदम के कई रूप और संस्करण हैं।

कंजेस्टिव पतन से बचने के लिए, टीसीपी बहुआयामी कंजेशन-नियंत्रण रणनीति का उपयोग करता है। प्रत्येक कनेक्शन के लिए, टीसीपी सीडब्ल्यूएनडी बनाए रखता है, जो पारगमन में एंड-टू-एंड हो सकने वाले अस्वीकृत पैकेटों की कुल संख्या को सीमित करता है। यह कुछ हद तक ट्रांसमिशन कंट्रोल प्रोटोकॉल#फ्लो नियंत्रण के लिए उपयोग की जाने वाली टीसीपी की  स्लाइडिंग खिड़की  के समान है।

योगात्मक वृद्धि/गुणात्मक कमी
योगात्मक वृद्धि/गुणक कमी (एआईएमडी) एल्गोरिदम नियंत्रण प्रणाली | बंद-लूप नियंत्रण एल्गोरिदम है। एआईएमडी भीड़भाड़ होने पर भीड़भाड़ खिड़की की रैखिक वृद्धि को तेजी से कमी के साथ जोड़ती है। एआईएमडी कंजेशन नियंत्रण का उपयोग करने वाले ाधिक प्रवाह अंततः  विवादित लिंक की समान मात्रा का उपयोग करने के लिए त्रित होंगे।

यह वह एल्गोरिदम है जिसका वर्णन किया गया है भीड़भाड़ से बचाव की स्थिति के लिए।

कंजेशन विंडो
टीसीपी में, कंजेशन विंडो (सीडब्ल्यूएनडी) उन कारकों में से है जो किसी भी समय भेजे जा सकने वाले बाइट्स की संख्या निर्धारित करती है। कंजेशन विंडो को प्रेषक द्वारा बनाए रखा जाता है और यह प्रेषक और प्राप्तकर्ता के बीच लिंक को बहुत अधिक ट्रैफ़िक से ओवरलोड होने से रोकने का  साधन है। इसे प्रेषक द्वारा बनाए गए स्लाइडिंग विंडो के साथ भ्रमित नहीं किया जाना चाहिए जो रिसीवर को अतिभारित होने से रोकने के लिए मौजूद है। कंजेशन विंडो की गणना यह अनुमान लगाकर की जाती है कि लिंक पर कितनी भीड़ है।

जब कोई कनेक्शन स्थापित किया जाता है, तो कंजेशन विंडो, प्रत्येक होस्ट पर स्वतंत्र रूप से बनाए रखा गया मान, उस कनेक्शन पर अनुमत अधिकतम सेगमेंट आकार (एमएसएस) के छोटे गुणक पर सेट किया जाता है। कंजेशन विंडो में और अधिक भिन्नता  योगात्मक वृद्धि/गुणक कमी (एआईएमडी) दृष्टिकोण द्वारा निर्धारित होती है। इसका मतलब यह है कि यदि सभी खंड प्राप्त हो जाते हैं और पावती प्रेषक तक समय पर पहुंच जाती है, तो विंडो आकार में कुछ स्थिरांक जोड़ दिया जाता है। यह अलग-अलग एल्गोरिदम का पालन करेगा।

सिस्टम प्रशासक टीसीपी ट्यूनिंग के हिस्से के रूप में अधिकतम विंडो आकार सीमा को समायोजित कर सकता है, या एडिटिव वृद्धि के दौरान जोड़े गए स्थिरांक को समायोजित कर सकता है।

टीसीपी कनेक्शन पर डेटा का प्रवाह रिसीवर द्वारा विज्ञापित ट्रांसमिशन कंट्रोल प्रोटोकॉल#फ्लो कंट्रोल के उपयोग से भी नियंत्रित होता है। प्रेषक अपनी स्वयं की कंजेशन विंडो और प्राप्त विंडो से कम डेटा भेज सकता है।

धीमी शुरुआत
धीमी शुरुआत, द्वारा परिभाषित. टीसीपी द्वारा अन्य कलन विधि के साथ मिलकर उपयोग की जाने वाली भीड़ नियंत्रण रणनीति का हिस्सा है ताकि नेटवर्क अग्रेषित करने में सक्षम से अधिक डेटा भेजने से बचा जा सके, यानी नेटवर्क भीड़भाड़ से बचने के लिए।

धीमी शुरुआत प्रारंभ में 1, 2, 4 या 10 एमएसएस के कंजेशन विंडो आकार (सीडब्ल्यूएनडी) के साथ शुरू होती है। प्रत्येक पावती (डेटा नेटवर्क) (एसीके) प्राप्त होने पर कंजेशन विंडो आकार के मूल्य को 1 एमएसएस तक बढ़ाया जा सकता है, जिससे प्रभावी रूप से प्रत्येक राउंड-ट्रिप में देरी से विंडो का आकार दोगुना हो जाता है।

ट्रांसमिशन दर धीमी-प्रारंभ एल्गोरिथ्म द्वारा तब तक बढ़ाई जाएगी जब तक कि पैकेट हानि का पता नहीं चल जाता है, या रिसीवर की विज्ञापित विंडो (आरडब्ल्यूएनडी) सीमित कारक नहीं है।

या धीमी शुरुआत थ्रेशोल्ड (ssthresh) तक पहुंच गया है, जिसका उपयोग यह निर्धारित करने के लिए किया जाता है कि धीमी शुरुआत या भीड़ से बचाव एल्गोरिदम का उपयोग किया जाता है, जो धीमी शुरुआत को सीमित करने के लिए निर्धारित मान है

यदि CWND ssthresh तक पहुँच जाता है, तो TCP कंजेशन अवॉइडेंस एल्गोरिदम में बदल जाता है। इसे प्रत्येक आरटीटी के लिए 1 एमएसएस तक बढ़ाया जाना चाहिए।

सामान्य सूत्र यह है कि प्रत्येक नया ACK MSS द्वारा CWND बढ़ाता है * यह लगभग रैखिक रूप से बढ़ता है और स्वीकार्य सन्निकटन प्रदान करता है।

यदि कोई हानि की घटना होती है, तो टीसीपी मानता है कि यह नेटवर्क की भीड़ के कारण है और नेटवर्क पर प्रस्तावित लोड को कम करने के लिए कदम उठाता है। ये माप उपयोग किए गए सटीक टीसीपी कंजेशन अवॉइडेंस एल्गोरिदम पर निर्भर करते हैं।

जब टीसीपी प्रेषक रीट्रांसमिशन टाइमर का उपयोग करके सेगमेंट हानि का पता लगाता है और दिए गए सेगमेंट को रीट्रांसमिशन टाइमर के माध्यम से अभी तक दोबारा नहीं भेजा गया है, तो ssthresh का मान भेजे गए डेटा की मात्रा के आधे से अधिक पर सेट नहीं किया जाना चाहिए, लेकिन नहीं फिर भी संचयी रूप से स्वीकार किया गया। या 2 * एमएसएस
 * टीसीपी ताहो
 * जब कोई हानि होती है, तो पुनः ट्रांसमिट भेजा जाता है, वर्तमान CWND का आधा हिस्सा ssthresh के रूप में सहेजा जाता है और इसके प्रारंभिक CWND से धीमी शुरुआत फिर से शुरू होती है।


 * टीसीपी रेनो
 * फास्ट रिट्रांसमिट भेजा जाता है, वर्तमान सीडब्ल्यूएनडी का आधा हिस्सा एसएसथ्रेश और नए सीडब्ल्यूएनडी के रूप में सहेजा जाता है, इस प्रकार धीमी शुरुआत को छोड़ दिया जाता है और सीधे कंजेशन अवॉइडेंस एल्गोरिदम पर चला जाता है। यहां समग्र एल्गोरिदम को 'कहा जाता हैfast recovery.

धीमी शुरुआत यह मानती है कि अस्वीकृत खंड नेटवर्क संकुलन के कारण हैं। हालांकि यह कई नेटवर्कों के लिए स्वीकार्य धारणा है, अन्य कारणों से खंड खो सकते हैं, जैसे खराब सूचना श्रंखला तल ट्रांसमिशन गुणवत्ता। इस प्रकार, वायरलेस लेन जैसी खराब रिसेप्शन वाली स्थितियों में धीमी शुरुआत खराब प्रदर्शन कर सकती है।

धीमी शुरुआत प्रोटोकॉल अल्पकालिक कनेक्शन के लिए भी खराब प्रदर्शन करता है। पुराने वेब ब्राउज़र्स वेब सर्वर के लिए लगातार कई अल्पकालिक कनेक्शन बनाएंगे, और अनुरोधित प्रत्येक फ़ाइल के लिए कनेक्शन खोलेंगे और बंद करेंगे। इसने अधिकांश कनेक्शनों को धीमी शुरुआत मोड में रखा, जिसके परिणामस्वरूप प्रतिक्रिया समय खराब हो गया। इस समस्या से बचने के लिए, आधुनिक ब्राउज़र या तो साथ कई कनेक्शन खोलते हैं या किसी विशेष वेब सर्वर से अनुरोधित सभी फ़ाइलों के लिए HTTP लगातार कनेक्शन खोलते हैं। हालाँकि, विज्ञापन नेटवर्क, सामाजिक नेटवर्किंग सेवा के  बटन की तरह  को लागू करने के लिए वेब साइटों द्वारा उपयोग किए जाने वाले कई तृतीय-पक्ष सर्वरों के लिए कनेक्शन का पुन: उपयोग नहीं किया जा सकता है। और वेब एनालिटिक्स पेज टैगिंग।

तेजी से पुनः प्रेषण
फास्ट रीट्रांसमिट ट्रांसमिशन कंट्रोल प्रोटोकॉल का संवर्द्धन है जो किसी खोए हुए सेगमेंट को दोबारा ट्रांसमिट करने से पहले प्रेषक के इंतजार के समय को कम कर देता है।  टीसीपी प्रेषक आम तौर पर खोए हुए खंडों को पहचानने के लिए  साधारण टाइमर का उपयोग करता है। यदि किसी निर्दिष्ट समय (अनुमानित राउंड-ट्रिप में देरी का समय का  फ़ंक्शन) के भीतर किसी विशेष खंड के लिए पावती प्राप्त नहीं होती है, तो प्रेषक मान लेगा कि खंड नेटवर्क में खो गया है और खंड को पुनः प्रेषित करेगा।

डुप्लिकेट पावती तेजी से पुन: प्रेषण तंत्र का आधार है। पैकेट प्राप्त करने के बाद प्राप्त डेटा के अंतिम इन-ऑर्डर बाइट के लिए पावती भेजी जाती है। इन-ऑर्डर पैकेट के लिए, यह प्रभावी रूप से अंतिम पैकेट की अनुक्रम संख्या और वर्तमान पैकेट की पेलोड लंबाई है। यदि अनुक्रम में अगला पैकेट खो जाता है लेकिन अनुक्रम में तीसरा पैकेट प्राप्त होता है, तो रिसीवर केवल डेटा के अंतिम इन-ऑर्डर बाइट को स्वीकार कर सकता है, जो कि वही मान है जो पहले पैकेट के लिए स्वीकार किया गया था। दूसरा पैकेट खो गया है और तीसरा पैकेट क्रम में नहीं है, इसलिए डेटा का अंतिम इन-ऑर्डर बाइट पहले जैसा ही रहता है। इस प्रकार  डुप्लिकेट पावती होती है। प्रेषक पैकेट भेजना जारी रखता है, और चौथा और पांचवां पैकेट रिसीवर को प्राप्त होता है। फिर, दूसरा पैकेट अनुक्रम से गायब है, इसलिए अंतिम इन-ऑर्डर बाइट नहीं बदला है। इन दोनों पैकेटों के लिए डुप्लिकेट पावती भेजी जाती है।

जब प्रेषक को तीन डुप्लिकेट पावती प्राप्त होती है, तो यह उचित रूप से आश्वस्त हो सकता है कि पावती में निर्दिष्ट अंतिम इन-ऑर्डर बाइट के बाद डेटा ले जाने वाला खंड खो गया था। तेजी से पुनः प्रेषित करने वाला  प्रेषक इस पैकेट को इसके समय समाप्त होने की प्रतीक्षा किए बिना तुरंत पुनः प्रेषित करेगा। पुन: प्रेषित खंड की प्राप्ति पर, प्राप्तकर्ता प्राप्त डेटा के अंतिम इन-ऑर्डर बाइट को स्वीकार कर सकता है। उपरोक्त उदाहरण में, यह पांचवें पैकेट के पेलोड के अंत की पुष्टि करेगा। मध्यवर्ती पैकेटों को स्वीकार करने की कोई आवश्यकता नहीं है क्योंकि टीसीपी डिफ़ॉल्ट रूप से संचयी स्वीकृतियों का उपयोग करता है।

एल्गोरिदम
कंजेशन कंट्रोल एल्गोरिदम (सीसीए) के लिए नामकरण परंपरा की शुरुआत केविन फॉल और सैली फ्लॉयड के 1996 के पेपर में हुई होगी।

निम्नलिखित गुणों के अनुसार निम्नलिखित संभावित वर्गीकरण है:


 * 1) नेटवर्क से प्राप्त फीडबैक का प्रकार और मात्रा
 * 2) वर्तमान इंटरनेट पर वृद्धिशील तैनाती
 * 3) प्रदर्शन का वह पहलू जिसे सुधारना है: उच्च बैंडविड्थ-विलंब उत्पाद नेटवर्क (बी); हानिपूर्ण लिंक (एल); निष्पक्षता (एफ); लघु प्रवाह का लाभ (एस); परिवर्तनीय-दर लिंक (वी); अभिसरण की गति (सी)
 * 4) यह निष्पक्षता मानदंड का उपयोग करता है

कुछ प्रसिद्ध भीड़-भाड़ से बचाव तंत्रों को इस योजना द्वारा निम्नानुसार वर्गीकृत किया गया है:

टीसीपी ताहो और रेनो

टीसीपी ताहो और रेनो एल्गोरिदम को पूर्वव्यापी रूप से 4.3बीएसडी ऑपरेटिंग सिस्टम के संस्करणों या स्वादों के नाम पर रखा गया था, जिनमें से प्रत्येक पहली बार दिखाई दिया था (जो स्वयं ताहो झील और पास के शहर रेनो, नेवादा के नाम पर थे)। ताहो एल्गोरिथ्म पहली बार 4.3बीएसडी-ताहो में दिखाई दिया (जो कंप्यूटर कंसोल इंक. # पावर 5 और पावर 6 कंप्यूटर | सीसीआई पावर 6/32 ताहो मिनी कंप्यूटर का समर्थन करने के लिए बनाया गया था), और बाद में इसे गैर-एटी एंड टी लाइसेंसधारियों के लिए उपलब्ध कराया गया था। 4.3बीएसडी नेटवर्किंग रिलीज़ 1 का; इससे इसका व्यापक वितरण और कार्यान्वयन सुनिश्चित हुआ। 4.3BSD-रेनो में सुधार किए गए और बाद में इसे नेटवर्किंग रिलीज़ 2 और बाद में 4.4BSD-लाइट के रूप में जनता के लिए जारी किया गया।

जबकि दोनों रीट्रांसमिशन टाइमआउट (आरटीओ) और डुप्लिकेट एसीके को पैकेट हानि की घटनाओं के रूप में मानते हैं, ताहो और रेनो का व्यवहार मुख्य रूप से इस बात में भिन्न होता है कि वे डुप्लिकेट एसीके पर कैसे प्रतिक्रिया करते हैं:


 * ताहो: यदि तीन डुप्लिकेट एसीके प्राप्त होते हैं (अर्थात ही पैकेट को स्वीकार करने वाले चार एसीके, जो डेटा पर पिग्गीबैक नहीं होते हैं और रिसीवर की विज्ञापित विंडो को नहीं बदलते हैं), ताहो  तेज़ रिट्रांसमिट करता है, धीमी शुरुआत सीमा को वर्तमान के आधे पर सेट करता है कंजेशन विंडो, कंजेशन विंडो को 1 एमएसएस तक कम कर देता है, और धीमी शुरुआत स्थिति पर रीसेट कर देता है।
 * रेनो: यदि तीन डुप्लिकेट ACK प्राप्त होते हैं, तो रेनो तेजी से पुन: ट्रांसमिट करेगा और कंजेशन विंडो को आधा करके (ताहो की तरह 1 MSS पर सेट करने के बजाय), ssthresh को नई कंजेशन विंडो के बराबर सेट करके धीमी शुरुआत चरण को छोड़ देगा। और तेज़ पुनर्प्राप्ति नामक चरण में प्रवेश करें।

ताहो और रेनो दोनों में, यदि एसीके टाइम आउट (आरटीओ टाइमआउट) होता है, तो धीमी शुरुआत का उपयोग किया जाता है, और दोनों एल्गोरिदम कंजेशन विंडो को 1 एमएसएस तक कम कर देते हैं।

टीसीपी न्यू रेनो
टीसीपी न्यू रेनो, द्वारा परिभाषित (जो पिछली परिभाषाओं को अप्रचलित करता है  और ), टीसीपी रेनो के तेजी से पुनर्प्राप्ति चरण के दौरान पुनः ट्रांसमिशन में सुधार करता है।

तेजी से पुनर्प्राप्ति के दौरान, ट्रांसमिट विंडो को भरा रखने के लिए, लौटाए जाने वाले प्रत्येक डुप्लिकेट ACK के लिए, कंजेशन विंडो के अंत से नया असंतुलित पैकेट भेजा जाता है।

रेनो से अंतर यह है कि नई रेनो ssthresh को तुरंत आधा नहीं करती है, जिससे ाधिक पैकेट हानि होने पर विंडो बहुत कम हो सकती है। यह तेजी से पुनर्प्राप्ति से बाहर नहीं निकलता है और ssthresh को रीसेट नहीं करता है जब तक कि यह सभी डेटा को स्वीकार नहीं करता है।

पुनः ट्रांसमिशन के बाद, नए स्वीकृत डेटा के दो मामले हैं:


 * पूर्ण स्वीकृतियाँ: ACK भेजे गए सभी मध्यवर्ती खंडों को स्वीकार करता है, ssthresh को बदला नहीं जा सकता है, cwnd को ssthresh पर सेट किया जा सकता है
 * आंशिक स्वीकृतियाँ: ACK सभी डेटा को स्वीकार नहीं करता है। इसका मतलब है कि और हानि हो सकती है, यदि अनुमति हो तो पहले अज्ञात खंड को दोबारा प्रसारित करें

यह रिकॉर्ड करने के लिए पुनर्प्राप्ति नामक चर का उपयोग करता है कि कितना डेटा पुनर्प्राप्त करने की आवश्यकता है। रीट्रांसमिट टाइमआउट के बाद, यह पुनर्प्राप्ति चर में प्रेषित उच्चतम अनुक्रम संख्या को रिकॉर्ड करता है और तेजी से पुनर्प्राप्ति प्रक्रिया से बाहर निकलता है। यदि इस अनुक्रम संख्या को स्वीकार किया जाता है, तो टीसीपी भीड़भाड़ से बचाव की स्थिति में वापस आ जाती है।

न्यू रेनो के साथ समस्या तब उत्पन्न होती है जब कोई पैकेट हानि नहीं होती है, बल्कि पैकेट को 3 से अधिक पैकेट अनुक्रम संख्याओं द्वारा पुन: व्यवस्थित किया जाता है। इस मामले में, नई रेनो गलती से तेजी से रिकवरी में प्रवेश करती है। जब पुन: ऑर्डर किया गया पैकेट वितरित किया जाता है, तो डुप्लिकेट और अनावश्यक पुन: ट्रांसमिशन तुरंत भेज दिए जाते हैं।

नई रेनो कम पैकेट त्रुटि दर पर SACK के समान ही प्रदर्शन करती है और उच्च त्रुटि दर पर रेनो से काफी बेहतर प्रदर्शन करती है।

टीसीपी वेगास

1990 के दशक के मध्य तक, टीसीपी के सभी निर्धारित टाइमआउट और मापी गई राउंड-ट्रिप देरी केवल ट्रांसमिट बफर में अंतिम प्रेषित पैकेट पर आधारित थी। एरिज़ोना विश्वविद्यालय के शोधकर्ता लैरी पीटरसन और लॉरेंस ब्रैक्मो ने टीसीपी वेगास की शुरुआत की जिसमें टाइमआउट सेट किए गए थे और ट्रांसमिट बफर में प्रत्येक पैकेट के लिए राउंड-ट्रिप देरी को मापा गया था। इसके अलावा, टीसीपी वेगास कंजेशन विंडो में एडिटिव बढ़ोतरी का उपयोग करता है। विभिन्न टीसीपी के तुलनात्मक अध्ययन में CCAएस, टीसीपी क्यूबिक के बाद टीसीपी वेगास सबसे सहज दिखाई दिया। टीसीपी वेगास को पीटरसन की प्रयोगशाला के बाहर व्यापक रूप से तैनात नहीं किया गया था, लेकिन डीडी-WRT फर्मवेयर v24 SP2 के लिए डिफ़ॉल्ट भीड़ नियंत्रण विधि के रूप में चुना गया था।

टीसीपी हाइब्ला

टीसीपी हाइब्ला इसका उद्देश्य उच्च-विलंबता स्थलीय या उपग्रह रेडियो लिंक का उपयोग करने वाले टीसीपी कनेक्शनों पर दंड को समाप्त करना है। हाइब्ला सुधार कंजेशन विंडो गतिशीलता के विश्लेषणात्मक मूल्यांकन पर आधारित हैं।

टीसीपी बीआईसी

बाइनरी इनक्रीस कंजेशन कंट्रोल (बीआईसी) उच्च विलंबता वाले हाई-स्पीड नेटवर्क के लिए अनुकूलित सीसीए के साथ टीसीपी कार्यान्वयन है, जिसे लंबे वसा नेटवर्क (एलएफएन) के रूप में जाना जाता है। लिनक्स कर्नेल 2.6.8 से 2.6.18 तक डिफ़ॉल्ट रूप से बीआईसी का उपयोग किया जाता है।

टीसीपी घन
CUBIC, BIC का कम आक्रामक और अधिक व्यवस्थित व्युत्पन्न है, जिसमें विंडो अंतिम कंजेशन इवेंट के बाद से समय का  क्यूबिक फ़ंक्शन है, जिसमें इवेंट से पहले विंडो पर विभक्ति बिंदु सेट होता है। संस्करण 2.6.19 से लिनक्स कर्नेल में डिफ़ॉल्ट रूप से CUBIC का उपयोग किया जाता है।

एजाइल-एसडी टीसीपी
एजाइल-एसडी लिनक्स-आधारित सीसीए है जिसे वास्तविक लिनक्स कर्नेल के लिए डिज़ाइन किया गया है। यह  रिसीवर-साइड एल्गोरिदम है जो चपलता कारक (एएफ) नामक  उपन्यास तंत्र का उपयोग करके हानि-आधारित दृष्टिकोण को नियोजित करता है। उच्च गति और कम दूरी के नेटवर्क (कम-बीडीपी नेटवर्क) जैसे स्थानीय क्षेत्र नेटवर्क या फाइबर-ऑप्टिक नेटवर्क पर बैंडविड्थ उपयोग को बढ़ाने के लिए, खासकर जब लागू बफर आकार छोटा होता है। NS-2 सिम्युलेटर का उपयोग करके इसके प्रदर्शन की तुलना कंपाउंड टीसीपी (एमएस विंडोज में डिफ़ॉल्ट सीसीए) और क्यूबिक (लिनक्स का डिफ़ॉल्ट) से करके इसका मूल्यांकन किया गया है। यह औसत थ्रूपुट की अवधि में कुल प्रदर्शन को 55% तक सुधारता है।

टीसीपी वेस्टवुड+
वेस्टवुड+ टीसीपी रेनो का केवल-प्रेषक संशोधन है जो वायर्ड और बेतार तंत्र  दोनों पर टीसीपी कंजेशन नियंत्रण के प्रदर्शन को अनुकूलित करता है। टीसीपी वेस्टवुड+ कंजेशन एपिसोड के बाद, यानी तीन डुप्लिकेट पावती या टाइमआउट के बाद कंजेशन विंडो और धीमी शुरुआत सीमा निर्धारित करने के लिए एंड-टू-एंड बैंडविड्थ (कंप्यूटिंग) अनुमान पर आधारित है। पावती पैकेट लौटाने की दर के औसत से बैंडविड्थ का अनुमान लगाया जाता है। टीसीपी रेनो के विपरीत, जो तीन डुप्लिकेट एसीके के बाद कंजेशन विंडो को आँख बंद करके आधा कर देता है, टीसीपी वेस्टवुड+ अनुकूल रूप से  धीमी शुरुआत सीमा और  कंजेशन विंडो सेट करता है जो कंजेशन के अनुभव के समय उपलब्ध बैंडविड्थ के अनुमान को ध्यान में रखता है। रेनो और न्यू रेनो की तुलना में, वेस्टवुड+ वायरलेस लिंक पर थ्रूपुट को महत्वपूर्ण रूप से बढ़ाता है और वायर्ड नेटवर्क में निष्पक्षता में सुधार करता है।

कंपाउंड टीसीपी
कंपाउंड टीसीपी, टीसीपी का माइक्रोसॉफ्ट कार्यान्वयन है जो निष्पक्षता माप को ख़राब किए बिना एलएफएन पर अच्छा प्रदर्शन प्राप्त करने के लक्ष्य के साथ, दो अलग-अलग कंजेशन विंडो को  साथ बनाए रखता है। इसे Microsoft Windows Vista और Windows Server 2008 के बाद से Windows संस्करणों में व्यापक रूप से तैनात किया गया है और इसे पुराने Microsoft Windows संस्करणों के साथ-साथ Linux में भी पोर्ट किया गया है।

टीसीपी आनुपातिक दर में कमी
टीसीपी आनुपातिक दर में कमी (पीआरआर) पुनर्प्राप्ति के दौरान भेजे गए डेटा की सटीकता में सुधार करने के लिए डिज़ाइन किया गया एल्गोरिदम है। एल्गोरिदम यह सुनिश्चित करता है कि पुनर्प्राप्ति के बाद विंडो का आकार धीमी शुरुआत सीमा के जितना संभव हो उतना करीब हो। Google द्वारा किए गए परीक्षणों में, PRR के परिणामस्वरूप औसत विलंबता में 3-10% की कमी आई और पुनर्प्राप्ति समयबाह्य में 5% की कमी आई। पीआरआर संस्करण 3.2 से लिनक्स कर्नेल में उपलब्ध है।

टीसीपी बीबीआर

बॉटलनेक बैंडविड्थ और राउंड-ट्रिप प्रसार समय (बीबीआर) 2016 में Google द्वारा विकसित CCA है। जबकि अधिकांश सीसीए हानि-आधारित हैं, इसमें वे भीड़भाड़ और ट्रांसमिशन की कम दरों का पता लगाने के लिए पैकेट हानि पर भरोसा करते हैं, बीबीआर, टीसीपी वेगास की तरह, मॉडल-आधारित है। एल्गोरिदम अधिकतम बैंडविड्थ और राउंड-ट्रिप समय का उपयोग करता है जिस पर नेटवर्क ने नेटवर्क का  मॉडल बनाने के लिए आउटबाउंड डेटा पैकेट की सबसे हालिया उड़ान वितरित की। पैकेट डिलीवरी की प्रत्येक संचयी या चयनात्मक पावती  दर नमूना उत्पन्न करती है जो डेटा पैकेट के ट्रांसमिशन और उस पैकेट की पावती के बीच समय अंतराल पर वितरित डेटा की मात्रा को रिकॉर्ड करती है। जब YouTube पर लागू किया गया, तो BBRv1 ने औसतन 4% अधिक नेटवर्क थ्रूपुट और कुछ देशों में 14% तक का उत्पादन किया। लिनक्स 4.9 से बीबीआर लिनक्स टीसीपी के लिए उपलब्ध है। यह QUIC के लिए भी उपलब्ध है। बीबीआर संस्करण 1 (बीबीआरवी1) की गैर-बीबीआर धाराओं के प्रति निष्पक्षता विवादित है। जबकि Google की प्रस्तुति BBRv1 को CUBIC के साथ अच्छी तरह से सह-अस्तित्व में दिखाती है, ज्योफ हस्टन और हॉक, ब्लेस और ज़िटरबार्ट जैसे शोधकर्ताओं ने इसे अन्य धाराओं के लिए अनुचित और स्केलेबल नहीं पाया। हॉक एट अल. लिनक्स 4.9 के बीबीआर कार्यान्वयन में कतार में बढ़ती देरी, अनुचितता और बड़े पैमाने पर पैकेट हानि जैसे कुछ गंभीर अंतर्निहित मुद्दे भी पाए गए। सोहेल अब्बासलू एट अल। (C2TCP के लेखक) बताते हैं कि BBRv1 सेलुलर नेटवर्क जैसे गतिशील वातावरण में अच्छा प्रदर्शन नहीं करता है। उन्होंने यह भी दिखाया है कि बीबीआर में अनुचितता का मुद्दा है। उदाहरण के लिए, जब CUBIC TCP प्रवाह (जो Linux, Android और MacOS में डिफ़ॉल्ट ट्रांसमिशन कंट्रोल प्रोटोकॉल कार्यान्वयन है) नेटवर्क में BBR प्रवाह के साथ सह-अस्तित्व में होता है, तो BBR प्रवाह CUBIC प्रवाह पर हावी हो सकता है और इससे संपूर्ण लिंक बैंडविड्थ प्राप्त कर सकता है। (चित्र 16 देखें ).

संस्करण 2 CUBIC जैसे हानि-आधारित भीड़ प्रबंधन के साथ संचालन करते समय अनुचितता के मुद्दे से निपटने का प्रयास करता है। BBRv2 में BBRv1 द्वारा उपयोग किए गए मॉडल को पैकेट हानि के बारे में जानकारी और स्पष्ट भीड़ अधिसूचना (ECN) से जानकारी शामिल करने के लिए संवर्धित किया गया है। हालाँकि BBRv2 में कई बार BBRv1 की तुलना में कम थ्रूपुट हो सकता है, लेकिन आमतौर पर इसे बेहतर गुडपुट माना जाता है।

संस्करण 3 (बीबीआरवी3) बीबीआरवी2 में दो बग को ठीक करता है (बैंडविड्थ जांच का समय से पहले समाप्त होना, बैंडविड्थ अभिसरण) और कुछ प्रदर्शन ट्यूनिंग करता है। वैरिएंट भी है, जिसे BBR.Swift कहा जाता है, जो डेटासेंटर-आंतरिक लिंक के लिए अनुकूलित है: यह मुख्य भीड़ नियंत्रण सिग्नल के रूप में नेटवर्क_आरटीटी (रिसीवर देरी को छोड़कर) का उपयोग करता है।

C2TCP

सेलुलर नियंत्रित विलंब टीसीपी (C2TCP) लचीले एंड-टू-एंड टीसीपी दृष्टिकोण की कमी से प्रेरित था जो नेटवर्क उपकरणों में किसी भी बदलाव की आवश्यकता के बिना विभिन्न अनुप्रयोगों के लिए सेवा की विभिन्न गुणवत्ता आवश्यकताओं को पूरा कर सकता है। C2TCP का लक्ष्य वर्तमान LTE (दूरसंचार) और भविष्य के 5G जैसे अत्यधिक गतिशील वातावरण में आभासी वास्तविकता, वीडियो कॉन्फ्रेंसिंग, ऑनलाइन गेम, वाहन संचार प्रणाली आदि जैसे अनुप्रयोगों की अल्ट्रा-लो  विलंबता (इंजीनियरिंग)  और उच्च-बैंडविड्थ आवश्यकताओं को पूरा करना है। सेल्युलर नेटवर्क C2TCP हानि-आधारित टीसीपी (जैसे रेनो, न्यूरेनो, क्यूबिक टीसीपी, बीआईसी टीसीपी, ...) के शीर्ष पर  प्लग-इन (कंप्यूटिंग) | ऐड-ऑन के रूप में काम करता है, इसे केवल सर्वर-साइड पर स्थापित करना आवश्यक है और पैकेटों के औसत विलंब को अनुप्रयोगों द्वारा निर्धारित वांछित विलंबों तक सीमित कर देता है।

न्यूयॉर्क विश्वविद्यालय के शोधकर्ता दिखाया गया कि C2TCP विभिन्न अत्याधुनिक टीसीपी योजनाओं के विलंब और विलंब-भिन्नता प्रदर्शन से बेहतर प्रदर्शन करता है। उदाहरण के लिए, उन्होंने दिखाया कि BBR, CUBIC और वेस्टवुड की तुलना में, C2TCP विभिन्न सेलुलर नेटवर्क वातावरणों पर पैकेट की औसत देरी को क्रमशः 250%, 900% और 700% कम कर देता है।

इलास्टिक-टीसीपी

क्लाउड कंप्यूटिंग के समर्थन में उच्च-बीडीपी नेटवर्क पर बैंडविड्थ उपयोग को बढ़ाने के लिए फरवरी 2019 में इलास्टिक-टीसीपी का प्रस्ताव दिया गया था। यह Linux-आधारित CCA है जिसे Linux कर्नेल के लिए डिज़ाइन किया गया है। यह  रिसीवर-साइड एल्गोरिदम है जो विंडो-सहसंबंधित वेटिंग फ़ंक्शन (डब्ल्यूडब्ल्यूएफ) नामक  उपन्यास तंत्र का उपयोग करके हानि-विलंब-आधारित दृष्टिकोण को नियोजित करता है। इसमें मानव ट्यूनिंग की आवश्यकता के बिना विभिन्न नेटवर्क विशेषताओं से निपटने के लिए उच्च स्तर की लोच है। एनएस-2 सिम्युलेटर और टेस्टबेड का उपयोग करके इसके प्रदर्शन की तुलना कंपाउंड टीसीपी (एमएस विंडोज में डिफ़ॉल्ट सीसीए), क्यूबिक (लिनक्स के लिए डिफ़ॉल्ट) और टीसीपी-बीबीआर (Google द्वारा उपयोग किए जाने वाले लिनक्स 4.9 का डिफ़ॉल्ट) से तुलना करके की गई है। इलास्टिक-टीसीपी औसत थ्रूपुट, हानि अनुपात और देरी के मामले में कुल प्रदर्शन में उल्लेखनीय सुधार करता है।

एनएटीसीपी

सोहेल अब्बासलू एट अल। प्रस्तावित NATCP (नेटवर्क-असिस्टेड टीसीपी) ए टीसीपी डिज़ाइन मल्टी-्सेस एज कंप्यूटिंग (एमईसी) को लक्षित करता है। NATCP का मुख्य विचार यह है कि यदि नेटवर्क की विशेषताओं के बारे में पहले से पता होता, तो TCP को अलग तरह से डिज़ाइन किया गया होता। इसलिए, NATCP टीसीपी के प्रदर्शन को इष्टतम प्रदर्शन के करीब पहुंचाने के लिए वर्तमान एमईसी-आधारित सेलुलर आर्किटेक्चर में उपलब्ध सुविधाओं और गुणों को नियोजित करता है। NATCP नेटवर्क से पास में स्थित सर्वर पर आउट-ऑफ-बैंड फीडबैक का उपयोग करता है। नेटवर्क से फीडबैक, जिसमें सेलुलर ्सेस लिंक की क्षमता और नेटवर्क का न्यूनतम आरटीटी शामिल है, सर्वर को उनकी भेजने की दरों को समायोजित करने के लिए मार्गदर्शन करता है। जैसा कि प्रारंभिक परिणाम दिखाते हैं, NATCP अत्याधुनिक टीसीपी योजनाओं से बेहतर प्रदर्शन करता है।

अन्य टीसीपी भीड़ से बचाव एल्गोरिदम जब कतार योजना की परवाह किए बिना बैंडविड्थ और विलंबता का प्रति-प्रवाह उत्पाद बढ़ता है, तो टीसीपी अक्षम हो जाता है और अस्थिरता का खतरा होता है। यह और भी महत्वपूर्ण हो जाता है क्योंकि इंटरनेट बहुत उच्च-बैंडविड्थ ऑप्टिकल लिंक को शामिल करने के लिए विकसित हो रहा है।
 * तेज़ टीसीपी
 * सामान्यीकृत फास्ट टीसीपी
 * एच-टीसीपी
 * डाटा सेंटर टीसीपी
 * हाई स्पीड टीसीपी
 * एचएसटीसीपी-एलपी
 * टीसीपी-इलिनोइस
 * टीसीपी-एलपी * टीसीपी बोरी
 * स्केलेबल टीसीपी
 * टीसीपी वेनो
 * टीसीपी वेस्टवुड
 * ्ससीपी
 * हाँ-टीसीपी
 * टीसीपी-फिट
 * समय के सामान्यीकृत अंतराल के साथ भीड़भाड़ से बचाव (CANIT)
 * टीसीपी/आईपी नेटवर्क के लिए आनुवंशिक एल्गोरिदम पर आधारित गैर-रेखीय तंत्रिका नेटवर्क भीड़ नियंत्रण
 * डी-टीसीपी
 * नेक्सजेन डी-टीसीपी
 * कप
 * 1) टीसीपी न्यू रेनो सबसे आम तौर पर लागू किया जाने वाला एल्गोरिदम था, सैक समर्थन बहुत आम है और रेनो/न्यू रेनो का विस्तार है। अधिकांश अन्य प्रतिस्पर्धी प्रस्ताव हैं जिन्हें अभी भी मूल्यांकन की आवश्यकता है। 2.6.8 से शुरू होकर लिनक्स कर्नेल ने डिफ़ॉल्ट कार्यान्वयन को न्यू रेनो से बीआईसी टीसीपी में बदल दिया। 2.6.19 संस्करण में डिफ़ॉल्ट कार्यान्वयन को फिर से CUBIC में बदल दिया गया। फ्रीबीएसडी न्यू रेनो को डिफ़ॉल्ट एल्गोरिदम के रूप में उपयोग करता है। हालाँकि, यह कई अन्य विकल्पों का समर्थन करता है।

टीसीपी इंटरैक्टिव (आईटीसीपी) एप्लिकेशन को टीसीपी ईवेंट की सदस्यता लेने और तदनुसार प्रतिक्रिया देने की अनुमति देता है, जिससे टीसीपी परत के बाहर से टीसीपी में विभिन्न कार्यात्मक ्सटेंशन सक्षम होते हैं। अधिकांश टीसीपी कंजेशन योजनाएं आंतरिक रूप से काम करती हैं। आईटीसीपी अतिरिक्त रूप से उन्नत अनुप्रयोगों को सीधे भीड़ नियंत्रण में भाग लेने में सक्षम बनाता है जैसे कि स्रोत उत्पादन दर को नियंत्रित करना।

ज़ेटा-टीसीपी विलंबता और हानि दर दोनों उपायों से भीड़ का पता लगाता है। गुडपुट ज़ेटा-टीसीपी को अधिकतम करने के लिए और भीड़भाड़ की संभावना के आधार पर अलग-अलग कंजेशन विंडो बैकऑफ़ रणनीतियों को लागू करता है। इसमें पैकेट के नुकसान का सटीक पता लगाने के लिए अन्य सुधार भी हैं, जिससे रिट्रांसमिशन टाइमआउट रिट्रांसमिशन से बचा जा सके; और इनबाउंड (डाउनलोड) ट्रैफ़िक को तेज़ और नियंत्रित करें।

नेटवर्क जागरूकता द्वारा वर्गीकरण
सीसीए को नेटवर्क जागरूकता के संबंध में वर्गीकृत किया जा सकता है, जिसका अर्थ है कि ये एल्गोरिदम नेटवर्क की स्थिति के बारे में किस हद तक जागरूक हैं। इसमें तीन प्राथमिक श्रेणियां शामिल हैं: ब्लैक बॉक्स, ग्रे बॉक्स और ग्रीन बॉक्स। ब्लैक बॉक्स एल्गोरिदम भीड़ नियंत्रण के अंधी तरीकों की पेशकश करते हैं। वे केवल कंजेशन पर प्राप्त बाइनरी फीडबैक पर काम करते हैं और जिस नेटवर्क को वे प्रबंधित करते हैं उसकी स्थिति के बारे में कोई जानकारी नहीं रखते हैं।

ग्रे बॉक्स एल्गोरिदम का उपयोग करें बैंडविड्थ, प्रवाह विवाद और नेटवर्क स्थितियों के अन्य ज्ञान के माप और अनुमान प्राप्त करने के लिए।

ग्रीन बॉक्स एल्गोरिदम भीड़ नियंत्रण के द्विमोडल तरीकों की पेशकश करते हैं जो कुल बैंडविड्थ के उचित हिस्से को मापते हैं जिसे सिस्टम के निष्पादन के दौरान किसी भी बिंदु पर प्रत्येक प्रवाह के लिए आवंटित किया जाना चाहिए।

ब्लैक बॉक्स

 * हाईस्पीड-टीसीपी
 * बीआईसी टीसीपी (बाइनरी इनक्रीस कंजेशन कंट्रोल प्रोटोकॉल) प्रत्येक कंजेशन इवेंट के बाद स्रोत दर में अवतल वृद्धि का उपयोग करता है जब तक कि विंडो इवेंट से पहले विंडो के बराबर न हो जाए, ताकि नेटवर्क के पूरी तरह से उपयोग किए जाने वाले समय को अधिकतम किया जा सके। इसके बाद वह आक्रामक तरीके से जांच करती है.
 * क्यूबिक टीसीपी - बीआईसी का कम आक्रामक और अधिक व्यवस्थित व्युत्पन्न, जिसमें विंडो अंतिम कंजेशन इवेंट के बाद से समय का  क्यूबिक फ़ंक्शन है, जिसमें इवेंट से पहले विंडो पर विभक्ति बिंदु सेट होता है।
 * एआईएमडी-एफसी (तेजी से अभिसरण के साथ योगात्मक वृद्धि गुणात्मक कमी), एआईएमडी का सुधार।
 * द्विपद तंत्र
 * SIMD प्रोटोकॉल
 * GAIMD

ग्रे बॉक्स

 * टीसीपी वेगास - कतार में देरी का अनुमान लगाता है, और विंडो को रैखिक रूप से बढ़ाता या घटाता है ताकि नेटवर्क में प्रति प्रवाह पैकेट की स्थिर संख्या कतार में रहे। वेगास आनुपातिक निष्पक्षता लागू करता है।
 * फास्ट टीसीपी - वेगास के समान संतुलन प्राप्त करता है, लेकिन रैखिक वृद्धि के बजाय आनुपातिक नियंत्रण का उपयोग करता है, और स्थिरता सुनिश्चित करने के उद्देश्य से बैंडविड्थ बढ़ने पर जानबूझकर लाभ को कम कर देता है।
 * टीसीपी बीबीआर - कतार में देरी का अनुमान लगाता है लेकिन तेजी से वृद्धि का उपयोग करता है। निष्पक्षता और विलंब को कम करने के लिए जानबूझकर समय-समय पर इसे धीमा किया जाता है।
 * टीसीपी-वेस्टवुड (टीसीपीडब्ल्यू) - नुकसान के कारण विंडो बैंडविड्थ-विलंब उत्पाद के प्रेषक के अनुमान पर रीसेट हो जाती है (एसीके प्राप्त करने की देखी गई दर से गुणा किया गया सबसे छोटा आरटीटी)।
 * सी2टीसीपी * टीसीपी अनुकूल दर नियंत्रण
 * टीसीपी-रियल
 * टीसीपी-जर्सी

हरा डिब्बा

 * बिमोडल तंत्र - बिमोडल कंजेशन बचाव और नियंत्रण तंत्र।
 * राउटर्स द्वारा कार्यान्वित सिग्नलिंग विधियाँ
 * रैंडम अर्ली डिटेक्शन (RED) राउटर की कतार के आकार के अनुपात में पैकेट को बेतरतीब ढंग से गिराता है, जिससे कुछ प्रवाह में गुणक कमी आती है।
 * स्पष्ट भीड़ अधिसूचना (ईसीएन)
 * नेटवर्क-सहायता प्राप्त भीड़ नियंत्रण
 * एनएटीसीपी - नेटवर्क-असिस्टेड टीसीपी नेटवर्क के न्यूनतम आरटीटी और सेल्युलर ्सेस लिंक की क्षमता को इंगित करने वाले आउट-ऑफ-बैंड स्पष्ट फीडबैक का उपयोग करता है।
 * वैरिएबल-स्ट्रक्चर कंजेशन कंट्रोल प्रोटोकॉल (वीसीपी) कंजेशन की नेटवर्क स्थिति पर स्पष्ट रूप से प्रतिक्रिया देने के लिए दो ईसीएन बिट्स का उपयोग करता है। इसमें एंड होस्ट साइड एल्गोरिदम भी शामिल है।

निम्नलिखित एल्गोरिदम को टीसीपी पैकेट संरचना में कस्टम फ़ील्ड जोड़ने की आवश्यकता होती है:
 * स्पष्ट नियंत्रण प्रोटोकॉल (्ससीपी) - ्ससीपी पैकेट में फीडबैक फ़ील्ड के साथ कंजेशन हेडर होता है, जो प्रेषक की कंजेशन विंडो में वृद्धि या कमी का संकेत देता है। XCP राउटर दक्षता और निष्पक्षता के लिए फीडबैक मान को स्पष्ट रूप से निर्धारित करते हैं।
 * मैक्सनेट - ल हेडर फ़ील्ड का उपयोग करता है, जो प्रवाह के पथ पर किसी भी राउटर के अधिकतम भीड़ स्तर को वहन करता है। दर इस अधिकतम भीड़ के फ़ंक्शन के रूप में निर्धारित की जाती है, जिसके परिणामस्वरूप अधिकतम-न्यूनतम निष्पक्षता होती है।
 * जेटमैक्स, मैक्सनेट की तरह, केवल अधिकतम कंजेशन सिग्नल पर प्रतिक्रिया करता है, लेकिन अन्य ओवरहेड फ़ील्ड भी वहन करता है।

लिनक्स उपयोग

 * बीआईसी का उपयोग लिनक्स कर्नेल 2.6.8 से 2.6.18 तक डिफ़ॉल्ट रूप से किया जाता है। (अगस्त 2004 - सितम्बर 2006)
 * संस्करण 2.6.19 से लिनक्स कर्नेल में डिफ़ॉल्ट रूप से CUBIC का उपयोग किया जाता है। (नवंबर 2006)
 * पीआरआर को संस्करण 3.2 के बाद से हानि पुनर्प्राप्ति में सुधार के लिए लिनक्स कर्नेल में शामिल किया गया है। (जनवरी 2012)
 * BBRv1 को संस्करण 4.9 के बाद से मॉडल-आधारित कंजेशन नियंत्रण को सक्षम करने के लिए लिनक्स कर्नेल में शामिल किया गया है। (दिसंबर 2016)

यह भी देखें

 * कम अतिरिक्त विलंब पृष्ठभूमि परिवहन (LEDBAT)
 * कम अतिरिक्त विलंब पृष्ठभूमि परिवहन (LEDBAT)
 * कम अतिरिक्त विलंब पृष्ठभूमि परिवहन (LEDBAT)

संदर्भ
स्रोत

बाहरी संबंध

 * Papers in Congestion Control
 * TCP Congestion Handling and Congestion Avoidance Algorithms – The TCP/IP Guide
 * TCP Congestion Handling and Congestion Avoidance Algorithms – The TCP/IP Guide
 * TCP Congestion Handling and Congestion Avoidance Algorithms – The TCP/IP Guide