Computer Chapter 3 Networking ATO中DOWN APPROACH 华NTHEDITION Transport Layer KUROSE·ROSS A note on the use of these Powerpoint 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 /ot of work on our part.In return for use,we only ask the following: Computer .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!) Networking:A Top If you post any slides on a ww site,that you note that they are adapted from(or perhaps identical to)our slides,and note our copyright of this Down Approach materal. 7th edition Thanks and enjoy!JFK/KWR Jim Kurose,Keith Ross A material copright1-2016 Pearson/Addison Wesley J.F Kurose and K.W.Ross.All Rights Reserved April 2016 Transport Layer 2-1
Computer Networking: A Top Down Approach A note on the use of these Powerpoint 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-2016 J.F Kurose and K.W. Ross, All Rights Reserved 7 th edition Jim Kurose, Keith Ross Pearson/Addison Wesley April 2016 Chapter 3 Transport Layer Transport Layer 2-1
Chapter 3:Transport Layer our goals: understand principles learn about Internet behind transport transport layer protocols: layer services: ·UDP:connectionless ·multiplexing, transport demultiplexing TCP:connection-oriented reliable data transfer reliable transport ·flow control TCP congestion control ·congestion control Transport Layer3-2
Transport Layer3-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: connection-oriented reliable transport • TCP congestion control
Chapter 3 outline 3.I transport-layer services 3.5 connection-oriented 3.2 multiplexing and transport:TCP demultiplexing ·segment structure 3.3 connectionless transport: reliable data transfer UDP 。flow control 3.4 principles of reliable data connection management transfer 3.6 principles of congestion control 3.7 TCP congestion control Transport Layer3-3
Transport Layer3-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 transport provide logical communication network data link between app processes physical running on different hosts transport protocols run in end systems ·send side:breaks app messages into segments, logical end-end transport passes to network layer rcv side:reassembles segments into messages, network passes to app layer ata link more than one transport protocol available to apps ·Internet:TCP and UDP Transport Layer3-4
Transport Layer3-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 • Internet: TCP and UDP application transport network data link physical application transport network data link physical
Transport vs.network layer network layer:logical communication household analogy: between hosts 1 2 kids in Ann's house sending letters to 1 2 kids in Bill's ■transport layer: house: logical hosts houses communication processes kids between processes app messages letters in envelopes ·relies on,enhances,. network layer transport protocol Ann and Bill who demux to in- services house siblings network-layer protocol postal service Transport Layer3-5
Transport Layer3-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 delivery (TCP) d3ta I physic network ·congestion control netwo data link data link physical physical ·flow control ca en ·connection setup network nd unreliable,unordered data link physical ransp delivery:UDP network data link hysical no-frills extension of network data link “best-effort”lP physical network transport data link network services not available: physical data link physical ·delay guarantees bandwidth guarantees Transport Layer3-6
Transport Layer3-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
Chapter 3 outline 3.I transport-layer services 3.5 connection-oriented 3.2 multiplexing and transport:TCP demultiplexing ·segment structure 3.3 connectionless transport: reliable data transfer UDP ·flow control 3.4 principles of reliable data connection management transfer 3.6 principles of congestion control 3.7 TCP congestion control Transport Layer3-7
Transport Layer3-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 multiple demultiplexing at receiver: sockets,add transport header use header into to deliver (later used for demultiplexing) received segments to correct socket application application P1 P2 application ☐h☐socket P3 P4 process transport transport network network link physical physical physical Transport Layer3-8
Transport Layer3-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 datagrams 32 bits each datagram has source IP source port dest port address,destination IP address other header fields each datagram carries one transport-layer segment each segment has source, application destination port number data host uses IP addresses (payload) port numbers to direct segment to appropriate socket TCP/UDP segment format Transport Layer3-9
Transport Layer3-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 socket 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 UDP DatagramSocket mySocketl socket,must specify new DatagramSocket(12534); destination IP address ·destination port# when host receives UDP IP datagrams with same segment: dest.port #but different checks destination port source IP addresses in segment and/or source port numbers will be directed directs UDP segment to to same socket at dest socket with that port Transport Layer3-10
Transport Layer3-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