Chapter 22 Transport Layer
22.1 Duties
22.2 Connection
22.3 The OSI Transport Protocol
Data Communications and 1 컴퓨터공학과
Networking
Transport Layer(cont’d)
Transport layer acts as a liaison between the upper-layer
protocols and the lower-layer protocols.
To make this separation possible, the transport layer is
independent of the physical network.
Examples: TCP, UDP, …
An internetwork
Data Communications and 2 컴퓨터공학과
Networking
22.1 Duties of the Transport Layer
Transport layer concept
Data Communications and 3 컴퓨터공학과
Networking
Duties of the Transport Layer(cont’d)
Transport layer compared with data link layer
The services of the transport layer are similar to those of the
data link layer.
Data Communications and 4 컴퓨터공학과
Networking
Duties of the Transport Layer(cont’d)
The services provided by transport layer protocols:
Data Communications and 5 컴퓨터공학과
Networking
End-to-End Delivery
The network layer treats each packet as an independent entry,
even those belonging to a single message.
The transport layer oversees the end-to-end (source-to-
destination) delivery of an entire message.
Data Communications and 6 컴퓨터공학과
Networking
Addressing
Levels of Service Access Points
Data link level protocols need to know which two computers
within a network are communicating.
• MAC address
Network level protocols need to know which two computers
within an internet are communicating.
• IP address
Transport level protocols need to know which upper-layer
protocols are communicating.
• Port
Data Communications and 7 컴퓨터공학과
Networking
Addressing (cont’d)
In transport layer, service access points identifies upper-layer
services (applications).
Data Communications and 8 컴퓨터공학과
Networking
Reliable Delivery
Aspects of reliable delivery
Data Communications and 9 컴퓨터공학과
Networking
Reliable Delivery(cont’d)
Error Control
Mechanisms for error control are based on error detection and
retransmission.
Error detections are performed using algorithms implemented
in software, such as checksum.
We already have error handling at the data link layer, why do
we need it at the transport layer?
Data Communications and 10 컴퓨터공학과
Networking
Reliable Delivery(cont’d)
Sequence Control
Segmentation Reassembly
What is important is that segments are properly reassembled at
the destination.
Data Communications and 11 컴퓨터공학과
Networking
Reliable Delivery(cont’d)
Segmentation and Reassembly
Transport layer adds a sequence number at each segment.
This number indicates the order for reassembly.
Each segment carries a field that indicates whether it is the final
segment or middle segment of a transmission.
Concatenation and Separation
When the size of the data unit belonging to a single session is
so small that several units can fit together into a single
datagram.
A sequence number at each unit allows correct separation at the
destination.
Data Communications and 12 컴퓨터공학과
Networking
Reliable Delivery(cont’d)
Loss Control
Sequence numbers allow the receiver’s transport layer protocol
to identify any missing segments and request redelivery.
Data Communications and 13 컴퓨터공학과
Networking
Reliable Delivery(cont’d)
Duplication Control
Sequence numbers allow the receiver to identify and discard
duplicate segments.
Data Communications and 14 컴퓨터공학과
Networking
Flow Control
Flow control at this layer is performed end-to-end rather than
across a single link.
A sliding window is used to make data transmission more
efficient as well as to control the flow of data so that the
receiver does not become overwhelmed.
Some points about sliding windows at the transport layer:
The sender does not have to send a full window’s worth of data.
An acknowledgment can expand the size of the window based
on the sequence number of the acknowledged data segment.
The size of the window can be increased or decreased by the
receiver.
The receiver can send an acknowledgment at anytime.
Data Communications and 15 컴퓨터공학과
Networking
Flow Control(cont’d)
Sliding window
Data Communications and 16 컴퓨터공학과
Networking
Flow Control(cont’d)
Sliding windows used at the transport layer are usually byte
oriented rather than frame oriented.
Data Communications and 17 컴퓨터공학과
Networking
Multiplexing
Upward Multiplexing
The transport layer can send several transmissions bound for the
same destination along the same path.
It is useful when the underlying networks have high throughput.
Downward Multiplexing
It is useful when the underlying networks have low or slow
capacity(e.g., X.25’s three bit sequence code).
Data Communications and 18 컴퓨터공학과
Networking
22.2 Connection
End-to-end delivery can be accomplished in either of two modes:
Connection-oriented transmission has three stages:
• connection establishment,
• data transfer,
• connection termination.
Connectionless transmission
Data Communications and 19 컴퓨터공학과
Networking
Connection(cont’d)
Connection establishment(three-way handshaking)
Data Communications and 20 컴퓨터공학과
Networking
Connection(cont’d)
Connection termination(three-way handshaking)
Termination at TCP: four-way handshaking
Data Communications and 21 컴퓨터공학과
Networking
22.3 The OSI Transport Protocol
To avoid redundant services, the OSI model defines five
types of transport classes:
TP0: Simple class
TP1: Basic error recovery class
TP2: Multiplexing class
TP3: Error recovery and multiplexing class
TP4: Error detection and recovery class
Data Communications and 22 컴퓨터공학과
Networking
The OSI Transport Protocol(cont’d)
Which class is used depends on the type of service required
by the upper layers.
TP0 and TP2 are used with perfect network layers.
• In the perfect network layer, the number of packets that are lost or
damaged is almost zero.
TP1 and TP3 are used with residual-error network layers.
• In the residual-error network layer, some percentage of errors are
never corrected.
TP4 is used with unreliable network layers.
• TP4 provides fully reliable, full-duplex, connection-oriented
services similar to TCP.
Data Communications and 23 컴퓨터공학과
Networking
The OSI Transport Protocol(cont’d)
TPDU(Transport Protocol Data Unit)
Length : Total number of bytes (excluding the length field itself)
in the TPDU.
Fixed Parameters :
• Code : CR, CC, DR, DC, DT(data), ED, AK, EA, RJ, ER
• Source and destination reference
• Sequence number
• Credit allocation : It enables a receiver to tell the sender how
many more data units may be sent.
Variable(Optional) Parameters :
• These parameters are used mostly for management.
Data
Data Communications and 24 컴퓨터공학과
Networking
The OSI Transport Protocol(cont’d)
Connection-Oriented and Connectionless Service
The OSI model supports both COTS and CLTS.
Connection-oriented model is more commonly used.
Data Communications and 25 컴퓨터공학과
Networking