Click here to start
Table of contents
Slide 1
Background
Where TCP is in the Stack
What is TCP?
What is TCP? (Cont.)
Well-Known TCP Ports
Why Should an Application Use TCP?
TCP Segmentation
Packet Format
TCP Headers
TCP Port Numbers
Sequence and Acknowledgment Numbers
Other TCP Fields
TCP Flags
TCP Flags (Cont.)
TCP Options
TCP Options (Cont.)
Example TCP Packets: Request and Response
Connection Management
Overview
Canonical TCP Connection Establishment
Example TCP Connection Establishment
Path MTU Discovery
Path MTU Discovery Example
Canonical TCP Connection Termination
Example TCP Connection Termination
The TIME_WAIT (2MSL) State
Example TCP Packets: Line Mode Output - Web Transaction
Interactive Data Flow
Slide 30
Delayed ACKs: With and Without
Delayed Acknowledgement Example: One Character Typed in Telnet
The Nagle Algorithm
Nagle Algorithm Example: Telnet Session Across a WAN
Nagle Algorithm in Action
Bulk Data Flow
Slide 37
TCP ACK Behavior: ACK Per 2 Segments
TCP ACK Behavior: Duplicate ACKs Signal Congestion
Sliding Window Congestion
TCP Congestion Control Algorithms: Overview
Slow Start
Slow Start With One ACK Per Two Segments
Slide 44
Congestion Avoidance
Slide 46
Overall Behavior
TCP Sender Response to Loss
Fast Retransmit
Fast Recovery
TCP Bulk Transfer State Diagram
TCP Timeout Algorithm
TCP Timeout Algorithm (Cont.)
References
Author:
Mike Borella