CCNA – Semester1
Chapter 4 - OSI Transport Layer CCNA Exploration version 4.0
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
Roles of Transport Layer
Transport Layer Role and Services •
The purpose of the Transport layer: • Enables multiple applications
•
•
to communicate over the network at the same time on a single device Ensures that, if required, all the data is received reliably and in order by the correct application Employs error handling mechanisms
Transport Layer Role and Services •
Major functions of the transport layer and the role it plays in data networks
•
Tracking the individual 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
• • •
Separating Multiple Communications •
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.
Controlling the Conversation • •
Segmentation and Reassembly Conversation Multiplexing
Transport layer provides: – Connection-oriented conversations – Reliable delivery – Ordered data reconstruction – Flow control
Controlling the Conversation
Transport Layer Role and Services
•
At the Transport layer the three basic operations of reliability are: – tracking transmitted data – acknowledging received data – retransmitting any unacknowledged data
Transport Layer Role and Services • Transmission Control Protocol
Web, email, file transfer
DNS, Video streaming, VoIP
•
(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
TCP Header format:
TCP Header format: Port number
• Source Port 16 bits. • Destination Port 16 bits.
TCP Header format: Sequence
• Sequence Number: 32 bits – The sequence number of the first data octet in this segment (except when SYN is present).
TCP Header format: Acknowledgment
• Acknowledgment Number: 32 bits – This field contains the value of the next sequence number the sender of the segment is expecting to receive.
TCP Header format: Code bits
• Control Bits: 8 bits – – – –
ACK: RST: SYN: FIN:
Acknowledgment field significant Reset the connection Synchronize sequence numbers No more data from sender
TCP Header format: Window
• 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.
User Datagram Protocol (UDP)
• 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
UDP header fields • • • • • •
Source port – Number of the calling port Destination port – Number of the called port Length – Number of bytes including header and data Checksum – Calculated checksum of the header and data fields Data – Upper-layer protocol data The protocols that use UDP include: - TFTP (Trivial File Transfer Protocol) - SNMP (Simple Network Management Protocol) - DHCP (Dynamic Host Control Protocol) - DNS (Domain Name System)
Transport Layer Role and Services •
Port number representation and its role
Port and TCP port
•
Reserved for services and applications. They are commonly used for applications such as HTTP (web server) POP3/SMTP (e-mail server) and Telnet
•
These port numbers are assigned to user processes or applications. When not used for a server resource, these ports may also be used dynamically selected by a client as its source port.
•
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
TCP and UDP Common Port
TCP and UDP port numbers
• 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
Transport Layer Role and Services •
Segmentation and Reassembly.
The TCP Protocol – Communicating with Reliability
TCP – Making Conversations Reliable •
The key distinction between TCP and UDP is reliability.
TCP Server Processes • 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
Application and Operation of TCP Mechanisms
Application and Operation of TCP Mechanisms
Lab 4.2.5.2
Managing TCP Sessions
TCP Segment Reassembly •
Resequencing Segments to Order Transmitted
TCP Acknowledgement with Windowing
TCP Retransmission •
Retransmission for lost data employed by TCP
Managing TCP Sessions
Managing TCP Sessions
Managing TCP Sessions
Managing TCP Sessions
TCP Congestion Control – Minimizing Segment Loss
•
Flow Control
TCP Congestion Control – Minimizing Segment Loss
•
Reducing window size
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.
The UDP Protocol – Communicating with Low overhead
UDP – Low overhead vs. Reliability •
UDP is a simple protocol that provides the basic Transport layer functions. It much lower overhead than TCP, since it is not connection-oriented and does not provide the sophisticated retransmission, sequencing, and flow control mechanisms. – Domain Name System (DNS) – Simple Network Management Protocol (SNMP) – Dynamic Host Configuration Protocol (DHCP) – Routing Information Protocol (RIP) – Trivial File Transfer Protocol (TFTP) – Online games
UDP Datagram Reassembly •
UDP simply reassembles the data in the order that it was received and forwards it to the application.
UDP Server Processes and Requests •
Like TCP-based applications, UDP-based server applications are assigned Well Known or Registered port numbers.
UDP Client Processes • 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