cs 313 introduction to computer networking & telecommunication

25
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Chapter 6 Transport Layer

Upload: tejana

Post on 12-Jan-2016

43 views

Category:

Documents


0 download

DESCRIPTION

CS 313 Introduction to Computer Networking & Telecommunication. Chapter 6 Transport Layer. Topics. Transport Service Elements of Transport Protocols. Transport Service. Services provided to the upper layers Goal - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CS 313 Introduction to  Computer Networking & Telecommunication

Chi-Cheng Lin, Winona State University

CS 313 Introduction to Computer Networking &

Telecommunication

Chapter 6 Transport Layer

Page 2: CS 313 Introduction to  Computer Networking & Telecommunication

2

Topics

Transport Service

Elements of Transport Protocols

Page 3: CS 313 Introduction to  Computer Networking & Telecommunication

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

Page 4: CS 313 Introduction to  Computer Networking & Telecommunication

4

Logical Relationship

The network, transport, and application layers

Page 5: CS 313 Introduction to  Computer Networking & Telecommunication

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?

Page 6: CS 313 Introduction to  Computer Networking & Telecommunication

Transport Service Primitives

The primitives for a simple transport service

Page 7: CS 313 Introduction to  Computer Networking & Telecommunication

7

Transport Service Primitives

TPDUTransport protocol data unitMessage transmitted between

transport entities

Nesting of TPDUs, packets, and frames.

Page 8: CS 313 Introduction to  Computer Networking & Telecommunication

8

Transport Service Primitives

Client-server exampleClient process Server process CONNECT LISTEN ACCEPTSEND RECEIVERECEIVE SEND : :DISCONNECT DISCONNECT

Page 9: CS 313 Introduction to  Computer Networking & Telecommunication

9

Elements of Transport Protocols

Addressing Connect Disconnect Flow control and buffering------------------------------ Multiplexing Crash recovery

Page 10: CS 313 Introduction to  Computer Networking & Telecommunication

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

Page 11: CS 313 Introduction to  Computer Networking & Telecommunication

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

Page 12: CS 313 Introduction to  Computer Networking & Telecommunication

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.)

Page 13: CS 313 Introduction to  Computer Networking & Telecommunication

Addressing

Page 14: CS 313 Introduction to  Computer Networking & Telecommunication

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

Page 15: CS 313 Introduction to  Computer Networking & Telecommunication

Connection Establishment

Three protocol scenarios for establishing a connection using athree-way handshake. CR denotes CONNECTION REQUEST.

Normal operation.

Page 16: CS 313 Introduction to  Computer Networking & Telecommunication

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.

Page 17: CS 313 Introduction to  Computer Networking & Telecommunication

Connection Establishment

Three protocol scenarios for establishing a connection using a three-way handshake. CR denotes CONNECTION REQUEST.

Duplicate CONNECTION REQUEST and duplicate ACK

Page 18: CS 313 Introduction to  Computer Networking & Telecommunication

Connection Release

Abrupt disconnection with loss of data

Page 19: CS 313 Introduction to  Computer Networking & Telecommunication

19

Analogy - Two-Army Problem

Unreliable channelThree-way, four-way, … , N-way

handshake NONE OF THEM WORKS

Page 20: CS 313 Introduction to  Computer Networking & Telecommunication

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

Page 21: CS 313 Introduction to  Computer Networking & Telecommunication

Connection Release

Four protocol scenarios for releasing a connection. (a) Normal case of three-way handshake

Page 22: CS 313 Introduction to  Computer Networking & Telecommunication

Connection Release

Four protocol scenarios for releasing a connection. (b) Final ACK lost.

Page 23: CS 313 Introduction to  Computer Networking & Telecommunication

Connection Release

Four protocol scenarios for releasing a connection. (c) Response lost

Page 24: CS 313 Introduction to  Computer Networking & Telecommunication

Connection Release

Four protocol scenarios for releasing a connection. (d) Response lost and subsequent DRs lost.

Page 25: CS 313 Introduction to  Computer Networking & Telecommunication

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