next up previous contents
Nächste Seite: Subnetzwerke Aufwärts: Adressierung, Routing und Multiplexing Vorherige Seite: Adressierung, Routing und Multiplexing   Inhalt


IPv4 - IP Adressen

Wie wir in Kapitel 5 gesehen haben, ist ein Teil des IP - Kopfes dafür vorgesehen, die Sende- und Empfängeradresse des Datenpaketes aufzunehmen. Diese Segmente sind in der momentan aktuellen Version des IP - Protokolles (diese nennt man auch IPv4) 32 Bit lang. Daher ist eine Internetadresse ein 4 x 8 Bit = 32 Bit Wort, das zumeist in Form eines Quadrupels angegeben wird. Es werden also vier Gruppen zu je 8 Bit angegeben und jeder 8 - Bit Wert wird in Form einer Dezimalzahl geschrieben. Also zum Beispiel 11 011 100.00 000 001.00 000 011.10 000 011 = 220.001.003.131 = 220.1.3.131 11 000 001.10 001 101.00 010 001.00 000 001 = 193.141.17.1 Jede Einzelzahl (dezimal) kann dabei Werte von 0 bis 255 annehmen, da ein 8-Bit Wert den Bereich 0 bis 255 abdecken kann. Generell besteht die IP Adresse aus zwei Komponenten: Wo in der IP Adresse nun der Netzwerkteil endet und die Hostkomponente beginnt, ist eine etwas kompliziertere Angelegenheit. Denn die IP Adressen sind in mittlerweile fünf Klassen untergliedert. Je nach Klasse hat man unterschiedliche Netzwerk- bzw. Hostkomponenten in der Adresse. Es gibt fünf Kategorien von IP Adressen, basierend auf dem Typ der Netzwerkadresse. Diese Kategorien sind die Klasse A bis Klasse E. Klasse A Ist das erste Bit einer IP Adresse 0, dann liegt eine Klasse A Adresse vor. Die folgenden 7 Bits definieren die Netzwerkadresse und die letzten 24 Bits identifizieren den Hostrechner. Daraus läßt sich ableiten, daß in einer Klasse A Adresse das erste Oktett einen Wert zwischen 1 und 126 hat. Weiterhin besteht die Netzwerk-Komponente der IP Adresse aus dem ersten Oktett. Damit wird die Anzahl der Klasse A Netzwerken auf 126 beschränkt. Jedes Netzwerk kann damit aber etwa $ 2^{24} = 16.777.216$ Rechner adressieren. Klasse A Adresse sind also auf die wichtigsten Organisationen und Netzwerkanbieter beschränkt. Klasse B Sind die ersten beiden Bits der IP Adresse 1 0, dann liegt eine Klasse B Adresse vor. Die folgenden 14 Bits definieren die Netzwerkadresse, die letzten beiden Bytes den Hostrechner. Da durch diese Definition die ersten beiden Bits des ersten Oktetts immer 1 0 sind, kann das erste Oktett die Werte 10 000 000 = 128 bis 10 111 111 = 191 annehmen. Klasse B - Netzwerke verwenden die ersten beiden Oktette für die Angabe der Netzwerk-Komponente und haben das erste Oktett im Bereich 128 bis 191. Damit bleiben die letzten beiden Oktette frei für Rechneradressen. Zusammen genommen können Klasse B IP Adressen also 16.575 (= 65 x 255) Netzwerk-ID-Nummern mit jeweils 65.534 (=28-1 x 28-1) Host - Ids. Große Firmen und Organisationen verwenden in der Regel Klasse B Adressen. Klasse C Haben die ersten drei Bits des ersten Oktetts die Werte 1 1 0, dann handelt es sich um eine Adresse des Klasse C Netzes. Dadurch kann das erste Oktett die Werte 192 bis 223 annehmen, denn das erste Oktett kann durch die obige Klasse C Definition die Werte
11 000 000 = 192 bis 11 011 111 = 223
annehmen. Weiterhin sind in den Klasse C Adressen die ersten drei Oktette für die Netzwerkkomponente reserviert. Da das erste Oktett Werte im Bereich 192 bis 223 annehmen kann, lassen sich (die Werte 0, 127 und 255 haben besondere Bedeutung)
32 x (28-3) x (28 - 3) = 32 x 253 x 253 = 2.048.288
verschiedene Klasse C Netze adressieren. Jede dieser Netzadressen kann dabei aber nur 254 Hostrechner ansprechen, da nur das letzte Oktett für Hostadressen reserviert ist. Klasse D Sind die ersten vier Bits des ersten Oktetts auf 1 1 1 0 gesetzt, handelt es sich um speziell reservierte Adressbereiche.
11 100 000 = 224 bis 11 101 111 = 239
In der Klasse D Adressen liegt das erste Oktett im Zahlenbereich 224d bis 239d. Dieser spezielle Adressbereich wird für Multicast Übertragungen verwendet. Solche Adressen werden dazu benutzt, ganze Gruppen von Computern auf einmal zu adressieren. Klasse E Klasse E Adressen sind für zukünftige Verwendungen bzw. Erweiterungen reserviert. In der Praxis spielen die drei Klassen A, B und C die wesentliche Rolle. Dies klingt glücklicherweise komplizierter als es ist. Also, die Adressbereiche der fünf Klassen sind:

