1
23/9-08 Datakommunikation - Jonny Pettersson, UmU
Last time: Transport 1
transport layer services multiplexing/demultiplexing connectionless transport: UDP principles of reliable data transfer
timer sequence number acknowledgement negative acknowledgement window, pipelining
sliding window protocols
go-back-N selective repeat 23/9-08 Datakommunikation - Jonny Pettersson, UmU
Transport 2
connection-oriented transport: TCP
reliable transfer flow control connection management
principles of congestion control TCP congestion control
23/9-08 Datakommunikation - Jonny Pettersson, UmU
Transmission Control Protocol(TCP)
Definierar säker överföring i TCP/IP
Internet genom att bland annat definiera
Formen på paket och ackar Funktioner som kan användas för att se till att
data anländer korrekt
Hur TCP skiljer på flera mottagare inom en
maskin
Hur kommunikationen initieras och avslutas
VIKTIGT!
TCP är ett protokoll, ej en mjukvara
23/9-08 Datakommunikation - Jonny Pettersson, UmU
Vad TCP måste klara
Koppla ihop många olika maskiner
Behov av explicit upp- och nedkoppling
Hantera varierande RTT
Behov av adaptiv timeout för omsändning
Hantera långa fördröjningar i nätet
Behov av hantering av sent anländande paket TTL
Hantera olika kapaciteter hos mottagare
Behov av att kunna anpassa till olika noders resurser
Hantera olika nätverkskapaciteter
Behov av att hantera trafikstockningar på nätet 23/9-08 Datakommunikation - Jonny Pettersson, UmU
TCP - Överblick
Kopplingsorienterat Byte-stream
app skriver bytes TCP sänder segment app läser bytes
Pipeline
Application process Write bytes TCP Send buffer Segment Segment Segment Transmit segments Application process Read bytes TCP Receive buffer … … …
Full duplex Flow control: Så sändaren
inte dränker mottagaren
Congestion control: Så
sändaren inte dränker nätverket
RFCs: 793, 1122, 1323, 2018, 2581
23/9-08 Datakommunikation - Jonny Pettersson, UmU
När skickas segment?
Tre sätt att trigga en sändning
MSS (Maximum Segment Size), oftast matchat
med MTU (Maximum Transmission Unit) för lokala nätverket
Push operation från applikationen Timeout