01 Introduction & Process To Process Delivery Delivery, Multiplexing
01 Introduction & Process To Process Delivery Delivery, Multiplexing
PROCESS-TO-PROCESS DELIVERY
UNIT-4
Introduction to Transport Layer
Client/Server Paradigm
The most common way to achieve process-to-process communication is
through the client/server paradigm.
Both processes (client and server) have the same name. For example, to get the
day and time from a remote machine, we need a Daytime client process running
on the local host and a Daytime server process running on a remote machine.
Addressing
At the transport layer, we need a transport layer address, called a port
number, to choose among multiple processes running on the destination
host. The destination port number is needed for delivery; the source port
number is needed for the reply.
Transport Layer
PROCESS-TO-PROCESS DELIVERY
Addressing(cont…)
The server process must also define itself with a port number. This port
number, however, cannot be chosen randomly.
If the computer at the server site runs a server process and assigns a
random number as the port number, the process at the client site that wants
to access that server and use its services will not know the port number.
Transport Layer
PROCESS-TO-PROCESS DELIVERY
Port numbers
Transport Layer
PROCESS-TO-PROCESS DELIVERY
It should be clear by now that the IP addresses and port numbers play different
roles in selecting the final destination of data.
The destination IP address defines the host among the different hosts in the
world. After the host has been selected, the port number defines one of the
processes on this particular host
Transport Layer
PROCESS-TO-PROCESS DELIVERY
IANA ranges
The lANA (Internet Assigned Number Authority) has divided the port numbers into
three ranges: well known, registered, and dynamic (or private), as shown in Figure.
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.
Transport Layer
PROCESS-TO-PROCESS DELIVERY
Socket address
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. The client socket address defines the
client process uniquely just as the server socket
address defines the server process uniquely. 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.
Transport Layer
PROCESS-TO-PROCESS DELIVERY
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.
De-multiplexing:
At the receiver site, the relationship is one-to-many and requires de-
multiplexing.
Transport Layer
PROCESS-TO-PROCESS DELIVERY
Multiplexing/de-multiplexing
multiplexing at sender:
handle data from multiple demultiplexing at receiver:
sockets, add transport header use header info to deliver
(later used for demultiplexing) received segments to correct
socket
application
Conversation Multiplexing
Conversation Multiplexing(cont…)