next up previous contents
Nächste Seite: 5. TCP (Transmission Control Aufwärts: Grundlagen TCP/IP Vorherige Seite: 3. Das ISO/OSI-Referenzmodell   Inhalt

Unterabschnitte


4. IP (Internet Protocol)

Das IP, das auf der Ebene 3 des ISO/OSI-Referenzmodelles angesiedelt ist, kümmert sich darum, daß Datenpakete von einem Rechner zu einem anderen gelangen. Es stellt den höheren Schichten im ISO/OSI-Referenzmodell unter anderem folgende Dienste zur Verfügung:

Adreßfunktion:
Jedes Datenpaket wird mit einer Absender- und Empfänger-Adresse versehen.

Routing zwischen Netzwerken:
Es ist möglich, ein Datenpaket nicht nur in das eigene Netzwerk, sondern auch in benachbarte und weiter entfernte Netzwerke zu schicken.

Fragmentierung und Reassemblierung von Paketen:
Bestimmte Netzwerke können nur bestimmte Größen von Datenpaketen bearbeiten. Das IP kann diese Datenpakete aufteilen und wieder zusammenfügen.[*]

Vorrangsteuerung
Es besteht die Möglichkeit, bestimmte Arten von Daten vorrangig zu behandeln.

Das IP ist ein unzuverlässiger verbindungsloser Paketübermittlungsdienst (send and pray):

Paketübermittlungsdienst:
Alle übertragenen Daten werden in (evtl. mehrere) Pakete verpackt. Dadurch ist es möglich, über eine Verbindung mehrere Datenströme gleichzeitig laufen zu lassen, indem Pakete von verschiedenen Datenströmen gemischt werden.

unzuverlässig:
Die Datenpakete müssen nicht in der Reihenfolge beim Empfänger ankommen, in der sie abgeschickt wurden. Es kann auch zur Doppelung oder zum Verlust von Datenpaketen kommen. Diese Fehler können vom IP nicht festgestellt oder korrigiert werden.

verbindungslos:
Jedes Datenpaket wird unabhängig von den anderen übertragen. Dadurch ist kein einheitlicher Weg zwischen Sender und Empfänger festgelegt, er kann sich von Paket zu Paket ändern.

Um die vorhandenen Unzulänglichkeiten auszugleichen, wird das IP meist in Verbindung mit dem TCP (Transmission Control Protocol) eingesetzt.

1. Die IP-Adresse

Damit eine Verbindung von einem Rechner zu einem anderen aufgebaut werden kann, muß jedem Rechner eine eindeutige IP-Adresse zugewiesen werden.

Im derzeitigen Standard IPv4 (Internet Protocol Version 4) besteht diese Adresse aus 4 Oktetts. Jedes Oktett entspricht einem Byte (0-255). Damit lassen sich $256^{4}=2^{32}=4.294.967.296$ verschiedene Adressen darstellen. Langsam wird dieser Adreßraum aber knapp. Im zukünftigen IPv6-Standard (siehe Abschnitt 4.4) wird die Adresse deshalb vergrößert. Im Allgemeinen werden die Oktetts dezimal ausgeschrieben und durch Punkte getrennt. Eine typische IP-Adresse sieht zum Beispiel so aus:

192.168.0.101

Jede IP-Adresse ist weltweit eindeutig und wird von der IANA an die drei Organisationen APNIC, ARIN und RIPE vergeben, die diese dann wiederum an Endkunden (Firmen oder Internetprovider) verteilen. Weitere Informationen gibt es bei den entsprechenden Organisationen:

1. Domain Name System

Jeder von uns kennt Internet-Adressen in der Form http://www.kernel.org - wenn das Internet aber hauptsächlich über TCP/IP läuft, warum sehen dann die Adressen so anders aus?

Der DNS (Domain Name Service) setzt die Namen von der Form von http://www.kernel.org in eine IP-Adresse der Form http://206.184.214.34 um. Dazu wird ein sogenannter Nameserver benutzt. Alle Adressen liegen ein einer großen hierarchischen, weltweit verteilten Datenbank. Wenn ein Nameserver eine Adresse nicht umsetzen kann, gibt er die Anfrage an einen ihm übergeordneten Nameserver weiter.

Durch dieses Verfahren sind die Adressen leichter zu merken (aussagekräftige Namen statt Zahlenkolonnen) und leichter zu administrieren (wenn ein Rechner eine andere IP-Adresse bekommt, muß nur der Eintrag auf dem Nameserver geändert werden, der Name, unter dem er zu erreichen ist, bleibt gleich).

2. Subnetze

Jede Adresse wird in einen Netzwerk- und einen Rechnerbereich (auch Hostbereich) aufgeteilt. Dafür wird eine sogenannte Subnetzmaske eingerichtet, die angibt, wieviele Bits einer Adresse zum Netz und wieviele zum Rechner gehören. Hier ein Beispiel in dezimaler und binärer Notation:

dezimal Netzwerk   Host
Subnetzmaske: 255.255.255 . 000
IP-Adresse: 192.168.000 . 101

binär Netzwerk   Host
Subnetzmaske: 11111111.11111111.11111111 . 00000000
IP-Adresse: 11000000.10101000.00000000 . 01100101

Dieses Beispiel würde 256 Rechner im Netzwerk 192.168.0.x erlauben. Es kann jetzt für jede beliebige Adresse festgestellt werden, ob sie im eigenen Netzwerk oder in einem anderen Netzwerk liegt (wichtig für Router, Bridges und Internet-Gateways).

Da es am einfachsten zu lesen und zu rechnen ist, sollte die Subnetzmaske aus einem durchgängigen Bereich von binären Einsen bestehen[*]. In diesem Fall hat es sich eingebürgert, die Einsen zu zählen und in der Kurzform /n aufzuschreiben (n ist die Anzahl der Einsen). Eine Angabe von 192.168.0.0/24 bedeutet also Netzadressen im Bereich von 192.168.0.x mit einer Subnetzmaske von 255.255.255.0 (24 Einsen).

3. Netzklassen

Bestimmte Standard-Subnetzmasken werden verschiedenen Netzklassen zugeordnet. Für jede dieser Klassen gibt es Bereiche, die nicht zentral vergeben werden und für jedermann frei verfügbar sind (zum Beispiel für das kleine Privatnetz zu Hause):

Klasse-A-Netz:
Ein Klasse-A-Netz hat standardmäßig die Subnetzmaske 255.0.0.0. Das erste Bit der Adresse (ganz links) muß auf 0 gesetzt sein. Der Bereich 10.0.0.0/8 kann von jedermann frei verwendet werden.
                     1                   2                   3   
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
!0!  Netzwerk   !                     Host                      !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Klasse-B-Netz:
Ein normales Klasse-B-Netz hat die Subnetzmaske 255.255.0.0. Die ersten beiden Bits der Adresse müssen 10 sein. Mit den Bereichen 172.16.0.0 bis 172.31.255.255 stehen 16 Klasse B-Subnetze für jedermann zur Verfügung.
                     1                   2                   3   
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
!1 0!         Netzwerk          !             Host              !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Klasse-C-Netz:
Ein Klasse-C-Netz hat die Subnetzmaske 255.255.255.0. Die ersten drei Bits der Adresse müssen 110 sein. Die 256 Klasse-C-Netze von 192.168.0.0/24 bis 192.168.255.0/24 sind frei verfügbar und sehr häufig in ,,zu Hause-Netzwerken`` anzutreffen[*].
                     1                   2                   3   
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
!1 1 0!                Netzwerk                 !      Host     !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Daneben gibt es noch Klasse-D- (beginnened mit 1110) und Klasse-E-Netze (beginnend mit 1111), diese dienen aber Spezialfällen und deshalb wird hier nicht weiter auf sie eingegangen.

4. Broadcast-Adressen

Eine Broadcast-Adresse teilt dem Rechner mit, wie er alle Rechner in seinem Netz auf einmal erreichen kann (sog. Broadcast). Dabei werden einfach alle Bits im Rechnerbereich der Adresse auf Eins gesetzt (allgemeingültige Definition für ALL-ONE-Broadcasts). Die Standard-Broadcast-Adresse für einen Rechner aus dem Netz 192.168.0.0/24 wäre demnach 192.168.0.255.

5. Loopback

Mit einer Adresse, die im ersten Oktett eine 127 enthält, adressiert sich jeder Rechner selbst (Loopback), was zu Tests der Netzwerksoftware benutzt werden kann. Eine solche Adresse soll niemals ,,auf dem Kabel zu sehen sein``.

6. weitere reservierte Adressen

Adressen aus den Klasse-D- und -E-Netzen sind für bestimmte Zwecke reserviert. Die Adressen 224.x.x.x bis 255.x.x.x sollten deshalb nicht benutzt werden. Genauere Informationen dazu stehen im RFC 2236.

2. Routing

Das Weiterleiten von Daten von einem in ein anderes Netzwerk wird Routing[*] genannt. Zwangsläufig benötigt jeder Router deshalb wenigsten zwei verschiedene (logische) Netzanschlüsse. Betrachten wir das Beispiel:

 .--------lokales Netz--------.                  /\/---INTERNET---/\/ 
         192.168.0.0/24                                               
                                                                      
         mitch                                                        
    192.168.0.104                     poldi                           
           !                      192.168.0.101                       
   <<------+------------- Netzwerkkarte  ISDN-Karte ============>> ...
           !                                                          
          andi                                                        
    192.168.0.102                                                     
Der Gateway-Rechner (Router) poldi besitzt zwei Netzwerkgeräte: eine Netzwerkkarte zum lokalen Netz und eine ISDN-Karte zum Internet. Wenn jetzt ein Datenpaket bei poldi vorbeikommt, wird anhand des Vergleiches von Ziel-Adresse und Subnetzmaske entschieden, ob das Datenpaket für das lokale Netzwerk oder für das Internet bestimmt ist und dementsprechend weitergeleitet (über die Netzwerkkarte oder die ISDN-Karte).

Wenn viele Rechner (oder viele Netze) zusammengeschlossen sind, gibt es mehrere Möglichkeiten, das Ziel zu erreichen. Deshalb wird anhand eines bestimmten Kriteriums (Leitungsauslastung, Übertragungskosten, Priorität der Daten, ...) eine Route ausgesucht. Die Aktualisierungshäufigkeit dieser Aktion bestimmt die Art des Routings: beim dynamischen Routing werden die Daten ständig automatisch aktualisiert (teilweise alle 30 Sekunden), beim statischen Routing werden die Daten von einem Systemadministrator gepflegt und z.B. halbjährlich überarbeitet. Durch die redundanten Wege zu einem bestimmten Ziel können partielle Ausfälle des Netzes umgangen werden.

3. Masquerading

Da die lokalen Adreßräume wie 192.168.0.0/24 von jedermann benutzt werden und mehrfach vergeben sind, stößt der Zusammenschluß von mehreren dieser Netzwerke zwangsläufig auf Probleme. Gerade im Internet muß jeder Rechner eindeutig adressierbar sein. Man bedient sich des Masqueradings, um dieses Problem zu beheben. Dabei wird ein Teilnetz versteckt und nach außen hin unsichtbar gemacht. In unserem Beispiel erhält poldi nun eine zweite, echte IP-Adresse, mit der er im Internet angesprochen werden kann:

 .--------lokales Netz--------.                   /\/---INTERNET---/\/ 
         192.168.0.0/24                                                
                                                                       
          mitch                                                        
     192.168.0.104                                                     
            !                         poldi                            
    <<------+------------- Netzwerkkarte  ISDN-Karte ============>> ...
            !              192.168.0.101  195.222.116.30               
          andi                                                         
     192.168.0.102                                                     
poldi tritt nun als Übersetzer in Kraft: Er übernimmt Verbindungen aus dem lokalen Netz ins Internet und tut so, als ob er sie selber aufbaut. Damit tritt das gesamte Netz 192.168.0.0/24 nach außen hin nur als die eine Adresse 195.222.116.30 auf. andi und mitch sind von außen nicht direkt erreichbar.


4. IP version 6

Das IP-Protokoll Version 6 (IPv6) steht kurz vor der Einführung. Erste Geräte unterstützen es bereits, der Großteil des Internets läuft aber noch unter der alten Version 4. Einige der wichtigsten Unterschiede zur alten Version sind hier aufgeführt:

Erweiterte Adressierungsmöglichkeiten:
IPv6 erweitert die Größe einer IP-Adresse von 4 auf 16 Oktetts. Damit wird der derzeitigen Adressenverknappung massiv entgegengetreten ($2^{128}$ statt $2^{32}$ Adressen). Desweiteren gibt es zusätzliche Funktionen im Bereich des Multicastings[*], z.B. die Möglichkeit, bestimmte Gerätegruppen anzusprechen.

genauer differenziertere Datentypen:
Es lassen sich unterschiedliche Datentypen spezifizieren (zum Beispiel Video- oder Ton-Übertragungen), die gegenüber weniger zeitkritischen Datentypen (zum Beispiel eMails) bevorzugt bearbeitet werden, um Echtzeitanwendungen in mit der nötigen Übertragungsrate ausführen zu können.

Sicherheit:
IPv6 bietet Funktionen, mit denen sensible Daten sicher übertragen werden können. Erreicht wird dies durch Einbindung der IPsec-Architektur (siehe RFC 2401). Durch das IPsec-Verfahren wird das Tunneling, also das Benutzen eines Protokolls innerhalb eines anderen (z.B. IPX über TCP/IP), möglich, was für den Aufbau von Virtuellen Privaten Netzwerken benutzt werden kann.


next up previous contents
Nächste Seite: 5. TCP (Transmission Control Aufwärts: Grundlagen TCP/IP Vorherige Seite: 3. Das ISO/OSI-Referenzmodell   Inhalt
Christian Garbs [Master Mitch]
2000-04-24