PRRU Skriptum – Kapitel 5

 

I) Inhalt

 

PRRU Skriptum – Kapitel 5. 1

I) Inhalt 1

5 Die TCP/IP Protokollfamilie. 1

5.1 Layer 4. 1

5.1.1 TCP (Transport Control Protocol) 1

5.1.2 UDP. 4

5.2 Layer 3. 4

5.2.1 IP (Internet Protocol) 4

5.2.2 ICMP (Internet Control Message Protocol) 4

5.2.3 ARP (Address Resolution Protocol) 8

5.2.4 RARP (Reverse Address Resolution Protocol) 8

5.2.5 Die Adressierung auf Layer 3. 8

 

 

 

5 Die TCP/IP Protokollfamilie

 

Bei der Installation von TCP/IP wird eine ganze Familie von Protokollen mitinstalliert:

 

5.1 Layer 4

5.1.1 TCP (Transport Control Protocol)

5.1.1.1 Aufgaben von TCP:


Abbildung 5.1.1.1a: TCP Header

 

5.1.1.2 Fehlerkorrektur:

Jedes empfangene Paket wird vom Empfänger bestätigt – kommt diese Bestätigung beim Sender nicht an, muß das Paket vom Sender erneut gesandt werden. Um doppelt empfangene Pakete zu erkennen, erhält jedes Paket eine Sequence Number.

 

„Huckepack“ Methode:

Wenn ein Paket erhalten wird, wird nicht extra ein Bestätigungspaket zurückgesandt, sondern die Sequence Number des empfangenen Pakets in das Feld Acknowledge Number eines anderen Pakets geschrieben. Sollten gerade keine Daten zum Senden da sein, wird ein leeres Paket erzeugt.

 

<<Abbildung>>

 

Weil der Sender immer auf die Bestätigtung des Empfängers warten muss, kann er den Empfänger nicht mit Paketen überschwemmen (Flusssteuerung). Bei langsamen Übertragungsleitungen (z.B. Satellitenverbindung) wird dabei aber viel Bandbreite verschwendet, weil der Sender immer warten muss bis die Bestätigung eintrifft.

 

Abhilfe: Nicht jedes Paket wird bestätigt, sondern erst nach einer gewissen Anzahl von Paketen (window-size) wird der Empfang bestätigt.

 

<<Abbildung>>

 

 

Beim Absenden eines Pakets wird ein Retransmission Timer gestartet. Wird vor dem Ablauf dieses Timers kein Bestätigungspaket für dieses Paket empfangen, wird das Paket erneut versandt. Die Zeitspanne wird dynamisch aus vergangenen Antwortzeiten berechnet.

 

5.1.1.3 Multiplexing

Multiplexing erlaubt es mehreren Anwendungen, eine gemeinsame Leitung zu verwenden. Dazu wird die Adresse um ein Feld erweitert – die Portnummer. Um eine Applikation nun eindeutig zu identifizieren, gibt es nun 3 Merkmale: Die IP Adresse, Source Port, Target Port. Dieses Tripel wird auch als Socket bezeichnet.

 

Ports mit einer Nummer unter 1024 werden als „Well-known“ Ports definiert. Diese werden von der IANA vergeben.

Ports mit einer Nummer über 1024 können frei verwendet werden.

 

Portnummern der wichtigsten TCP Applikationen:

 

Portnummern der wichtigsten UDP Applikationen:

 

Wichtig ist auch DNS (Port 53), das sowohl TCP als auch UDP verwendet.

5.1.1.4 Verbindungsmanagement

5.1.1.4.1 Verbindungsaufbau

Der Verbindungsaufbau verwendet eine Prozedur, die auch als „Three-Way-Handshake“ bekannt ist. Er dient dazu, die Existenz und Verfügbarkeit des Zielrechners festzustellen und die erste Sequence Number festzulegen.

 


Abbildung 5.1.1.4.1a: Verbindungsaufbau in TCP


1. Schritt: Der Sender sendet ein Paket mit gesetztem Synchronisationsflag und der Sequence Number X.

2. Schritt: Der Empfänger bestätigt den Erhalt und sendet seinerseits ein Paket mit Synchronisationsflag und der eigenen Sequence Number Y.

3. Schritt: Der Sender bestätigt das Paket und sendet ein Paket mit Sequence Number X+1 und Acknowledge Number Y+1.

 

 

 

5.1.1.4.2 Verbindungsabbau

Auch beim Verbindungsabbau wird ein Handshake-Prozess durchlaufen, dieser setzt sich aber aus 4 Schritten zusammen:

 


Abbildung 5.1.1.4.2a: Verbindungsabbau in TCP


1. Schritt: Der Sender sendet ein Paket mit gesetztem Finish Flag und der Sequence Number A.

2. Schritt: Der Empfänger bestätigt den Erhalt und sendet ein Paket mit Acknowledge Flag, der eigenen Sequence Number B und der Acknowledge Number A+1.

