Computer Networks
CN Part-1
- What is a Computer Network?
- Goals and Applications of Computer Networking
- Computer Network Components
- Types of Computer Networks
- Network Topology
- Difference between Client Server and Peer to Peer Network
- Layered Architecture in Computer Networks
- Protocol Hierarchy in Computer Networks
- Interfaces and Services in Computer Networks
- Connection Oriented and Connectionless Services
- Service Primitives
- OSI Model
- TCP/IP Model
- Difference between OSI Model and TCP/IP Model
- Encapsulation and Decapsulation in Computer Networks
- Queueing Models in Computer Network
CN Part-2
- Physical Layer in Computer Networks
- Transmission Media in Computer Networks
- Analog and Digital Signals
- Data Rate and Bandwidth
- Encoding Techniques
- Multiplexing in Computer Networks
- Transmission Modes in Computer Networks
- Data Link Layer
- Framing in Data Link Layer
- Flow Control in Data Link Layer
- Error Control in Data Link Layer
- Error Detection and Correction in Computer Networks
- Stop and Wait Protocol
- Sliding Window Protocol
- SDLC(Synchronous Data Link Control) Protocol
- High-Level Data Link Control (HDLC) Protocol
- Point-to-Point Protocol (PPP)
CN Part-3
- MAC Sublayer and MAC Addressing
- Channel Allocation Methods
- ALOHA Protocol (Pure and Slotted ALOHA)
- CSMA/CD and CSMA/CA in Computer Networks
- Ethernet (IEEE 802.3)
- Wireless LANs (IEEE 802.11, Wi-Fi, and Bluetooth Basics)
- Network Layer and Design Issues
- IPv4 and IPv6 Protocols
- Addressing: IP Address, Subnetting, and Supernetting
- Routing Algorithms: Static vs Dynamic, Distance Vector, and Link State
- Routing Protocols: RIP, OSPF, and BGP
- Packet Switching and IP Fragmentation
- Network Layer Protocols: ICMP, ARP, RARP, DHCP, and NAT
CN Part-4
- Transport Layer and Functions
- Process-to-Process Delivery, Ports, and Sockets
- TCP Segment and Three-Way Handshake Connection Establishment
- UDP (User Datagram Protocol): Format and Features
- Flow Control and Error Control in Transport Layer
- Congestion Control: Leaky Bucket, Token Bucket, and TCP Congestion Control
CN Part-5
- Application Layer Architecture and Principles
- Domain Name System (DNS)
- Email Protocols: SMTP, POP3, and IMAP
- File and Web Protocols: FTP, HTTP, and HTTPS
- Remote Access Protocols: Telnet and SSH
- World Wide Web (WWW) and Web Architecture
- Network Security Basics: SSL, TLS, and Cryptography Fundamentals
Flow Control and Error Control in Transport Layer
Transport Layer par Flow aur Error Control kyu zaroori hai?
Network Layer sirf “Best-effort” delivery provide karti hai. Packets raste mein corrupt ho sakte hain, drop ho sakte hain, ya out-of-order pahunch sakte hain.
Saath hi, sender computer bohot powerful aur high-speed fiber connection par ho sakta hai (e.g. 1 Gbps), jabki receiving device ek slow mobile phone ho sakta hai (e.g. 10 Mbps). Agar sender bina ruke full speed par data bhejta rahe, toh receiver ka buffer turant overflow ho jayega aur packets drop hone lagenge.
Is problem ko solve karne ke liye Transport Layer (specifically TCP) End-to-End Flow Control aur Error Control provide karti hai.
1. Flow Control in Transport Layer (Sliding Window Protocol)
Flow control ka simple rule hai: “Receiver ki speed ke hisab se Sender ko control karna” taaki receiver buffer overflow na ho.
TCP Byte-Oriented Sliding Window Protocol use karta hai.
Receiver har Acknowledgment (ACK) packet ke header mein ek 16-bit field bhejta hai jise Window Size (Advertised Window – rwnd) kehte hain.
rwndbatata hai ki receiver ke buffer mein is waqt kitne bytes receive karne ki free space bachi hai.Sender kabhi bhi
rwndse zyada unacknowledged data transmit nahi kar sakta.
Sliding Window ka Working Flow:
Sender Receiver (Buffer = 4000 Bytes) | | |========= Segment 1: Bytes 1 - 1000 ===============================>| (Buffer: 1000 used, 3000 free) | | |<======== ACK = 1001, Window Size = 3000 ===========================| (Advertises rwnd = 3000) | | |========= Segment 2: Bytes 1001 - 3000 (2000 Bytes) ===============>| (Buffer: 3000 used, 1000 free) | | |<======== ACK = 3001, Window Size = 1000 ===========================| (Advertises rwnd = 1000) | | |========= Segment 3: Bytes 3001 - 4000 (1000 Bytes) ===============>| (Buffer FULL! 0 free) | | |<======== ACK = 4001, Window Size = 0 (Zero Window!) ===============| (Sender STOPS transmission!) | |
Silly Window Syndrome aur Zero Window Probe:
-> Zero Window: Jab receiver ka buffer 100% full ho jaata hai, wo Window Size = 0 advertise karta hai. Sender turant transmission rok deta hai.
-> Persistence Timer & Probe: Jab window 0 hoti hai, sender ek Persistence Timer start karta hai. Timer expire hone par sender ek 1-byte Probe Segment bhejta hai taaki check kar sake ki kya receiver ke buffer mein space khali hui hai.
-> Silly Window Syndrome: Agar receiver application 1-1 byte read karti hai aur 1-byte window advertise karti hai, toh 1 byte data ke upar 40 byte ka header waste hota hai. Ise rokne ke liye Nagle's Algorithm (sender side) aur Clark's Solution (receiver side) use hote hain.
2. Error Control in Transport Layer
TCP error control ke liye teen core mechanisms use karta hai:
A. Checksum
Har segment ke TCP header mein 16-bit checksum calculate hota hai. Agar receiver par checksum mismatch hota hai, toh segment corrupt maana jaata hai aur receiver use silently drop kar deta hai.
B. Acknowledgments (ACK)
TCP Cumulative Acknowledgment use karta hai. Agar receiver ACK = N bhejta hai, toh iska matlab hai ki byte N-1 tak saara data safely receive ho chuka hai, aur ab byte N ka wait hai.
C. Retransmission Mechanisms
Agar koi packet drop ho jaye, toh TCP do tariko se use retransmit karta hai:
RTO (Retransmission Timeout):
Sender har segment bhejne par ek timer start karta hai (jo Round Trip Time - RTT par dynamically calculate hota hai). Agar RTO expire hone se pehle ACK nahi milta, toh sender packet ko lost maankar retransmit karta hai.Fast Retransmit (Triple Duplicate ACK):
Agar beech ka koi packet (e.g. Packet 2) drop ho gaya, lekin aage ke packets (3, 4, 5) pahunch gaye, toh receiver har naye packet ke aane parACK = 2(Packet 2 ka acknowledgment) dubara bhejta rehta hai. Jab sender ko 3 Duplicate ACKs (Total 4 identical ACKs) milte hain, toh sender timer expire hone ka wait kiye bina turant Packet 2 retransmit kar deta hai!
Summary Table
| Mechanism | Working Principle |
|---|---|
| Flow Control | Sliding Window Protocol with Receiver Advertised Window (rwnd). |
| Zero Window Probing | Buffer full hone par sender transmission pause karke probe segments bhejta hai. |
| Fast Retransmit | 3 Duplicate ACKs milne par bina timeout ka wait kiye turant packet retransmit karna. |