ISO Layer and TCP Fundamentals

advertisement
ISO Layer and TCP
Fundamentals
Rich Carlson
Internet2
eVLBI workshop – TCP Fundamentals
September 17, 2006
Outline
• A Brief history of networking
• The OSI reference model
• The TCP/IP architecture
• TCP Fundamentals
2
Arpanet
• 1962 - ARPA pursues new Interactive
Computing paradigm
• Focus is on computers as a
communications device
• Industry focused on computers as
arithmetic calculators
3
IMPs & TIPs
• 1969 – A 4 node network is built using
Interface Message Processors (IMPs)
• UCLA, SRI, UCSB, Univ of Utah
• 1971 – BBN develops a Terminal IPM
(TIP) supports up to 64 terminals
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
International Organization for
Standardization (ISO)
• Open Systems Interconnection (OSI)
• 1979 - 7 layer reference model defined
• 1982 – ISO begins deliberations on specific
protocols for each layer
• 1990 – U.S. mandates all gov. purchased
computers must be GOSIP compliant
• 1995 – GOSIP requirement rescinded
8
7 Layer Reference Model
9
L7
Application
L6
Presentation
L5
Session
L4
Transport
L3
Network
L2
Data Link
L1
Physical
Host – to – Host Communications
Application
Application
Presentation
Presentation
Session
Session
Transport
Transport
Network
Network
Network
Data Link
Data Link
Data Link
Physical
Physical
Physical
Ethernet
10
WiFi
Layer 1 - Physical
• Defines the physical, electrical/optical
specifications for each network device
• Pin layout
• Voltages
• Optical levels
• Modulation scheme
• Examples:
• Ethernet, SONET, FDDI, IEEE 802.11
11
Layer 2 – Data Link Layer
• Functions and procedures to
transmit/receive bits over the physical
media.
• Media specific addressing
• Physical media error detection/recovery
• Bridge, Hub, Switch equipment
• Examples:
• Ethernet CSMA/CD, HDLC, SDLC
12
Layer 3 – Network Layer
• Functions and procedures needed to
transmit data throughout a global
network
• Routing functions
• Segmentation / reassembly
• Global addressing
• Example:
• IP addresses
13
Layer 4 – Transport Layer
• Functions to support the transparent
transfer of data between end users
• Reliability
• Error detection and recovery
• Flow control
• Examples:
• TCP, UDP, SCTP
14
Layer 5 – Session Layer
• Control sessions between computers
• Establish, maintain, terminate connections
• Duplex operation (full or half)
• Checkpointing and restart procedures
15
Layer 6 – Presentation Layer
• Transforms data to/from a common
format
• Encoding
• Compression
• Encryption
• Examples:
• MIME, XML
16
Layer 7 – Application Layer
• Program used to interact with computer
and data
• Specific application for each task
• GUI or command line interface
• Examples:
• SSH, SCP, HTTP, email
17
OSI Quick Summary
• OSI reference model defines modular
‘stack’ that allows multi-vendor
interoperations.
• Input/output details specified
• Internal details left up to individual
vendors
• Usually implemented by a series of
function calls
18
TCP/P Internet
• Direct descendant of ARPAnet
• Provides Global packet switched network
services
• ‘Standard’ protocol shipped by most
vendors
• Still under active development
• IPv6
• TCP modifications
19
NCP to TCP transition
• NCP (Network Control Protocol) a hostto-host protocol for the Arpanet
• Handled multiple functions
• Separate network and transmission
functions into 2 distinct protocols
• IP handles addressing and routing functions
• TCP handles reliability functions
• 1 year transition period
• Flag day specified as 1-Jan-1983
20
TCP/IP Architecture
Network
Based
Applications
21
L4
TCP, UDP
L3
IP
L2
Ethernet, Sonet, ATM
L1
Copper, Fiber, Radio
TCP/IP Architecture
Network
Based
Applications
22
L4
TCP, UDP
L3
IP
L2
Ethernet, Sonet, ATM
L1
Copper, Fiber, Radio
TCP/IP Quick Summary
• Grew out of ARPA funded research
program
• Free wide spread deployment in BSD 4.2
OS
• TCP/IP protocols form the Internet
23
Architecture Comparison
Application
L7
Network
Presentation
L6
Based
Applications
24
Session
L5
Transport
L4
TCP, UDP
Network
L3
IP
Data Link
L2
Ethernet, Sonet, ATM
Physical
L1
Copper, Fiber, Radio
IP Protocol
• IP is a connectionless datagram delivery
service
• Unreliable Delivery
•
•
•
•
No concept of order
No concept of loss
No concept of late
TTL field to ‘Kill Off’ packets
• Each packet treated separately
• Operates over numerous data-link and
physical networks
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
• Host portion
used for global routing
used to identify specific host
• Usually expressed in “dot quad” format
• 192.168.1.1
• 192.168.1.0/24
27
specifics specific host
specifies subnet of hosts
CIDR Rules
• IP address is ANDed with bit mask to
extract network portion
• Classless Inter-domain Routing (CIDR)
• Specifies length of bit mask
• 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 1
R4
Switch 3
R5
R8
R1
R3
R6
R2
R7
Switch 4
29
R9
IP Fragmentation
• Routers may break packets into smaller
chunks (fragmentation)
• Destination host is responsible for
reassembling all fragments into original
packet
• Performance impact on modern (ASIC
based) routers
30
IP Don’t Fragment
• Flag in header to indicate that packet
should be discarded instead of
fragmented
• Basis for Path MTU Discovery protocol
• Find the largest packet that can transit the
entire end-to-end path
• Router may return an ICMP error message
when it discards the packet
• PMTU black holes can occur
31
TCP Protocol
• TCP provides connection orientated
delivery service
• Reliable Delivery
•
•
•
•
In-order guarantee
Loss detection and recovery
Flow control
Error detection
• Hides network details from applications
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
• Host in “Listen” state does passive open
• Host in “Connect” state does active open
• Hosts complete a 3-way handshake to
complete open (move to “Established”
state
• Full Duplex connection established,
hosts can transfer data in either direction
34
TCP Flow Control
• Original design relied on TCP Window size to
control number of packets entering the network
• Real world experience showed that network
could experience congestion collapse and new
mechanisms were needed
• Slow Start after connection is opened
• Exponential Growth algorithm
• Congestion Avoidance once loss is detected
• Linear Growth algorithm
35
TCP Reno
• Most common version of TCP today
• Loss based detection to switch from
Slow Start to Congestion Avoidance flow
control
• Transmit and Receive windows to
guarantee reliability
36
TCP and RTT / Loss
Speed = [C * Pkt Size]/[RTT * Sqrt(loss)]
Distance
RTT
Loss
(msec)
LAN
Metro
Transcontinental
Transcontinental
Global
1
8
70
70
500
(Mbps)
1 E-8
1 E-8
1 E-8
1 E-3
1 E-6
Uses standard Ethernet Size TCP segment (1480 bytes)
Formula from Mathis et.al.
37
Speed
82,880.0
10,360.0
1,184.0
3.7
16.6
TCP and Jumbo Frames
•Speed = [C * Pkt Size]/[RTT * Sqrt(loss)]
•Jumbo Frames are a non-standard Ethernet
feature
Distance
Transcontinental
Transcontinental
Use 1 E-6 loss rate
Formula from Mathis et.al.
38
RTT
Pkt Size
Speed
(msec)
(Bytes)
(Mbps)
70
70
1500
9000
120.0
720.0
TCP and BDP
•TCP uses a sliding Window to maintain reliability
• 16 bit header field for supports 64 KB max window size
• Window Scale options increases this up to 1 GByte
Distance
LAN
Metro
Transcontinental
Transcontinental
Global
39
RTT
Window
Speed
(msec)
(Bytes)
(Mbps)
1
8
70
70
500
64K
64K
64K
8M
256K
524.3
65.5
7.5
958.7
4.2
TCP modifications
• Most changes to TCP’s Congestion
Avoidance growth algorithm
• Recognized that linear growth is not
efficient for Fast Long-Distance Paths
40
Loss Based
Detection
Delay Based
Detection
•Reno
•High Speed
•BIC, Cubic
•Vegas
•Fast
TCP Bulk Transfer
http://netflow.internet2.edu/weekly/20060501/#xputs
41
TCP Behavior due to Loss
42
Congestion Window Behavior
Throughput Behavior
Cwnd (Bytes) vs Time (msec)
Speed (Mbps) vs Time (msec)
UDP Protocol
• UDP – User Datagram Protocol
• Application must provide
• Reliability
• Flow Control
• Useful for short messages
• DNS
• Real Time audio/video
43
Domain Name System
• DNS – Domain Name System
• Translates Fully Qualified Domain Name
(FQDN) into IP address
• A Globally distributed database
• Hierarchical naming structure
• Supports both Authoritative and Caching
servers
• Requires a minimum of 2 packets and 1
RTT for each resolution
44
Real-time Transport Protocol
• RTP – Real-time Transport Protocol
• Carries data with real-time properties
• Used for Audio and Video streams
• Header contains sequence number and
timestamp to provide receiver with pkt info
• RTCP – RTP Control Protocol
• Carries control information about the stream
from receiver back to sender
45
Unicast vs Multicast
• Unicast packets - 1 source & 1 destination
• Multicast packets
•
•
•
•
IP addresses (224.0.0.0 – 239.255.255.255)
Single source, multiple receivers
Multiple sources, multiple receivers
Routers and Switches must support multicast to
prevent unwanted packets from flooding the
network
• Multiple unicast streams can be used to
emulate a multicast session
46
Multicast Traffic
• Source starts sending packets using a
multicast IP address
• Local router/switch uses control
messages to advertise traffics availability
• Receivers send request-to-join
messages
• New path from receiver to “merge point”
is created and traffic flow begins
47
Conclusions
• Global packet switching began with the
ARPAnet
• TCP/IP packet switching is the defacto
standard for today’s networks
• Smart hosts, dumb infrastructure
• New and existing applications support
end-to-end communications between
people
48
49
TCP Behavior due to Loss
50
TCP Throughput with Loss
51
Download