Computer Networking Chapter 3 A Top-Down Approach Transport Layer KUROSE ROSS A note on the use of these ppt slides: Computer We're making these slides freely available to all (faculty,students,readers). They're in PowerPoint form so you see the animations;and can add,modify. Networking:A and delete slides (including this one)and slide content to suit your needs. They obviously represent a lot of work on our part.In return for use,we only Top Down ask the following: If you use these slides (e.g.,in a class)that you mention their source Approach (after all,we'd like people to use our book!) 6th edition If you post any slides on a www site,that you note that they are adapted from (or perhaps identical to)our slides,and note our copyright of this Jim Kurose,Keith Ross material. Addison-Wesley Thanks and enjoy!JFK/KWR March 2012 urRhts Reserved Transport Layer 3-1
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers). They’re in PowerPoint form so you see the animations; and can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following: If you use these slides (e.g., in a class) that you mention their source (after all, we’d like people to use our book!) If you post any slides on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Thanks and enjoy! JFK/KWR All material copyright 1996-2013 J.F Kurose and K.W. Ross, All Rights Reserved
Chapter 3:Transport Layer our goals: understand learn about Internet principles behind transport layer transport layer protocols: services: ■UDP:connectionless ■multiplexing, transport demultiplexing -TCP:connection- ■reliable data oriented reliable transfer transport ■flow control TCP congestion control congestion control Transport Layer 3-2
Transport Layer 3-2 Chapter 3: Transport Layer our goals: understand principles behind transport layer services: multiplexing, demultiplexing reliable data transfer flow control congestion control learn about Internet transport layer protocols: UDP: connectionless transport TCP: connectionoriented reliable transport TCP congestion control
Chapter 3 outline 3.1 transport-layer 3.5 connection-oriented services transport:TCP 3.2 multiplexing and segment structure demultiplexing -reliable data transfer 3.3 connectionless ■flow control transport:UDP connection 3.4 principles of management reliable data 3.6 principles of transfer congestion control 3.7 TCP congestion control Transport Layer 3-3
Transport Layer 3-3 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
Transport services and protocols application provide logical transport network data link o communication between physical app processes running on different hosts transport protocols run in end systems send side:breaks app logical end-end transport messages into segments,passes to network layer app cation transport network -rcv side:reassembles data lin segments into messages,passes to app layer more than one transport protocol available to apps Transport Layer 3-4
Transport Layer 3-4 Transport services and protocols provide logical communication between app processes running on different hosts transport protocols run in end systems send side: breaks app messages into segments, passes to network layer rcv side: reassembles segments into messages, passes to app layer more than one transport protocol available to apps application transport network data link physical logical end-end transport application transport network data link physical
Transport vs.network layer *network layer: logical household analogy片 communication 12 kids in Ann's house between hosts sending letters to 12 kids in Bill's house: transport layer: hosts houses logical processes kids communication app messages letters between in envelopes processes transport protocol Ann and Bill who demux to in- ■relies on, house siblings enhances, network-layer protocol network layer postal service services Transport Layer 3-5
Transport Layer 3-5 Transport vs. network layer network layer: logical communication between hosts transport layer: logical communication between processes relies on, enhances, network layer services 12 kids in Ann’s house sending letters to 12 kids in Bill’s house: hosts = houses processes = kids app messages = letters in envelopes transport protocol = Ann and Bill who demux to inhouse siblings network-layer protocol = postal service household analogy:
Internet transport-layer protocols application reliable,in-order transport netw delivery(TCP) data lu network congestion control data lin data link physical physical ■flow control ork connection setup ph network d unreliable,unordered data link physical ansp delivery:UDP network data link no-frills extension of network data link app cation “best-effort'”lP physical network transport data link network data link services not physical physical available: delay guarantees bandwidth guarantees Transport Layer 3-6
Transport Layer 3-6 Internet transport-layer protocols reliable, in-order delivery (TCP) congestion control flow control connection setup unreliable, unordered delivery: UDP no-frills extension of “best-effort” IP services not available: delay guarantees bandwidth guarantees application transport network data link physical application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical logical end-end transport
Chapter 3 outline 3.1 transport-layer 3.5 connection-oriented services transport:TCP 3.2 multiplexing and segment structure demultiplexing -reliable data transfer 3.3 connectionless ■flow control transport:UDP connection 3.4 principles of management reliable data 3.6 principles of transfer congestion control 3.7 TCP congestion control Transport Layer 3-7
Transport Layer 3-7 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 multiplexing at sender: handle data trom muitiple demultiplexing at receiver: sockets,add transport use header info to deliver header (later used for received segments to correct demultiplexing) socket application application P1 P2 application ☐□socket (P3 (P4 process transport network transport network network link k physical physical Transport Layer 3-8
Transport Layer 3-8 Multiplexing/demultiplexing process socket use header info to deliver received segments to correct socket handle data from multiple demultiplexing at receiver: sockets, add transport header (later used for demultiplexing) multiplexing at sender: transport application physical link network P1 P2 transport application physical link network P4 transport application physical link network P3
How demultiplexing works host receives IP 32 bits datagrams source port dest port each datagram has source IP address, other header fields destination IP address each datagram carries one transport-layer application segment data each segment has (payload) source,destination port number host uses IP addresses TCP/UDP segment format port numbers to direct segment to appropriate socket Transport Layer 3-9
Transport Layer 3-9 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 soc ket source port # dest port # 32 bits application data (payload) other header fields TCP/UDP segment format
Connectionless demultiplexing recall:created socket has recall:when creating host-local port # datagram to send into DatagramSocket mySocketl UDP socket,must new DatagramSocket(12534); specify destination IP address destination port when host receives IP datagrams with UDP segment: same dest.port #but checks destination port different source IP in segment addresses and/or source port numbers -directs UDP segment to will be directed to same socket with that port socket at dest Transport Layer 3-10
Transport Layer 3-10 Connectionless demultiplexing recall: created socket has host-local port #: DatagramSocket mySocket1 = new DatagramSocket(12534); when host receives UDP segment: checks destination port # in segment directs UDP segment to socket with that port # recall: when creating datagram to send into UDP socket, must specify destination IP address destination port # IP datagrams with same dest. port #, but different source IP addresses and/or source port numbers will be directed to same socket at dest