Klasse A:         000.000.000.000 - 126.255.255.255
Klasse B:         128.000.000.000 - 191.255.255.255
Klasse C:         192.000.000.000 - 223.255.255.255
Klasse D:         224.000.000.000 - 239.255.255.255
Klasse E:         240.000.000.000 - 247.255.255.255

Abbildung 5.12: Struktur der IP Adressenbildung.
\begin{figure}
\centering
\epsfig {file=../pics/ip_adres.eps,width=8cm}
\end{figure}

Eine Adressangabe der Form
26.104.1.54
bedeutet daher, daß das erste Bit dieser Adresse 0 hat. Damit wird der Hostrechner 104.1.54 im Netz 26 angesprochen. Eine Adresse der Form
128.66.12.1
spricht den Rechner 12.1 im Netz 128.66 an, da in dieser Adresse die beiden ersten Bits auf die Werte 1 0 gesetzt sind. Die Abbildung 5.12 illustriert, wie die Adressenstruktur mit der Adressenklasse variiert. Wie oben erwähnt haben die drei Werte 0, 127 und 255 eine besondere Bedeutung: In der Klasse A Adressen haben die Netzwerkadressen 0 und 127 spezielle Bedeutung. Netzwerk 0 definiert die sogenannte default route, Netzwerk 127 ist die sogenannte loopback - Adresse. Die default route wird dazu benutzt, die Wegefindung für das IP Protokoll zu vereinfachen. Die loopback - Adresse vereinfacht Netzwerkapplikationen, da der lokale Hostrechner wie ein Remote Rechner angesprochen werden kann. Einige Hostadressen haben ebenfalls spezielle Bedeutung und sind genau für diese Zwecke auch reserviert. In allen Klassen sind die beiden Hostadressen 0 und 255 reserviert. Eine IP Adresse mit allen Hostbits auf den Wert 0 gesetzt bezeichnet das Netz selbst. Also definiert eine Adresse der Form 26.0.0.0 das Netz 26, 128.109.0.0 bezieht sich auf das Netz 128.109. Adressen dieser Form werden in Tabellen verwendet, um das Routing (=Wegefindung) im Netz zu ermöglichen (siehe zum Beispiel die beiden Tabellen 5.2 und 5.3). Eine Hostadresse, in der sämtliche Bits auf den Wert 1 gesetzt sind, ist eine sogenannte Broadcasting Adresse. Eine solche Adresse wird dazu verwendet, alle Rechner eines Netzes simultan anzusprechen. Die Broadcast Adresse des Netzes 126.109.0.0 ist daher die 126.109.255.255. Wird an diese Adresse ein Datagramm geschickt, erhält jeder Host des Netzes 126.109.0.0 das Datagramm. Die IP Adressen, die ein universelles Adressierungsschema über sämtliche Netzwerke des Internets bereitstellen, sind eine der Highlights der TCP/IP Protokoll-Suite. Die ursprüngliche Klasseneinteilung der IP Adressen hat jedoch auch ihre Schwachstellen. Die TCP/IP Designer haben die enorme Größe heutiger Netzwerke nicht vorausahnen können. Als die TCP/IP Protokoll Suite Anfang der siebziger Jahre designed wurde, beschränkte sich die Netzwerkaktivitäten auf wenige Organisationen, die sich damals solche Computersysteme leisten konnten. Die Vorstellung eines leistungsfähigen UNIX Systems auf einem Desktop war schlicht und einfach abwegig. Eine 32 Bit Adresse schien so unvorstellbar groß, daß sie in mehrere Klassen aufgeteilt wurde. Zweck dieser Aufteilung war, den Aufwand zu reduzieren, die Router mit immer grösseren Adreßverzeichnissen (routing tables) zu belasten und vor allem die Ladevorgänge zu minimieren, die regelmäßig auszuführende Tabellenupdates mit sich bringen. Dies obwohl das Aufteilen im Klassen die Anzahl der adressierbaren Hosts beträchtlich reduziert. Teilt man beispielsweise einem großen Netz eine einzige Klasse B Adresse zu, anstelle sechs Klasse C Adressen, so reduziert sich die Belastung des Routers, denn der Router muß dann nur eine einzige Route für die gesamte Organisation verwalten. Umgekehrt, eine Organisation, der eine Klasse B Adresse zugeteilt wurde, wird wahrscheinlich keine 64.000 Hostrechner haben, so daß der Großteil der zur Verfügung stehenden IP Adressen überhaupt nicht genutzt werden. Zu Beginn der neunziger Jahre mit dem rapiden Anwachsen des Internets wurde das Problem akut, daß der Adressraum für das klassenstrukturierte Adressdesign zu klein wird. Aufgrund dessen wurden die sogenannte Klassenlosen IP Adressen eingeführt. Wir wollen hier nicht tiefer in diese Adressierungsart einsteigen5.11, Stichworte in diesem Umfeld sind supernetting und CIDR ( classless interdomain routing, definiert im RFC 1519). Diese Lösung des Adressraumproblems wird als Zwischenlösung angesehen. Erst kürzlich wurde von der IETF (Internet Engineering Task Force) der IPv6 Standard freigegeben. Die Forderungen an ein neues Adressierungsschema waren dabei die folgenden:
  1. Unterstützung von Milliarden Hostrechnern, sogar bei ineffektiver Adressraumzuweisung.
  2. Reduzierung der Größe der Routing Tabellen.
  3. Vereinfachung des Protokolls für eine verbesserte Verarbeitung der Pakete durch die Router.
  4. Verfügbarkeit verbesserter Sicherheitsmechanismen (Authentificaition und Privacy).
  5. Verbesserung der type of service, insbesondere für Echtzeitanwendungen.
  6. Unterstützung von Multicasting mit Festlegung der Zielhosts.
  7. Einem Host die Möglichkeit bieten, umzuziehen und dabei die Adresse nicht zu ändern.
  8. Das Protokoll soll für zukünftige Entwicklungen erweiterbar sein.
  9. Das alte und das neue Protokoll sollen beide eine Reihe von Jahren koexistieren, denn eine komplette Umstellung von heute auf morgen ist unrealistisch.
