Welcome to CAVI, the Cisco Academy for the Vision Impaired. Course Fees Linux Wiki HTML Wiki Documentation Index PmWiki FAQ |
Main /
Chapter 7: Transport Layer7.0 Transportation Layer7.0.1 Introduction >7.0.1.1 IntroductionUpon completion of this chapter you will be able to:
7.0.1 Introduction >7.0.1.2 Class Activity - We need to talk - Game:The image on this page shows a single computer that has multiple web pages open along with an instant messaging window, an e-mail application, a streaming video application and a VoIP phone application running. This represents that a computer typically has more than one process running any one time. While completing this activity think about how:
Objectives:Explain how transport layer protocols and services support communications across data networks.'
In this activity, you will determine whether high or low data communication delivery methods should be utilized in a situational context.
7.1 Transport Layer protocols7.1.1 Transportation of Data >7.1.1.1 Role of the Transport LayerThe figure on this page shows the four layers of the TCP/IP model and how it enables applications on devices to communicate. The figure highlights the Transport layer, which is responsible for moving data between applications on devices in the network. The transport layer on the sending device corresponds with the transport layer of the receiving device. The Transport layer moves data between applications on devices in the network. 7.1.1 Transportation of Data >7.1.1.2 Role of the Transport Layer (Cont.)Figure 1 on this page shows a single computer that has multiple web pages open along with an instant messaging window, an e-mail application, a streaming video application and a VoIP phone application running. This represents that a computer typically has more than one process running at any one time. The description for this figure is, "The transport layer tracks each individual conversation flowing between a source application and a destination application separately." Figure 2 on this page shows a series of data blocks being transmitted to the computer. The data blocks are of varying colors which correspond to different services. The description for this figure is, "The Transport Layer divides the data into segments that are easier to manage and transport." Figure 3 on this page shows the computer sending the packages to the proper application, the web browser, the e-mail client, the streaming video application or the VoIP phone. Each application has a specific data block color. This represents the computer sorting the data based on application. The description for this figure is, "The Transport layer ensures that even with multiple applications running on a device, all applications receive the correct data." 7.1.1 Transportation of Data >7.1.1.3 Conversation multiplexing:The figure on this page shows a single computer that has multiple web pages open along with an instant messaging window, an e-mail application, a streaming video application and a VoIP phone application running. There is a series of data blocks of varying colors that represent the various applications running on the computer. The series of blocks are created by the transport layer breaking the data into segments, and each block is a segment. This is multiplexing where multiple applications can use the network at the same time. Each data block can have error checking performed on it to check if the segment was changed during transmission. The benefits of multiplexing are:
7.1.1 Transportation of Data >7.1.1.4 Transport layer reliabilityThe figure on this page shows the four layers of the TCP/IP model and lists protocols that work at each of the layers. Application layer protocols:
Transport layer protocols:
Internet layer protocols:
Network Access layer protocol:
7.1.1 Transportation of Data >7.1.1.5 TCPThe animation on this page shows a computer sending a file to a server using the FTP application, which utilizes TCP at the transport layer. A file is sent to a server using the File Transfer Protocol (FTP) application. TCP tracks the conversation and segments the data to be sent into 6 segments. The first three out of six segments are forwarded to the server. The file server acknowledges the first three segments received. The client forwards the next three segments. No segments are received, no acknowledgement is sent. The client resends the final three segments. The final three segments are received and acknowledged. 7.1.1 Transportation of Data >7.1.1.6 UDPThe animation on this page shows a computer sending a file to a server using the TFTP application, which utilizes the UDP at the transport layer. A file is sent to a server using the Trivial File Transfer Protocol (TFTP) application. UDP segments the data to be sent and sends all data, best-effort. The file server receives all 6 segments, no acknowledgement is sent. 7.1.1 Transportation of Data >7.1.1.7 The Right Transport Layer Protocol for the Right ApplicationThe figure on this page shows the four layers of the TCP/IP model and focuses on the transport layer. When a service is sending data it must select between UDP and TCP at the transport layer. The figure shows a list of what each protocol offers. UDP is used for IP telephony and streaming video. TCP is used for email and HTTP. UDP should be selected when the service requires:
TCP should be selected when the service requires:
The description for this figure is, "Application developers choose the appropriate Transport layer protocol based on the nature of the application." 7.1.2 Introducing TCP and UDP >7.1.2.1 Introducing TCPThe figure on this page shows a single computer that has multiple web pages open along with an instant messaging window and an e-mail application running. Four core services provided by TCP are:
7.1.2 Introducing TCP and UDP >7.1.2.2 Role of TCPThe figure on this page shows a TCP segment and all of the overhead data it carries. This includes:
7.1.2 Introducing TCP and UDP >7.1.2.3 Introducing UDPThe figure on this page shows characteristics of UDP. These include:
7.1.2 Introducing TCP and UDP >7.1.2.4 Role of UDPThe figure on this page shows a UDP datagram and the limited data that it carries. The only data in the datagram are:
7.1.2 Introducing TCP and UDP >7.1.2.5 Separating Multiple CommunicationsThe figure on this page shows a computer with three different applications open and the port number associated with each:
7.1.2 Introducing TCP and UDP >7.1.2.6 TCP and UDP Port AddressingThe figure on this page shows a computer with three different applications open and the port number associated with each. Below each application is the specific protocol in use and the transport layer adds the proper port number to form the segment:
The description for this figure is, "Data for different applications is directed to the correct application because each application has a unique port number.". 7.1.2 Introducing TCP and UDP >7.1.2.7 TCP and UDP Port Addressing (Cont.)The figure on this page shows the location of the source and destination port numbers within a segment. The figure is showing a computer that has both an active FTP session and a web session. When data is meant for the FTP server the computer selects a random source port value above 1023 and assigns 21 to the destination port. In the figure the source port used is 1305. The IP address and the port number create the socket and this allows the computer to keep track of the FTP data. FTP connection IP packet:
The web traffic also uses a random source port above 1023, and in the figure it is using port 1099. The data destined for the web server is assigned a destination port of 80, which is the port used by web servers. The IP address and the port number create the socket and this allows the computer to keep track of the web server connection. Web connection IP packet:
7.1.2 Introducing TCP and UDP >7.1.2.8 TCP and UDP Port Addressing (Cont.)Figure 1 on this page shows the three ranges used for port numbers:
Figure 2 on this page lists some common well known ports and their services.
Figure 3 lists two common well known UDP ports and three registered UDP ports.
Figure 4 lists three services that use both TCP and UDP in the well-known port range.
7.1.2 Introducing TCP and UDP >7.1.2.9 TCP and UDP port addressing (Cont.)The four figures on this page show the following output from the command-line utility netstat with the last row of each column highlighted in each figure:
7.1.2 Introducing TCP and UDP >7.1.2.10 TCP and UDP segmentationThe figure on this page shows a large amount of data being segmented into 3 separate segments, and it shows the difference between a TCP segment and a UDP segment:
UDP Datagram:
UDP header provides for:
TCP header provides for:
The description for this figure is, "The transport layer divides the data into pieces and adds a header for delivery over the network.". 7.1.2 Introducing TCP and UDP >7.1.2.11 Activity compare TCP and UDP characteristicsThe interactive activity on this page has the learner classify a list of characteristics as either being a TCP delivery method or a UDP delivery method. The list of characteristics is:
The figure also has the following 2 buttons:
7.2 TCP and UDP7.2.1 TCP Communication >7.2.1.1 TCP Reliable DeliveryThe animation on this page shows a computer connected to a router, which connects to the Internet and has a web server in the cloud. The animation shows the computer using TCP to send a connection request to the server at the transport layer of the TCP/IP model. The server accepts the connection, also at the transport layer, which then completes the connection set-up process. 7.2.1 TCP Communication >7.2.1.2 TCP Server ProcessesFigure 1 on this page shows a server running both an HTTP server on port 80 and SMTP server running on port 25. The figure has two clients accessing the server.
This demonstrates how port numbers are used to differentiate between multiple services running on one server. Figure 2 on this page highlights the use of the well-known port numbers as the destination port. Figure 3 on this page highlights the use of random port numbers as the source port. Figure 4 on this page highlights the response from the server to each of the two requests and the fact that the server uses the source port from the request packet as the destination port. Figure 5 on this page highlights the fact that the server uses the destination port from the request packet as the source port. 7.2.1 TCP Communication >7.2.1.3 Connection Establishment and TerminationThe figure on this page shows the steps involved in the three-way handshake during a TCP connection establishment. Step 1 shows the initiating client, Client A forming a SYN packet with a sequence number of 100 and sends the SYN request to Client B. Client A: Send Syn (SEQ = 100 CTL = SYN) Client B: SYN received CTL = Which control bits in the TCP header are set to 1. A sends SYN to B. Step 2 shows Client B receiving the SYN and setting the sequence number to 300 and sending the SYN along with an ACK packet back to Client A. Client B: Send Syn, ACK (SEQ = 300 ACK = 101 CTL = SYN, ACK) Client A: SYN, ACK received B sends ACK response and SYN request to A. Step 3 shows Client A receiving the SYN and ACK sent by Client B, this establishes the connection. Client A: Established (SEQ = 101 ACK = 301 CTL = ACK) A sends ACK response to B. 7.2.1 TCP Communication >7.2.1.4 TCP Three way Handshake Analysis - Step 1The figure on this page shows step one of the three-way handshake process. Here a P-CAP file output from the protocol analyzer Wireshark is shown. This figure highlights the formation of the SYN packet because the SYN flag is set. The source port is a random number and is 1061 and the destination port is 80, an HTTP server.
The description for this figure is:
7.2.1 TCP Communication >7.2.1.5 TCP Three way Handshake Analysis - Step 2The figure on this page shows step two of the three-way handshake process, and is another P-CAP file. This is the packet being sent from the server back to the requesting client. In this packet the ACK flag is set indicating that the acknowledgement number is significant. The SYN flag is set to indicate the Initial Sequence Number for the server to the client session. The destination port is set to 1061, which corresponds to the random port set by the client and the source port is set to 80 indicating the web server service.
The description for this figure is:
7.2.1 TCP Communication >7.2.1.6 TCP Three way Handshake Analysis - Step 3Figure shows step three of the three-way handshake process, and is another P-CAP file. The file shown is the client response to the server. The T.C.P. segment in this frame has the sequence number set to one and the ACK flag set to indicate a valid Acknowledgement number. The source port is 1061, as originally selected by the client, and the destination port is 80 for the H.T.T.P. service.
The description for this figure is:
7.2.1 TCP Communication >7.2.1.7 TCP Session Termination AnalysisFigure 1 on this page on this page shows the four exchanges required to close a connection. Step 1 shows that when Client A is ready to close the connection therefore it sends a segment with the FIN flag set and it is received by Client B. Client A: Send FIN Client B: FIN received A sends FIN request to B. Step 2 has client B sending an ACK to client A. Client B: Send ACK Client S: ACK received Step 3 is also from client B and it sends a FIN to client A to terminate the server to client session and the client receives the FIN. Client B: Send FIN Client A: FIN received Step 4 is when client A responds to client B by sending an ACK to client B. Client A: Send ACK Client B: ACK received A sends ACK to B. Figure 2 on this page uses a P-CAP file output from the protocol analyzer Wireshark to show the TCP FIN termination. In the output the server is responding to a FIN sent by a client by returning a segment with both the FIN and the ACK bits set.
The description for this figure is, "A protocol analyzer shows details of frame 16, TCP FIN request.". Figure 3 on this page uses a P-CAP file to show the ACK sent by the client that fully terminates a communication session.
The description for this figure is, "A protocol analyzer shows details of frame 17, TCP ACK response.". 7.2.1 TCP Communication >7.2.1.8 Lab - Using Wireshank to Observe the TCP 3-Way HandshakeSee Lab Descriptions. 7.2.1 TCP Communication >7.2.1.9 Activity TCP connection and termination processFigure 1 on this page is an interactive activity that has the learner place components of the three-way handshake in the proper order. The available components are:
The figure also has the following 2 buttons:
TCP Connection Process (enter the components in the space marked Blank):
(CTL = which bits in the TCP header are set to 1)
Figure 2 on this page is an interactive activity that has the learner place components of the four-step process of TCP termination session in the proper order. The available components are:
The figure also has the following 2 buttons:
TCP Termination Process (enter the components in the space marked Blank):
7.2.2 Reliability and Flow Control >7.2.2.1 TCP Reliability - Ordered DeliveryThe figure on this page shows data being divided into 6 segments, which are each labeled with a sequence number 1 through 6 and sent to remote host. There are five routers connected with redundant links, thereby allowing multiple paths for the segments to follow. The segments do not arrive at the destination in same order they were sent. TCP uses the sequence numbers to re-order the segments back to their original order. TCP segments are reordered at the destination:
7.2.2 Reliability and Flow Control >7.2.2.2 Reliability- Acknowledgement and Windows SizeThe figure on this page shows the acknowledgement of TCP packets process. One computer is sending data to another through a WAN link. In the figure, the sending computer sets the sequence number to 1, sets the acknowledgement number to 1, and then sends 10 bytes of data:
The sending computer has a callout saying, "Start with byte #1, I am sending 10 bytes.". The receiving computer indicates that it received 10 bytes of data by sending an acknowledgement back to the sending computer that has the sequence set to 1 and the acknowledgement number set to 11:
The receiving computer has a callout saying, "I received 10 bytesb starting with byte #1. I expect byte #11 next.". The sending computer recognizes that the 10 bytes have been received so it begins to transmit more data starting with a sequence number of 11 and the acknowledgement set to 2:
7.2.2 Reliability and Flow Control >7.2.2.3 TCP Reliability- Data Loss and RetransmissionThe animation on this page shows an example of how TCP handles data loss and retransmission:
7.2.2 Reliability and Flow Control >7.2.2.4 TCP Flow Control - Window Size and AcknowledgementsThe figure on this page shows the TCP segment acknowledgement and window size. The figure has a sending computer and a receiving computer. The window size is set to 3,000:
The window size determines the number of bytes sent before an acknowledgment is expected. The acknowledgement number is the number of the next expected byte. 7.2.2 Reliability and Flow Control >7.2.2.5 TCP Flow Control - Congestion AvoidanceTHe figure on this page shows the TCP congestion and flow control process. The figure has a sending computer and a receiving computer. The window size is set to 3,000:
If segments are lost because of congestion, the receiver will acknowledge the last received sequential segment and reply with a reduced window size. 7.2.3 UDP Communication >7.2.3.1 UDP Low Overhead versus ReliabilityThe figure on this page shows two network segments connected through a network. In one network segment there is a computer sending data, an VoIP phone, and a computer running an online video game. On the other segment there is a computer receiving the data sent by the sending computer from the VoIP phone, and the computer running the online video game. These are two examples of applications that utilize UDP due to its low overhead data transport method. UDP provides this low overhead data transport because it has a small datagram header and no network management traffic. 7.2.3 UDP Communication >7.2.3.2 UDP Datagram ReassemblyThe figure on this page shows data being divided into six datagrams, which are then sent through a network of five routers that are connected with redundant links thereby allowing multiple paths for the datagrams to follow. They do not arrive at the destination in same order they were sent. Since these are datagrams utilizing UDP, any out of order datagrams delivered will not be reordered and any lost datagrams will not be re-sent. UDP: Connectionless and unreliable:
7.2.3 UDP Communication >7.2.3.3 UDP Server Processes and RequestsThe figure on this page shows a server receiving a request from a DNS client and a request from a RADIUS client. These two protocols utilize UDP. The DNS request is received on port 53 and the RADIUS request is received on port 1812. 7.2.3 UDP Communication >7.2.3.4 UDP Client ProcessorsThe 5 figures on this page show clients sending UDP requests. Figure 1 shows a server running a DNS server on port 53 and a RADIUS server on port 1812. The figure has two clients accessing the server:
This demonstrates how port numbers are used to differentiate between multiple services running on one server. Figure 2 highlights that the client requests to UDP server use well known port numbers as the destination port. Figure 3 highlights the use of random port numbers as the source ports. Figure 4 highlights that the server response to UDP client uses the source port from the request packet as the destination port. Figure 5 highlights that the server response to UDP client uses well known port numbers as the source port. 7.2.3 UDP Communication >7.2.3.5 Lab - Using wirehsark to examine a UDP DNS captureSee Lab Descriptions 7.2.4 TCP or UDP, that is the question >7.2.4.1 Applications that use TCPThe figure on this page shows common applications that use TCP. These are:
7.2.4 TCP or UDP, that is the question >7.2.4.2 Applications that use UDPThe figure on this page shows common applications that use U.D.P. These are:
7.2.4 TCP or UDP, that is the question >7.2.4.3: Lab - Using Wireshark to Examine FTP and TFTP CapturesSee Lab Descriptions 7.2.4 TCP or UDP, that is the question >7.2.4.4: Activity-TCP,UDP or bothThe interactive activity on this page has the learner categorize a list of application layer protocols using TCP, UDP or both. The Application layer protocols are:
The figure also has the following 2 buttons:
7.3.1 Summary >7.3.1.1: Class Activity-We Need to Talk, Again - GameThe image on this page shows different aspects of network communications TCP and UDP are transport layer protocols that are instrumental in ensuring that:
ObjectivesExplain how transport layer protocols and services support communications across data networks.
In this activity the learner is given a scenario and is asked to determine whether high-reliability messaging should be used. The learner is told to focus on whether the final message is complete, correct, and delivered in a timely maner.
7.3.1 Summary >7.3.1.2: Packet Tracer Simulation-TCP and UDP CommunicationsObjectives:Part 1: Generate Network Traffic in Simulation Mode Part 2: Examine the Functionality of the TCP and UDP Protocols 7.3.1 Summary >7.3.1.3 SummaryThe figure on this page shows the seven layers of the OSI model and highlights the transport layer. This Transport layer prepares application data for transport over the network and processes network data for use by applications. End of Chapter 7: Transport Layer. Next - Chapter 8: IP Addressing. |