Transportschicht

Einführung

  • Bindeglied zwischen transportorientierten und anwendungsorientierten Schichten
  • Zuordnung von Datenpakten an Anwendung
  • Logische End-zu-End-Verbindung
  • Protokolle
    • Verbindungsorientiert, TCP
    • Verbindungslos, UDP

Sockets

bezeichnet Kombination aus IP-Adresse und Port

Client-Socket verbindet sich mit Server-Socket

Ports

  • Endpunkt-zu-Endpunkt Kommunikation
  • Adressierung der Anwendung auf Host
  • Portnummer sind 16Bits, 2 Bytes
    • im Bereich 0 bis 65 535
  • gibt anw welcher Dienst angesprochen wird
  • Server Ports unter Port 1024

Standard Ports

Standard Ports

UDP - User Datagram Protocol

  • Übertragungseinheit auf Schicht 4 sind Segmente
  • Datenübertragung
  • Transaktionsorientiert
    • einfache Anfrage
    • einfache Antwort über Netzwerk
    • Bsp.: Zeitabfragen (NTP), Namensauflösung (DNS)
  • Einfach
    • Header hat nur Quell und Ziel Port, Länge und Prüfsumme
  • Verbindungslos
    • geeignet für große Anzahl von Clients
    • Bsp.: IP-Fernsehen, Broadcasts
  • Keine Wiederholungen von verlorenen Paketen
    • geeignet für Echtzeit Anwendungen
    • Bsp.: VoIP, Spiele, Streaming
  • schnell
  • Nachteile
    • Sende-Reihenfolge und Empfangs-Reihenfolge können unterschiedlich sein
    • verlorene Pakete nicht wiederholt
    • Sender keine hat keine Bestätigung ob Paket angekommen ist

UPD Aufbau

TCP - Transmission Control Protocol

  • Zuverlässige Übertragung von Daten

  • Bestätigung von Datenempfang

  • Wiederholung von verlorenen Paketen

  • vergibt Sequenznummer um verlorene Pakete zu bemerken

  • nummerieren den unstrukturierten aber geordneten Datenstrom

  • Verbindungsorientiert

  • Geordnete Datenreihenfolge

  • Bestätigung von empfangenen Daten

  • Wiederholung verlorener Pakete

  • Fehlererkennung

  • Flusskontrolle

    • Empfänger informiert Sende ob Daten gesendet werden sollen, Schiebefenster
  • Beispiel

    • Länge des Datenstroms: 5 Bytes
    • Maximale Segmentgröße (Max Segment Size): 1460 Byte
    • MSS = MTU - 40 Bytes für IPv4 und Header
    • wobei MTU (Maximum Transfer Unit = Max IP-Paketgröße) bei Ethernet 1500 Bytes, DSL 1492 Bytes

Beispiel Sequenznummern

  • Anhand Sequenznummer kann Empfänger
    • Reihenfolge korrigieren
    • doppelte Segmente aussortieren
  • Länge eines Segments ist aus IP-Header bekannt
    • für die Entdeckung von Lücken und neuen Anfordern von Segmenten
  • Bei Öffnung von Verbindung (Dreiwege-Handshake)
    • Partner tauschen Kontrollinformationen aus
    • garantiert das Partner existiert und Daten annimmt

Handshake

Verbindungsaufbau

  1. Client sendet Segment mit SYN=1 und fordert zur Synchronisation eine Folgenummer - Synchronize
  2. Server sendet als Bestätigung Segment mit ACK=1 und forder mit SYN=1 zur Synchronisation der Folgenummer auf - Synchronize Acknowledge
  3. Client bestätigt mit Segment ACK=1, Verbindung wurde Aufgebaut - Acknowledge
  • Anfangs-Sequenznummer x und y werden zufällig bestimmt
  • noch kein Austausch von Nutzdaten

TCP-Verbindungsaufbau

Datenübertragung

  1. Client sendet 1000 Byte Nutzdaten
  2. Server bestätigt Empfang ACK=1 und fordert ACK=1101 als neues Segment an - 400 Byte Nutzdaten
  3. Client sendet weitere 1000 Byte Nutzdaten und Empfangsbestätigung ACK=1 und Anforderung des nächsten Segments ACK=901
  4. Server bestätigt Empfang ACK=1 und fordert ACK=2101 als neues Segment an

TCP-Datenübertragung

Verbindungsabbau

  1. Client sendet Abbauwunsch FIN=1
  2. Server bestätigt ACK=1
  3. Server Sender Abbauwunsch FIN=1
  4. Client bestätigt ACK=1
  • kein Austausch von Nutzdaten

TCP-Verbindungsabbau

NAT - Network Address Translation

  • auf Schichten 3 und 4
  • Kommunikation von Rechnern eines Netzes über eine NUR IP-Adresse
  • Heimrouter
Last modified 2022.05.18