Technische Informatik TCP/IP
Technische Informatik TCP/IP
Technische Informatik TCP/IP
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.