TheHingineer

 Sliding Window Protocol

Sliding Window Protocol ek aisa technique hai jo Data Link Layer aur Transport Layer mein use hota hai. Iska kaam hota hai data ko efficiently aur correct order mein bhejna, bina receiver ko overload kiye.

Yeh protocol 3 important cheezein ensure karta hai:

  • Data correct order mein pahunchta hai

  • Receiver par jyada load na ho

  • Agar data lost ya corrupt ho jaye to usse detect karke dobara bhejna

 Kyun chahiye Sliding Window?

Socho tum apne friend ko ek ek letter bhej rahe ho aur har baar uska reply aane ka wait kar rahe ho. Bahut time lagega na?

Aur agar tum ek saath 50 letters bhej do, to shayad tumhara friend confuse ho jaye ya kuch miss kar de.

Sliding Window Protocol in dono ke beech ka balance banata hai — na bahut slow, na bahut fast.

 Main Terms

  • Window Size: Maximum number of frames jo sender bina reply ka wait kiye bhej sakta hai.

  • Acknowledgment (ACK): Receiver ka message jo batata hai ki frame sahi se receive ho gaya.

  • Sliding: Jaise hi ACK aata hai, window aage slide kar jaati hai — matlab naye frames bhejne ki permission mil jaati hai.

 Types of Sliding Window Protocol

 1. Go-Back-N (GBN)

 Basic Idea:

  • Sender ek saath N frames tak bhej sakta hai, bina wait kiye.

  • Receiver har frame ka ACK (Acknowledgment) bhejta hai.

  • Agar koi frame miss ho jaye ya corrupt ho, to uske baad ke saare frames dobara bhejne padte hain, chahe wo sahi hi kyun na ho.

 Kaise kaam karta hai?

  1. Sender ek window size fix karta hai (maan lo N = 4).

  2. Wo 4 frames (Frame 0 to 3) ek saath bhej sakta hai.

  3. Receiver ACK bhejta hai har frame ka (ya cumulative ACK deta hai).

  4. Agar Frame 1 ka ACK nahi aaya (means lost or error), to:

    • Sender Frame 1 se lekar last tak jitne bhi bheje the, sab dubara bhejega.

 Example:

Window Size = 4
Sender sends → [Frame 0][Frame 1][Frame 2][Frame 3]

  • Suppose Frame 1 lost ho gaya.

  • Receiver ko Frame 2 aur 3 mil jaate hain, lekin wo unhe discard kar deta hai, kyunki Frame 1 nahi aaya.

  • Receiver ACK nahi bhejta.

  • Sender Frame 1, 2, 3 dobara bhejta hai.

 Pros:

  • Simple to implement

  • Less memory needed at receiver

 Cons:

  • Wastage of bandwidth — sahi frames bhi dobara bhejne padte hain

  • Agar ek frame bhi miss ho gaya, toh baaki saare dobara

 2. Selective Repeat (SR)

 Basic Idea:

  • Sender bhi ek window size fix karta hai.

  • Frames ko bhejta hai bina wait kiye, lekin…

  • Receiver har frame ko individual order mein accept karta hai.

  • Agar koi frame miss ho jaye, toh sirf wahi frame dubara bhejna padta hai.

 Kaise kaam karta hai?

  1. Sender sends multiple frames (e.g. 0–3)

  2. Suppose Frame 2 lost ho gaya

  3. Receiver phir bhi Frame 0, 1, 3 ko receive kar leta hai

  4. Wo ACK 0, ACK 1, ACK 3 bhejta hai

  5. Sender dekh kar samajh jaata hai ki Frame 2 ka ACK nahi aaya

  6. Sender sirf Frame 2 dobara bhejta hai

 Example:

Window Size = 4
Sender sends → [0][1][2][3]
Frame 2 lost

Receiver:
 Frame 0 → ACK 0
 Frame 1 → ACK 1
 Frame 2 → Lost
 Frame 3 → ACK 3

Sender:
 Only re-sends → [2]

 Pros:

  • Bandwidth efficient – sahi frames ko dobara nahi bhejna padta

  • Receiver out-of-order frames bhi accept kar sakta hai (buffer karta hai)

 Cons:

  • Thoda complex to implement

  • Receiver ko memory chahiye to store out-of-order frames

 Go-Back-N vs Selective Repeat

FeatureGo-Back-NSelective Repeat
RetransmissionLost frame ke baad sab dobaraSirf lost ya corrupt frame dobara
Receiver BufferEk hi frame receive karta haiMultiple frames receive + buffer
ACK TypeCumulative ACKIndividual ACK
Bandwidth WastageZyadaKam
ComplexitySimpleThoda complex

 Real Life Example

 Go-Back-N: Tum 5 books courier se bhejte ho. Agar 3rd book damage ho gayi, to receiver tumse 3, 4, 5 fir se maangta hai.

 Selective Repeat: Tum 5 books bhejte ho. Sirf 3rd book damage ho gayi, receiver 1, 2, 4, 5 rakh leta hai aur sirf 3rd fir se maangta hai.

 Advantages of Sliding Window Protocol

  • Bandwidth ka achha use hota hai

  • Data order mein aur reliable pahuchta hai

  • Stop-and-Wait se kaafi fast aur efficient


 Summary Table

TermMeaning
WindowFrames ka group jo bina wait kare send ho sakta hai
ACKReceiver ka confirmation message
Go-Back-NLost frame ke baad sab dubara
Selective RepeatSirf galat frame dobara
Scroll to Top