Professional Documents
Culture Documents
Carlson Evlbi TCP Fundamentals
Carlson Evlbi TCP Fundamentals
Fundamentals
Rich Carlson
Internet2
eVLBI workshop – TCP Fundamentals
September 17, 2006
Outline
2
Arpanet
3
IMPs & TIPs
4
The Original Arpanet
5
Networks Proliferate
• 1974 – BBN opens Telenet
• 1975 – DEC develops DECnet
• 1976 – UUCP (Unix-to-Unix CoPy)
• 1977 – Tymshare opens Tymnet
• 1981 – CUNY develops BITnet
6
Federal Agencies get in the Act
• ARPA - ARPAnet
• DOE – MFENet and HEPNet created
• NASA – SPAN created
• NSF – CSNet created
7
ISO OSI networks
8
7 Layer Reference Model
L7 Application
L6 Presentation
L5 Session
L4 Transport
L3 Network
L2 Data Link
L1 Physical
9
Host – to – Host Communications
Application Application
Presentation Presentation
Session Session
Transport Transport
Ethernet WiFi
10
Layer 1 - Physical
11
Layer 2 – Data Link Layer
12
Layer 3 – Network Layer
13
Layer 4 – Transport Layer
14
Layer 5 – Session Layer
15
Layer 6 – Presentation Layer
16
Layer 7 – Application Layer
17
OSI Quick Summary
18
TCP/P Internet
19
NCP to TCP transition
20
TCP/IP Architecture
Network
Based
Applications
L4 TCP, UDP
L3 IP
21
TCP/IP Architecture
Network
Based
Applications
L4 TCP, UDP
L3 IP
22
TCP/IP Quick Summary
23
Architecture Comparison
Application L7
Network
Presentation L6 Based
Applications
Session L5
Network L3 IP
24
IP Protocol
25
IP Header Field
• Fixed size header field (20 Bytes), Variable length
options
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL | DSCP |ECN| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
26
IP Address
• 32 bit unsigned number
• Network portion used for global routing
• Host portion used to identify specific
host
• Usually expressed in “dot quad” format
• 192.168.1.1 specifics specific host
• 192.168.1.0/24 specifies subnet of hosts
27
CIDR Rules
• Example 192.168.2.10/23
• C0A8020A + FFFFFE00 = C0A80100
• Range is 192.168.1.0 – 192.168.2.255
• First and last addresses in subnet are reserved
28
Network Infrastructure
Switch 2 Switch 3
R5
R4
R8
R1
Switch 1
R3 R6
R9
R2
R7
Switch 4
29
IP Fragmentation
30
IP Don’t Fragment
31
TCP Protocol
32
TCP Header
• Fixed size header field (20 Bytes), Variable length
options
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 | |C|E|U|A|P|R|S|F| |
| Offset|Reserve|W|C|R|C|S|S|Y|I| Window |
| | |R|E|G|K|H|T|N|N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Urgent Pointer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
33
TCP Connection Setup
34
TCP Flow Control
35
TCP Reno
36
TCP and RTT / Loss
39
TCP modifications
40
TCP Bulk Transfer
http://netflow.internet2.edu/weekly/20060501/#xputs
41
TCP Behavior due to Loss
Congestion Window Behavior Throughput Behavior
42
UDP Protocol
43
Domain Name System
44
Real-time Transport Protocol
45
Unicast vs Multicast
46
Multicast Traffic
47
Conclusions
48
49
TCP Behavior due to Loss
50
TCP Throughput with Loss
51