TCP/IP Chapter 5: Transport Layer TCP/IP Protocols 1
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 Transport Layer TCP/IP Protocols 2 2
UDP A Connectionless Transport Layer Protocol Connectionless protocols Provide the simplest tkind of ftransport tservices UDP Used by applications that contain their own connection oriented timeout values and retry counters Runs up to 40 percent faster than TCP Transport Layer TCP/IP Protocols 3 3
UDP A Connectionless Transport Layer Protocol (continued) Connectionless protocols handle the following kinds of tasks Message checksum Higher-layer protocol identification Transport Layer TCP/IP Protocols 4 4
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 Transport Layer TCP/IP Protocols 5 5
UDP Header Fields and Functions UDP header s main function To define the process or application that t 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 Transport Layer TCP/IP Protocols 6 6
Transport Layer TCP/IP Protocols 7 7
UDP Header Fields and Functions (continued) Source Port Number field Dfi Defines the application or process that thtsends the packet ktusing 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 Transport Layer TCP/IP Protocols 8 8
Transport Layer TCP/IP Protocols 9 9
UDP Header Fields and Functions (continued) Destination Port Number Field Defines destination application or process that t 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 Transport Layer TCP/IP Protocols 10 10
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 Transport Layer TCP/IP Protocols 11 11
Transport Layer TCP/IP Protocols 12 12
TCP A Connection-Oriented Protocol Functions of connection-oriented protocols Create a logical lconnection 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 Transport Layer TCP/IP Protocols 13 13
Overview of TCP TCP offers connection-oriented services with Sequencing, error recovery Sliding window mechanism TCP hosts TCP Create a virtual connection with each other using a handshake process Transfers data as a continuous stream of bytes Maximum TCP segment size is 65,495 bytes Transport Layer TCP/IP Protocols 14 14
Transport Layer TCP/IP Protocols 15 15
TCP Startup Connection Process Begins with handshake between two hosts One host initiates i i the handshake h 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 Transport Layer TCP/IP Protocols 16 16
Transport Layer TCP/IP Protocols 17 17
Transport Layer TCP/IP Protocols 18 18
Transport Layer TCP/IP Protocols 19 19
Transport Layer TCP/IP Protocols 20 20
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 Transport Layer TCP/IP Protocols 21 21
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 Transport Layer TCP/IP Protocols 22 22
TCP Connection Termination Requires four packets Host t1 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 Transport Layer TCP/IP Protocols 23 23
Transport Layer TCP/IP Protocols 24 24
Transport Layer TCP/IP Protocols 25 25
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 Transport Layer TCP/IP Protocols 26 26
Transport Layer TCP/IP Protocols 27 27
Transport Layer TCP/IP Protocols 28 28
TCP Error-Detection and Error- Recovery Process Retransmission timer First error-detection dt ti 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 5h 5th retransmit: 16 x RTO seconds Transport Layer TCP/IP Protocols 29 29
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 Transport Layer TCP/IP Protocols 30 30
Transport Layer TCP/IP Protocols 31 31
TCP Congestion Control (continued) TCP has four defined congestion control mechanisms Slow Startt Congestion Avoidance Fast Retransmit Fast Recovery Transport Layer TCP/IP Protocols 32 32
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 Transport Layer TCP/IP Protocols 33 33
TCP Header Fields and Functions Source Port Number Field Destination i Port Number Field Sequence Number Field Acknowledgment Number Field Header Length Field Transport Layer TCP/IP Protocols 34 34
Transport Layer TCP/IP Protocols 35 35
Transport Layer TCP/IP Protocols 36 36
Transport Layer TCP/IP Protocols 37 37
TCP Header Fields and Functions (continued) Window Size Field TCP Checksum Field Urgent Pointer Field TCP Options Field(s) Transport Layer TCP/IP Protocols 38 38
Transport Layer TCP/IP Protocols 39 39
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 Transport Layer TCP/IP Protocols 40 40
Summary Transport layer protocols come in two types Connectionless and connection-oriented i t 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 Transport Layer TCP/IP Protocols 41 41
Summary (continued) Transmission Control Protocol Heavyweight, connection-oriented i tdprotocol lththl that helps name the TCP/IP protocol suite TCP header Longer and more complex, Includes a variety of flags, values, and message types Transport Layer TCP/IP Protocols 42 42
Summary (continued) Appropriate (and historical) uses for UDP Concentrate t on Application layer services that t manage their own reliability and connections Appropriate (and historical) uses for TCP Concentrate on providing reliable delivery of user services Transport Layer TCP/IP Protocols 43 43