Reliable delivery और sliding windows
लक्ष्य और स्पष्ट conventions
Flow control, loss recovery और pipelining समझें; stop-and-wait, Go-Back-N तथा Selective Repeat trace करें और window-limited rate निकालें। ये सामान्य teaching protocols हैं, पूरा TCP specification नहीं। अन्य निर्देश न हों तो frames बराबर लंबाई के हैं। Sequence numbers modulo2^k चलते हैं। यहाँ Go-Back-N में ACK n का अर्थ अगला अपेक्षित sequence number है। कुछ पुस्तकों में आखिरी प्राप्त frame का number होता है; पहले convention पहचानें।
Flow control receiver को overload से बचाता है। Error control loss/corruption पकड़ता या सुधारता है। Congestion control network load सीमित करता है। ये समान समस्याएँ नहीं हैं। Checksum खराब frame पकड़ सकता है लेकिन स्वयं recovery नहीं करता; ACK और retransmission recovery जोड़ते हैं।
1. Stop-and-wait और alternating bit
एक frame भेजकर copy रखें और timer चलाएँ। सही acknowledgment पर आगे बढ़ें, timeout पर फिर भेजें। Duplicate पहचानना जरूरी है: data deliver हो गया पर ACK खो गया तो दोबारा आया data application को दूसरी बार न मिले। एक outstanding frame और सीमित packet lifetime की उपयुक्त assumption में0 और1 sequence bits नया और repeated frame अलग करते हैं। Duplicate का ACK फिर भेजें लेकिन data फिर deliver न करें। अनिश्चित समय तक जीवित पुराने packets को बार-बार wrap होने वाले bits अकेले नहीं पहचान सकते।
हल trace: sender data0 भेजता है; receiver स्वीकारकर ACK देता है, पर ACK खो जाता है। Timeout पर0 फिर आता है। Receiver अब1 अपेक्षित कर रहा है, इसलिए0 duplicate है। वह ACK दोहराता है लेकिन दूसरी copy deliver नहीं करता। फिर sender1 भेजता है। यदि data0 ही खोया होता तो retransmission पहली स्वीकार की गई copy होती। Timeout से यह पक्का नहीं होता कि data ही खोया था।
2. Stop-and-wait utilization
Frame transmission T_f=L/R, one-way propagation T_p और ACK transmission T_a लें। Processing, queuing, errors और turnaround overhead शून्य हैं। पहले data bit से लौटे आखिरी ACK bit तक cycle T_f+2T_p+T_a है। Utilization U=T_f/(T_f+2T_p+T_a)। ACK time negligible और a=T_p/T_f हो तो U=1/(1+2a)। Goodput में केवल useful payload bits गिनें; headers दिए हों तो उन्हें payload न मानें।
उदाहरण:1000-byte केवल-payload teaching frame, rate10 Mb/s पर0.8 ms लेता है। One-way propagation4 ms और ACK negligible हो तो cycle8.8 ms, U=1/11≈9.09%। Goodput8000/0.0088≈0.909 Mb/s। केवल bandwidth बढ़ाने से serialization कम होता है, propagation wait समाप्त नहीं होता।
3. Sliding windows और pipeline
W-frame sender window से ACK का इंतजार किए बिना W outstanding frames रख सकते हैं। ऊपर के ideal error-free model में immediate ACK और negligible ACK serialization पर U=min(1,W×T_f/(T_f+2T_p))=min(1,W/(1+2a))। लगातार transmission के लिए W≥ceil(1+2a)। पिछले उदाहरण में W11 पर्याप्त है; W5 पर utilization5/11 है। पहले frame को पूरा भेजने का समय भी feedback cycle में शामिल है।
Byte-window approximation में rate≤window/RTT अक्सर लेते हैं जब RTT संबंधित acknowledgment feedback interval हो और serialization पहले शामिल या negligible हो। RTT की परिभाषा लिखें: कुछ प्रश्न केवल round-trip propagation कहते हैं, कुछ serialization भी जोड़ते हैं। Bandwidth-delay product आवश्यक in-flight data बताता है; exact frame सीमा definitions पर निर्भर है। Buffering, loss, ACK policy और congestion वास्तविक throughput घटा सकते हैं।
4. Go-Back-N
k bits में standard Go-Back-N sender window अधिकतम2^k−1 और receiver window1 है। Receiver केवल अगला expected frame स्वीकारता है, out-of-order frames छोड़ता है और cumulative ACK भेजता है। Basic protocol में oldest outstanding frame का timeout होने पर उसे और सभी बाद के outstanding frames को फिर भेजते हैं। इस model में oldest के लिए एक timer पर्याप्त है। लंबी pipeline में एक loss के बाद ज्यादा transmission दोहर सकती हैं।
Window4, expected0 लें। Sender0,1,2,3 भेजता है,1 खो जाता है। Receiver0 स्वीकारकर ACK1 देता है;2 और3 discard करके ACK1 दोहराता है। Timeout पर1,2,3 फिर भेजे जाते हैं, यदि वे अभी outstanding हैं। इन्हें क्रम से पाकर ACK4 दिया जा सकता है। हमारे convention में ACK4 सभी4 से पहले के frames cover करता है। Window2^k क्यों नहीं? पूरा cycle भेजकर सभी ACK खो जाएँ तो receiver उसी expected number पर लौट सकता है और पुराने retransmissions को नया समझ सकता है।
5. Selective Repeat
Selective Repeat receive-window के out-of-order frames स्वीकारकर buffer करता है, individual ACK भेजता है और केवल missing frames फिर भेजता है। Receiver state अधिक चाहिए; logical अलग timers हो सकते हैं। Gap भरने पर data क्रम में deliver होता है। बराबर sender/receiver windows W और k-bit numbering में classic bound W≤2^(k−1) है, वरना wraparound पर old और new windows अस्पष्ट रूप से overlap कर सकती हैं। General separation condition W_s+W_r≤2^k है, model की packet-lifetime assumptions के अंतर्गत।
पर्याप्त sequence space और window4 में0,1,2,3 भेजें,1 खो जाए। Receiver0 स्वीकारता और2,3 buffer करके individual ACK देता है।1 दोबारा मिलने पर gap बंद होता और1,2,3 deliver होते हैं। यहाँ केवल1 retransmit चाहिए। ACK खोने पर duplicate आए तो उसे फिर ACK करना पड़ सकता है, लेकिन दोबारा deliver नहीं करना। Buffer में data होना application को gap के पार ordered delivery देने की अनुमति नहीं है।
हल bounds: k3 से8 values हैं। Go-Back-N sender window7 और equal-window Selective Repeat4 तक है। Selective Repeat window5 के लिए2^k≥10, इसलिए k≥4। केवल2^k≥W लगाना गलत है।
6. सही model चुनना
Stop-and-wait में कम state है, लेकिन long-delay link खाली रह सकता है। Go-Back-N receiver सरल है पर gap के बाद सही पहुँचे frames भी दोहराता है। Selective Repeat retransmissions बचाता है लेकिन buffering और state बढ़ाता है। Piggybacking में reverse-direction data पर ACK जुड़ता है; reverse traffic न हो तो ACK timer चाहिए। Delayed ACK feedback timing बदलता है, इसलिए immediate-ACK formula बिना सोचे न लगाएँ।
Trace में sender base, next-to-send, receiver expectation, accepted/buffered frames, ACK meaning और timeout target लिखें। जाँचें कि corruption loss माना है या नहीं, ACK खो सकता है या नहीं और delivery ordered है या नहीं। Throughput में payload/frame sizes, rate, propagation, ACK time और errors की assumptions चाहिए। TCP में byte numbering, cumulative ACK, optional selective acknowledgment और congestion behavior अलग से समझना होगा।
मौलिक अभ्यास: छह single-correct MCQ
ये मौलिक शिक्षण प्रश्न हैं, पिछले वर्षों के प्रश्न नहीं। ठीक एक उत्तर चुनें।
P01. Alternating-bit stop-and-wait में frame0 स्वीकार हुआ पर ACK खो गया। फिर frame0 आने पर receiver क्या करे?
A. इसे फिर deliver करे B. फिर ACK दे, data फिर deliver न करे C. इसे frame1 माने D. सारा application data मिटाए
उत्तर: B
A: इससे application data दो बार मिलता है।
B: फिर ACK से प्रगति बहाल होगी, data दोबारा नहीं देना है।
C: Sequence number0 ही है।
D: ऐसी recovery action जरूरी नहीं।
P02. T_f1 ms, one-way propagation4 ms और negligible ACK time में ideal stop-and-wait utilization क्या है?
A. 1/4 B. 1/5 C. 1/8 D. 1/9
उत्तर: D
A: Return path और frame time छूटे हैं।
B: इसमें केवल एक propagation interval है।
C: Cycle में1 ms serialization भी है।
D: Cycle1+8=9 ms, इसलिए utilization1/9।
P03. पिछले ideal timing model में लगातार transmission के लिए न्यूनतम frame window कितना है?
A. 4 B. 8 C. 9 D. 10
उत्तर: C
A: चार frames9 ms cycle cover नहीं करते।
B: आठ frames पहले ACK के आने से पहले खत्म होते हैं।
C: ceil((1+8)/1)=9।
D: दस पर्याप्त हैं लेकिन न्यूनतम नहीं।
P04. 4-bit numbering में standard Go-Back-N sender window अधिकतम कितना है?
A. 7 B. 8 C. 15 D. 16
उत्तर: C
A: यह3-bit Go-Back-N का bound है।
B: 8 equal-window Selective Repeat का bound है।
C: 2^4−1=15।
D: सभी16 values से wraparound ambiguity हो सकती है।
P05. Equal-window Selective Repeat में9 frames की window चाहिए। न्यूनतम sequence bits कितने हैं?
A. 3 B. 4 C. 5 D. 9
उत्तर: C
A: कुल आठ values से9 की दो windows अलग नहीं होतीं।
B: चार bits में बराबर windows अधिकतम8 हैं।
C: 2^k≥18 चाहिए, इसलिए k5।
D: नौ bits चलते हैं लेकिन न्यूनतम नहीं।
P06. Basic Go-Back-N में0–3 भेजे गए,1 खोया और2–3 timeout से पहले आए। Receiver2–3 का क्या करता है?
A. Buffer करके1 से पहले deliver करता है B. Out-of-order मानकर discard करता है C. उनके sequence numbers बदलता है D. Frame1 अपने आप ठीक करता है
उत्तर: B
A: Basic Go-Back-N की receiver window1 है; ऐसी delivery नहीं होती।
B: यह expected1 ही स्वीकारता और cumulative ACK दोहराता है।
C: Receiver frames को नए numbers नहीं देता।
D: ARQ में retransmission से recovery है, स्वतः reconstruction नहीं।
स्रोत और दायरा
यह 2026 course के बताए भाग का पाठ है, पूरे Computer Networks syllabus की समाप्ति नहीं। सभी गणनात्मक उदाहरण और प्रश्न मौलिक हैं। 2027 की पूर्णता का दावा नहीं।
प्रगति सहेजने के लिए साइन इन करें। साइन इन