transport layer features and functionality
TRANSCRIPT
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 EntityEach 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 Use21 FTP File transfer23 Telnet Remote login25 SMTP E-mail69 TFTP Trivial File Transfer Protocol79 Finger Lookup info about a user80 HTTP World Wide Web
110 POP-3 Remote e-mail access119 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