0% found this document useful (0 votes)
2 views19 pages

33 Transport Layer

The transport layer is responsible for process-to-process delivery, facilitating communication between client and server processes across different hosts. It utilizes socket addresses, which combine IP addresses and port numbers, to establish connections and manage data delivery. The transport layer can provide either reliable (TCP, SCTP) or unreliable (UDP) services, depending on the application's requirements for flow and error control.

Uploaded by

Bhoomi Agarwal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views19 pages

33 Transport Layer

The transport layer is responsible for process-to-process delivery, facilitating communication between client and server processes across different hosts. It utilizes socket addresses, which combine IP addresses and port numbers, to establish connections and manage data delivery. The transport layer can provide either reliable (TCP, SCTP) or unreliable (UDP) services, depending on the application's requirements for flow and error control.

Uploaded by

Bhoomi Agarwal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 19

Computer Networks

Topic: Transport Layer: Process


to Process Delivery
Layers
 The data link layer is responsible for delivery of frames between two neighboring nodes

over a link. This is called node-to-node delivery .


 The network layer is responsible for delivery of datagrams between two hosts. This is called
host-to-host delivery.
 The transport layer is responsible for process-to-process delivery—
the delivery of a packet, part of a message, from one process to
another.
Types of data deliveries
Client/Server Paradigm
 A process on the local host, called a client, needs services from a process usually on the
remote host, called a server.
Client/Server Paradigm
 A process on the local host, called a client, needs services from a process usually on the
remote host, called a server.
 For communication, we must define the following:
1. Local host
2. Local process
3. Remote host
4. Remote process
Addressing
 On Data link layer, we need a MAC address
 On network layer, we need an IP address
 On transport layer, we need a transport layer address, called a port number.
 Port numbers are 16-bit integers between 0 and 65,535.
 The client program defines itself with a port number, chosen randomly by the transport
layer software running on the client host. This is the ephemeral port number.
 The Internet has decided to use universal port numbers for servers;

these are called well-known port numbers.


Port numbers
IP addresses versus port numbers
lANA Ranges
• The lANA (Internet Assigned Number Authority) has divided the port numbers into
three ranges: well-known, registered, and dynamic (or private)
• Well-known ports. The ports ranging from 0 to 1023 are assigned and controlled by lANA. These are
the well-known ports.
• Registered ports. The ports ranging from 1024 to 49,151 are not assigned or controlled by lANA.
They can only be registered with lANA to prevent duplication.
• Dynamic ports. The ports ranging from 49,152 to 65,535 are neither controlled nor registered. They
can be used by any process. These are the ephemeral ports.
IANA ranges
Socket Addresses
 Process-to-process delivery needs two identifiers, IP address and the port number, at
each end to make a connection. The combination of an IP address and a port number is
called a socket address.

 A transport layer protocol needs a pair of socket addresses: the client socket address and the server socket address.
These four pieces of information are part of the IP header and the transport layer protocol header.
 The IP header contains the IP addresses;
 the UDP or TCP header contains the port numbers.
Demultiplexing
 Multiplexing: At the sender site, there may be several processes that need to send packets.
However, there is only one transport layer protocol at any time. This is a many-to-one
relationship and requires multiplexing. The protocol accepts messages from different
processes, differentiated by their assigned port numbers. After adding the header, the
transport layer passes the packet to the network layer.
 Demultiplexing : At the receiver site, the relationship is one-to-many and requires
demultiplexing. The transport layer receives datagrams from the network layer. After error
checking and dropping of the header, the transport layer delivers each message to the
appropriate process based on the port number.
Multiplexing and demultiplexing
Reference
•Behrouz Forouzan, “Data Communication and
Networking”, McGraw Hill

14
Thank
You
 Connectionless Service(UDP)
In a connectionless service, the packets are sent from one party to another with no need
for connection establishment or connection release. The packets are not numbered; they
may be delayed or lost or may arrive out of sequence. There is no acknowledgment either.
 Connection Oriented Service(TCP and SCTP)
In a connection-oriented service, a connection is first established between the sender and
the receiver. Data are transferred.


Reliable Versus Unreliable

The transport layer service can be reliable or unreliable.

If the application layer program needs reliability, we use a reliable transport layer protocol by
implementing flow and error control at the transport layer. This means a slower and more
complex service. (TCP and SCTP)

On the other hand, if the application program does not need reliability because it uses its own
flow and error control mechanism or it needs fast service or the nature of the service does not
demand flow and error control (real-time applications), then an unreliable protocol can be
used.(UDP)

If the data link layer is reliable and has flow and error control,
Why do we need this at the transport layer, too?
Reliability at the data link layer is between two nodes; we need reliability between two ends.
Because the network layer in the Internet is unreliable (best-effort delivery),
we need to implement reliability at the transport layer.
To understand that error control at the data link layer does not guarantee error control at the transport layer
Error Control
Position of UDP, TCP, and SCTP in TCP/IP suite

You might also like