Timeout और Retransmission Algorithms क्या हैं? पूरी जानकारी हिंदी में


Timeout और Retransmission Algorithms क्या हैं?

परिचय

Timeout और Retransmission Algorithms TCP (Transmission Control Protocol) में डेटा के विश्वसनीय ट्रांसमिशन को सुनिश्चित करने के लिए आवश्यक होते हैं। ये एल्गोरिदम सुनिश्चित करते हैं कि अगर डेटा पैकेट खो जाता है या समय पर ACK (Acknowledgment) नहीं मिलता, तो उसे फिर से भेजा जाए।

1. Timeout क्या होता है?

Timeout वह समय सीमा होती है जिसके भीतर डेटा भेजने वाले (Sender) को ACK प्राप्त होना चाहिए। यदि इस समय सीमा के भीतर ACK नहीं आता, तो डेटा को पुनः भेजा (Retransmit) किया जाता है।

Timeout के प्रमुख कारक:

  • नेटवर्क में देरी (Latency)
  • Congestion (भीड़-भाड़) की स्थिति
  • Packet Loss (डेटा पैकेट का खो जाना)
  • डुप्लिकेट या अनुत्तरित पैकेट

2. Retransmission क्या होता है?

Retransmission वह प्रक्रिया है जिसमें भेजे गए डेटा को पुनः भेजा जाता है, यदि ACK समय पर प्राप्त नहीं होता है।

Retransmission के प्रकार:

Retransmission प्रकारविवरण
Timeout-Based Retransmissionजब एक निश्चित समय सीमा (Timeout) में ACK प्राप्त नहीं होता, तो डेटा फिर से भेजा जाता है।
Fast Retransmissionअगर एक ही डेटा पैकेट के लिए तीन डुप्लिकेट ACK मिलते हैं, तो उसे तुरंत फिर से भेजा जाता है।
Selective Retransmissionसिर्फ खोए हुए पैकेट्स को पुनः भेजा जाता है, न कि पूरे डेटा को।

3. Retransmission Algorithms

TCP डेटा ट्रांसमिशन को कुशल और विश्वसनीय बनाने के लिए विभिन्न Retransmission Algorithms का उपयोग करता है।

1. Fixed Timeout Retransmission Algorithm

  • यह एक स्थिर (Fixed) Timeout सेट करता है, जिसके बाद अगर ACK नहीं आता, तो डेटा फिर से भेजा जाता है।
  • मुख्य समस्या: अगर नेटवर्क धीमा है, तो अप्रत्याशित Retransmission हो सकते हैं।

2. Adaptive Retransmission Algorithm

  • यह नेटवर्क की देरी (RTT - Round Trip Time) को ध्यान में रखकर Timeout को गतिशील रूप से समायोजित करता है।
  • इसमें Smoothed RTT (SRTT) और Retransmission Timeout (RTO) का उपयोग किया जाता है।

RTT (Round Trip Time) की गणना:

RTT वह समय है जिसमें डेटा पैकेट भेजा जाता है और उसका ACK प्राप्त होता है।

SRTT = (1 - α) * SRTT + α * RTT
RTO = SRTT + 4 * RTT Variation

3. Karn’s Algorithm

  • यदि एक Retransmitted पैकेट का ACK आता है, तो यह RTT को अपडेट नहीं करता।
  • यह Ambiguous Acknowledgment समस्या को हल करता है।
  • RTT की गलत गणना को रोकने के लिए Retransmitted पैकेट के ACK को नजरअंदाज करता है।

4. Exponential Backoff Algorithm

  • अगर पैकेट कई बार Retransmit होता है, तो Timeout समय को दोगुना किया जाता है।
  • यह Congestion Control में मदद करता है।

Exponential Backoff का फॉर्मूला:

RTO(n) = 2^n * RTO(Initial)

जहाँ n Retransmission की संख्या है।

5. Fast Retransmission Algorithm

  • अगर क्लाइंट को एक ही पैकेट के लिए तीन बार डुप्लिकेट ACK मिलता है, तो वह तुरंत डेटा पैकेट को फिर से भेज देता है।
  • यह Retransmission Timeout का इंतजार करने की आवश्यकता को कम करता है।

4. Retransmission और Congestion Control

TCP Retransmission और Congestion Control एक साथ काम करते हैं:

  • Slow Start: नेटवर्क में कम लोड से शुरुआत करता है और धीरे-धीरे डेटा ट्रांसफर बढ़ाता है।
  • Congestion Avoidance: डेटा ट्रांसमिशन दर को स्थिर करता है।
  • Fast Recovery: अगर Fast Retransmission होता है, तो Congestion Window को थोड़ा कम करता है।

5. Timeout और Retransmission का उपयोग कहाँ होता है?

  • वेब ब्राउज़िंग: HTTP और HTTPS कनेक्शन में डेटा लॉस को रोकने के लिए।
  • वीडियो स्ट्रीमिंग: वीडियो डेटा ट्रांसफर की विश्वसनीयता सुनिश्चित करने के लिए।
  • ईमेल ट्रांसमिशन: SMTP और IMAP में सुरक्षित डेटा डिलीवरी के लिए।
  • ऑनलाइन गेमिंग: Lag और Packet Loss को कम करने के लिए।

6. Timeout और Retransmission Algorithms में अंतर

विशेषताTimeoutRetransmission Algorithm
परिभाषाACK प्राप्त करने की अधिकतम समय सीमाअगर ACK नहीं मिलता, तो डेटा पुनः भेजने की विधि
उद्देश्यडेटा ट्रांसमिशन में देरी को कम करनाडाटा की विश्वसनीयता सुनिश्चित करना
किस पर निर्भर?RTT और नेटवर्क ट्रैफिकPacket Loss और Acknowledgment
उदाहरणFixed Timeout, Adaptive TimeoutFast Retransmission, Karn’s Algorithm

निष्कर्ष

Timeout और Retransmission Algorithms TCP में डेटा ट्रांसफर की विश्वसनीयता सुनिश्चित करने के लिए महत्वपूर्ण हैं। विभिन्न एल्गोरिदम जैसे Karn’s Algorithm, Adaptive Retransmission, Exponential Backoff और Fast Retransmission यह सुनिश्चित करते हैं कि पैकेट लॉस होने पर डेटा को पुनः भेजा जाए, जिससे नेटवर्क परफॉर्मेंस बेहतर बना रहे।

Related Post

Comments

Comments