1 / 30

Transport Layer

This article explains the concepts of end-to-end delivery, well-known port numbers, and different types of service in the transport layer. It also lists two transport layer protocols and discusses the applications of UDP and TCP. Additionally, it provides an understanding of TCP connection and termination procedures.

jweatherby
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

  2. Learning Outcomes • Understanding of end-to-end delivery and port address • Understanding of well-known port numbers • Understanding of different service types in the transport layer • List of two transport layer protocols • List of applications of UDP and applications of TCP • Understanding of TCP connection/termination procedure

  3. 1. INTRODUCTION The transport layer is responsible for process-to-process delivery (or also called end-to-end delivery) – the delivery of a packet, part of a message, from one process to another. Two processes communicate in a client/server relationship, as we will see later. Topics discussed in this section: Client/Server ParadigmMultiplexing and Demultiplexing Connectionless Versus Connection-Oriented Service Reliable Versus Unreliable Two Protocols

  4. Note The transport layer is responsible for process-to-process (or also called end-to-end) delivery.

  5. Types of data deliveries

  6. Port numbers OS assigns applications when socket() is invoked. bind() with applications. Transport layer protocol + port number

  7. IP addresses versus port numbers

  8. IANA ranges (client port numbers) A bit different from different OSes.

  9. Services Connectionless Connection-oriented Block transfer Byte streaming Unreliable Reliable TCP UDP

  10. Position of UDP, TCP, and SCTP in TCP/IP suite

  11. 2. USER DATAGRAM PROTOCOL (UDP) The User Datagram Protocol (UDP) is called a connectionless, unreliable, block transfer protocol. It does not add anything to the services of IP except to provide process-to-process communication instead of host-to-host communication. Topics discussed in this section: Well-Known Ports for UDPUser Datagram Checksum UDP Operation Use of UDP

  12. Note: UDP is a connectionless, unreliable, block transfer protocol that has no flow and error control. It uses port numbers to multiplex data from the application layer.

  13. Well-known ports used with UDP

  14. User datagram format

  15. Note: UDP is a convenient transport-layer protocol for applications that provide flow and error control. It is also used for short message transfer and by multimedia applications.

  16. 3. TCP TCP is a connection-oriented protocol; it creates a virtual connection between two TCPs to send data. In addition, TCP uses flow and error control mechanisms at the transport level. Topics discussed in this section: TCP ServicesTCP Features Segment A TCP Connection Flow Control Error Control

  17. TCP service Connection-oriented Full-duplex Byte streaming Reliable

  18. Well-known ports used by TCP

  19. Byte stream delivery Any size Any size Any size No overwriting, not like UDP

  20. Note The bytes of data being transferred in each connection are numbered by TCP. The numbering starts with a randomly generated number.

  21. Numbering bytes Sequence number and acknowledge number Why do we need? Independent in each direction: full-duplex mode Not segment numbers, but byte numbers 0 ~ 232 - 1

  22. TCP segment format

  23. TCP segment format • Source port address • Destination port address • Sequence number for the first byte of the payload • Acknowledge number [Q] How to know whether ACK is valid? • Header length: unit 4B • Reserved • Control field • Window size • With acknowledgement • The size of the window, in bytes, of the opponent for flow control • Maximum 65535 bytes • The unit could be changed by using an option • Checksum • 16 bit checksum • Urgent pointer • Used when the urgent flag is set • It points to the last byte of the urgent data • Options

  24. Control field When the payload needs to be sent out of order, e.g., it wants to abort the sending application, but it has already sent a huge amount of data. u.p. u.d. payload When the payload needs to be delivered without buffering that is used to increase the efficiency of TCP, called delayed transmission. E.g., SSH terminal session

  25. Description of flags in the control field

  26. Connection establishment using three-way handshaking 8001 Initial window size of the opponent included for flow control.

  27. Data transfer

  28. Connection termination using three-way handshaking X +1

  29. Half-close x+1

  30. Note A sliding window is used to make transmission more efficient as well as to control the flow of data so that the destination does not become overwhelmed with data. TCP sliding windows are byte-oriented. What kind ARQ algorithm for error control? Selective Repeat ARQ

More Related