0% found this document useful (0 votes)
18 views

Chapter6 TransportLayer

This document discusses the transport layer in computer networks. It describes the services provided by the transport layer to upper layers, including addressing, connection establishment and release, error control, flow control, and multiplexing. It also discusses transport layer protocols like TCP and UDP.

Uploaded by

asmm.rahaman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

Chapter6 TransportLayer

This document discusses the transport layer in computer networks. It describes the services provided by the transport layer to upper layers, including addressing, connection establishment and release, error control, flow control, and multiplexing. It also discusses transport layer protocols like TCP and UDP.

Uploaded by

asmm.rahaman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 76

The Transport Layer

Dr. Abu Sayed Md. Mostafizur Rahaman


Professor
Department of Computer Science and Engineering
Jahangirnagar University
Transport Layer
• Transport Services
– 6.1.1 Services Provided to the Upper Layers
– 6.1.2 Transport Service Primitives
– 6.1.3 Berkeley Sockets
• Elements of Transport Protocol
– 6.2.1 Addressing
– 6.2.2 Connection Establishment
– 6.2.3 Connection Release
– 6.2.4 Error Control and Flow Control
– 6.2.5 Multiplexing
– 6.2.6 Crash Recovery
Services Provided to the Upper
Layers
• to provide
– efficient, reliable, and cost-effective data transmission service to its
users, normally processes in the application layer.
– To achieve this, the transport layer makes use of the services provided
by the network layer.
– The software and/or hardware within the transport layer that does the
work is called the transport entity.
– The transport entity can be located in the operating system kernel, in a
library package bound into network applications, in a separate user
process, or even on the network interface card.
– Connectionless and connectionless services (Similar to Network layer)
Services Provided to the Upper Layers

The network, transport, and application layers


Transport Service Primitives (1)
• To allow users to access the transport service, the transport layer must
provide some operations to application programs, that is, a transport service
interface.

• Each transport service has its own interface

The primitives for a simple transport service


Transport Service Primitives (2)

Nesting of TPDUs, packets, and frames.


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.
Berkeley Sockets (1)

The socket primitives for TCP


Elements of Transport Protocols (1)
• 6.2.1 Addressing
• 6.2.2 Connection Establishment
• 6.2.3 Connection Release
• 6.2.4 Error Control and Flow Control
• 6.2.5 Multiplexing
• 6.2.6 Crash Recovery
Elements of Transport Protocols (2)

(a)Environment of the data link layer.


(b)Environment of the transport layer.
Addressing (1)
TSAPs, NSAPs, and transport connections
Addressing (2)

How a user process in host 1 establishes a connection


with a mail server in host 2 via a process server.
Connection Establishment (1)

Techniques for restricting packet lifetime


• Restricted network design.
• Putting a hop counter in each packet.
• Timestamping each packet.
Connection Establishment (2)

(a)TPDUs may not enter the forbidden region.


(b)The resynchronization problem.
Connection Establishment (3)

Three protocol scenarios for establishing a connection using a


three-way handshake. CR denotes CONNECTION REQUEST. Normal operation.
Connection Establishment (4)

Three protocol scenarios for establishing a connection using a


three-way handshake. CR denotes CONNECTION REQUEST. Old duplicate CONNECTION REQUEST
appearing out of nowhere.
Connection Establishment (5)

Three protocol scenarios for establishing a connection using a


three-way handshake. CR denotes CONNECTION REQUEST. Duplicate CONNECTION REQUEST and
duplicate ACK
Connection Release (1)

Abrupt disconnection with loss of data


Connection Release (2)
The two-army problem
Connection Release (3)

Four protocol scenarios for releasing a connection.


(a) Normal case of three-way handshake
Connection Release (4)

Four protocol scenarios for releasing a connection.


(b) Final ACK lost.
Connection Release (5)

Four protocol scenarios for releasing a connection.


(c) Response lost
Connection Release (6)

Four protocol scenarios for releasing a connection.


(d) Response lost and subsequent DRs lost.
Error Control and Flow Control (1)

(a) Chained fixed-size buffers. (b) Chained variable-sized buffers.


(c) One large circular buffer per connection.
Error Control and Flow Control (2)

Dynamic buffer allocation. The arrows show the direction of


transmission. An ellipsis (...) indicates a lost TPDU
Multiplexing

(a) Multiplexing. (b) Inverse multiplexing.


Crash Recovery
Different combinations of client and server
strategy
Congestion Control

• Desirable bandwidth allocation


• Regulating the sending rate
Desirable Bandwidth Allocation (1)

(a) Goodput and (b) delay as a function of offered load


Desirable Bandwidth Allocation (2)

Max-min bandwidth allocation for four flows


Desirable Bandwidth Allocation (3)

