kapitel_12

Werbung
Kapitel XII:
12.1 Die Transportschicht
12.1.1. Zweck der Transportschicht
Oft wird der Ausdruck "Quality of Service" verwendet, um den Zweck der Transportschicht (Schicht 4)
zu beschreiben. Ihre Hauptaufgabe besteht darin, den Datenfluss von der Quelle zum Ziel auf
zuverlässige und präzise Weise zu gewährleisten und zu steuern. Die durchgehende "Sliding
Window"-Flusskontrolle und die durch Sequenznummern und Bestätigungen erzielte Zuverlässigkeit
sind die wichtigsten Aufgaben der Schicht 4.
12.1.2. Protokolle der Schicht 4
Den Schwerpunkt dieses Curriculums bilden TCP/IP-Ethernet-Netze. Das TCP/IP-Protokoll der
Schicht 4 des OSI-Modells (der Transportschicht) beinhaltet zwei Protokolle: TCP und UDP.
TCP baut eine virtuelle Verbindung zwischen Endbenutzeranwendungen auf. Es besitzt folgende
Merkmale:






verbindungsorientiert
zuverlässig
unterteilt ausgehende Nachrichten in Segmente
setzt Nachrichten an der Zielstation wieder zusammen
sendet alle nicht empfangenen Daten erneut
setzt Nachrichten aus eingehenden Segmenten wieder zusammen.
UDP transportiert Daten zwischen Hosts unzuverlässig. UDP besitzt folgende Merkmale:







verbindungslos
unzuverlässig
überträgt Nachrichten (als Benutzer-Datagramme bezeichnet)
führt keine softwarebasierte Überprüfung der Nachrichtenübermittlung durch (unzuverlässig)
setzt eingehende Nachrichten nicht wieder zusammen
verwendet keine Bestätigungen
bietet keine Flusskontrolle
12.1.3. Vergleich zwischen TCP und IP
TCP/IP ist eine Kombination aus zwei einzelnen Protokollen - TCP und IP. IP ist ein Protokoll der
Schicht 3 - ein verbindungsloser Dienst, der Best-Effort-Transport in einem Netz bietet. TCP ist ein
Protokoll der Schicht 4 - ein verbindungsorientierter Dienst, der Flusskontrolle und Zuverlässigkeit
bietet. Durch den gemeinsamen Einsatz können die Protokolle umfangreichere Dienste zur Verfügung
stellen. Sie bilden zusammen den am häufigsten verwendeten Protokollstapel der TCP/IPProtokollgruppe. TCP/IP ist das Protokoll der Schichten 3 und 4, auf dem das Internet basiert.
12.2. TCP und UDP
12.21. TCP
Transmission Control Protocol (TCP) ist ein verbindungsorientiertes Protokoll der Schicht 4
(Transportschicht), das zuverlässige Duplex-Datenübertragung bietet. TCP ist Teil des TCP/IPProtokollstapels.
Nachfolgend die Definitionen der Felder im TCP-Segment:

Quell-Port - Die Nummer des anrufenden Ports











Ziel-Port - Die Nummer des angerufenen Ports
Sequenznummer - Die Nummer, mit der die richtige Reihenfolge der ankommenden Daten
sichergestellt wird
Bestätigungsnummer - Das nächste erwartete TCP-Oktett
HLEN - Die Anzahl von 32-Bit-Wörtern im Header
reserviert - auf null gesetzt
Code-Bits - Steuerungsfunktionen (beispielsweise Aufbau und Beendigung einer Sitzung)
Fenster - Die Anzahl von Oktetten, die der Sender akzeptiert
Prüfsumme - Prüfsumme aus den Header- und Datenfeldern
Urgent-Zeiger - Gibt das Ende der dringenden Daten an
Option - nur eine Option verfügbar - Maximale Größe des TCP-Segments
Daten - Daten höherer Protokolle
12.2.2. UDP – Segmentformat
User Datagram Protocol (UDP) ist das verbindungslose Transportprotokoll im TCP/IP-Protokollstapel.
UDP ist ein einfaches Protokoll, das Datagramme ohne Bestätigungen oder garantierte Übergabe
austauscht. Fehlerverarbeitung und Neuübertragung müssen von anderen Protokollen übernommen
werden.
UDP verwendet keine Fenster oder Bestätigungen, für die Zuverlässigkeit sorgen daher Protokolle der
Anwendungsschicht. UDP wurde für Anwendungen konzipiert, für die es nicht erforderlich ist,
Segment-Sequenzen zusammenzufügen.
Zu den Protokollen, die UDP einsetzen, gehören:




