Chapter 3 outline 口31 Transport-ayer d3.5 Connection-oriented services transport: TCP 口3.2 Multiplexing and o segment structure demultiplexing o reliable data transfer 03. 3 Connectionless flow control transport: UDP o connection management O 3.4 Principles of 口36 Principles of reliable data transfer congestion control 口3.7 TCP congestion contro
Comp 361, Spring 2005 3: Transport Layer 6 Chapter 3 outline 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
Multiplexing/demultiplexing Demultiplexing at rcy host: Multiplexing at send host: delivering received segments gathering data from multiple to correct socket sockets, enveloping data with header later used for demultiplexing) = socket process application P3 P1 application(P2 P4) application fransport fransport fransport network network network link link physical physical SIca host 1 host 2 host 3
Comp 361, Spring 2005 3: Transport Layer 7 Multiplexing/demultiplexing application transport network link physical P1 application transport network link physical application transport network link physical P3 P2 P4 P1 host 1 host 2 host 3 = socket = process delivering received segments to correct socket Demultiplexing at rcv host: gathering data from multiple sockets, enveloping data with header (later used for demultiplexing) Multiplexing at send host:
Multiplexing/demultiplexing segment- unit of data exchanged between Demultiplexing: delivering received segments to transport layer entities correct app layer processes o aka TPDU: transport protocol data unit receiver P3 application-layer P4 M(M data application segment trarsport P2 eader M M net work tion application segment→世M transport transport Hnl Metwork network
Comp 361, Spring 2005 3: Transport Layer 8 application transport network M P2 application transport network Multiplexing/demultiplexing segment - unit of data exchanged between transport layer entities aka TPDU: transport protocol data unit receiver Ht Hn Demultiplexing: delivering received segments to correct app layer processes segment segment M application transport network P1 M M M P3 P4 segment header application-layer data
How demultiplexing works o host receives IP datagrams o each datagram has source 32 bits IP address destination ip address source port dest port o each datagram carries 1 transport-layer segment other header fields o each segment has source destination port number (recall: well-known port application numbers for specific data applications. ( message) o host uses IP addresses& port numbers to direct segment to appropriate socket TCP/UDP segment format
Comp 361, Spring 2005 3: Transport Layer 9 How demultiplexing works host receives IP datagrams each datagram has source IP address, destination IP address each datagram carries 1 transport-layer segment each segment has source, destination port number (recall: well-known port numbers for specific applications) host uses IP addresses & port numbers to direct segment to appropriate socket source port # dest port # 32 bits application data (message) other header fields TCP/UDP segment format
Connectionless demultiplexing o Create sockets with port g When host receives UDP numbers: segment DatagramSocket mySocketl =new o checks destination port DatagramSocket(99111)i number in segment DatagramSocket my Socket=new o directs UDP segment to DatagramSocket(99222)i socket with that port O UDP socket identified by number two-tuple 口 iP datagrams with (dest IP address, dest port number) different source IP addresses and/or source port numbers directed to same socket
Comp 361, Spring 2005 3: Transport Layer 10 Connectionless demultiplexing Create sockets with port numbers: DatagramSocket mySocket1 = new DatagramSocket(99111); DatagramSocket mySocket2 = new DatagramSocket(99222); UDP socket identified by two-tuple: (dest IP address, dest port number) When host receives UDP segment: checks destination port number in segment directs UDP segment to socket with that port number IP datagrams with different source IP addresses and/or source port numbers directed to same socket