21.07.2013 Aufrufe

Technische Informatik TCP/IP

Technische Informatik TCP/IP

Technische Informatik TCP/IP

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Technische</strong> <strong>Informatik</strong><br />

Frage 6 | <strong>TCP</strong>/<strong>IP</strong>, Routing<br />

<strong>TCP</strong>/<strong>IP</strong><br />

Seite 1/5<br />

Internet<br />

Sead Ahmetovic<br />

Zur Gliederung der Kommunikationsaufgaben werden in Netzwerken funktionale Ebenen, so<br />

genannte Schichten, unterschieden. Für die Internet-Protokoll-Familie ist dabei das <strong>TCP</strong>/<strong>IP</strong>-<br />

Referenzmodell maßgebend. Es beschreibt den Aufbau und das Zusammenwirken der<br />

Netzwerkprotokolle aus der Internet-Protokoll-Familie und gliedert sie in vier aufeinander<br />

aufbauende Schichten. <strong>TCP</strong>/<strong>IP</strong> steht für Transmission Control Protocol/Internet Protocol.<br />

Das <strong>TCP</strong>/<strong>IP</strong>-Referenzmodell ist auf die Internet-Protokolle zugeschnitten, die den<br />

Datenaustausch über die Grenzen lokaler Netzwerke hinaus ermöglichen. Es wird weder der<br />

Zugriff auf ein Übertragungsmedium noch die Datenübertragungstechnik definiert. Vielmehr<br />

sind die Internet-Protokolle dafür zuständig, Datenpakete über mehrere Punkt-zu-Punkt-<br />

Verbindungen (Hops) weiterzuvermitteln und auf dieser Basis Verbindungen zwischen<br />

Netzwerkteilnehmern über mehrere Hops herzustellen.<br />

Um Probleme der Netzwerkkommunikation im Allgemeinen zu betrachten, greift man<br />

stattdessen auf das ISO/OSI-Referenzmodell zurück.<br />

<strong>TCP</strong>/<strong>IP</strong>-Schicht<br />

≈ OSI-<br />

Schicht<br />

Beispiel<br />

Anwendungsschicht 5–7 HTTP, FTP, SMTP<br />

Transportschicht 4 <strong>TCP</strong>, UDP<br />

Internetschicht 3 <strong>IP</strong>v4,<strong>IP</strong>v6<br />

Netzzugangsschicht 1–2<br />

Die einzelnen Schichten erfüllen folgende Funktionen:<br />

Ethernet, Token<br />

Ring, FDDI<br />

• Anwendungsschicht: Die Anwendungsschicht umfasst alle Protokolle, die mit<br />

Anwendungsprogrammen zusammenarbeiten und die Netzwerkinfrastruktur für den<br />

Austausch anwendungsspezifischer Daten nutzen.<br />

• Transportschicht: Die Transportschicht stellt eine Ende-zu-Ende-Verbindung her. Das<br />

wichtigste Protokoll dieser Schicht ist das Transmission Control Protocol (<strong>TCP</strong>), das<br />

Verbindungen zwischen jeweils zwei Netzwerkteilnehmern zum gesicherten<br />

Versenden von Datenströmen herstellt. Es gehören aber auch Datagramm-Protokolle<br />

– zum Beispiel das User Datagram Protocol (UDP) – in diese Schicht, bei denen nur<br />

die Zustellung an den richtigen Dienst sichergestellt wird und keine Verbindung<br />

aufgebaut wird.<br />

• Internetschicht: Die Internetschicht ist für die Weitervermittlung von Paketen und die<br />

Wegewahl (Routing) zuständig. Auf dieser Schicht und den darunterliegenden<br />

Schichten werden Punkt-zu-Punkt-Verbindungen betrachtet. Die Aufgabe dieser<br />

Schicht ist es, zu einem empfangenen Paket das nächste Zwischenziel zu ermitteln<br />

