Professional Documents
Culture Documents
CN06-Transport Layer
CN06-Transport Layer
Engineering
Computer Network
Transport Layer
Computer Network
Dr. Ahmed Abdel Halim @ Helwan University
Fall 2019
Dr. Ahmed M. Abd El-Haleem
Assistant Professor in
Communication and Electronic Department
Faculty of Engineering, Helwan University
E-mail: dr.ahmed.m.abd.elhaleem@gmail.com
Transport layer
3
Process-to-process delivery
Transport layer
4
1. Connection Establishment
TCP transmits data in full-duplex mode.
This implies that each party must initialize communication and get
approval from the other party before any data are transferred.
The connection establishment in TCP is called three way
handshaking.
In our example, an application program, called the client, wants to
make a connection with another application program, called the
server, using TCP as the transport layer protocol.
1) The server program tells its TCP that it is ready to accept a
connection. This is called a request for a passive open.
2) The client program issues a request for an active open. A
client that wishes to connect to an open server tells its TCP
that it needs to be connected to that particular server.
3) TCP can now start as shown in Fig.
1) A SYN segment
cannot carry
data, but it
consumes one
sequence
number.
2) A SYN + ACK
segment cannot
carry data, but
does consume
one
sequence
number.
3) An ACK
segment, if
carrying no
data, consumes
no sequence
number.
TCP Operation
24
1.Connection establishment:
Step#1 The client sends the 1st segment, a SYN segment, in which
only the SYN flag is set.
This segment is for synchronization of sequence numbers. It
consumes one sequence number (containing 1 imaginary byte).
When the data transfer starts, the sequence number is
incremented by 1.
Step#2 The server sends the 2nd segment, a SYN +ACK segment,
with 2 flag bits set: SYN and ACK.
SYN segment for communication in the other direction and
serves as the acknowledgment for the SYN segment.
Step#3 The client sends the 3rd segment. This is just an ACK
segment.
It acknowledges the receipt of the second segment with the
ACK flag and acknowledgment number field.
Note that the ACK segment does not consume any sequence numbers.
TCP Operation
25
2. Data Transfer
After connection is established, bidirectional data
transfer can take place. The client and server can both
send data and acknowledgments.
Data travels in the same direction as an acknowledgment
3.Connection Termination
Any of the two parties involved in exchanging data
Retransmission
The heart of the error control mechanism is the
retransmission of segments. When a segment is
corrupted, lost, or delayed, it is retransmitted.
Retransmission after Time-Out (RTO): A recent
implementation of TCP maintains one Retransmission Time-
Out (RTO) timer for all outstanding (sent, but not
acknowledged) segments.
When the timer matures, the earliest outstanding
segment is retransmitted even though lack of a received
ACK can be due to a delayed segment, a delayed ACK, or a
lost acknowledgment.
TCP Error Control
36
TCP Segment and Header
37
Structure
TCP Segment and Header
38
Structure
Source port: defines the port number of the application program
in the host that is sending the segment.
Destination port: defines the port number of the application
program in the host that is receiving the segment
Sequence number: defines the number assigned to the first byte
of data contained in this segment because TCP is a stream
transport protocol.
Acknowledgment number (32 bits) byte number that the
receiver of the segment is expecting to receive.
Header Length: specifies the size of the TCP header in 4 bytes
words
Reserved: for future use and should be set to zero
Window: the size of the receive window, which specifies the
number of bytes that the receiver is currently willing to receive.
Checksum: The 16-bit checksum field is used for error-checking
of the header and data
User Datagram Protocol (UDP)
39
1. Connectionless Services
This means that each user datagram sent by UDP is an