Chapter 24 TL Protocols
Chapter 24 TL Protocols
Chapter 24
Introduction
Each protocol provides a different type of service:
• minimum of overhead
2. Connectionless Services
– no relationship between the different user datagrams
• even if they are coming from the same source process
• going to the same destination program
– user datagrams are not numbered
– there is no connection establishment and no connection
termination
– processes sending short messages, messages less than
65,507 bytes (65,535 – 8 (UDP) -20 (IP)) can use UDP
3. Flow Control
• simple protocol, no flow control, and
– hence no window mechanism
– receiver may overflow with incoming messages
4. Error Control
• no error control mechanism in UDP except for the checksum
– sender does not know if a message has been lost or duplicated
– Receiver discards the user datagram if corrupted
5. Checksum
• Can choose not to be used
6. Congestion Control
• does not provide congestion control
• Assume packets sent are small and cannot create congestion in the
network.
– This assumption may or may not be true for interactive real-time transfer of audio
and video
7. Queuing
1. Connectionless Service
– Advantage
• if a client application needs to send a short request to a
server and
• to receive a short response
• In the connection-oriented service
– at least 9 packets are exchanged between the client and
the server [more delay]
– In connectionless service only 2 packets are exchanged
[less delay]
Typical Applications:
• simple request-response communication
– little concern for flow and error control
– Not used for FTP
• suitable for a process with internal flow- and error-control mechanisms
– the Trivial File Transfer Protocol (TFTP)
• Suitable for multicasting
– not in the TCP software
• used for management processes such as SNMP
• used for some route updating protocols such as Routing Information Protocol (RIP)
• used for interactive real-time applications that cannot tolerate uneven delay
24.3 TRANSMISSION CONTROL PROTOCOL
• Connection-oriented, reliable protocol
7. Connection-Oriented Services
1. The two TCP’s establish a logical connection between them
2. Data are exchanged in both directions
3. The connection is terminated
8. Reliable Services
– TCP is a reliable transport protocol
– Acknowledgment mechanism to check the safe and sound arrival of
data
– error control
24.3.2 TCP Features
1. Numbering System
• No segment number in the segment header
• Two fields refer to byte number
– Sequence number and Ack number
• Byte number:
– TCP numbers all data bytes (no need to start with 0)
– Numbering is independent in each direction
– Sequence number
• sequence number of the first segment is the ISN (initial sequence number),
which is a random number
• any other segment’s sequence number +1 to the previous segment
– Ack number
• TCP is full duplex
• acknowledgment number defines the next byte that expects to receive
• acknowledgment number is cumulative
24.3.3 Segment
• Segment consists of a header of 20 to 60 bytes
• The header is 20 bytes if there are no options and
– up to 60 bytes if it contains options
• Source and Destination port number: 16 bit fields
• Control:
• Window size:
– value is normally referred to as the receiving window (rwnd) and is determined by the
receiver
• Checksum: is mandatory
• A SYN 1 ACK segment cannot carry data, but it does consume one sequence no.
• Three-way handshaking
– The FIN segment consumes one sequence number if it does not carry
data
– FIN + ACK segment consumes only one sequence number if it does not
carry data
Connection Reset
• TCP at one end may
– deny a connection request,
– abort an existing connection, or
– terminate an idle connection.
• done with the RST (reset) flag.
Four-way handshaking with a half-close option