1 / 34

Transport Layer

This text explains the transport layer in computer networks, its purpose, protocols like TCP, reliability, flow control, and congestion control. It also covers the relationship between TCP and other protocols, achieving reliability in data transmission, TCP flow control, startup and shutdown processes, byte stream sequencing, and application multiplexing.

fernd
Download Presentation

Transport Layer

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. Transport Layer Computer Networks

  2. Where are we?

  3. Recall • Network Layer • Provides host-to-host communication • Source and destination addresses identify host interfaces • Machine-to-machine networking

  4. Transport Protocols • Provide application-to-application communication • Need extended addressing mechanism to identify applications • Called end-to-end • Optionally provide: • Reliability • Flow Control • Congestion Control

  5. Example Transport Layer:Transmission Control Protocol (TCP) • Standardized by IETF as RFC 793 • Most popular layer 4 protocol • Connection-oriented protocol • Conceptually between applications and IP • Full-duplex operation • Byte-stream interface • Of utmost importance for this class! • The book: TCP/IP Illustrated, Volume I - W.R. Stevens • Also see: http://condor.depaul.edu/~jkristof/tcp.html

  6. TCP Feature Summary Provides a completely reliable (no data duplication or loss), connection-oriented, full-duplex stream transport service that allows two application programs to form a connection, send data in either direction and then terminate the connection.

  7. Relationship Between TCP and Other Protocols • TCP on one computer uses IP to communicate with TCP on another computer

  8. Apparent Contradiction • IP offers best-effort (unreliable) delivery • TCP uses IP • TCP provides completely reliable transfer • How is this possible?

  9. Achieving Reliability • Reliable connection setup • Reliable data transmission • Reliable connection shutdown

  10. Reliable Data Transmission • Positive Acknowledgement • Receiver returns short message when data arrives • Call an acknowledgement • Retransmission • Sender starts timer whenever message is transmitted • If timer expires before acknowledgement arrives, sender retransmits message

  11. Retransmission Illustrated

  12. How Long Should TCP Wait Before Retransmitting? • Time for acknowledgement to arrive depends on • Distance to destination • Current traffic conditions • Multiple connections can be open simultaneously • Traffic conditions change rapidly

  13. Important Point The delay required for data to reach a destination and an acknowledgement to return depends on traffic in the internet as well as the distance to the destination. Since it allows multiple application programs to communicate with multiple destinations concurrently, TCP must handle a variety of delays that can change rapidly.

  14. Solving the Retransmission Problem • Keep estimate of round trip time on each connection • Use current estimate to set retransmission timer • Known as adaptive retransmission • Key to TCP’s success

  15. Adaptive Retransmission Illustrated • Timeout depends on current round-trip estimate

  16. TCP Flow Control • Receiver • Advertises available buffer space • Called the window • Sender • Can send up to entire window before ACK arrives • Also called a sliding window protocol

  17. Window Advertisement • Each acknowledgement carries new window information • Called window advertisement • Can be zero (called closed window) • Interpretation: I have received up through X and can take Y more octets

  18. Window Advertisement Illustrated

  19. Another View: Sliding Window Illustrated

  20. Startup and Shutdown • Connection Startup • Must be reliable • Connection Shutdown • Must be graceful • Difficult

  21. Why Startup/Shutdown is Difficult • Segments can be • lost • duplicated • delayed • delivered out of order • either side can crash • either side can reboot • Need to avoid duplicate shutdown "message” from affecting later connection

  22. TCP’s Startup Solution • Use three-message exchange • Known as the 3-way handshake • Necessary and sufficient for unambiguous, reliable startup • SYN messages used for connection establishment

  23. 3-Way Handshake Illustrated

  24. TCP’s Shutdown Illustrated

  25. Byte Stream Sequencing • Segments are labeled with a sequence number • Protects from out-of-order delivery • 32-bit number • Limited size of byte stream? • Initial Sequence Numbers (ISNs) must be exchanged at TCP connection establishment

  26. More Complete Illustration of the 3-Way Handshake

  27. Application Multiplexing • Cannot extend IP address • No unused bits • Cannot use OS dependent quantity • Process ID • Task number • Job name • Must work on all computer systems

  28. Application Multiplexing Illustrated

  29. Protocol Ports • Each application assigned a unique integer • Server • Follows standard • Always uses same port number • Usually uses lower port numbers • Client • Obtains unused port from protocol software • Usually uses higher port numbers

  30. Protocol Port Example • Web server application is assigned port 80 • Web client application obtains port 32938 • TCP segment sent from client to server has • source port number 32938 • destination port number 80 • When web server responds, TCP segment has • source port number 80 • destination port number 32938

  31. Standard Protocol Ports • See http://www.iana.org for standard protocol port assignments • See /etc/services in UNIX systems and \winnt\system32\drivers\etc\services in Windows NT

  32. TCP Segment Format

  33. Example Transport Layer: User Datagram Protocol (UDP) • Unreliable message delivery • Connectionless protocol • No flow control (no window) • No error recovery (no ACKs) • Provides application multiplexing • Error detection optional (checksum field)

  34. UDP Message Format

More Related