und das Paket dorthin weiterzuleiten. Kern dieser Schicht ist das Internet Protocol<br />

(<strong>IP</strong>), das einen Paketauslieferungsdienst bereitstellt. Die Internetschicht entspricht im<br />

ISO/OSI-Referenzmodell der Vermittlungsschicht.


<strong>Technische</strong> <strong>Informatik</strong><br />

Frage 6 | <strong>TCP</strong>/<strong>IP</strong>, Routing<br />

<strong>TCP</strong><br />

Seite 2/5<br />

Internet<br />

Sead Ahmetovic<br />

• Netzzugangsschicht (auch: Host-To-Network Layer): Die Netzwerkschicht ist im<br />

<strong>TCP</strong>/<strong>IP</strong>-Referenzmodell spezifiziert, enthält jedoch keine Protokolle der <strong>TCP</strong>/<strong>IP</strong>-<br />

Familie. Sie ist vielmehr als Platzhalter für verschiedene Techniken zur<br />

Datenübertragung von Punkt zu Punkt zu verstehen. Die Internet-Protokolle wurden<br />

mit dem Ziel entwickelt, verschiedene Subnetze zusammenzuschließen. Daher kann<br />

die Host-an-Netz-Schicht durch Protokolle wie Ethernet, FDDI, PPP (Punkt-zu-Punkt-<br />

Verbindung) oder 802.11 (WLAN) ausgefüllt werden. Die Netzzugangsschicht<br />

entspricht im ISO/OSI-Referenzmodell der Sicherungs- und Bitübertragungsschicht.<br />

<strong>TCP</strong> stellt einen virtuellen Kanal zwischen zwei Endpunkten einer Netzwerkverbindung<br />

(Sockets) her. Auf diesem Kanal können in beide Richtungen Daten übertragen werden. <strong>TCP</strong><br />

setzt in den meisten Fällen auf das <strong>IP</strong> (Internet-Protokoll) auf.<br />

Aufgrund seiner vielen angenehmen Eigenschaften (Datenverluste werden erkannt und<br />

automatisch behoben, Datenübertragung ist in beiden Richtungen möglich,<br />

Netzwerküberlastung wird verhindert usw.) ist <strong>TCP</strong> ein sehr weit verbreitetes Protokoll zur<br />

Datenübertragung. Beispielsweise wird <strong>TCP</strong> als (fast) ausschließliches Transportmedium für<br />

das WWW, E-Mail, Daten in Peer-to-Peer-Netzwerken und viele andere populäre<br />

Netzwerkdienste verwendet.<br />

Der Drei-Wege-Handshake<br />

Drei-Wege-Handshake ist die Bezeichnung für ein bestimmtes Verfahren, um eine in Bezug<br />

auf Übertragungsverluste sichere Datenübertragung zwischen zwei Instanzen zu<br />

ermöglichen. Obwohl überwiegend in der Netzwerktechnik verwendet, ist der Drei-Wege-<br />

Handshake nicht auf diese beschränkt.<br />

Verbindungsaufbau<br />

Beim Aufbau einer <strong>TCP</strong>-Verbindung kommt der sogenannte Drei-Wege-Handshake zum<br />

Einsatz. Der Rechner, der die Verbindung aufbauen will, sendet dem anderen ein SYN-Paket<br />

mit einer Sequenznummer x. Die Sequenznummern sind dabei für die Sicherstellung einer<br />

vollständigen Übertragung in der richtigen Reihenfolge und ohne Duplikate wichtig. Es


<strong>Technische</strong> <strong>Informatik</strong><br />

Frage 6 | <strong>TCP</strong>/<strong>IP</strong>, Routing<br />

Seite 3/5<br />

Internet<br />

Sead Ahmetovic<br />

handelt sich also um ein Paket, dessen SYN-Bit im Paketkopf gesetzt ist. Die Start-<br />

Sequenznummer ist eine beliebige Zahl, deren Generierung von der jeweiligen <strong>TCP</strong>-<br />

