The Transport Layer
Chapter 4
1/4/2017 Mr Satyendra Mohan Srivastava 1
The Transport Service
• Services Provided to the Upper Layers
• Transport Service Primitives
• Berkeley Sockets
• An Example of Socket Programming:
– An Internet File Server
1/4/2017 Mr Satyendra Mohan Srivastava 2
Services Provided to the Upper
Layers
The network, transport, and application layers.
1/4/2017 Mr Satyendra Mohan Srivastava 3
Transport Service Primitives
The primitives for a simple transport service.
1/4/2017 Mr Satyendra Mohan Srivastava 4
Transport Service Primitives
The nesting of TPDUs, packets, and frames.
1/4/2017 Mr Satyendra Mohan Srivastava 5
Transport Service Primitives
A state diagram for a simple connection management scheme. Transitions
labeled in italics are caused by packet arrivals. The solid lines show the client's
state sequence. The dashed lines show the server's state sequence.
1/4/2017 Mr Satyendra Mohan Srivastava 6
Berkeley Sockets
The socket primitives for TCP.
1/4/2017 Mr Satyendra Mohan Srivastava 7
Elements of Transport
Protocols
• Addressing
• Connection Establishment
• Connection Release
• Flow Control and Buffering
• Multiplexing
• Crash Recovery
1/4/2017 Mr Satyendra Mohan Srivastava 8
Transport Protocol
(a) Environment of the data link layer.
(b) Environment of the transport layer.
1/4/2017 Mr Satyendra Mohan Srivastava 9
Addressing
TSAPs, NSAPs and transport connections.
1/4/2017 Mr Satyendra Mohan Srivastava 10
Connection Establishment
How a user process in host 1 establishes a connection
with a time-of-day server in host 2.
1/4/2017 Mr Satyendra Mohan Srivastava 11
Connection Establishment
(a) TPDUs may not enter the forbidden region.
(b) The resynchronization problem.
1/4/2017 Mr Satyendra Mohan Srivastava 12
Connection Establishment
Three protocol scenarios for establishing a connection using a
three-way handshake. CR denotes CONNECTION REQUEST.
(a) Normal operation,
(b) Old CONNECTION REQUEST appearing out of nowhere.
(c) Duplicate CONNECTION REQUEST and duplicate ACK.
1/4/2017 Mr Satyendra Mohan Srivastava 13
Connection Release
Abrupt disconnection with loss of data.
1/4/2017 Mr Satyendra Mohan Srivastava 14
Connection Release
The two-army problem.
1/4/2017 Mr Satyendra Mohan Srivastava 15
Connection Release
Four protocol scenarios for releasing a connection. (a) Normal case of a
three-way handshake. (b) final ACK lost.
6-14, a, b
1/4/2017 Mr Satyendra Mohan Srivastava 16
Connection Release
(c) Response lost. (d) Response lost and subsequent DRs lost.
6-14, c,d
1/4/2017 Mr Satyendra Mohan Srivastava 17
Multiplexing
(a) Upward multiplexing. (b) Downward multiplexing.
1/4/2017 Mr Satyendra Mohan Srivastava 18
Crash Recovery
Different combinations of client and server strategy.
1/4/2017 Mr Satyendra Mohan Srivastava 19
A Simple Transport Protocol
• The Example Service Primitives
• The Example Transport Entity
• The Example as a Finite State Machine
1/4/2017 Mr Satyendra Mohan Srivastava 20
The Example Transport Entity
The network layer packets used in our example.
1/4/2017 Mr Satyendra Mohan Srivastava 21
The Example Transport Entity
Each connection is in one of seven states:
1. Idle – Connection not established yet.
2. Waiting – CONNECT has been executed, CALL REQUEST sent.
3. Queued – A CALL REQUEST has arrived; no LISTEN yet.
4. Established – The connection has been established.
5. Sending – The user is waiting for permission to send a packet.
6. Receiving – A RECEIVE has been done.
7. DISCONNECTING – a DISCONNECT has been done locally.
1/4/2017 Mr Satyendra Mohan Srivastava 22
The Internet Transport Protocols:
UDP
• Introduction to UDP
• Remote Procedure Call
• The Real-Time Transport Protocol
1/4/2017 Mr Satyendra Mohan Srivastava 23
Introduction to UDP
The UDP header.
1/4/2017 Mr Satyendra Mohan Srivastava 24
Remote Procedure Call
Steps in making a remote procedure call. The stubs are shaded.
1/4/2017 Mr Satyendra Mohan Srivastava 25
The Real-Time Transport
Protocol
(a) The position of RTP in the protocol stack. (b) Packet nesting.
1/4/2017 Mr Satyendra Mohan Srivastava 26
The Real-Time Transport
Protocol
The RTP header.
1/4/2017 Mr Satyendra Mohan Srivastava 27
The Internet Transport Protocols: TCP
• Introduction to TCP
• The TCP Service Model
• The TCP Protocol
• The TCP Segment Header
• TCP Connection Establishment
• TCP Connection Release
• TCP Connection Management Modeling
• TCP Transmission Policy
• TCP Congestion Control
• TCP Timer Management
• Wireless TCP and UDP
• Transactional TCP
1/4/2017 Mr Satyendra Mohan Srivastava 28
The TCP Service Model
Some assigned ports.
Port Protocol Use
21 FTP File transfer
23 Telnet Remote login
25 SMTP E-mail
69 TFTP Trivial File Transfer Protocol
79 Finger Lookup info about a user
80 HTTP World Wide Web
110 POP-3 Remote e-mail access
119 NNTP USENET news
1/4/2017 Mr Satyendra Mohan Srivastava 29
The TCP Service Model
(a) Four 512-byte segments sent as separate IP datagrams.
(b) The 2048 bytes of data delivered to the application in a single
READ CALL.
1/4/2017 Mr Satyendra Mohan Srivastava 30
The TCP Segment Header
TCP Header.
1/4/2017 Mr Satyendra Mohan Srivastava 31
The TCP Segment Header
The pseudoheader included in the TCP checksum.
1/4/2017 Mr Satyendra Mohan Srivastava 32
TCP Connection Establishment
(a) TCP connection establishment in the normal case.
(b) Call collision.
6-31
1/4/2017 Mr Satyendra Mohan Srivastava 33
TCP Connection Management
Modeling
The states used in the TCP connection management finite state machine.
1/4/2017 Mr Satyendra Mohan Srivastava 34
TCP Transmission Policy
Window management in TCP.
1/4/2017 Mr Satyendra Mohan Srivastava 35
TCP Transmission Policy
Silly window syndrome.
1/4/2017 Mr Satyendra Mohan Srivastava 36
TCP Congestion Control
(a) A fast network feeding a low capacity receiver.
(b) A slow network feeding a high-capacity receiver.
1/4/2017 Mr Satyendra Mohan Srivastava 37
Transitional TCP
(a) RPC using normal TPC.
(b) RPC using T/TCP.
1/4/2017 Mr Satyendra Mohan Srivastava 38
Performance Issues
• Performance Problems in Computer Networks
• Network Performance Measurement
• System Design for Better Performance
• Fast TPDU Processing
• Protocols for Gigabit Networks
1/4/2017 Mr Satyendra Mohan Srivastava 39
References
[1] A. S. Tanenbaum, “Computer Network”, Pearson Education
[2] Forouzen, “Data Communication and Networking”, TMH
1/4/2017 Mr Satyendra Mohan, JIT Barabanki 40
1/4/2017 Mr Satyendra Mohan Srivastava 41