Was nach sieben Jahren Entwicklung, Diskussion und Tests herauskam, ist der IPv6 Standard, der die meisten obigen Anforderungen abdeckt. Dieser neue Standard behält die guten Eigenschaften von IPv4 und minimiert oder beseitigt die schlechten. IPv6 und IPv4 sind nicht kompatibel zueinander, IPv6 ist jedoch kompatibel mit allen andern Internet Protokollen, wie TCP, UDP, ICMP5.12, IGMP5.13, OSPF5.14, BGP5.15 und DNS5.16. Wir wollen hier nicht IPv6 in allen Details diskutieren5.17, interessant sind hier

Abbildung 5.13: Der IPv6 Header. 1 = Version; 2 = Prorität; 3= Nächster Header; die beiden Adressfelder sind jeweils 128 Bits groß.

Die Tatsache, daß der IPv6 Header über 16 Bytes große Adressfelder verfügt, ermöglicht also prinzipiell die Adressierung von $ 2^{128}$ Hosts. Dies entspricht etwa $ 3\times 10^{38}$. Um eine Vorstellung zu erhalten, was dies bedeutet, kann man versuchen, die komplette Erdoberfläche mit Computer vollzustellen. Dann kann man immerhin noch etwa $ 10^{23}$ Computer pro Quadratmeter mit IPv6 adressieren. Das ist nicht weit weg von der Avogadro Zahl, d.h. mit IPv6 kann man fast jedem Molekül seine Internetadresse vergeben.
next up previous contents
Nächste Seite: Subnetzwerke Aufwärts: Adressierung, Routing und Multiplexing Vorherige Seite: Adressierung, Routing und Multiplexing   Inhalt
Yasar Arman
2000-05-15