Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 51

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
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

Network Network Network

Data Link Data Link Data Link

Physical Physical Physical

Ethernet WiFi

10
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 host-to-


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

L4 TCP, UDP

L3 IP

L2 Ethernet, Sonet, ATM

L1 Copper, Fiber, Radio

21
TCP/IP Architecture

Network
Based
Applications

L4 TCP, UDP

L3 IP

L2 Ethernet, Sonet, ATM

L1 Copper, Fiber, Radio

22
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
Session L5

Transport L4 TCP, UDP

Network L3 IP

Data Link L2 Ethernet, Sonet, ATM

Physical L1 Copper, Fiber, Radio

24
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 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

• 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 3
R5
R4
R8
R1
Switch 1

R3 R6
R9

R2
R7

Switch 4

29
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 Speed
(msec) (Mbps)
LAN 1 1 E-8 82,880.0
Metro 8 1 E-8 10,360.0
Transcontinental 70 1 E-8 1,184.0
Transcontinental 70 1 E-3 3.7
Global 500 1 E-6 16.6
Uses standard Ethernet Size TCP segment (1480 bytes)
Formula from Mathis et.al.
37
TCP and Jumbo Frames
•Speed = [C * Pkt Size]/[RTT * Sqrt(loss)]
•Jumbo Frames are a non-standard Ethernet
feature

Distance RTT Pkt Size Speed


(msec) (Bytes) (Mbps)
Transcontinental 70 1500 120.0
Transcontinental 70 9000 720.0
Use 1 E-6 loss rate

Formula from Mathis et.al.


38
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 RTT Window Speed
(msec) (Bytes) (Mbps)
LAN 1 64K 524.3
Metro 8 64K 65.5
Transcontinental 70 64K 7.5
Transcontinental 70 8M 958.7
Global 500 256K 4.2

39
TCP modifications

• Most changes to TCP’s Congestion


Avoidance growth algorithm
• Recognized that linear growth is not
efficient for Fast Long-Distance Paths
Loss Based Delay Based
Detection Detection
•Reno •Vegas
•High Speed •Fast
•BIC, Cubic

40
TCP Bulk Transfer

http://netflow.internet2.edu/weekly/20060501/#xputs

41
TCP Behavior due to Loss
Congestion Window Behavior Throughput Behavior

Cwnd (Bytes) vs Time (msec) Speed (Mbps) vs Time (msec)

42
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

You might also like