3. Schritt: Der Empfänger sendet ein weiteres Paket mit dem Finished Flag.

4. Schritt: Der Sender bestätigt das Paket und sendet ein Paket mit Acknowledge Number B+1.

 

 

 

5.1.2 UDP

UDP ist ein verbindungsloses Protokoll und wird dort verwendet, wo Fehlerkorrektur keine Rolle spielt (z.B. Videokonferenzen). Bei Videokonferenzen ist z.B. der Erhalt eines vorher verlorenen Paketes sinnlos (die Information ist bereits „outdated“).

 

Funktionen von UDP:

 

5.2 Layer 3

5.2.1 IP (Internet Protocol)


Abbildung 5.2.1a: Der IP Header

 

Das Priority Feld dient dazu, Daten zu prioritisieren. Dies ist besonders wichtig bei zeitkritischen Anwendungen, wie z.B. Voice-over-IP oder Terminalserver.

 

5.2.1.1 Fragmentierung

Auf Layer 4 findet eine Segmentierung in max. 1500 Byte große Pakete statt. Weil aber darunterliegende Schichten wie Ethernet oder FDDI verschieden große Pakete behandeln können, muss auf Layer 3 eine weitere Fragmentierung stattfinden.

 

5.2.2 ICMP (Internet Control Message Protocol)

ICMP dient zur Übertragung von Kontrollinformationen und Fehlermeldungen in einem Netzwerk.

 

5.2.2.1 Art der Fehlermeldungen:

5.2.2.2 Destination unreachable

Das Ziel ist nicht erreichbar. Wir versuchen aus dem Netzwerk 10.0.0.0 ein Paket ins Zielnetzwerk 200.0.0.0 zu senden.

 


Abbildung 5.2.2.2a: Mögliche „Destination unreachable“ Fehler

Folgende Fehler können auftreten:

 

5.2.2.3 Redirect

Wir haben eine Firma mit 2 Standorten. Als Gateway ist bei unserem Switch der Router 1 (vom Firmenstandort 2) eingetragen. Wollten wir nun ins Internet, laufen die Pakete zuerst von uns zu Router 1, von dort dann zu Router 2 und dann erst ins Internet – das ist ein Umweg. Der Router 1 erkennt dies, da der Router 2 im gleichen logischen Netz ist wie er und er sendet „Redirect“. Damit lernen wir für diese Übertragung, den Router 2 als Gateway direkt zu verwenden.


Abbildung 5.2.2.3a: Der Datentransfer vor dem Redirect

 

 

Nun sendet Router 1 das Redirect Paket aus und wir versenden für diese Übertragung nun die Pakete wie folgt:

 

Abbildung 5.2.2.3 b: Der Datentransfer nach dem Redirect

 

5.2.2.4 Informationsmeldungen:

 

Beim Ping werden mehrere Pakete ausgesandt und die obenstehenden Informationen gesammelt und ausgegeben.

 

5.2.3 ARP (Address Resolution Protocol)

Mit ARP kann die einer bekannten IP Adresse zugehörige MAC Adresse herausgefunden werden. Wir benötigen die MAC Adresse, um das Paket auf Layer 2 weitersenden zu können.

 

Funktionsweise:

1.       Wir schicken einen Broadcast ins lokale Netzwerk aus:
<<ILLUSTRATION ARP Paket>>

2.       Der PC mit der angegebenen ARP antwortet mit einem normalen Unicast-Paket
<<ILLUSTRATION ARP Paket Antwort>>

 

Die so festgestellen MAC-IP Adressen Tupel werden in einer Tabelle gespeichert. Nur die MAC Adressen des eigenen logischen Netzwerks werden gespeichert, alle anderen Pakete werden an den Gateway gesandt.

 

5.2.4 RARP (Reverse Address Resolution Protocol)

Mit RARP wird der Vorgang von ARP umgekehrt – sprich wir können herausfinden, welche IP Adresse zu einer bekannten MAC Adresse gehört. RARP wird verwendet bei Stationen ohne Festplatten, die sich IP Adresse und Image vom Server holen.

 

5.2.5 Die Adressierung auf Layer 3

Die IP Adresse ist 32 Bit lang, wobei abhängig von der Adressklasse der Netzanteil bzw. Hostanteil 8,16 oder 24 bit lang sind. Um welche Adressklasse es sich handelt, wird im ersten Byte entschieden.

 

Klasse

Byte 1

Byte 2

Byte 3

Byte 4

Range (dezimal)

Anzahl der Netze

Anzahl der Hosts

Ausnahmen

Klasse A

0XXXXXXX

 

 

 

1.x.x.x – 126.x.x.x

126

2^24 – 2

0.x.x.x Netzadresse
1.x.x.x Broadcast
10.0.0.0 – 10.255.255.255 Privat

Klasse B

10XXXXXX

 

 

 

128.1.x.x – 191.255.x.x

2^14 - 2

2^16 - 2

 

Klasse C

110XXXXX

 

 

 