TFTP (Trivial File Transfer Protocol)
SNMP (Simple Network Management Protocol)
DHCP (Dynamic Host Control Protocol)
DNS (Domain Name System)
12.3. TCP - Verbindungsmethoden
12.3.1. Port Nummern
TCP und UDP verwenden Port-Nummern (Socket-Nummern), um Daten an die höheren Schichten zu
übergeben. Mithilfe von Port-Nummern werden unterschiedliche, gleichzeitig das Netz durchlaufende
Konversationen verfolgt. Entwickler von Anwendungen haben vereinbart, die allgemein bekannten
Port-Nummern zu verwenden, die in RFC 1700 definiert sind. Jede Konversation für die FTPAnwendung verwendet standardmäßig die Port-Nummer 21. Konversationen, an denen keine
Anwendungen mit allgemein bekannten Port-Nummern beteiligt sind, erhalten Port-Nummern, die
willkürlich aus einem bestimmten Bereich ausgewählt werden. Diese Port-Nummern werden als Quellund Zieladressen in TCP-Segmenten verwendet.
Einige Ports sind sowohl in TCP als auch in UDP reserviert, auch wenn eventuell keine Anwendungen
vorhanden sind, um sie zu unterstützen.
Port-Nummern wurden folgende Bereiche zugewiesen:



