2002 Prentice Hall Chapter 6 Networking and Telecommunication.
CS 313 Introduction to Computer Networking & Telecommunication
description
Transcript of CS 313 Introduction to Computer Networking & Telecommunication
Chi-Cheng Lin, Winona State University
CS 313 Introduction to Computer Networking &
Telecommunication
Chapter 6 Transport Layer
2
Topics
Transport Service
Elements of Transport Protocols
3
Transport Service
Services provided to the upper layers
GoalProvide efficient, reliable, and cost-effective services to its users (application/session layer processes)
Transport entityHardware/software within transport
layer to do the work
4
Logical Relationship
The network, transport, and application layers
5
Transport Services
Connection-orientedE.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?
Transport Service Primitives
The primitives for a simple transport service
7
Transport Service Primitives
TPDUTransport protocol data unitMessage transmitted between
transport entities
Nesting of TPDUs, packets, and frames.
8
Transport Service Primitives
Client-server exampleClient process Server process CONNECT LISTEN ACCEPTSEND RECEIVERECEIVE SEND : :DISCONNECT DISCONNECT
9
Elements of Transport Protocols
Addressing Connect Disconnect Flow control and buffering------------------------------ Multiplexing Crash recovery
10
Elements of Transport Protocols
Transport protocolUsed to implement transport serviceResembles data link protocol
Error control, sequencing, flow control, etc.
BUT, their environments are different!
Environment of data link layer Environment of transport layer
11
Elements of Transport Protocols
Differences from data link protocolExplicit addressing of destinationMore complicated initial connection
establishmentStorage capacity in subnet
Packet might be "hiding" in subnet
Large and dynamically varying number of connectionsbuffering and flow control needed in both
layers, but different approaches required
12
Addressing Which remote application process to
connect to Transport address
Which process can listen for connectionTSAP
Transport service access pointInternet: PortUsually multiple TSAP supported by transport
entityNSAP
Network service access pointInternet: IP addressOne or more NSAP (e.g., host w/ more than
one connections, router, etc.)
Addressing
14
Establishing a Connection
Problem: delayed duplicatesCongestion, timeout, retransmission,
packet hidden in subnet Solution
Ensure no packet lives longer than some known time
Lifetime controlRestricted subnet designPutting a hop counter in each packetTimestamping each packet
Connection Establishment
Three protocol scenarios for establishing a connection using athree-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
19
Analogy - Two-Army Problem
Unreliable channelThree-way, four-way, … , N-way
handshake NONE OF THEM WORKS
20
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
disconnectTimer neededDummy TPDU might be needed to keep a
connection alive
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.
25
Flow Control
Flow controlSimilar to data link layer
Sliding windows (or some other scheme) needed
DifferenceHost: numerous connections
Router: a few lines different buffering strategies