© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4
ITE PC v4.0 Chapter 1 2 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 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
ITE PC v4.0 Chapter 1 3 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public Transport Layer Role of Transport layer
ITE PC v4.0 Chapter 1 4 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public Transport layer The purpose : –Tracking the individual communication between application on the source and destination host –Segmenting data and managing each piece –Reassembling the segment into stream of application –Identifying the different application –Performing flow control between end user – enabling error discovery –Initiating a session
ITE PC v4.0 Chapter 1 5 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 5 Transport Layer Primary responsibilities: –Tracking the individual communication between applications –Segmenting data –Managing each segment –Reassembling the segments –Identifying the different applications
ITE PC v4.0 Chapter 1 6 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public Transport Layer Major functions of the transport layer and the role it plays in data networks
ITE PC v4.0 Chapter 1 7 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 7 Transport Layer Protocols: –TCP –UDP IP is a best-effort delivery service –No guarantees –Best-effort service –“Unreliable service” TCP/UDP is responsible for extending IP’s delivery service between two end systems. –Known as transport layer multiplexing and demultiplexing. segme nt
ITE PC v4.0 Chapter 1 8 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public Transport Layer Role and Services Supporting Reliable Communication
ITE PC v4.0 Chapter 1 9 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public Transport layer 2 protocol involve (UDP & TCP) – UDP CharateristicApplication Minimal delay in data delivery DNS Low overheadVideo streaming ConnectionlessVoice Over IP (VoIP)
ITE PC v4.0 Chapter 1 10 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public Transport Layer TCP CharateristicApplication Flow controlWeb browser Connectionless serviceE mail Numbering & sequencingFile transfer
ITE PC v4.0 Chapter 1 11 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 11 TCP vs. UDP TCP provides: –Reliable delivery –Error checking –Flow control –Congestion control –Ordered delivery –(Connection establishment) –Applications: HTTP FTP Telnet MSN messenger UDP provides: Unreliable delivery No error checking No flow control No congestion control No ordered delivery (No connection establishment) Applications DNS (usually) SMTP DHCP RTP (Real-Time Protocol) VoIP
ITE PC v4.0 Chapter 1 12 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 12 A single client may have multiple transport connections with multiple servers. Notice that TCP is a connection-oriented service (two-way arrow) between the hosts, whereas UDP is a connectionless service (one-way arrow). (later) TC P HTT P FTP UD P SMT P UD P Cabrill o Web Server ISP’s and FTP Server
ITE PC v4.0 Chapter 1 13 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public Port Numbers Group (page 110)-use netstat TypeNumberExample Well Known ports Reserved for service & application 0 to – FTP – TCP 23 – telnet – TCP 520 – RIP - UDP Register Port assigned to user processes or application 1024 to MSN Messenger –TCP 5060 – SIP – UDP Dynamic or Private Port ephemeral port to initiating a connection to – DNS – TCP/UDP 161 –SNMP – TCP/UDP
ITE PC v4.0 Chapter 1 14 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public Transport Laye port numbers play in the TCP and UDP protocols.
ITE PC v4.0 Chapter 1 15 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public Application and Operation of TCP Mechanisms port numbers in establishing TCP sessions and directing segments to server process
ITE PC v4.0 Chapter 1 16 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public Application and Operation of TCP Mechanisms Trace the steps in the handshake in the establishment of TCP sessions
ITE PC v4.0 Chapter 1 17 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public Application and Operation of TCP Mechanisms Trace the steps in the handshake in the establishment of TCP sessions
ITE PC v4.0 Chapter 1 18 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public Application and Operation of TCP Mechanisms Trace the steps in the handshake in the termination of TCP sessions
ITE PC v4.0 Chapter 1 19 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public Managing TCP Sessions Describe how TCP sequence numbers are used to reconstruct the data stream with segments placed in the correct order
ITE PC v4.0 Chapter 1 20 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 20 TCP: Connection Establishment For a connection to be established, the two end stations must synchronize on each other's TCP initial sequence numbers (ISNs). Sequence numbers : –Track the order of packets –Ensure that no packets are lost in transmission. The initial sequence number is the starting number used when a TCP connection is established. Exchanging beginning sequence numbers during the connection sequence ensures that lost data can be recovered.
ITE PC v4.0 Chapter 1 21 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 21 Three-way Handshake Step 1: The three-way handshake happens before any data, HTTP Request (GET), is sent by the client. A TCP client begins the three-way handshake by sending a segment with the SYN (Synchronize Sequence Number) control flag set, indicating an initial value in the sequence number field in the header. The sequence number is the Initial Sequence Number (ISN), is randomly chosen and is used to begin tracking the flow of data from the client to the server for this session. Client SYN, SEQ=8563 SYN Received Web Server Note: ISNs do not start a 0 or 1. There are several reasons for this including segments that may still be in buffers and also security issues. (Beyond the scope of this presentation.)
ITE PC v4.0 Chapter 1 22 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 22 Three-way Handshake Step 2: The TCP server needs to acknowledge the receipt of the SYN segment. Server sends a segment back to the client with: –ACK flag set indicating that the Acknowledgment number is significant. The value of the acknowledgment number field is equal to the client initial sequence number plus 1. This is called an expectational acknowledgement – the next byte this host expects to receive (more soon). –SYN flag is set with its own random ISN for the Sequence number Client SYN, SEQ=8563 SYN, ACK, SEQ=1678 ACK=8564 SYN Received SYN, ACK Received Web Server
ITE PC v4.0 Chapter 1 23 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 23 Three-way Handshake Step 3: TCP client responds with a segment containing an ACK that is the response to the TCP SYN sent by the server. The value in the acknowledgment number field contains one more than the initial sequence number received from the server. The client can now send application data encapsulated in TCP segment. –HTTP Request (GET) Client SYN, SEQ=8563 SYN, ACK, SEQ=1678 ACK=8564 ACK, SEQ=8564 ACK=1679 SYN Received SYN, ACK Received ACK Received Web Server HTTP Request (GET)
ITE PC v4.0 Chapter 1 24 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public Managing TCP Sessions TCP that manage the interrelationship between window size, data loss and congestion during a session through 2 way – flow control & Dynamic Window size
ITE PC v4.0 Chapter 1 25 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public Summary
ITE PC v4.0 Chapter 1 26 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public