Guide to TCP/IP, Third Edition : Guide to TCP/IP, Third Edition Chapter 5:
Transport Layer TCP/IP Protocols
Objectives : Transport Layer TCP/IP Protocols 2 Objectives Understand the key features and functions of the User Datagram Protocol
Explain the mechanisms that drive segmentation, reassembly, and retransmission for the Transmission Control Protocol
Choose between using User Datagram Protocol and Transmission Control Protocol
UDP – A Connectionless Transport Layer Protocol : Transport Layer TCP/IP Protocols 3 UDP – A Connectionless Transport Layer Protocol Connectionless protocols
Provide the simplest kind of transport services
UDP
Used by applications that contain their own connection oriented timeout values and retry counters
Runs up to 40 percent faster than TCP
UDP – A Connectionless Transport Layer Protocol (continued) : Transport Layer TCP/IP Protocols 4 UDP – A Connectionless Transport Layer Protocol (continued) Connectionless protocols handle the following kinds of tasks
Message checksum
Higher-layer protocol identification
Overview of UDP : Transport Layer TCP/IP Protocols 5 Overview of UDP UDP limitations
No reliability mechanisms
No delivery guarantees
No connection handling
Identifies Application layer protocol conveyed
Checksum for entire message carried in UDP header
No buffering services
No segmentation
UDP Header Fields and Functions : Transport Layer TCP/IP Protocols 6 UDP Header Fields and Functions UDP header’s main function
To define the process or application that is using the IP and UDP Network and Transport layers
UDP header fields
Source Port Number field
Destination Port Number field
Length field
Checksum field
Slide 7 : Transport Layer TCP/IP Protocols 7
UDP Header Fields and Functions (continued) : Transport Layer TCP/IP Protocols 8 UDP Header Fields and Functions (continued) Source Port Number field
Defines the application or process that sends the packet using the UDP header
Well-known port numbers (0 Through 1023)
Assigned to core services that systems offer
Registered port numbers (1024 Through 49151)
Assigned to industry applications and processes
Dynamic ports
Used as temporary ports for specific communications while they are underway
Slide 9 : Transport Layer TCP/IP Protocols 9
UDP Header Fields and Functions (continued) : Transport Layer TCP/IP Protocols 10 UDP Header Fields and Functions (continued) Destination Port Number Field
Defines destination application or process that uses the IP and UDP headers
Length field
Defines the length of the packet from the UDP header to the end of valid data
Checksum field is optional
UDP Port Numbers and Processes : Transport Layer TCP/IP Protocols 11 UDP Port Numbers and Processes UDP and TCP
Use port numbers to define the source and destination processes or applications
By default
Windows 2000 and Windows XP support up to 5,000 ports
Slide 12 : Transport Layer TCP/IP Protocols 12
Slide 13 : Transport Layer TCP/IP Protocols 13
TCP – A Connection-Oriented Protocol : Transport Layer TCP/IP Protocols 14 TCP – A Connection-Oriented Protocol Functions of connection-oriented protocols
Create a logical connection directly between two peers on an internetwork
Track the transfer of data and ensure it arrives successfully
Use sequence number tracking
Have a timeout mechanism
Have a retry mechanism
Overview of TCP : Transport Layer TCP/IP Protocols 15 Overview of TCP TCP offers connection-oriented services with
Sequencing, error recovery
Sliding window mechanism
TCP hosts
Create a virtual connection with each other using a handshake process
TCP
Transfers data as a continuous stream of bytes
Maximum TCP segment size is 65,495 bytes
Slide 16 : Transport Layer TCP/IP Protocols 16
TCP Startup Connection Process : Transport Layer TCP/IP Protocols 17 TCP Startup Connection Process Begins with handshake between two hosts
One host initiates the handshake to another host to
Ensure the destination host is available
Ensure the destination host is listening on the destination port number
Inform destination host of initiator’s sequence number
Slide 18 : Transport Layer TCP/IP Protocols 18
Slide 19 : Transport Layer TCP/IP Protocols 19
Slide 20 : Transport Layer TCP/IP Protocols 20
Slide 21 : Transport Layer TCP/IP Protocols 21
Slide 22 : Transport Layer TCP/IP Protocols 22
TCP Half-Open Connections : Transport Layer TCP/IP Protocols 23 TCP Half-Open Connections Occur when the handshake process does not end successfully with a final ACK
Half-open connection communication sequence occurs in the following order
SYN >>>>>
<<<<< ACK SYN
<<<<< ACK SYN
<<<<< ACK SYN
TCP Keep-Alive Process : Transport Layer TCP/IP Protocols 24 TCP Keep-Alive Process Can maintain connection when there is no data sent across the wire
TCP keep-alives
Disabled by default on Windows 2000, Windows Server 2003, and Windows XP
KeepAliveTime setting
Defines how long to wait before sending the first TCP keep-alive packet
Slide 25 : Transport Layer TCP/IP Protocols 25
TCP Connection Termination : Transport Layer TCP/IP Protocols 26 TCP Connection Termination Requires four packets
Host 1
Sends a TCP packet with the FIN and ACK flags set
Host 2
Sends an ACK in response
Then sends a TCP packet with FIN and ACK flags set
Host 1
Returns ACK response
Slide 27 : Transport Layer TCP/IP Protocols 27
Slide 28 : Transport Layer TCP/IP Protocols 28
TCP Sequence and Acknowledgment Process : Transport Layer TCP/IP Protocols 29 TCP Sequence and Acknowledgment Process Guarantees that packets are ordered properly and protects against missing segments
During handshake process
Each side of connection selects its own starting sequence number
Each side increments its sequence number value by the amount of data included in the outbound packet
Slide 30 : Transport Layer TCP/IP Protocols 30
Slide 31 : Transport Layer TCP/IP Protocols 31
TCP Error-Detection and Error-Recovery Process : Transport Layer TCP/IP Protocols 32 TCP Error-Detection and Error-Recovery Process Retransmission timer
First error-detection and error-recovery mechanism
Retransmission timeout (RTO)
Value specified by timer
Retransmission operation increments
1st retransmit: RTO seconds
2nd retransmit: 2 x RTO seconds
3rd retransmit: 4 x RTO seconds
4th retransmit: 8 x RTO seconds
5th retransmit: 16 x RTO seconds
TCP Congestion Control : Transport Layer TCP/IP Protocols 33 TCP Congestion Control Congestion
The overloading of the network or a receiver
Overloading of the network
Occurs when there is too much data on the network medium
Overloading a receiver
Occurs when the number of data bytes is greater than the advertised window
Current window
Always the lesser of what the network and receiver can handle
Slide 34 : Transport Layer TCP/IP Protocols 34
TCP Congestion Control (continued) : Transport Layer TCP/IP Protocols 35 TCP Congestion Control (continued) TCP has four defined congestion control mechanisms
Slow Start
Congestion Avoidance
Fast Retransmit
Fast Recovery
Slide 36 : Transport Layer TCP/IP Protocols 36
Slide 37 : Transport Layer TCP/IP Protocols 37
TCP Sliding Window : Transport Layer TCP/IP Protocols 38 TCP Sliding Window Used to determine the amount of unacknowledged data that can go out on the wire from any sender
Nagle algorithm
When small data segments are being sent, but not acknowledged, no other small segments can be sent
Silly Window Syndrome (SWS)
Caused when enough data is sent to a TCP host to fill its receiver buffer
Puts receiver in a zero-window state
TCP Header Fields and Functions : Transport Layer TCP/IP Protocols 39 TCP Header Fields and Functions Source Port Number Field
Destination Port Number Field
Sequence Number Field
Acknowledgment Number Field
Header Length Field
Slide 40 : Transport Layer TCP/IP Protocols 40
Slide 41 : Transport Layer TCP/IP Protocols 41
Slide 42 : Transport Layer TCP/IP Protocols 42
TCP Header Fields and Functions (continued) : Transport Layer TCP/IP Protocols 43 TCP Header Fields and Functions (continued) Window Size Field
TCP Checksum Field
Urgent Pointer Field
TCP Options Field(s)
Slide 44 : Transport Layer TCP/IP Protocols 44
Slide 45 : Transport Layer TCP/IP Protocols 45
Choosing Between TCP and UDP : Transport Layer TCP/IP Protocols 46 Choosing Between TCP and UDP Because TCP is robust and reliable
It carries a lot of baggage, including
Additional header fields
Explicit meta-messages in the form of TCP messages
For some lightweight services, such as Microsoft Messenger Service
TCP is overkill and UDP is used instead
TCP
No longer as important as it once was because
Long-haul and local area networks have significantly increased speed, capacity, and reliability
Summary : Transport Layer TCP/IP Protocols 47 Summary Transport layer protocols come in two types
Connectionless and connection-oriented
User Datagram Protocol
The connectionless protocol associated with TCP/IP protocol suite
UDP header is short and simple, consisting of
A protocol identifier in the IP header
An optional checksum value
Source and destination port addresses
Summary (continued) : Transport Layer TCP/IP Protocols 48 Summary (continued) Transmission Control Protocol
Heavyweight, connection-oriented protocol that helps name the TCP/IP protocol suite
TCP header
Longer and more complex,
Includes a variety of flags, values, and message types
Summary (continued) : Transport Layer TCP/IP Protocols 49 Summary (continued) Appropriate (and historical) uses for UDP
Concentrate on Application layer services that manage their own reliability and connections
Appropriate (and historical) uses for TCP
Concentrate on providing reliable delivery of user services