Transport layer features and functionality

  • 1.
    The Transport Layer Chapter4 1/4/2017 Mr Satyendra Mohan Srivastava 1
  • 2.
    The Transport Service •Services Provided to the Upper Layers • Transport Service Primitives • Berkeley Sockets • An Example of Socket Programming: – An Internet File Server 1/4/2017 Mr Satyendra Mohan Srivastava 2
  • 3.
    Services Provided tothe Upper Layers The network, transport, and application layers. 1/4/2017 Mr Satyendra Mohan Srivastava 3
  • 4.
    Transport Service Primitives Theprimitives for a simple transport service. 1/4/2017 Mr Satyendra Mohan Srivastava 4
  • 5.
    Transport Service Primitives Thenesting of TPDUs, packets, and frames. 1/4/2017 Mr Satyendra Mohan Srivastava 5
  • 6.
    Transport Service Primitives Astate diagram for a simple connection management scheme. Transitions labeled in italics are caused by packet arrivals. The solid lines show the client's state sequence. The dashed lines show the server's state sequence. 1/4/2017 Mr Satyendra Mohan Srivastava 6
  • 7.
    Berkeley Sockets The socketprimitives for TCP. 1/4/2017 Mr Satyendra Mohan Srivastava 7
  • 8.
    Elements of Transport Protocols •Addressing • Connection Establishment • Connection Release • Flow Control and Buffering • Multiplexing • Crash Recovery 1/4/2017 Mr Satyendra Mohan Srivastava 8
  • 9.
    Transport Protocol (a) Environmentof the data link layer. (b) Environment of the transport layer. 1/4/2017 Mr Satyendra Mohan Srivastava 9
  • 10.
    Addressing TSAPs, NSAPs andtransport connections. 1/4/2017 Mr Satyendra Mohan Srivastava 10
  • 11.
    Connection Establishment How auser process in host 1 establishes a connection with a time-of-day server in host 2. 1/4/2017 Mr Satyendra Mohan Srivastava 11
  • 12.
    Connection Establishment (a) TPDUsmay not enter the forbidden region. (b) The resynchronization problem. 1/4/2017 Mr Satyendra Mohan Srivastava 12
  • 13.
    Connection Establishment Three protocolscenarios for establishing a connection using a three-way handshake. CR denotes CONNECTION REQUEST. (a) Normal operation, (b) Old CONNECTION REQUEST appearing out of nowhere. (c) Duplicate CONNECTION REQUEST and duplicate ACK. 1/4/2017 Mr Satyendra Mohan Srivastava 13
  • 14.
    Connection Release Abrupt disconnectionwith loss of data. 1/4/2017 Mr Satyendra Mohan Srivastava 14
  • 15.
    Connection Release The two-armyproblem. 1/4/2017 Mr Satyendra Mohan Srivastava 15
  • 16.
    Connection Release Four protocolscenarios for releasing a connection. (a) Normal case of a three-way handshake. (b) final ACK lost. 6-14, a, b 1/4/2017 Mr Satyendra Mohan Srivastava 16
  • 17.
    Connection Release (c) Responselost. (d) Response lost and subsequent DRs lost. 6-14, c,d 1/4/2017 Mr Satyendra Mohan Srivastava 17
  • 18.
    Multiplexing (a) Upward multiplexing.(b) Downward multiplexing. 1/4/2017 Mr Satyendra Mohan Srivastava 18
  • 19.
    Crash Recovery Different combinationsof client and server strategy. 1/4/2017 Mr Satyendra Mohan Srivastava 19
  • 20.
    A Simple TransportProtocol • The Example Service Primitives • The Example Transport Entity • The Example as a Finite State Machine 1/4/2017 Mr Satyendra Mohan Srivastava 20
  • 21.
    The Example TransportEntity The network layer packets used in our example. 1/4/2017 Mr Satyendra Mohan Srivastava 21
  • 22.
    The Example TransportEntity Each connection is in one of seven states: 1. Idle – Connection not established yet. 2. Waiting – CONNECT has been executed, CALL REQUEST sent. 3. Queued – A CALL REQUEST has arrived; no LISTEN yet. 4. Established – The connection has been established. 5. Sending – The user is waiting for permission to send a packet. 6. Receiving – A RECEIVE has been done. 7. DISCONNECTING – a DISCONNECT has been done locally. 1/4/2017 Mr Satyendra Mohan Srivastava 22
  • 23.
    The Internet TransportProtocols: UDP • Introduction to UDP • Remote Procedure Call • The Real-Time Transport Protocol 1/4/2017 Mr Satyendra Mohan Srivastava 23
  • 24.
    Introduction to UDP TheUDP header. 1/4/2017 Mr Satyendra Mohan Srivastava 24
  • 25.
    Remote Procedure Call Stepsin making a remote procedure call. The stubs are shaded. 1/4/2017 Mr Satyendra Mohan Srivastava 25
  • 26.
    The Real-Time Transport Protocol (a)The position of RTP in the protocol stack. (b) Packet nesting. 1/4/2017 Mr Satyendra Mohan Srivastava 26
  • 27.
    The Real-Time Transport Protocol TheRTP header. 1/4/2017 Mr Satyendra Mohan Srivastava 27
  • 28.
    The Internet TransportProtocols: TCP • Introduction to TCP • The TCP Service Model • The TCP Protocol • The TCP Segment Header • TCP Connection Establishment • TCP Connection Release • TCP Connection Management Modeling • TCP Transmission Policy • TCP Congestion Control • TCP Timer Management • Wireless TCP and UDP • Transactional TCP 1/4/2017 Mr Satyendra Mohan Srivastava 28
  • 29.
    The TCP ServiceModel Some assigned ports. Port Protocol Use 21 FTP File transfer 23 Telnet Remote login 25 SMTP E-mail 69 TFTP Trivial File Transfer Protocol 79 Finger Lookup info about a user 80 HTTP World Wide Web 110 POP-3 Remote e-mail access 119 NNTP USENET news 1/4/2017 Mr Satyendra Mohan Srivastava 29
  • 30.
    The TCP ServiceModel (a) Four 512-byte segments sent as separate IP datagrams. (b) The 2048 bytes of data delivered to the application in a single READ CALL. 1/4/2017 Mr Satyendra Mohan Srivastava 30
  • 31.
    The TCP SegmentHeader TCP Header. 1/4/2017 Mr Satyendra Mohan Srivastava 31
  • 32.
    The TCP SegmentHeader The pseudoheader included in the TCP checksum. 1/4/2017 Mr Satyendra Mohan Srivastava 32
  • 33.
    TCP Connection Establishment (a)TCP connection establishment in the normal case. (b) Call collision. 6-31 1/4/2017 Mr Satyendra Mohan Srivastava 33
  • 34.
    TCP Connection Management Modeling Thestates used in the TCP connection management finite state machine. 1/4/2017 Mr Satyendra Mohan Srivastava 34
  • 35.
    TCP Transmission Policy Windowmanagement in TCP. 1/4/2017 Mr Satyendra Mohan Srivastava 35
  • 36.
    TCP Transmission Policy Sillywindow syndrome. 1/4/2017 Mr Satyendra Mohan Srivastava 36
  • 37.
    TCP Congestion Control (a)A fast network feeding a low capacity receiver. (b) A slow network feeding a high-capacity receiver. 1/4/2017 Mr Satyendra Mohan Srivastava 37
  • 38.
    Transitional TCP (a) RPCusing normal TPC. (b) RPC using T/TCP. 1/4/2017 Mr Satyendra Mohan Srivastava 38
  • 39.
    Performance Issues • PerformanceProblems in Computer Networks • Network Performance Measurement • System Design for Better Performance • Fast TPDU Processing • Protocols for Gigabit Networks 1/4/2017 Mr Satyendra Mohan Srivastava 39
  • 40.
    References [1] A. S.Tanenbaum, “Computer Network”, Pearson Education [2] Forouzen, “Data Communication and Networking”, TMH 1/4/2017 Mr Satyendra Mohan, JIT Barabanki 40
  • 41.
    1/4/2017 Mr SatyendraMohan Srivastava 41