3.2 Transport-Layer multiplexing and demultiplexing
when host receives UDP segment:
-checks destination port # in segment -directs UDP segment to socket with that port # -----> IP datagrams with same dest. port #, but different source IP addresses and/or source port numbers will be directed to same socket at destination
recall: when creating datagram to send into UDP socket, must specify
-destination IP address -destination port #
web servers have different sockets for each connecting client
-non-persistent HTTP will have different socket for each request
TCP socket identified by 4-tuple:
-source IP address -source port number -dest IP address -dest port number
recall: created socket has host-local port #:
DatagramSocket mySocket1 = new DatagramSocket(12534);
What host uses to direct segment to appropriate socket?
IP addresses & port numbers
server host may support many simultaneous TCP sockets:
each socket identified by its own 4-tuple
multiplexing at sender
handle data from multiple sockets, add transport header (later used for demultiplexing)
How demultiplexing works
host receives IP datagrams -each datagram has source IP address, destination IP address -each datagram carries one transport-layer segment -each segment has source, destination port number host uses IP addresses & port numbers to direct segment to appropriate socket
What each diagram carries?
one transport-layer segment
demux:
receiver uses all four values to direct segment to appropriate socket
What each diagram has?
source IP address, destination IP address
demultiplexing at receiver
use header info to deliver received segments to correct socket