Nummern unter 255 - für öffentliche Anwendungen
Nummern zwischen 255 und 1023 - für Unternehmen für kommerzielle Anwendungen
Nummern über 1023 - nicht geregelt
Endsysteme verwenden Port-Nummern für die Auswahl geeigneter Anwendungen. Quell-PortNummern werden vom Quell-Host dynamisch vergeben, in der Regel handelt es sich um Nummern
über 1023.
12.3.2. Drei Schritte Handshake zum Verbindungsaufabu
Verbindungsorientierte Dienste beinhalten drei Phasen. In der Phase des Verbindungsaufbaus wird
ein einzelner Pfad zwischen Quelle und Ziel ermittelt. In der Regel werden zu diesem Zeitpunkt
Ressourcen reserviert, um einen unveränderten Servicegrad zu gewährleisten. Während der
Datenübertragungsphase werden Daten sequenziell über den ermittelten Pfad übertragen und gehen
am Ziel in der Reihenfolge ein, in der sie gesendet wurden. In der Phase der Verbindungsbeendigung
wird die Verbindung zwischen Quelle und Ziel beendet, wenn sie nicht mehr benötigt wird.
TCP-Hosts bauen über einen Drei-Schritte-Handshake eine verbindungsorientierte Sitzung
miteinander auf. Bei einer Drei-Schritte-Handshake-Sequenz zum Verbindungsaufbau wird eine
Verbindung an beiden Enden synchronisiert, bevor Daten übertragen werden. Dieser Austausch von
einleitenden Sequenznummern während der Verbindungssequenz spielt eine wichtige Rolle. Er
gewährleistet, dass Daten, die durch Übertragungsprobleme verloren gehen, wiederhergestellt werden
können.
Zunächst initiiert ein Host eine Verbindung, indem er ein Paket sendet, das die einleitende
Sequenznummer x und mit einem bestimmten Bit im Header eine Verbindungsanforderung angibt.
Anschließend empfängt der andere Host das Paket, zeichnet die Sequenznummer x auf, antwortet mit
der Bestätigung x+1 und fügt die eigene einleitende Sequenznummer y hinzu. Die
Bestätigungsnummer x+1 bedeutet, dass der Host alle Oktette einschließlich x erhalten hat und als
Nächstes x+1 erwartet.
Positive Acknowledgment and Retransmission (PAR) ist eine allgemeine, in vielen Protokollen
verwendete Methode für eine zuverlässige Übertragung. Mit PAR sendet eine Quelle ein Paket, startet
einen Timer und wartet vor dem Senden des nächsten Pakets auf eine Bestätigung. Wurde nach
Ablauf der Wartezeit noch keine Bestätigung empfangen, überträgt die Quelle das Paket erneut und
setzt den Timer zurück.
Die Fenstergröße bestimmt die Datenmenge, die auf einmal übertragen werden kann, bevor eine
Bestätigung vom Ziel eintrifft. Je größer das Fenster (angegeben in Byte), desto mehr Daten kann der
Host übertragen. Nachdem ein Host eine dem Fenster entsprechende Anzahl von Bytes übertragen
hat, muss er zunächst eine Bestätigung über den Empfang der Daten erhalten, bevor er weitere
Nachrichten senden kann. Bei einer Fenstergröße von 1 muss beispielsweise jedes einzelne Segment
bestätigt werden, bevor das nächste Segment gesendet werden kann.
Für Bestätigungen verwendet TCP Nummern, die sich auf das Oktett beziehen, das als Nächstes
erwartet wird. "Sliding" in Sliding Window bezieht sich auf die Tatsache, dass die Fenstergröße
während der TCP-Sitzung dynamisch angepasst wird. Dies führt dazu, dass die Hosts die Bandbreite
effizient nutzen.
Der Fenstermechanismus ist ein Flusskontrollmechanismus, bei dem die Quellstation eine
Bestätigung vom Ziel erhalten muss, nachdem eine bestimmte Datenmenge übertragen wurde. Bei
einer Fenstergröße von 3 kann das Quellgerät beispielsweise drei Oktette an das Ziel senden. Danach
muss es auf eine Bestätigung warten. Wenn das Ziel die drei Oktette erhält, sendet es eine
Bestätigung an das Quellgerät, das nun drei weitere Oktette übertragen kann. Wenn das Ziel die drei
Oktette aus einem bestimmten Grund, beispielsweise Pufferüberlauf, nicht erhält, sendet es keine
Bestätigung. Da die Quelle keine Bestätigung erhält, weiß sie, dass die Oktette erneut gesendet
werden müssen und es erforderlich ist, die Übertragungsrate zu verringern.
Die Reihenfolge der Segmente wird in TCP mit einer Sendereferenz-Bestätigung festgelegt. Jedes
Datagramm erhält vor der Übertragung eine Nummer. An der empfangenden Station fügt TCP die
Segmente zu einer vollständigen Nachricht zusammen. Wenn eine Sequenznummer in der Reihe
fehlt, wird das betreffende Segment erneut übertragen. Bei Segmenten, die nicht innerhalb eines
gegebenen Zeitraums bestätigt werden, erfolgt eine erneute Übertragung.
Zusammenfassung Kapitel XII:
In diesem Kapitel haben Sie die Funktionen der Transportschicht und die verschiedenen Prozesse
kennen gelernt, die ablaufen, wenn Datenpakete diese Schicht durchlaufen. Im Detail haben Sie
folgendes gelernt:




Die Transportschicht steuert den Datenfluss, um auf zuverlässige und präzise Weise die
durchgehende Konnektivität zwischen Host-Anwendungen zu gewährleisten.
Das TCP/IP-Protokoll der Schicht 4 (Transportschicht) beinhaltet zwei Protokolle: TCP und
UDP
TCP und UDP verwenden Port-Nummern (Socket-Nummern), um unterschiedliche,
gleichzeitig das Netz durchlaufende Kommunikationsbeziehungen zu verwalten und deren
Daten an die oberen Schichten zu übergeben.
Bei der Drei-Schritte-Handshake-Sequenz wird eine logische Verbindung zwischen den
Endpunkten eines Netzes synchronisiert.
Herunterladen