Transport layer features and functionality

Preview:

Citation preview

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

Recommended