





















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An overview of the transmission control protocol (tcp), explaining why it is necessary to build a reliable layer on top of the internet protocol (ip), the problems that can occur when sending messages between hosts, and how tcp addresses these issues through features like guaranteed delivery, message ordering, and flow control. The document also covers the tcp usage model, segment format, and state transition diagram.
Typology: Slides
1 / 29
This page cannot be seen from the preview
Don't miss anything!






















May be lost May be reordered May be delivered multiple times May be delivered after a long delay May be broken into smaller messages May be corrupted
Can this be done hop-by-hop
instead of end-to-end?
Think of this like the postal service
One major problem: Nodes would not know what
happened two or more hops ahead of them Routing tables incorrect, packets dropped, machine crashed, link failed… Only ends can be sure of receipt/non-receipt of a message
For others: read “End-to-end arguments for
System Design”… Classic, must-read paper, could be on exam
Syn (ISNA)
Syn (ISNB) + Ack (ISNA+1)
Ack (ISNB+1)
Fin (SNA)
(Data +) Ack (SN (^) A+1)
Fin (SNB)
Ack (SNB+1)
IP Hdr
IP Data TCP Data TCP Hdr
Src port Dst port
Sequence #
Ack Sequence # HLEN 4 RSVD 6 URG ACK PSH RST SYN FIN
Flags Window Size
Checksum Urg Pointer
(TCP Options)
0 15 31
Minimum value of 5 Offset to first data byte
URG: Segment contains urgent data ACK: ACK sequence number is valid PSH: Do not delay delivery of data RST: Reset connection (reject or abn. termination) SYN: Synchronize segment for setup FIN: Final segment for teardown
Each host suggests a value Minimum of two values is chosen Prevents IP fragmentation over first and last hops
Allows RTT calculation for retransmitted packets Extends sequence number space for identification of stray packets
Allows windows to be scaled to larger sizes Good for routes with large bandwidth-delay products
TCP Data
TCP Data
TCP HDR
TCP HDR
ISN (initial sequence number)
Sequence number = 1st byte Ack sequence number = next expected byte
LAST_ACK Connection closed by peer, closed locally, await ACK
Outstanding Un-ack’d data
Data OK to send
Data not OK to send yet
Data ACK’d