TCP Flow Control: Variable Window Size, Timeout, and Retransmission Algorithms | TCP फ्लो कंट्रोल, विंडो साइज और री-ट्रांसमिशन एल्गोरिद्म
TCP Flow Control: Variable Window Size, Timeout, and Retransmission Algorithms | TCP फ्लो कंट्रोल, विंडो साइज और री-ट्रांसमिशन एल्गोरिद्म
TCP फ्लो कंट्रोल: विंडो साइज, टाइमआउट और री-ट्रांसमिशन एल्गोरिद्म
परिचय (Introduction)
नेटवर्क संचार में डेटा ट्रांसफर की विश्वसनीयता सुनिश्चित करने के लिए TCP (Transmission Control Protocol) का महत्वपूर्ण योगदान है। TCP में Flow Control और Retransmission Mechanisms का उपयोग डेटा लॉस को रोकने, नेटवर्क कंजेशन को कम करने और प्रभावी डेटा प्रवाह बनाए रखने के लिए किया जाता है।
Flow Control क्या है?
Flow Control एक तकनीक है जो Sender और Receiver के बीच डेटा ट्रांसमिशन दर को नियंत्रित करती है ताकि Receiver पर डेटा ओवरलोड न हो।
उदाहरण:
यदि Sender बहुत तेजी से डेटा भेजता है और Receiver धीमा है, तो पैकेट लॉस हो सकता है। Flow Control इस असंतुलन को रोकता है।
TCP Sliding Window Mechanism
TCP में Flow Control को लागू करने के लिए Sliding Window Protocol का उपयोग किया जाता है। यह एक डायनेमिक विंडो साइज के माध्यम से डेटा ट्रांसफर को नियंत्रित करता है।
मुख्य सिद्धांत:
- Sender एक समय में केवल उतने ही पैकेट भेज सकता है जितना Receiver स्वीकार कर सकता है।
- Receiver हर ACK के साथ अपनी Window Size भेजता है।
- Window Size बदलती रहती है — इसलिए इसे Variable Window Size कहा जाता है।
विंडो साइज (Window Size)
Window Size उस डेटा की मात्रा को दर्शाती है जो ACK प्राप्त किए बिना भेजी जा सकती है। यदि Receiver Buffer भर जाता है, तो Window Size कम हो जाती है।
Sliding Window उदाहरण
Sender Window: [1][2][3][4][5] ACK Received up to: 2 New Window: [3][4][5][6][7]
Variable Window Size Concept
TCP Receiver अपने Buffer Capacity के अनुसार Sender को Window Size बताता है। यह गतिशील रूप से बदलती रहती है:
- उच्च स्पीड नेटवर्क में बड़ी Window Size।
- धीमी नेटवर्क या कंजेस्टेड लिंक में छोटी Window Size।
Timeout and Retransmission in TCP
यदि कोई पैकेट समय पर ACK नहीं प्राप्त करता, तो TCP उसे पुनः भेजता है। इस प्रक्रिया को Retransmission कहा जाता है।
Timeout Calculation
TCP Round Trip Time (RTT) मापकर Timeout Value तय करता है।
Timeout = Estimated RTT + 4 × Deviation
यदि ACK निर्दिष्ट समय में नहीं आता, तो पैकेट को Retransmit किया जाता है।
Retransmission Algorithms (री-ट्रांसमिशन एल्गोरिद्म)
TCP में कई एल्गोरिद्म उपयोग किए जाते हैं जो नेटवर्क की स्थिति के अनुसार री-ट्रांसमिशन को नियंत्रित करते हैं।
1️⃣ Karn’s Algorithm
- Retransmitted पैकेट के RTT को मापा नहीं जाता क्योंकि उसमें अनिश्चितता होती है।
- Timeout Value बढ़ाकर संभाला जाता है।
2️⃣ Jacobson’s Algorithm
- RTT के औसत और परिवर्तनशीलता के आधार पर Timeout Value को एडजस्ट करता है।
- नेटवर्क लेटेंसी को ध्यान में रखता है।
3️⃣ Fast Retransmit
- यदि तीन Duplicate ACK प्राप्त होते हैं, तो तुरंत पैकेट को पुनः भेजा जाता है।
- Timeout की प्रतीक्षा नहीं की जाती।
Flow Control vs Congestion Control
| पैरामीटर | Flow Control | Congestion Control |
|---|---|---|
| उद्देश्य | Receiver पर ओवरलोड रोकना। | नेटवर्क में भीड़ कम करना। |
| दृष्टिकोण | एंड-टू-एंड (Sender-Receiver)। | नेटवर्क-लेवल। |
| प्रमुख तकनीक | Sliding Window। | Slow Start, AIMD। |
TCP Flow Control के लाभ
- डेटा लॉस से बचाव।
- नेटवर्क दक्षता में वृद्धि।
- Receiver Overload नहीं होता।
- डायनेमिक नेटवर्क एडजस्टमेंट।
निष्कर्ष (Conclusion)
TCP Flow Control, Variable Window Size और Retransmission Algorithms नेटवर्क संचार की विश्वसनीयता सुनिश्चित करते हैं। ये Wireless और Mobile Computing वातावरण में महत्वपूर्ण हैं, जहाँ नेटवर्क स्पीड और कनेक्टिविटी लगातार बदलती रहती है।
Related Articles
M-Commerce: Security Issues | एम-कॉमर्स में सुरक्षा संबंधी मुद्दे और समाधान
एम-कॉमर्स में सुरक्षा संबंधी मुद्दे (Security Issues in ...
Read More →M-Commerce: Mobile Payment System | एम-कॉमर्स में मोबाइल पेमेंट सिस्टम की संरचना और कार्यप्रणाली
एम-कॉमर्स में मोबाइल पेमेंट सिस्टम (Mobile Payment System ...
Read More →M-Commerce Pros and Cons | एम-कॉमर्स के लाभ और हानियाँ
एम-कॉमर्स के लाभ और हानियाँ (Advantages and Disadvantages of M-Commerce)...
Read More →M-Commerce Structure | एम-कॉमर्स की संरचना और कार्यप्रणाली
एम-कॉमर्स की संरचना (Structure of M-Commerce) परिचय ...
Read More →Software Development Kit: Android SDK | सॉफ्टवेयर डेवलपमेंट किट – Android SDK का विस्तृत अध्ययन
सॉफ्टवेयर डेवलपमेंट किट (Software Development Kit) – Android SDK ...
Read More →