The OSI Reference Model EECC694 - Shaaban #1 lec #11 Spring2000 4-18-2000 The Transport Layer • Provides reliable end-to-end service to processes in the application layer: – Connection-oriented or connection-less services. • TPDUs (Transport Protocol Data Units): Refer to messages sent between two transport entities. • Transport service primitives: Allow application programs to access the transport layer services. • Data received from application layer is broken into TPDUs that should fit into the data or payload field of a packet. • Packets received possibly out-of-order from the network layer are reordered and assembled for delivery to application layer. • Transport Entity: Hardware/software in the transport layer: – In operating system kernel or, – In a separate user process or, – In the network interface card. • Option Negotiation: The process of negotiating quality of service (QoS) parameters between the user and remote transport entities as specified by applications. EECC694 - Shaaban #2 lec #11 Spring2000 4-18-2000 Nesting of TPDUs, Packets And Frames EECC694 - Shaaban #3 lec #11 Spring2000 4-18-2000 Data Link Layer Vs. Transport Layer Data Link Layer Environment: Adjacent routers. Transport Layer Environment: End-to-End from source to destination. EECC694 - Shaaban #4 lec #11 Spring2000 4-18-2000 Network, Transport, And Application Layers Interfaces (Transport Protocol Data Unit) EECC694 - Shaaban #5 lec #11 Spring2000 4-18-2000 Simple Transport Layer Primitives Primitives used to provide transport services to applications EECC694 - Shaaban #6 lec #11 Spring2000 4-18-2000 Transport Layer: Quality of Service (QoS) Parameters Application QoS requirements are specified using these parameters EECC694 - Shaaban #7 lec #11 Spring2000 4-18-2000 Transport Layer Connection Management State diagram for a simple connection scheme. Solid lines: Client state sequence. Dashed lines: Server state sequence. EECC694 - Shaaban #8 lec #11 Spring2000 4-18-2000 Transport Connection Addressing: TSAPs, NSAPs Network Layer Addresses: NSAP (Network Service Access Point) i.e IP address. Transport Layer Addresses: TSAP (Transport Service Access Point) i.e (IP address, local port) EECC694 - Shaaban #9 lec #11 Spring2000 4-18-2000 Transport Flow Control • To accomplish transport flow control a Sliding Window protocol is used end-to-end using TDPUs as protocol transfer units – Available receiver capacity and buffering used as a receive window RWIN. – Receiver buffer over-runs are usually not allowed. • Each TPDU must carry an identifier or sequence number to distinguish between original TPDUs and delayed duplicates. • To curtail the effect of delayed duplicates: – Packets are not allowed to live forever. – Each packet has a restricted maximum lifetime = T. – • The low-order k-bits of a time-of-day clock, of the form of a binary counter, are usually used to generate initial TPDU sequence numbers for new connections. – This clock is assumed to keep running even if the host crashes. – The clock frequency and k are selected such that a generated initial sequence number should not repeat (i.e. be assigned to another TPDU) for a period longer than the maximum packet lifetime T [forbidden region]. EECC694 - Shaaban #10 lec #11 Spring2000 4-18-2000 Transport Flow Control • Once an initial TDPU sequence number is assigned, it’s incremented as required by the connection. • TDPU sequence numbers of a connection may run into forbidden region if: – A host sends too much data too fast on a newly opened connection: • Here, actual used sequence number vs. time is more steep than initial sequence number generation vs. time. • This restricts the maximum data rate of a connection to one TDPU per cycle. – At any connection data rate less than the initial sequence number generation clock rate: • The actual sequence numbers used will eventually run into the forbidden region from the left. • This condition must be checked by transport entity requiring a TDPU delay of T, or sequence number re- synchronization. EECC694 - Shaaban #11 lec #11 Spring2000 4-18-2000 TPDU Sequencing TPDUs may not be issued in the forbidden region T = Maximum Packet Lifetime The re-synchronization problem. Connection data rate less than initial sequence number generation clock rate EECC694 - Shaaban #12 lec #11 Spring2000 4-18-2000 Normal operation Old duplicate CONNECTION REQUEST Transport Connection Protocol: Three-Way Handshake Duplicate CONNECTION REQUEST and duplicate ACK EECC694 - Shaaban #13 lec #11 Spring2000 4-18-2000 Abrupt Asymmetric Transport Disconnection Leads to loss of data and incorrect operation. CR = Connection Request DR = Disconnect Request EECC694 - Shaaban #14 lec #11 Spring2000 4-18-2000 Normal case of three-way handshake Final ACK lost Transport Connection Release Scenarios Response lost and subsequent DRS lost Response lost EECC694 - Shaaban #15 lec #11 Spring2000 4-18-2000 Transport Layer: Flow Control and Buffering Chained fixed-size buffers Chained variable-size buffers One large circular buffer per connection EECC694 - Shaaban #16 lec #11 Spring2000 4-18-2000