Implementierung abhängig ist. Sie sollte jedoch möglichst zufällig sein, um Sicherheitsrisiken<br />

zu vermeiden.<br />

Die Gegenstelle empfängt das Paket. Ist der Port geschlossen, antwortet sie mit einem <strong>TCP</strong>-<br />

RST um zu signalisieren, dass keine Verbindung aufgebaut werden kann. Ist der Port<br />

geöffnet, sendet sie in einem eigenen SYN-Paket im Gegenzug ihre Start-Sequenznummer y<br />

(die ebenfalls beliebig und unabhängig von der Start-Sequenznummer der Gegenstelle ist).<br />

Zugleich bestätigt sie den Erhalt des ersten SYN-Pakets, indem sie die Sequenznummer x um<br />

eins erhöht und im ACK-Teil des Headers zurückschickt.<br />

Der Client bestätigt zuletzt den Erhalt des SYN/ACK-Pakets durch das Senden eines eigenen<br />

ACK-Pakets mit der Sequenznummer y+1. Dieser Vorgang wird auch als „Forward<br />

Acknowledgment“ bezeichnet. Außerdem sendet der Client den Wert x+1 aus<br />

Sicherheitsgründen ebenso zurück. Dieses ACK-Segment erhält der Server, das ACK-Segment<br />

ist durch das gesetzte ACK-Flag gekennzeichnet. Die Verbindung ist damit aufgebaut.<br />

1. SYN-SENT → →<br />

2.<br />

SYN/ACK-<br />

RECEIVED<br />

← ←<br />

SYN-<br />

RECEIVED<br />

SYN/ACK-<br />

SENT<br />

3. ACK-SENT → → ESTABLISHED<br />

Verbindungsabbau<br />

Der geregelte Verbindungsabbau erfolgt ähnlich. Statt des SYN-Bits kommt das FIN-Bit zum<br />

Einsatz, welches anzeigt, dass keine Daten mehr vom Sender kommen. Der Erhalt des Pakets<br />

wird wiederum mittels ACK bestätigt. Der Empfänger des FIN-Pakets sendet zuletzt<br />

seinerseits ein FIN-Paket, das ihm ebenfalls bestätigt wird.


<strong>Technische</strong> <strong>Informatik</strong><br />

Frage 6 | <strong>TCP</strong>/<strong>IP</strong>, Routing<br />

Seite 4/5<br />

Internet<br />

Sead Ahmetovic<br />

Obwohl eigentlich vier Wege genutzt werden, handelt es sich beim Verbindungsabbau auch<br />

um einen Drei-Wege-Handshake, da die ACK- und FIN-Operationen vom Server zum Client<br />

als ein Weg gewertet werden. Zudem ist ein verkürztes Verfahren möglich, bei dem FIN und<br />

ACK genau wie beim Verbindungsaufbau im selben Paket untergebracht werden. Die<br />

maximum segment lifetime (MSL) ist die maximale Zeit, die ein Segment im Netzwerk<br />

verbringen kann, bevor es verworfen wird. Nach dem Senden des letzten ACKs wechselt der<br />

Client in einen zwei MSL andauernden Wartezustand (Waitstate), in dem alle verspäteten<br />

Segmente verworfen werden. Dadurch wird sichergestellt, dass keine verspäteten Segmente<br />

als Teil einer neuen Verbindung fehlinterpretiert werden. Außerdem wird eine korrekte<br />

Verbindungsterminierung sichergestellt. Geht ACK y+1 verloren, läuft beim Server der Timer<br />

ab, und das LAST_ACK Segment wird erneut übertragen.<br />

<strong>IP</strong><br />

Das Internet Protocol ist eine (bzw. die) Implementierung der Internet-Schicht des <strong>TCP</strong>/<strong>IP</strong>-<br />

Modells bzw. der Vermittlungsschicht (Network Layer) des OSI-Modells.<br />

