TCP & UDP

UDP

Einfaches Paket-Sende-Protokoll

Identifiziert Sender-/Empfänger-Programm via 16bit Portnummer

Bietet keine Zuverlässigkeit

UDP Paketaufbau

16bit source port	16bit destination port

16bit UDP length	16bit UDP checksum

data...

Ethernet	IP	UDP	UDP	Ethernet
Header	Header	Header	Data...	Trailer

TCP

Datenstrom-Protokoll

16bit Ports (wie UDP)

Simuliert Verbindung über IP

Automatische transparente Absicherung:

verlorene Daten werden wiederholt

kaputte Daten werden wiederholt

Verbindung identifiziert durch:
2x IP und 2x Port

TCP Paketaufbau

FIN

SYN

RST

PSH

ACK

URG

4bit header	reserved
length	(6bits)

16bit window length

16bit source port number	16bit destination port number

32bit sequence number

32bit acknowledgment number

16bit TCP checksum	16bit urgent pointer

options (if any)

20 bytes

data...

Ethernet	IP	TCP	TCP	Ethernet
Header	Header	Header	Data...	Trailer

TCP Header

Sequence #: Offset des ersten Bytes im Paket relativ zum ersten Byte der Verbindung

moderne Implementationen beginnen bei einer zufälligen Zahl, statt bei 0

Acknowledgment #: letztes erfolgreich empfangenes Byte

header length: Länge des Headers in 32bit Worten

TCP Header

reserved: immer Null

window size: verbleibender Platz im Empfangspuffer

urgent pointer: Zeiger auf ein einzelnes Byte out-of-band Daten (siehe URG flag)

TCP Header

Flags:

URG: out-of-band Daten werden gesendet (max. 1 Byte pro Paket)

ACK: Bestätigung empfangener Daten

PSH: “push” - Daten so schnell wie möglich an Applikation ausliefern

RST: “reset” - Verbindung besteht nicht mehr oder kann nicht aufgebaut werden

SYN: Verbindungsaufbau

FIN: Verbindungsabbau

3-way handshake: SYN

Client bittet Server um Verbindung

Server bestätigt Verbindung

Client bestätigt Verbindung

Client

Server

1) SYN

2) SYN, ACK

3) ACK

Data

Verbindungsabbau: FIN

A beginnt Verbindungsabbau

B bestätigt Verbindungsabbau
(A kann nicht mehr senden, aber noch empfangen)

B beginnt Verbindungsabbau

A bestätigt Verbindungsabbau

Data

1) FIN

2) ACK

4) ACK

A

B

3) FIN

Reset Paket

Client bittet um Verbindung zu Server

Server lehnt ab

Reboot, Timeout, etc.pp.

normales Datenpaket für obsolete Verbindung

RST signalisiert Verbindungsabbau

1) SYN

2) RST

5) RST

3) Unterbrechung

Data

4) Data Packet

Datenstrom

TCP ordnet Pakete automatisch nach Offset

Paket wird erst an Applikation abgegeben, wenn alle vorherigen Bytes da sind

Wenn Bestätigung 30s ausbleibt wird Paket automatisch wiederholt (bis zu 3mal)

?

Fragen?

2006-12-22T16:27:23