Guide to TCP/IP, Third Edition Chapter 5: Transport Layer TCP/IP Protocols

Preview:

Citation preview

Guide to TCP/IP, Third Edition

Chapter 5: Transport Layer TCP/IP Protocols

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

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

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

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

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

Transport Layer TCP/IP Protocols 7

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

Transport Layer TCP/IP Protocols 9

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

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

Transport Layer TCP/IP Protocols 12

Transport Layer TCP/IP Protocols 13

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

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

Transport Layer TCP/IP Protocols 16

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

Transport Layer TCP/IP Protocols 18

Transport Layer TCP/IP Protocols 19

Transport Layer TCP/IP Protocols 20

Transport Layer TCP/IP Protocols 21

Transport Layer TCP/IP Protocols 22

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

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

Transport Layer TCP/IP Protocols 25

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

Transport Layer TCP/IP Protocols 27

Transport Layer TCP/IP Protocols 28

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

Transport Layer TCP/IP Protocols 30

Transport Layer TCP/IP Protocols 31

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

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

Transport Layer TCP/IP Protocols 34

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

Transport Layer TCP/IP Protocols 36

Transport Layer TCP/IP Protocols 37

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

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

Transport Layer TCP/IP Protocols 40

Transport Layer TCP/IP Protocols 41

Transport Layer TCP/IP Protocols 42

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)

Transport Layer TCP/IP Protocols 44

Transport Layer TCP/IP Protocols 45

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

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

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

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

Recommended