Title: Transport Layer TCPIP Protocols
1 Transport Layer TCP/IP Protocols
2Objectives
- 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
3 UDP A Connectionless Transport Layer Protocol
- Connectionless protocols
- Simplest kind of transport services
- UDP
- Used by applications containing their own
connection oriented timeout values and retry
counters - Up to 40 percent faster than TCP
- Connectionless protocols handle
- Message checksum
- Higher-layer protocol identification
4Overview 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
5UDP Header Fields Functions
- UDP headers main function
- 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
6(No Transcript)
7UDP Header Fields Functions (continued)
- Source Port Number field
- Defines the application or process that sends the
packet using the UDP header - Well-known port numbers (0 - 1023)
- Assigned to core services that systems offer
- Registered port numbers (1024 - 49151)
- Assigned to industry applications processes
- Dynamic ports
- Used as temporary ports for specific
communications while they are underway
8(No Transcript)
9UDP Header Fields Functions (continued)
- Destination Port Number Field
- Defines destination application/process using 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
10UDP Port Numbers 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
11(No Transcript)
12(No Transcript)
13TCP 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
14Overview 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
15(No Transcript)
16TCP 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 initiators sequence
number
17(No Transcript)
18(No Transcript)
19(No Transcript)
20(No Transcript)
21(No Transcript)
22TCP 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 gtgtgtgtgt
- ltltltltlt ACK SYN
- ltltltltlt ACK SYN
- ltltltltlt ACK SYN
23TCP 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
24(No Transcript)
25TCP 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
26(No Transcript)
27(No Transcript)
28TCP Sequence 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
29(No Transcript)
30(No Transcript)
31TCP Error-Detection 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
32TCP 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
33(No Transcript)
34TCP Congestion Control (continued)
- TCP has four defined congestion control
mechanisms - Slow Start
- Congestion Avoidance
- Fast Retransmit
- Fast Recovery
35(No Transcript)
36(No Transcript)
37TCP 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
38TCP Header Fields Functions
- Source Port Number Field
- Destination Port Number Field
- Sequence Number Field
- Acknowledgment Number Field
- Header Length Field
39(No Transcript)
40(No Transcript)
41(No Transcript)
42TCP Header Fields Functions (continued)
- Window Size Field
- TCP Checksum Field
- Urgent Pointer Field
- TCP Options Field(s)
43(No Transcript)
44(No Transcript)
45Choosing Between TCP UDP
- TCP is robust and reliable
- 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
46Summary
- 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
47Summary (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 - 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
48Questions???