Multiplexing Demultiplexing
Multiplexing Demultiplexing
3.1 Transport-layer
services
3.2 Multiplexing and
demultiplexing
3.3 Connectionless
transport: UDP
3.4 Principles of reliable
data transfer
3.5 Connection-oriented
transport: TCP
segment structure
reliable data transfer
flow control
connection management
3.6 Principles of
congestion control
3.7 TCP congestion control
Transport Layer
37
Multiplexing/demultiplexing
Multiplexing at send host:
gathering data from multiple
sockets, enveloping data with
header (later used for
demultiplexing)
= process
P3
P1
P1
application
transport
network
P2
P4
application
transport
network
link
link
physical
host 1
physical
host 2
physical
host 3
Transport Layer
38
32 bits
source port #
dest port #
application
data
(message)
TCP/UDP segment format
Transport Layer
39
Connectionless demultiplexing
Create sockets with port
numbers:
DatagramSocketmySocket1=new
DatagramSocket(99111);
DatagramSocketmySocket2=new
DatagramSocket(99222);
two-tuple:
segment:
IP datagrams with
different source IP
addresses and/or source
port numbers directed to
same socket
Transport Layer
310
client
IP: A
P1
P1
P3
SP: 6428
SP: 6428
DP: 9157
DP: 5775
SP: 9157
SP: 5775
DP: 6428
DP: 6428
server
IP: C
Client
IP:B
311
Connection-oriented demux
TCP socket identified by
4-tuple:
source IP address
source port number
dest IP address
dest port number
Transport Layer
312
Connection-oriented demux
(cont)
P3
P3
SP: 80
DP: 9157
client
IP: A
SP: 9157
DP: 80
P1
P1
P4
SP: 80
DP: 5775
server
IP: C
SP: 5775
DP: 80
Client
IP:B
Transport Layer
313