TCP/IP Deep Dive¶
TCP/IP Model Overview¶
TCP Header Structure¶
TCP Connection States¶
TCP Flow Control¶
TCP Congestion Control¶
TCP Congestion Control Algorithms¶
IP Addressing¶
NAT (Network Address Translation)¶
NAT Types¶
- SNAT: Source NAT (outbound, changes source IP)
- DNAT: Destination NAT (inbound, port forwarding)
- PAT: Port Address Translation (many-to-one)
NAT Traversal Techniques¶
- STUN: Session Traversal Utilities for NAT
- TURN: Traversal Using Relays around NAT
- ICE: Interactive Connectivity Establishment
Socket Programming¶
Socket Options¶
Common TCP Issues¶
TCP Tuning Parameters¶
UDP Characteristics¶
Interview Questions¶
- Explain TCP three-way handshake
- SYN → SYN-ACK → ACK
- Establishes sequence numbers both directions
-
Takes 1.5 RTT
-
Why does TIME_WAIT exist?
- Ensures delayed packets don't corrupt new connections
- Allows final ACK to be retransmitted if lost
-
Duration: 2 × MSL (Maximum Segment Lifetime)
-
How does TCP handle packet loss?
- Timeout-based retransmission
- Fast retransmit (3 duplicate ACKs)
-
Selective acknowledgments (SACK)
-
What is TCP slow start?
- Initial congestion window = 1 MSS
- Doubles every RTT until ssthresh or loss
-
Avoids flooding network initially
-
TCP vs UDP: When to use each?
- TCP: Reliability needed (HTTP, databases)
- UDP: Low latency, loss tolerant (gaming, video)
- *