Transport Layer - Winona State University

advertisement
CS 313 Introduction to
Computer Networking &
Telecommunication
Chapter 6 Transport Layer
Chi-Cheng Lin, Winona State University
Topics

Transport Service

Elements of Transport Protocols
2
Transport Service
Services provided to the upper layers
 Goal

Provide efficient, reliable, and costeffective services to its users
(application/session layer processes)

Transport entity
Hardware/software within transport layer
to do the work
3
Logical Relationship
The network, transport, and application layers
4
Transport Services

Connection-oriented
E.g., TCP (Transmission Control Protocol)
in TCP/IP

Connectionless
E.g., UDP (User Datagram Protocol) in
TCP/IP

Why another layer between network
and application/session layers?
5
Transport Service Primitives
The primitives for a simple transport service
Transport Service Primitives

TPDU
Transport protocol data unit
Message transmitted between transport
entities
Nesting of TPDUs, packets, and frames.
7
Transport Service Primitives

Client-server example
Client process
CONNECT
SEND
RECEIVE
:
DISCONNECT
Server process
LISTEN
ACCEPT
RECEIVE
SEND
:
DISCONNECT
8
Elements of Transport Protocols
Addressing
 Connect
 Disconnect
 Flow control and buffering
----------------------------- Multiplexing
 Crash recovery

9
Elements of Transport Protocols

Transport protocol
Used to implement transport service
Resembles data link protocol
Error control, sequencing, flow control, etc.
BUT, their environments are different!
Environment of data link layer
Environment of transport layer
10
Elements of Transport Protocols

Differences from data link protocol
Explicit addressing of destination
More complicated initial connection
establishment
Storage capacity in subnet
Packet might be "hiding" in subnet
Large and dynamically varying number of
connections
buffering and flow control needed in both
layers, but different approaches required
11
Addressing
Which remote application process to
connect to
 Transport address

Which process can listen for connection
TSAP
Transport service access point
Internet: Port
Usually multiple TSAP supported by transport entity
NSAP
Network service access point
Internet: IP address
One or more NSAP (e.g., host w/ more than one
connections, router, etc.)
12
Addressing
Establishing a Connection

Problem: delayed duplicates
Congestion, timeout, retransmission, packet
hidden in subnet

Solution
Ensure no packet lives longer than some
known time
Lifetime control
Restricted subnet design
Putting a hop counter in each packet
Timestamping each packet
14
Connection Establishment
Three protocol scenarios for establishing a connection using a
three-way handshake. CR denotes CONNECTION REQUEST. Normal
operation.
Connection Establishment
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
Three protocol scenarios for establishing a connection using a
three-way handshake. CR denotes CONNECTION REQUEST.
Duplicate CONNECTION REQUEST and duplicate ACK
Connection Release
Abrupt disconnection with loss of data
Analogy - Two-Army Problem

Unreliable channel
Three-way, four-way, … , N-way handshake
 NONE OF THEM WORKS
19
Releasing a Connection
Three-way handshake + timers
 Fails when all DRs from source lost
 Half-open connection
 Solution:

If no TPDUs have arrived for a certain
amount of time
disconnect
Timer needed
Dummy TPDU might be needed to keep a
connection alive
20
Connection Release
Four protocol scenarios for releasing a connection.
(a) Normal case of three-way handshake
Connection Release
Four protocol scenarios for releasing a connection.
(b) Final ACK lost.
Connection Release
Four protocol scenarios for releasing a connection.
(c) Response lost
Connection Release
Four protocol scenarios for releasing a connection.
(d) Response lost and subsequent DRs lost.
Flow Control

Flow control
Similar to data link layer
Sliding windows (or some other scheme)
needed
Difference
Host: numerous connections
Router: a few lines
 different buffering strategies
25
Download