Tcp kompakt

Aus xinux.net
Zur Navigation springen Zur Suche springen

Wichtige Kenndaten sind die Ports

  • TCP muss die empfangenen Daten an die korrekte Applikation weiter leiten.
  • Zur Adressierung der Anwendungen werden deshalb sogenannte Portnummern verwendet.
  • Portnummern sind 16 Bit groß
  • Auch UDP verwendet Portnummern zur Adressierung.
  • Die Transportprotokolle TCP und UDP haben jeweils eigene Adressräume.
  • Der Gültigkeitsbereich einer Portnummer ist auf eine IP beschränkt.
  • IP-Adresse und Portnummer spezifiziert einen Kommunikationsendpunkt, einen sogenannten Socket.
  • Die Socketnummern von Quelle und Ziel identifizieren die Verbindung (socket1, socket2).
  • Eine Verbindung ist durch die Angabe dieses Paares eindeutig identifiziert.
  • Well-known Ports gehen von 0 bis 1023. Nur root/Adminstrator darf diese "öffnen".
  • Registrierte Ports von 1024 bis 49151.
  • Dynamische oder auch private Ports 49152 bis 65535.

TCP Header

32 Bit
Source Port Destination Port
Sequence Number
Acknowledge Number
Offset Reserved Flags Window
Checksum Urgent Pointer
Options Paddings
Data


Aufbau des TCP-Headers

Wichtigste Kenndaten

Ports

Source Port (Quellport) (2 Byte)
Gibt die Portnummer auf der Senderseite an.
Destination Port (Zielport) (2 Byte)
Gibt die Portnummer auf der Empfängerseite an.

Flags

SYN
Das SYN-Flag (Synchronize Sequenze Numbers) wird verwendet, um Verbindungen aufzubauen. Zusammen mit der Acknowledgement Number und dem ACK-Bit wird die Verbindung im Form eines Dreiwege-Handshake aufgebaut (siehe oben).
ACK
Das ACK-Bit wird gesetzt, um anzugeben, daß die Bestätigungsnummer im Feld Acknowledgement Number gültig ist. Ist das Bit auf 0 gesetzt, enthält das TCP-Segment keine Bestätigung, das Feld Acknowledgement Number wird ignoriert.
PSH
Ist das PSH-Bit gesetzt, so werden die Daten in dem entsprechenden Segment sofort bei Ankunft der adressierten Anwendung bereitgestellt ohne sie zu puffern.
RST
Das RST-Bit dient dazu eine Verbindung zurückzusetzen, falls ein Fehler bei Übertragung aufgetreten ist. Dies kann sowohl der Fall sein, wenn ein ungültiges Segment übertragen wurde, ein Host abgestürzt ist oder der Versuch eines Verbindungsaufbaus abgewiesen werden soll.
FIN
Das FIN-Bit dient zum Beenden einer Verbindung. Ist das Bit gesetzt, gibt dies an, daß der Sender keine weiteren Daten zu Übertragen hat. Das Segment mit gesetztem FIN-Bit muß quittiert werden.
URG
Wird das Flag URG auf 1 gesetzt, so bedeutet dies, daß der Urgent Pointer (Dringendzeiger) verwendet wird.

Eine Vollständige TCP-Verbindung

Tcp1.png