Objectives
Explain the role of Transport Layer protocols and services in supporting communications across data networks Analyze the application and operation of TCP mechanisms that support reliability Analyze the application and operation of TCP mechanisms that support reassembly and manage data loss. Analyze the operation of UDP to support communicate between two processes on end devices
Major functions of the transport layer and the role it plays in data networks
communication between applications on the source and destination hosts Segmenting data and managing each piece Reassembling the segments into streams of application data Identifying the different applications
Computer connected to a network that is simultaneously receiving and sending e-mail and instant messages, viewing websites, and conducting a VoIP phone call. Each of these applications is sending and receiving data over the network at the same time. However, data from the phone call is not directed to the web browser, and text from an instant message does not appear in an e-mail.
Segmentation
Without
segmentation, only one application, the streaming video for example, would be able to receive data. You could not receive e-mails, chat on instant messenger, or view web pages while also viewing the video.
Transmission Control Protocol (TCP) TCP is a connection-oriented protocol, described in RFC 793. TCP incurs additional overhead to gain functions. Additional functions specified by TCP are the same order delivery, reliable delivery, and flow control. Each TCP segment has 20 bytes of overhead in the header encapsulating the Application layer data, whereas each UDP segment only has 8 bytes of overhead
UDP is a simple, connectionless protocol, described in RFC 768. It has the advantage of providing for low overhead data delivery: besteffort delivery
Window: 16 bits
The number of data octets beginning with the one indicated in the acknowledgment field which the sender of this segment is willing to accept.
UDP is a simple protocol that exchanges datagrams, without acknowledgments or guaranteed delivery. Error processing and retransmission must be handled by higher layer protocols UDP is designed for applications that do not need to put sequences of segments together
Reserved for services and applications. They are commonly used for
applications such as HTTP (web server) POP3/SMTP (e-mail server) and Telnet When not used for a server resource, these ports may also be used dynamically selected by a client as its source port.
These port numbers are assigned to user processes or applications. These are usually assigned dynamically to client applications when
initiating a connection. It is not very common for a client to connect to a service using a Dynamic or Private Port
UDP port
Both TCP and UDP use port (socket) numbers to pass information to the upper layers. Port numbers are used to keep track of different conversations crossing the network at the same time.
Netstat command
Each application process running on the server is configured to use a port number, either by default or manually by a system administrator.
Request destination port, request source port Response destination port, response source port
3-way handshake
Lab 4.2.5.2
TCP Retransmission
Flow Control
Flow Control
When datagrams arrive too quickly for a host or gateway to process and the transport function can issue a not ready indicator to the sender to stop sending data. When the receiver can handle additional data, the receiver sends a ready transport indicator. When this indicator is received, the sender can resume the segment transmission.
UDP simply reassembles the data in the order that it was received and forwards it to the application.
Like TCP-based applications, UDP-based server applications are assigned Well Known or Registered port numbers.
As with TCP, client/server communication is initiated by a client application that is requesting data from a server process: using ports
Lab 4.2.5.2
Summary