<strong>IP</strong> bildet die erste vom Übertragungsmedium unabhängige Schicht der Internetprotokoll-<br />

Familie. Das bedeutet, dass mittels <strong>IP</strong>-Adresse und Subnetzmaske (subnet mask) Computer<br />

innerhalb eines Netzwerkes in logische Einheiten, so genannte Subnetze, gruppiert werden<br />

können. Auf dieser Basis ist es möglich, Computer in größeren Netzwerken zu adressieren<br />

und Verbindungen zu ihnen aufzubauen, da logische Adressierung die Grundlage für Routing<br />

ist. Das Internet Protocol stellt die Grundlage des Internets dar.<br />

Im Internet ist <strong>IP</strong> fast ausschließlich in der Version <strong>IP</strong>v4 im Einsatz. Die Nachfolgeversion <strong>IP</strong>v6<br />

wird bereits von zahlreichen Betriebssystemen sowie einer Reihe von Endanwendungen<br />

unterstützt und gilt als genügend ausgereift für einen umfassenden Einsatz. Der Hauptgrund<br />

für einen großflächigen Umstieg, nämlich die Adressknappheit des nur 32 Bit großen<br />

Adressraums von <strong>IP</strong>v4, ist jedoch in Nordamerika und Europa nicht drängend genug, da diese<br />

Regionen aus historischen Gründen über einen Großteil der <strong>IP</strong>v4-Adressbereiche verfügen.<br />

Im asiatischen Raum hingegen ist der Adressmangel von größerer Bedeutung, so dass <strong>IP</strong>v6<br />

dort bereits größere Fortschritte macht und insbesondere beim Aufbau neuer Backbones<br />

Anwendung findet.<br />

Routing<br />

Das Routing ist ein Vorgang, der den Weg zur nächsten Station eines Datenpaketes<br />

bestimmt. Im Vordergrund steht die Wahl der Route aus den verfügbaren Routen, die in<br />

einer Routing-Tabelle gespeichert sind.<br />

Im folgenden die Parameter und Kriterien, die für die Wahl einer Route von Bedeutung sein<br />

können:<br />

• notwendige Bandbreite<br />

• Ziel-Adresse<br />

• Subnetz<br />

• Verbindungsart<br />

• bekannte Netzwerkadressen


<strong>Technische</strong> <strong>Informatik</strong><br />

Frage 6 | <strong>TCP</strong>/<strong>IP</strong>, Routing<br />

Routing-Tabelle<br />

Seite 5/5<br />

Internet<br />

Sead Ahmetovic<br />

Die Routing-Tabelle enthält eine umfassende und aktuelle Wegbeschreibung durch das Netz.<br />

In ihr sind alle bekannten Routen eingetragen. Die Routing-Tabelle wird entweder manuell<br />

gefüllt, also statische Routen angelegt, oder dynamisch im Austausch mit anderen<br />

nahegelegenen Routern gepflegt. Änderungen der möglichen Routen müssen beim<br />

statischen Routing händisch vom Administrator gepflegt werden. Beim dynamischen Routing<br />

werden die Routing-Tabellen von den Routern selbständig gepflegt und an die Netzstruktur<br />

angepasst. Z. B. auch beim Ausfall von Routern oder Übertragungsstrecken.<br />

Die Routing-Tabelle enthält folgende Angaben:<br />

• alle bekannten Netzwerkadressen<br />

• Verbindungsarten in andere Netzwerke<br />

• Weginformationen zu anderen Routern<br />

<strong>IP</strong>-Routing-Algorithmus<br />

Der <strong>IP</strong>-Routing-Algorithmus gilt nicht nur für <strong>IP</strong>-Router, sondern für alle Netzwerkstationen,<br />

die <strong>IP</strong>-Datenpakete empfangen können. Die empfangenen Datenpakete durchlaufen diesen<br />

Algorithmus bis das Datenpaket zugeordnet oder weitergeleitet werden kann.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!