192.0.0.x – 223.255.255.x

2^21 - 2

254

 

Klasse D

1110XXXX

 

 

 

224.x.x.x – 239.x.x.x

 

 

 

Klasse E

1111XXXX

 

 

 

 

 

 

 

 

Netzteil

Hostteil

 

Klasse D ist Reserviert für Multicast, Klasse E für Testzwecke.

Durch die steigende Verwendung von privaten Adressen sind auch heute noch genügend IP Adressen vorhanden. Private Adressen sind Adressen für Heim- und Firmennetzwerke, die aber weltweit eindeutig sind. Damit die User weiterhin das Internet nutzen können, muss der Gateway die internen Adressen in offizielle IP Adressen umwandeln. Diese Umwandlung nennt man NAT (=Network Address Translation).

Heute werden nicht nur IP Adresse, sondern auch Port umgewandelt. Dadurch können mehrere User über eine IP das Internet verwenden.

Probleme: NAT wird nur auf Layer 3 und Layer 4 durchgeführt. Mehr Layer würden mehr unnötigen Overhead bedeuten – allerdings benötigen manche Anwendungen wie VideoStreaming IP Adressen auch in höheren Layern.

 

Private Adressräume:
Klasse A: 10.0.0.0 – 10.255.255.255

Klasse B: 172.16.0.0 – 172.31.255.255
Klasse C: 192.168.0.0 – 192.168.255.255

 

IPV6

IPV6 ist eine Weiterentwicklung von IPv4. Eine IPv6 Adresse besteht aus 128Bit. 80Bit werden für Netzadressierung, 48Bit für Hostadressierung verwendet. Für die Netzadressierung wurde eine hierarchische Providerstruktur geschaffen, jeder Provider darf entsprechend Adressen verteilen. Für die 48Bit Hostadressierung wird die MAC-Adresse herangezogen – damit wird der Providerwechsel erleichtert.

 

5.2.6 Subnetting

Unter Subnetting versteht man das Unterteilen eines Netzes in mehrere Subnetze. Dadurch wird die Ausdehnung der Broadcast-Domains kleiner (Performancegewinn) und das Netz effizienter und übersichtlicher.

5.2.6.1 Variante 1: Classfull Subnetting

Beim Classfull Subnetting wird für das Subnetting ein ganzes Byte herangezogen.

 

Beispiel: IP Adresse: 129.1.0.0

Wir verwenden das 3. Byte der Adresse. Die neue Struktur der IP-Adresse:

2 Byte Netzteil – 1 Byte Subnet – 1 Byte Host

Anzahl der Hosts pro Subnetz: 254

Subnetmask: 255.255.255.0

Classfull Subnetting ist nur in Klasse A und B Netzwerken möglich, da in Klasse C ja bereits 3 Byte für den Netzteil verwendet werden und mindestens 1 Byte für den Hostteil übrig bleiben muss.

5.2.6.2 Variante 2: Classless Subnetting

Beim Classless Subnetting werden einzelne Bits, nicht ganz Bytes, für das Subnetting herangezogen. Die Anzahl der verwendeten Bits ist abhängig von der Anzahl der notwendigen Subnetze.

Anzahl der Subnetze =

 

Beispiel 1:

IP Adresse: 201.4.5.0

Anzahl der Subnetze = 4, wir benötigen daher min. 3 Bit für das Subnetting

Subnetmask: 255.255.255.224 (binär: 11111111.11111111.11111111.11100000)

Netzadressen: 201.4.5.___0 0000 (die 3 Stellen, die mit ___ gekennzeichnet sind, werden für das Subnetting herangezogen).

Es gibt daher 6 Subnetze:

  1. 201.4.5.0010 0000 = 201.4.5.32
  2. 201.4.5.64
  3. 201.4.5.96
  4. 201.4.5.128
  5. 201.4.5.160
  6. 201.4.5.192

 

Der erste Host im Subnet 2 (201.4.5.64) wäre dann 201.4.5.65, die letzte 201.4.5.94 und die Broadcast-Adresse 201.4.5.95.

 

Beispiel 2:

Klasse B Netz

100 Subnetze

IP: 140.17.0.0

 

Gesucht:

Subnetmask

Die ersten 5 Netze

Die Hosts des 6. Netzes

 

-> 7 Bit Subnetting

Subnetmask: 255.255.254.0

Die erste 5 Netzadressen:

140.17.2.0 (= 140.17._ _ _ _ _ _ _ 0.0)

140.17.4.0

140.17.6.0

140.17.8.0

140.17.10.0

Die Hosts des 6.Netzes:

140.17.12.1 – 140.17.13.254

Broadcast: 140.17.13.255

 

 

PRRU Skriptum – Kapitel 5

Dies ist ein Teil des PRRU Skriptums von Markus Wilthaner und anderen Autoren. Bitte die Hinweise zum Copyright unter http://school.wilth.net/prru/ beachten.

E-Mail: contact@wilth.net