Changing bandwidth allocation over time


Regulating the Sending Rate (1)

A fast network feeding a low-capacity receiver


Regulating the Sending Rate (2)

A slow network feeding a high-capacity receiver


Regulating the Sending Rate (3)

Some congestion control protocols


Regulating the Sending Rate (4)
Additive Increase Multiplicative Decrease
(AIMD) control law.
User 2’s allocation

User 1’s allocation


The Internet Transport Protocols: UDP

• Introduction to UDP
• Remote Procedure Call
• Real-Time Transport
Introduction to UDP (1)

The UDP header.


Introduction to UDP (2)

The IPv4 pseudoheader included in the UDP checksum.


Remote Procedure Call
Steps in making a remote procedure call. The
stubs are shaded.
Real-Time Transport (1)
(a) The position of RTP in the protocol stack. (b)
Packet nesting.
Real-Time Transport (2)
The RTP header
Real-Time Transport (3)

Smoothing the output stream by buffering packets


Real-Time Transport (3)

High jitter
Real-Time Transport (4)

Low jitter
The Internet Transport Protocols: TCP
(1)
• Introduction to TCP
• The TCP service model
• The TCP protocol
• The TCP segment header
• TCP connection establishment
• TCP connection release
The Internet Transport Protocols: TCP
(2)
• TCP connection management modeling
• TCP sliding window
• TCP timer management
• TCP congestion control
• TCP futures
The TCP Service Model (1)

Some assigned ports


The TCP Service Model (2)

(a)Four 512-byte segments sent as separate IP diagrams


(b)The 2048 bytes of data delivered to the application in a single
READ call
The TCP Segment Header

The TCP header.


TCP Connection Establishment

(a)TCP connection establishment in the normal case.


(b) Simultaneous connection establishment on both sides.
TCP Connection Management
Modeling (1)
The states used in the TCP connection
management finite state machine.
TCP Connection Management Modeling (2)
TCP connection management
finite state machine.

The heavy solid line is the normal


path for a client. The heavy
dashed line is the normal path for
a server. The light lines are
unusual events. Each transition is
labeled by the event causing it
and the action resulting from it,
separated by a slash.
TCP Sliding Window (1)

Window management in TCP


TCP Sliding Window (2)

Silly window syndrome


TCP Timer Management

(a)Probability density of acknowledgment arrival


times in data link layer. (b) … for TCP
TCP Congestion Control (1)
Slow start from an initial congestion window of 1
segment
TCP Congestion Control (2)

Additive increase from an initial congestion


window of 1 segment.
TCP Congestion Control (3)

Slow start followed by additive increase in TCP Tahoe.


TCP Congestion Control (4)

Fast recovery and the sawtooth pattern of TCP Reno.


Performance Issues

• Performance problems in computer networks


• Network performance measurement
• System design for better performance
• Fast TPDU processing
• Protocols for high-speed networks
Performance Problems in Computer Networks

The state of transmitting one megabit from San Diego to Boston. (a) At t = 0. (b) After
500 μ sec.
(c) After 20 msec. (d) After 40 msec.
Network Performance Measurement (1)

Steps to performance improvement


1.Measure relevant network parameters,
performance.
2.Try to understand what is going on.
3.Change one parameter.
Network Performance Measurement (2)
Issues in measuring performance
• Sufficient sample size
• Representative samples
• Clock accuracy
• Measuring typical representative load
• Beware of caching
• Understand what you are measuring
• Extrapolate with care
Network Performance Measurement (3)

Response as a function of load.


System Design for Better Performance
(1)
Rules of thumb
1. CPU speed more important than network speed
2. Reduce packet count to reduce software overhead
3. Minimize data touching
4. Minimize context switches
5. Minimize copying
6. You can buy more bandwidth but not lower delay
7. Avoiding congestion is better than recovering from it
8. Avoid timeouts
System Design for Better
Performance (2)
Four context switches to handle one packet
with a user-space network manager.
Fast TPDU Processing (1)

The fast path from sender to receiver is shown with a heavy line. The
processing steps on this path are shaded.
Fast TPDU Processing (2)
(a) TCP header. (b) IP header. In both cases, the
shaded fields are taken from the prototype
without change.
Protocols for High-Speed Networks
(1)

A timing wheel
Protocols for High-Speed Networks
(2)
Time to transfer and acknowledge a
1-megabit file over a 4000-km line
Delay Tolerant Networking

• DTN Architecture
• The Bundle Protocol
DTN Architecture (1)

Delay-tolerant networking architecture


DTN Architecture (2)

Use of a DTN in space.


The Bundle Protocol (1)

Delay-tolerant networking protocol stack.


The Bundle Protocol (2)

Bundle protocol message format.


End

Chapter 6

You might also like