CS118 Dis 1EF, Week 4
Xinyu Ma
Contents
2
TCP
3
Client
Server
TCP Model
A pipeline of bits
IP Model
A graph, that packets go through
Packet format
4
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Acknowledgment Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data | |U|A|P|R|S|F| |
| Offset| Reserved |R|C|S|S|Y|I| Window |
| | |G|K|H|T|N|N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Urgent Pointer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Minimum Size
5
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Acknowledgment Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data | |U|A|P|R|S|F| |
| Offset| Reserved |R|C|S|S|Y|I| Window |
| | |G|K|H|T|N|N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Urgent Pointer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4x5
Old Quiz
6
TCP
7
(FYI) Nagle’s Algorithm
A segment is sent when any of:
Retransmission
8
Congestion Control (slow start w/ cong. avoidance)
9
Old Homework
10
Old Homework
11
Old Homework
12
Old Homework
13
Connection Setup
14
FYI
Every packet that needs to be ACKed will take a SEQ.
Connection Close
15
Simultaneous Close (FYI)
If two sides both send FIN, both sides need to wait
16
FIN
FIN
FIN-ACK
FIN-ACK
wait
wait
Old Quiz
17
Old Homework
True or False?
18
Old Homework
True or False?
19
Old Homework
True or False?
20
Old Homework
True or False?
21
Old Homework
22
Old Homework
23
A
B
34679
2000
S, seq=1234
SA, seq=5678, ack=1235
A, seq=1235, ack=5679
A, seq=1735, ack=5679
A, seq=2235, ack=5679
A, seq=5679, ack=2735
FA, seq=2735, ack=5679
A, seq=5679, ack=2736
FA, seq=5679, ack=2736
A, seq=2736, ack=5680
Old Homework
24
A
B
34679
2000
S, seq=1234
SA, seq=5678, ack=1235
A, seq=1235, ack=5679
A, seq=1735, ack=5679
A, seq=2235, ack=5679
A, seq=5679, ack=2735
FA, seq=2735, ack=5679
A, seq=5679, ack=2736
FA, seq=5679, ack=2736
X
Two stages of congestion
25
A
B
R1
R2
2Mbps 2ms
1Mbps 2ms
2Mbps 2ms
1000b
1000b
1000b
1000b