1 / 25

CS 313 Introduction to Computer Networking & Telecommunication

CS 313 Introduction to Computer Networking & Telecommunication. Chapter 6 Transport Layer. Topics. Transport Service Elements of Transport Protocols. Transport Service. Services provided to the upper layers Goal

tejana
Télécharger la présentation

CS 313 Introduction to Computer Networking & Telecommunication

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS 313 Introduction to Computer Networking & Telecommunication Chapter 6 Transport Layer Chi-Cheng Lin, Winona State University

  2. Topics • Transport Service • Elements of Transport Protocols

  3. Transport Service • Services provided to the upper layers • Goal • Provide efficient, reliable, and cost-effective services to its users (application/session layer processes) • Transport entity • Hardware/software within transport layer to do the work

  4. Logical Relationship The network, transport, and application layers

  5. Transport Services • Connection-oriented • E.g., TCP (Transmission Control Protocol) in TCP/IP • Connectionless • E.g., UDP (User Datagram Protocol) in TCP/IP • Why another layer between network and application/session layers?

  6. Transport Service Primitives The primitives for a simple transport service

  7. Transport Service Primitives • TPDU • Transport protocol data unit • Message transmitted between transport entities Nesting of TPDUs, packets, and frames.

  8. Transport Service Primitives • Client-server example Client process Server process CONNECT LISTEN ACCEPT SEND RECEIVE RECEIVE SEND : : DISCONNECT DISCONNECT

  9. Elements of Transport Protocols • Addressing • Connect • Disconnect • Flow control and buffering ------------------------------ • Multiplexing • Crash recovery

  10. Elements of Transport Protocols • Transport protocol • Used to implement transport service • Resembles data link protocol • Error control, sequencing, flow control, etc. • BUT, their environments are different! Environment of data link layer Environment of transport layer

  11. Elements of Transport Protocols • Differences from data link protocol • Explicit addressing of destination • More complicated initial connection establishment • Storage capacity in subnet • Packet might be "hiding" in subnet • Large and dynamically varying number of connections • buffering and flow control needed in both layers, but different approaches required

  12. Addressing • Which remote application process to connect to • Transport address • Which process can listen for connection • TSAP • Transport service access point • Internet: Port • Usually multiple TSAP supported by transport entity • NSAP • Network service access point • Internet: IP address • One or more NSAP (e.g., host w/ more than one connections, router, etc.)

  13. Addressing

  14. Establishing a Connection • Problem: delayed duplicates • Congestion, timeout, retransmission, packet hidden in subnet • Solution • Ensure no packet lives longer than some known time • Lifetime control • Restricted subnet design • Putting a hop counter in each packet • Timestamping each packet

  15. Connection Establishment Three protocol scenarios for establishing a connection using a three-way handshake. CR denotes CONNECTION REQUEST. Normal operation.

  16. Connection Establishment Three protocol scenarios for establishing a connection using a three-way handshake. CR denotes CONNECTION REQUEST. Old duplicate CONNECTION REQUEST appearing out of nowhere.

  17. Connection Establishment Three protocol scenarios for establishing a connection using a three-way handshake. CR denotes CONNECTION REQUEST. Duplicate CONNECTION REQUEST and duplicate ACK

  18. Connection Release Abrupt disconnection with loss of data

  19. Analogy - Two-Army Problem • Unreliable channel • Three-way, four-way, … , N-way handshake  NONE OF THEM WORKS

  20. Releasing a Connection • Three-way handshake + timers • Fails when all DRs from source lost  Half-open connection • Solution: • If no TPDUs have arrived for a certain amount of time disconnect • Timer needed • Dummy TPDU might be needed to keep a connection alive

  21. Connection Release Four protocol scenarios for releasing a connection. (a) Normal case of three-way handshake

  22. Connection Release Four protocol scenarios for releasing a connection. (b) Final ACK lost.

  23. Connection Release Four protocol scenarios for releasing a connection. (c) Response lost

  24. Connection Release Four protocol scenarios for releasing a connection. (d) Response lost and subsequent DRs lost.

  25. Flow Control • Flow control • Similar to data link layer • Sliding windows (or some other scheme) needed • Difference • Host: numerous connections Router: a few lines  different buffering strategies

More Related