SUBNETTING UND VARIABLE LENGTH OF SUBNETTING (VLSM

Werbung
SUBNETTING UND VARIABLE LENGTH OF SUBNETTING (VLSM)
Inhalt
1.
AUFBAUSTRUKTUR VON NETZEN ................................................................ 3
2.
KONFIGURATION VON IP-NETZWERKEN.................................................... 3
2.1. Wachstumsprobleme des Internet............................................................ 3
2.1.1.
Klassenweise IP-Adressierung ................................................... 4
2.1.2.
Primäre Adressklassen ................................................................ 5
2.1.3.
Klasse-A Netzwerke (/8 Präfixe)................................................. 5
2.1.4.
Klasse-B Netzwerke (/16 Präfixe)............................................... 6
2.1.5.
Klasse-C Netzwerke (/24 Präfixe) .............................................. 6
2.1.6.
Andere Klassen ............................................................................. 6
2.1.7.
Dezimalpunkt-Schreibweise ........................................................ 6
2.1.8.
Probleme der klassenorientierten Adressierung ...................... 7
2.2. Verwendung von priv. Adressen und NAT, PAT, IP-Masquerading .. 7
2.2.1.
Private IP-Hostadressen .............................................................. 7
2.2.2.
Network Address Translation ...................................................... 8
2.2.2.1 Network Address Translation (NAT) ............................. 8
2.2.2.2 IP-Masquerading / PAT................................................... 9
2.3. Subnetting................................................................................................... 11
2.3.1.
Aufteilung in Subnetze................................................................ 13
2.3.2.
Vorteile von Subnetting .............................................................. 16
2.3.3.
Bemerkungen zur Subnetzplanung .......................................... 17
2.4. Variable Length of Subnetting (VLSM) .................................................. 18
2.4.1.
Effektive Nutzung des IP-Adressraums................................... 19
2.4.2.
Zusammenfassen von Routen (Route Aggregation) ............. 20
2.4.3.
VLSM Planungsempfehlungen.................................................. 21
2.4.4.
Anforderungen für die Umsetzung von VLSM ........................ 21
2.4.4.1 Senden des erweiterten Netzwerkpräfixes ................ 22
2.4.4.2 Weiterleitungsalgorithmus ............................................ 22
2.4.4.3 Topologieabhängige Adresszuweisungen ................. 23
2.4.5.
VLSM Entwurfsbeispiel 1 ........................................................... 23
2.5. Classless Interdomain Routing (CIDR) .................................................. 27
2.5.1.
CIDR für die effiziente Nutzung des IPv4 Adressraumes..... 29
2.5.2.
Rechneranforderungen für die CIDR-Adressierung .............. 30
2.5.3.
Effiziente Adresszuweisung....................................................... 31
1
2.5.4.
Beispiel für CIDR Adresszuweisung ........................................ 31
2.5.5.
CIDR ist VLSM ähnlich............................................................... 32
2.5.6.
Kontrollieren des Wachstums der Internet-Routingtabellen. 33
2.5.7.
Routing in einer klassenlosen Umgebung............................... 34
2.6. Erweiterte Nutzung des IPv6- Adressraumes....................................... 35
2.6.1.
Die Internet Protokoll Version 6 ................................................ 35
2.6.1.1 Die Merkmale von IPv6................................................. 36
2.6.1.2 Aufbau des IPv6-Basis-Headers ................................. 37
2.6.1.3 Authentication Options Header (AH) .......................... 40
2.6.1.4 Encapsulating Security Payload (ESP) ...................... 40
2.7. Übungsaufgabe zu VLSM (siehe Praktikumsversuch) ........................ 41
Document History
Version, Date
Author(s) email address
27.10.2006
[email protected]
Changes and other notes
2
1.
AUFBAUSTRUKTUR VON NETZEN
2.
KONFIGURATION VON IP-NETZWERKEN
Das seit den 80er Jahren aufgebaute Internet stellt heute das größte öffentliche
Datennetz der Welt dar. Durch die große Popularität des World Wide Web (WWW)
und die vielfältigen Möglichkeiten im Geschäftsbereich (B2B, B2C etc.) verdoppelt
sich die Anzahl der Zugänge zum Internet derzeit alle 9 Monate.
Mit der Anzahl der am Internet angeschlossenen Institutionen wächst ebenso der
„Wert“ des Internets, da die Institution immer mehr Benutzer bzw. Kunden über
diesen Anschluss erreichen kann.
2.1. Wachstumsprobleme des Internet
In letzter Zeit traten durch das kontinuierliche Wachstum des Internets zwei
Probleme auf, nämlich
• der unzureichende Adressraum von IPv4 und
• die Fähigkeit, das Datenaufkommen zwischen den Netzen zu routen.
Networks (in thousands)
Das erste Problem hängt mit dem zur Neige gehenden IP-Adressraum zusammen.
In der aktuellen Version IP Version 4 (IPv4) wird die Adresse eines
Internetteilnehmers durch eine 32-Bit-Adresse repräsentiert. Theoretisch sind hiermit
232 = 4.294.967.296 IP-Adressen möglich. Das Problem der unzureichenden Anzahl
von Adressen ergibt sich jedoch durch ineffiziente Verteilung der Adressen selbst, da
durch die traditionelle klassenorientierte Nutzung der Adressraum nicht optimal
genutzt wird.
70
60
50
Class A
40
Class B
30
Class C
20
10
1995
1993
1991
1989
1987
1985
1983
0
Bild: Zugewiesene Netzwerknummern
Die Arbeitsgruppe Address Lifetime Expectancy (ALE) der IETF hat zum Ausdruck
gebracht, dass bei der aktuellen Adressvergabepolitik kurz bis mittelfristig alle
Adressen aufgebraucht sein werden. Falls das Problem des Adressraums nicht
gelöst wird, könnten so in Zukunft keine weiteren Benutzer mehr an das Internet
angeschlossen werden.
Das zweite Problem wird durch das schnelle Wachstum der Routingtabellen in
den Routern des Internet verursacht. Die Backbone-Router müssen vollständige
Routing-Informationen über das Internet besitzen. Mit dem Anschluss vieler
Unternehmen und Institutionen in den letzten Jahren sind die Routingtabellen in den
Routern exponentiell gewachsen. Im Dezember 1990 gab es beispielsweise ca. 2190
3
35
30
25
20
15
1995
1994
1993
1992
5
0
1991
10
1990
Routing Table Entries
( in thousands )
Router, im Dezember 1992 ca. 8500 und im Dezember 1995 bereits mehr als 30000
Router.
Bild: Wachstum der Internet-Routingtabellen
Das Routing-Problem kann letztlich nicht mehr dadurch gelöst werden, dass mehr
Speicher in den Routern installiert wird, um so beispielsweise immer größere
Routingtabellen aufnehmen zu können. Ein anderer Faktoren betrifft die notwendige
CPU-Leistung, um Änderungen der Tabellen und der Topologie nachzuvollziehen.
Falls die Routingtabellen in den zentralen Routern beliebig wachsen, werden die
Router irgendwann gezwungen sein, Routen zu vergessen (discarded routes). Damit
wären Teile des Internet zunächst nicht mehr erreichbar.
Die langfristige Lösung dieser Probleme ist in der allgemeinen Verwendung von IP
Next Generation (IPng oder IPv6) zu sehen. Bis die Software zur Verarbeitung der
IPv6 Pakete in den Kommunkationsstacks und den Netzwerkkomponenten überall
verfügbar ist, muss mittels spezieller Methoden versucht werden den IPv4Adressraum effizient zu nutzen, um so eine weitergehende Konnektivität des
Internets sicherzustellen.
2.1.1.
Klassenweise IP-Adressierung
Als IP 1981 standardisiert wurde, forderte die Spezifikation, dass jedem System, das
an das Internet angeschlossen ist, eine eindeutige 32-Bit Internetadresse
zugewiesen wird. Einige Systeme mit Routerfunktionalität, die Schnittstellen zu
mehreren Netzwerken haben, benötigen für jede Netzwerkschnittstelle eine IPAdresse.
Der erste Teil der Internetadresse gibt das Netzwerk an, in dem der Rechner steht.
Der zweite Teil gibt den Rechner innerhalb des Netzwerkes an. Dies erzeugt eine
zweistufige Adresshierarchie, die in Bild 3 dargestellt ist.
Bild 3: Zweistufige Internet-Adresshierarchie
Das Feld mit der Netzwerknummer wird auch als "Netzwerk-Präfix" bezeichnet, da
die Netzwerknummer bzw. Netzwerkadresse einer IP-Adressangabe immer vorne
steht.
Alle Rechner innerhalb eines Netzwerkes müssen die gleiche Netzwerkadresse, aber
eine eindeutige Hostadresse (Hostadresse) haben. Analog können zwei Rechner in
4
verschiedenen Netzen unterschiedliche Netzwerk-Präfixe haben, jedoch aber gleiche
Hostadressen aufweisen.
2.1.2.
Primäre Adressklassen
Um unterschiedlich große Netze zu unterstützen, wurde der IP-Adressraum in drei
Klassen aufgeteilt, wie das Bild 4 zeigt. Dies wird als klassenweise Adressierung bezeichnet, da der Adressraum in drei vordefinierte Klassen bzw. Kategorien aufgeteilt
wird.
Eine der grundlegenden Eigenschaften der klassenorientierten IP-Adressierung ist,
dass jede Adresse implizit angibt, welcher Teil der Adresse Netzwerk-Präfix ist und
welcher Teil Hostadresse. Beginnen z. B. die ersten beiden Bits einer Adresse mit
10, dann sind die ersten 16 Bit Netzwerk-Präfix und die zweiten 16-Bit sind die
Hostadresse.
Bild 4: Formate der klassenweisen IP-Adressierung
Dies vereinfachte das Routing-System in den ersten Jahren, da die RoutingProtokolle keine Netzmaske benötigten, die mit jeder Route angegeben werden, um
die Länge des Netzwerk-Präfixes festzulegen.
2.1.3.
Klasse-A Netzwerke (/8 Präfixe)
Jedes Klasse-A Netzwerk hat ein Netzwerk-Präfix von 8 Bit, bei dem das erste Bit 0
und die restlichen sieben Bit die Netzwerknummer angeben. Dem folgt dann eine
Hostadresse von 24-Bit Länge. Klasse-A-Netzwerke werden heute als "/8" (ausgesprochen “Schrägstrich acht“ oder “Präfix 8“ oder einfach "achter") Netzwerke
bezeichnet, da das Netzwerk-Präfix 8 Bit beträgt.
Es können maximal 126 (27 - 2) /8 Netzwerke definiert werden. Bei der Berechnung
der Anzahl müssen zwei abgezogen werden, da das Netzwerk 0.0.0.0/8 als
Standard-Route und das Netzwerk 127.0.0.0/8 für die "loopback"-Funktion reserviert
ist.
Jedes /8-Netzwerk unterstützt maximal 16.777.214 (= 224 - 2) Rechner im Netz. Bei
dieser Berechnung müssen wieder zwei abgezogen werden, da Hostadressen, die
nur Nullen enthalten ("Netzwerkadresse"), und Hostadressen, die nur Einsen
enthalten ("broadcast" = Rundruf) nicht einem einzelnen Rechner zugewiesen
werden können.
5
Da der /8-Adressblock 231 (=2,147,483,648) individuelle Adressen und der IPv4
Adressraum maximal 232 (=4,294,967,296) umfasst, belegt der /8-Adressraum 50%
des IPv4 Adressraumes.
2.1.4.
Klasse-B Netzwerke (/16 Präfixe)
Jedes Klasse-B-Netzwerk hat ein Netzwerk-Präfix von 16 Bit, das mit den beiden Bits
10 beginnt und weitere 14 Bit als Netzwerkadresse enthält. Dem folgt schließlich eine
Hostadresse von 16 Bit Länge. Klasse-B Netzwerke werden als /16-Netzwerke
bezeichnet, da das Netzwerk-Präfix 16 Bit lang ist.
Es können maximal 16,384 (=214) /16-Netzwerke mit bis zu 65,534 (=216-2) Rechnern
pro Netzwerk angegeben werden. Der /16-Adressblock enthält 230 (=1.073.741.824)
Adressen. Dies entspricht 25% des IPv4-Adressraumes.
2.1.5.
Klasse-C Netzwerke (/24 Präfixe)
Jedes Klasse-C Netzwerk hat ein Netzwerk-Präfix von 24 Bit, die Netzwerkadresse
beginnt mit den Bits 110, die restlichen 21 Bit geben die Netzwerknummer an. Dem
folgt eine Hostadresse von 8 Bit Länge. Klasse-C Netzwerke werden als /24-Netzwerke bezeichnet, da das Netzwerk-Präfix 24 Bit lang ist.
Es können maximal 2,097,152 (=221) /24-Netzwerke mit bis zu 254 (=28-2) Rechnern
pro Netzwerk angegeben werden. Der /24-Adressblock enthält 229 (=536,870,912)
Adressen. Dies entspricht 12,5% des IPv4-Adressraumes.
2.1.6.
Andere Klassen
Zusätzlich zu den drei bekannten Klassen gibt es die beiden Klassen D und E.
Bei der Klasse D sind die obersten vier Bit auf 1110 gesetzt. Die Adressen der
Klasse D werden für IP-Multicast verwendet.
Bei Klasse-E-Adressen sind die obersten vier Bit auf 1111 gesetzt. Dieser
Adressraum ist für experimentelle Anwendungen reserviert.
2.1.7.
Dezimalpunkt-Schreibweise
Aufgrund der besseren Lesbarkeit werden die Adressen häufig in der "DezimalpunktSchreibweise" als vier Dezimalzahlen, die durch Punkte voneinander getrennt sind,
angegeben. Die Dezimalpunkt-Schreibweise teilt die 32-Bit Internet-Adresse in vier 8
Bit Felder (sog. Oktetts). Das Beispiel in Bild 5 zeigt eine /16 Adresse in
Dezimalpunkt-Schreibweise.
Bild 5: Dezimalpunkt-Schreibweise
Das Bild 6 gibt die Bereiche der drei Adressklassen in Dezimalpunkt-Schreibweise
an, "xxx" bezeichnet hier die Hostadresse, die von dem Netzadministrator
zugewiesen wird.
Address Class
Dotted-Decimal Notation Ranges
A (/8 prefixes)
1.xxx.xxx.xxx through 126.xxx.xxx.xxx
6
B (/16 prefixes)
128.0.xxx.xxx through 191.255.xxx.xxx
C (/24 prefixes)
192.0.0.xxx
through 223.255.255.xxx
Bild 6: Adressbereich jeder Klasse in dezimaler Punkt Schreibweise
2.1.8.
Probleme der klassenorientierten Adressierung
Die klassenorientierte Adressierung weist u. a. folgende Beschränkungen auf
•
In den frühen Tagen des Internets wurde Organisationen aus dem scheinbar
unerschöpflichen Adressraum des Internet, Adressen entsprechend den
Anforderungen und nicht entsprechend dem tatsächlichen Bedarf zugewiesen.
•
Die Einteilung in die Klassen A, B und C mit ihren Beschränkungen war einfach
zu implementieren, man benötigte keine Subnetzmasken. Dies war aber für eine
effiziente Belegung des Adressraumes nicht sinnvoll.
•
Es fehlt insbesondere eine Netzwerkklasse für z. B. mittelgroße Organisationen.
Ein /24-Netz ist mit 254 Rechner zu klein, während ein /16-Netz mit 65534
Rechnern zu groß ist. In der Vergangenheit wurden Organisationen mit mehreren
hundert Rechnern ein /16-Netz anstatt mehrerer /24-Netze zugewiesen. Das
Ergebnis war, dass die /16-Adressen schnell knapp wurden. Die einzigen noch
verfügbaren Adressen sind die /24-Netze, die den negativen Effekt haben, dass
die globalen Routingtabellen schnell wachsen.
Konzepte zum ressourcenschonendem Umgang des IPv4-Adressraums sind:
• die Verwendung von privaten Adressen
• der Einsatz von NAT und PAT
• der Einsatz von Subnetting und Variable Length of Subnetting (VLSM)
• Erweiterte Nutzung des IPv6- Adressraumes
• Classless Interdomain Routing (CIDR)
2.2. Verwendung von priv. Adressen und NAT, PAT, IP-Masquerading
2.2.1.
Private IP-Hostadressen
Jeder Rechner benötigt zur Kommunikation im Internet unter Intranet eine IPAdresse. Ist die IP-Adresse aus den Bereichen
10.0.0.0
-
10.255.255.255
(10/8 prefix)
172.16.0.0
-
172.31.255.255
(172.16/12 prefix)
192.168.0.0
-
192.168.255.255
(192.168/16 prefix)
so wird diese als “privat“ bezeichnet. Siehe hierzu auch das RFC 1918 - Address
Allocation for Private Internets (ftp://ftp.rfc-editor.org/in-notes/rfc1918.txt)
7
Datenpakete von privaten IP-Adressen werden im Internet nicht weitergeleitet d. h.
geroutet
Hat ein Rechner eine private IP-Adresse, so kann kein Paket aus dem Internet
diesen direkt erreichen. Rechner mit privaten Adressen sind damit automatisch
gegen „Hacker“-Angriffe aus dem Internet geschützt. Allerdings kann immer noch ein
Angriff von einem anderen Rechner innerhalb des Intranets erfolgen, wie dies bei
den sog. Internet-Würmern der Fall ist.
Ebenso kann zunächst kein Datenpaket mit einer privaten IP-Adresse das Intranet
verlassen. Für die Nutzung der wichtigen Internetdienste E-Mail, WWW, FTP,
Streaming Video, Internettelefonie (H.323) etc müssen daher sog. Proxy-Server
verwenden werden.
Anm.: In der entsprechenden Software (z. B. Browser) müssen diese Proxies
konfiguriert werden.
Für Serversysteme, die selbst weltweit Dienste anbieten, kommen dagegen private
Adressen nicht in Frage.
Zur Erhöhung der Sicherheit sollten im Intranet möglichst private IP-Adressen
verwendet werden.
2.2.2.
Network Address Translation
Die begrenzte Verfügbarkeit von IP-Adressen hat dazu geführt, dass man sich
Gedanken über verschiedene Möglichkeiten machen musste, wie man mit den existierenden Adressen ein größeres Umfeld abdecken kann.
Eine Möglichkeit, um private Netze mit mehr als einem PC unter Verwendung
möglichst weniger öffentlicher Adressen an das Internet anzukoppeln stellen NAT,
PAT und IP-Masquerading dar. Alle Verfahren bilden private Adressen gemäss RFC
1918 oder einen proprietären (= nicht registrierten) Adressraum eines Netzes auf
öffentliche registrierte IP-Adressen ab.
2.2.2.1 Network Address Translation (NAT)
Beim NAT (Network Address Translation) werden die Addressen eines privaten
Netzes über Tabellen öffentlich registrierten IP-Adressen zugeordnet. Dieses hat den
Vorteil, dass Rechner, die innerhalb eines privaten Netzes miteinander
kommunizieren müssen keine öffentlichen IP-Adressen benötigt werden.
IP-Adressen interner Rechner, die eine Kommunikation mit Zielen im Internet
aufbauen müssen, erhalten in dem Router, der zwischen dem Internet Service
Provider (ISP) und dem privaten Netzwerk steht, einen Tabelleneintrag. Durch diese
„1-zu-1“-Zuordnung, sind diese Rechner nicht nur in der Lage, eine Verbindung zu
Zielen im Internet aufzubauen, sondern sie sind auch aus dem Internet erreichbar.
Die interne Struktur des Firmennetzwerkes bleibt jedoch nach außen verborgen.
INTERNET
öffentliche Adressen
I
I
INTRANET
private Adressen
8
Bild: Zuordnungstabelle beim NAT
2.2.2.2 IP-Masquerading / PAT
Beim IP-Masquerading, das manchmal auch als „Port and Address Translation“
(PAT), Network and Port Address Translation (NPAT) oder 1-to-n-NAT bezeichnet
wird, werden alle Adressen eines privaten Netzwerkes auf eine einzelne öffentliche
IP-Adresse abgebildet. Diese öffentliche IP-Adresse wird oft als dynamische IPAdresse von einem Internet Service Provider (ISP) zugewiesen.
Möglich wird dies dadurch, dass bei einer existierenden Verbindung zusätzlich zu
den Adressen auch die Portnummern ausgetauscht werden. Auf diese Weise
benötigt ein gesamtes privates Netz minimal nur eine einzige registrierte öffentliche
IP-Adresse.
Bild: Aufbau des IPv4-Frames
9
Bild: Aufbau des TCP-Frames
Senderport (Source Port), Empängerport (Destination Port)
Der Sender adressiert den Partner über IP-Adresse des Zielrechners und eine 16-Bit
lange Portnummer. Um den Empfänger adressieren zu können, muss der Sender
dessen Portnummer kennen. Der Sender wiederum kann (meist) eine beliebige freie
Portnummer wählen, da er seine eigene Nummer dem Kommunikationspartner
mitteilt.
Für die Standarddienste stehen die Portnummern in der Datei /etc/services. UDP verwendet einen eigenen Adressraum, so dass gleiche Portnummern sich somit nicht
überschneiden.
Sequenznummer (Sequence Number)
Dieser 32-Bit Wert kennzeichnet eindeutig die Stellung eines Pakets innerhalb des
Datenstroms in Senderichtung. Die initiale Sequenznummer wird zu Beginn des
Verbindungsaufbaus von jedem Kommunikationspartner festgelegt, wobei gilt, dass
sie für die maximal mögliche Lebensdauer des Pakets (TimetoLive des Internet
Protokolls) bzgl. der verbundenen Rechner eindeutig ist.
Die Sequenznummer eines folgenden Pakets berechnet sich aus der initialen
Sequenznummer und der Anzahl bisher gesendeter Bytes. Somit ist es möglich, bei
Verlust oder Beschädigung eines Pakets gezielt dieses wiederholt zu senden.
Nachteil des IP-Masquerading: Die Rechner im privaten Netzwerk können nicht aus
dem Internet angewählt werden. Diese Methode eignet sich daher hervorragend
dazu, zwei und mehr Rechner eines privaten Anschlusses per DFÜ-Netzwerk an das
Internet zukoppeln.
INTERNET
öffentliche Adressen
I
I
INTRANET
private Adressen
10
Bild: Zuordnungstabelle beim IP- Masquerading / PAT
Anmerkungen:
•
Sollen im privaten Netz befindliche Rechner (z. B. ein Web-Server) auch von
dem Internet erreichbar sein, muss der diesem Service zugeordnete TCPPort, hier Port 80, für den eingehenden Verkehr statisch einem bestimmten
Rechner (hier dem Web-Server) zugeordnet werden. Dies funktioniert jedoch
nur mit einem Server pro Service-Port!
•
IP-Masquerading wird ebenso von den LINUX-Kernels unterstützt.
•
Empfohlen wird an dieser Stelle die Verwendung von IP-Adressen aus dem
privaten Bereich (RFC 1918) für interne Verbindungen und die Verwendung
eines Network Address Translators (NAT), um externen Zugriff auf das
Internet zu ermöglichen.
2.3. Subnetting
Eine gute Hilfe zur Berechnung von Subnetzen, Subnetzmasken und Anzahl der
Hosts bietet der IP Subnet Calculator. (siehe
http://www.wildpackets.com/support/downloads)
1985 definierte der RFC 950 einen Weg um ein Klasse-A-, B- oder C-Netzwerk in
kleinere Netze aufzuteilen. Subnetze wurden eingeführt, um einen Teil der Probleme
zu beseitigen, die sich aus der zweistufigen Adressierungsart ergeben hatten,
nämlich das
•
Anwachsen der Routingtabellen in den Routern des Internets.
•
Lokale Systemverwalter mussten ein neues Netzwerk vom Internet anfordern, um
ein weiteres Netz installieren zu können.
Man versuchte die Probleme durch Einführung von Subnetzen zu lösen und spricht
hier von einer durch Subnetze realisierte dreistufigen Hierarchie. Das nachfolgende
11
Bild zeigt die Hostadresse, die in eine Subnetzadresse und eine Hostadresse
innerhalb dieses Subnetzes aufgeteilt wird.
Bild: Adresshierarchie beim Subnetting
Die Bildung von Subnetzen dient dazu, ein bestehendes Netz in weitere, kleinere
Netze zu unterteilen. Weitere Eigenschaften und Ziele des sog. „Subnettings“ sind.
•
Subnetze bieten eine weitere Strukturierungsmöglichkeit für Netze, ohne dass ein
zusätzliche Klasse A, Klasse B oder Klasse C Netz benötigt wird.
•
Die Standardprozedur, ein Netz in Subnetze zu unterteilen, nennt man
"Subnetting".
•
Die Hostadresse des A-, B- oder C-Netzes teilt sich in die Bereiche
Subnetzadresse (Subnet-ID, Subnetz-ID) und Hostadresse (verbleibende,
verkürzte Host-ID). Ein Teil des Hostadressbereiches wird also genutzt, um die
Subnetze zu unterscheiden.
•
Die Netzadresse und den Subnetzanteil des Hostadressraumes bezeichnet man
als erweiterte Netzadresse (extended network prefix).
•
Die interne Subnetz-Struktur von A-, B- oder C-Netzen ist nach außen hin
unsichtbar.
•
Damit Router in der Lage sind, Datagramme in das richtige Netz zuzustellen,
müssen sie bei der IP-Adresse den Netz- und Hostanteil unterscheiden können.
Dies geschieht traditionell durch die Netzmaske bzw. Subnetzmaske (subnet
mask).
Die Subnetzmaske dient dem Rechner dazu, die Zuordnung von Netzwerk-Teil und
Host-Teil vorzunehmen. Sie hat denselben Aufbau wie eine IP-Adresse (32 Bit bzw.
4 Byte). Per Definition sind alle Bit des "Netzwerk-Teils" auf 1 zu setzen, alle Bit des
"Host-Teils" auf 0. Für die o.a. Adressklassen hat die Subnetzmaske demnach
folgendes Aussehen:
Netzklasse
Subnetzmaske (binär)
Subnetzmaske
(dezimal)
Class A
11111111.00000000.00000000.00000000
255.0.0.0
Class B
11111111.11111111.00000000.00000000
255.255.0.0
Class C
11111111.11111111.11111111.00000000
255.255.255.0
12
Bild: Subnetzmasken der Standard Netzklassen A, B und C
Diese Subnetzmaske (auch "Default Subnetzmaske" genannt) kann manuell überschrieben werden.
2.3.1.
Aufteilung in Subnetze
Netzwerkanteil in
Bit
Hostanteil
in Bit
Subnetzanzahl *)
Hostanzahl **)
Subnetzmaske
8
24
1
16777216
255.0.0.0
9
23
2
128*65536
255.128.0.0
10
22
4
64*65536
255.192.0.0
11
21
8
32*65536
255.224.0.0
12
20
16
16*65536
255.240.0.0
13
19
32
8*65536
255.248.0.0
14
18
64
4*65536
255.252.0.0
15
17
128
2*65536
255.254.0.0
16
16
1
65536
255.255.0.0
17
15
2
128*256
255.255.128.0
18
14
4
64*256
255.255.192.0
19
13
8
32*256
255.255.224.0
20
12
16
16*256
255.255.240.0
21
11
32
8*256
255.255.248.0
22
10
64
4*256
255.255.252.0
23
9
128
2*256
255.255.254.0
24
8
1
256
255.255.255.0
25
7
2
128
255.255.255.128
26
6
4
64
255.255.255.192
27
5
8
32
255.255.255.224
28
4
16
16
255.255.255.240
29
3
32
8
255.255.255.248
30
2
64
4
255.255.255.252
Klasse A
Klasse B
Klasse C
Bild: Aufteilung in Subnetze
13
Anmerkungen:
*)
Die erste und letzte bei der Unterteilung entstehenden Adressen dürfen nicht
verwendet werden (Verwechslung mit Netz- und Broadcast-Adresse des
übergeordneten Netzes). Die Anzahl der Subnetze verringert sich somit jeweils
um zwei:
Ist der Netzwerkanteil der IP-Adresse n Bits, dann erhält man (2n) - 2 Subnetze.
**)
Die Rechneranzahl verringert sich ebenfalls um zwei wegen Subnetz-Adresse
(alle Rechnerbits auf 0) und Broadcast-Adresse (alle Rechnerbits auf 1):
Ist der Hostanteil der IP-Adresse m Bits, dann erhält man (2m) - 2 Hosts pro
Subnetz.
Beispiel 1:
Ein Unternehmen besitzt z.B. ein Netz der Klasse C und möchte dieses in zwei Segmente unterteilen, die voneinander getrennt sind. Der Broadcastverkehr des ersten
Segments kann so das andere nicht beeinträchtigen. In diesem Fall kommt die Subnetz-Maske zum Einsatz, welche die Hostadressen in zwei Bereiche gliedert.
Sollen die Rechner in vier gleich große Subnetze mit je 64 Knoten eingeteilt werden,
lautet die Subnetz-Maske 255.255.255.192. Es gilt die folgende Formel für die
Subnetzmaske:
Bytewert = 256 - (Anzahl der Knoten im Segment)
Als das Subnetting erstmals standardisiert wurde, war es zunächst verboten, die
Subnetze zu nutzen, in denen alle Subnetzbits den Wert 0 oder 1 hatten. Damit
ergeben sich im Beispiel nur zwei Subnetze mit je 62 Hosts.
Inzwischen beherrschen nahezu alle Netzwerkkomponenten korrektes "classless routing“; diese Option muss bei vielen Netzwerkkomponenten explizit konfiguriert
werden.
Beispiel 2: Aufteilung in 4 Subnetze
Ein Netz der Klasse C soll in vier gleich große Subnetze für die Rechner des
Vertriebs, des Einkaufs, der Entwicklung und die Rechner für das Entwicklungsnetz
aufgeteilt werden. Die Netzadresse beträgt 192.168.98.0. Dabei soll „classless
routing“ vorausgesetzt werden können.
Lösung: Der Administrator wählt zur Unterteilung die Subnetz-Maske
255.255.255.192.
Die vier Rechner mit den IP-Adressen 192.168.98.3, 192.168.98.73, 192.168.98.156
und 192.168.98.197 befinden sich daher in vier Subnetzen zwischen denen geroutet
werden muss.
Broadcasts in Subnetz 1 werden nicht in die anderen Subnetze übertragen,
Störungen in einzelnen Subnetzen bleiben lokal auch auf diese beschränkt.
14
Bild: Aufteilung des C-Netzes in vier gleich große Subnetze
Subnetze eines C-Netzes
In Klammern die reduzierte Anzahl der Subnetze (Anzahl - 2). Die rot unterlegten
Möglichkeiten sind dann in der Praxis nicht einsetzbar.
Subnetzbit
s
Hostbit
s
mögliche
Subnetze
Hostadresse
n
Subnetzmaske
1
7
2 (0)
126 (0)
255.255.255.128
2
6
4 (2)
62
255.255.255.192
3
5
8 (6)
30
255.255.255.224
4
4
16 (14)
14
255.255.255.240
5
3
32 (30)
6
255.255.255.248
6
2
64 (62)
2
255.255.255.252
7
1
128
0
255.255.255.254
Bild: Anzahl Subnetze in Abhängigkeit der Anzahl Subnetzbits
Von den acht variabel verwendbaren Bits werden die drei höchstwertigen Bits für das
Subnetz und die fünf letzten Bits für die Hostadresse benutzt. Die erste Adresse
jedes Subnetz ist die Adresse in der alle Hostbits den Wert 0 haben.
Subnetz
Subnetzbits
Hostbits
dezimal
Dezimale Wertigkeit des Bit
128
64
32
16
8
4
2
1
erstes Subnetz
0
0
0
0
0
0
0
0
0
zweites Subnetz
0
0
1
0
0
0
0
0
32
drittes Subnetz
0
1
0
0
0
0
0
0
64
15
viertes Subnetz
0
1
1
0
0
0
0
0
96
fünftes Subnetz
1
0
0
0
0
0
0
0
128
sechstes Subnetz
1
0
1
0
0
0
0
0
160
siebtes Subnetz
1
1
0
0
0
0
0
0
192
achtes Subnetz
1
1
1
0
0
0
0
0
224
Bild: Aufteilung in 8 Subnetze
Damit ergeben sich die acht zur Verfügung stehenden Subnetze wir folgt:
192.168.0.0/27
192.168.0.32/27
192.168.0.64/27
192.168.0.96/27
192.168.0.128/27
192.168.0.160/27
192.168.0.192/27
192.168.0.224/27
2.3.2.
Vorteile von Subnetting
Subnetze reduzieren die Routeranforderungen im Internet
In Bild wird ein /16-Adresse (Klasse B) in mehrere logische Subnetze aufgeteilt. Der
Router akzeptiert den gesamten IP-Verkehr, der an das /16-Netz 130.5.0.0 gerichtet
ist, und verteilt diesen intern aufgrund des dritten Oktetts in der Adresse.
Bild: Subnetze reduzieren die Routeranforderungen im Internet
Die Verwendung von Subnetzen innerhalb eines privaten Netzwerkes hat mehrere
Vorteile:
•
Die Größe der globalen Internet-Routingtabellen wächst nicht, da der Systemverwalter keine neuen Netzwerkadressen für die neue Netzwerke benötigt. Die
Routing-Information für alle Subnetze kann in einem einzelnen Eintrag
zusammengefasst werden.
•
Der Systemverwalter hat die Freiheit, neue Subnetze einzuführen, ohne neue
öffentliche Netzwerkadressen anfordern zu müssen.
16
•
2.3.3.
"Routenflattern" (d. h. häufiges Ändern der Routen) innerhalb eines lokalen
Netzes betrifft nicht die Routingtabellen des Internet, da das Internet nicht
bezüglich der Subnetzadresse routet, sondern bezüglich des Netzwerk-Präfixes.
Internet-Router benutzen nur das Netzwerk-Präfix der Zieladresse, um den
Datenverkehr in eine Umgebung mit Subnetzen weiterzuleiten. Router innerhalb
des Subnetzes (z. B. im Intranet) benutzen das erweiterte Netzwerk-Präfix, um
den Verkehr zwischen den Subnetzen zu routen. Das erweiterte Netzwerk-Präfix
besteht aus dem Netzwerk-Präfix der Netzklasse und der Subnetzadresse.
Bemerkungen zur Subnetzplanung
Die Erstellung eines Adressplanes erfordert eine sorgfältige Planung des Netzwerkes
durch den Netzwerkadministrator. Vier zentrale Fragen müssen beantwortet werden,
bevor mit der Planung begonnen werden kann:
1) Wieviele Subnetze benötigt die Organisation heute?
2) Wieviele Subnetze wird die Organisation in der Zukunft benötigt?
3) Wieviele Rechner sind heute in dem größten Subnetz enthalten?
4) Wieviele Rechner werden jemals in dem größten Subnetz voraussichtlich
enthalten sein ?
Im ersten Planungsschritt muss die Anzahl der benötigten Subnetze festgestellt
werden und auf die nächste Zweierpotenz aufgerundet werden. Wenn eine
Organisation 9 Subnetze benötigt, dann muss auf 2 hoch 4 (16) aufgerundet werden.
Dabei müssen zukünftige Erweiterungen berücksichtigt werden. Wenn heute z. B. 14
Subnetze gebraucht werden, so sollten nicht 16 (2 hoch 4) sondern besser 32 (2
hoch 5) Subnetze eingerichtet werden, um Raum für Erweiterungen zu lassen.
Im zweiten Schritt muss sichergestellt werden, dass im größten Subnetz der Organisation genügend Hostadressen verfügbar sind. Wenn z. B. im größten Netz 50
Hostadressen benötigt werden, muss auf 2 hoch 6 (64) aufgerundet werden.
Im letzten Schritt ist festzustellen, ob der Adressbereich der Organisation ausreichend ist, um die oben festgestellten Anforderungen zu erfüllen. Hat die Organisation z. B. ein einziges /16-Netz, so können problemlos 4 Bit für die Subnetznummer
und 6 Bit für die Hostnummer geplant werden. Hat die Organisation aber mehrere
/24-Netze und sollen weitere 9 Subnetze gebildet werden, so muss jedes der /24Netze in vier Subnetze (mittels 2 Bit) aufgeteilt werden. Aus drei in dieser Art
aufgeteilten /24-Netzen kann dann das Netz der Organisation gebildet werden.
Eine Alternative wäre die Verwendung von Adressen aus dem privaten Bereich (RFC
1918) für interne Verbindungen und die Verwendung eines Network Adress
Translators (NAT), um externen Internet Zugriff zu ermöglichen.
Übung 1:
Einer Organisation wurde die Netzwerknummer 193.1.1.0/24 zugewiesen, und es
müssen sechs Subnetze angelegt werden. Im größten Subnetz werden 25
Hostadressen benötigt.
Aufgaben:
1.) Definieren der Subnetzmaske / der erweiterten Präfixlänge
2.) Im nächsten Schritt muss die Subnetzmaske und die erweiterte Netzwerkpräfix
festgelegt werden
17
3.) Alle Subnetze bestimmen
4.) Definieren der Hostadressen für jedes Subnetz
5.) Definieren der Broadcast-Adresse für jedes Subnetz
Übung 2:
Einer Organisation wurde die Netzwerknummer 140.25.0.0/16 zugewiesen. Es soll
eine maximale Anzahl von Subnetzen gebildet werden. Die einzelnen Subnetze
können bis zu 60 Rechner umfassen.
1.) Definieren der Subnetzmaske / des erweiterten Netzwerkpräfixes
2.) Im nächsten Schritt muss die Subnetzmaske und die erweiterte Netzwerkpräfix
festgelegt werden
3.) Definieren der Subnetzmaske
4.) Definieren der Hostadressen für jedes Subnetz
5.) Definieren der Broadcast-Adresse für jedes Subnetz
2.4. Variable Length of Subnetting (VLSM)
Im Jahr 1987 wurde durch RFC 1009 die Variable Length Subnet Masks (variabel
lange Subnetzmasken) eingeführt. Dieses neue Verfahren behob den Missstand,
dass innerhalb eines Netzes nur eine Subnetzmaske verwendet werden konnte und
ermöglichte die weitergehende individuelle Aufteilung von zugeteilten Netzen.
Bild: Beispiel für die Variable Length Subnet Masks
VLSM bezieht sich hierbei wiederum nur auf die unternehmensinterne Verwaltung; im
globalen Routing spielen diese verfeinerten Subnetzaufteilungen keine Rolle.
VLSM erleichtert und verbessert die Nutzung des zugeteilten Adressbereichs
innerhalb des Unternehmens, da Subnetze effizienter gestaltet werden konnten und
darüber hinaus Routing-Informationen unternehmensintern auf Subnetze delegiert
werden können. VLSM verbessert die Ausnutzung zugeteilter Subnetze enorm.
Die RFC 1009 erläutert, wie in einem Subnetz mehr als eine Subnetzmaske zugewiesen werden können. Wird einem IP-Netz mehr als eine Subnetzmaske zugewiesen,
18
so ist dies ein IP-Netz mit einer "variabel langen Subnetzmaske", da die erweiterten
Netzwerkpräfixe unterschiedliche Längen haben.
Mehrere Subnetzmasken erlauben die effizientere Nutzung des IP-Adressraumes,
der einer Organisation zugewiesen wurde. Mehrere Subnetzmasken erlauben
ebenso das Zusammenfassen von Routen. Damit kann in dem Bereich einer
Organisation die Routinginformation für den Backbone deutlich reduziert werden.
2.4.1.
Effektive Nutzung des IP-Adressraums
VLSM unterstützt die effektivere Nutzung des einer Organisation zugewiesenen IPAdressraums. Eines der Hauptprobleme bei der Beschränkung auf eine
Subnetzmaske pro Netzwerk war, dass nach der Festlegung der Subnetzmaske die
Organisation auf eine feste Anzahl von in der Größe fest definierten Subnetzen
festgelegt war. Nehmen wir an, ein Netzwerkverwalter konfiguriert das Netzwerk
103.5.0.0/16 mit einem /22-Netzwerkpräfix.
Bild: Netzwerk 130.5.0.0/16 mit einem /22 erweiterten Netzwerkpräfix
Das obige Bild zeigt ein /16-Netzwerk, bei dem mit einem erweiterten /22Netzwerkpräfix 64 (26 ) Subnetze erzeugt werden, wobei jedes maximal 1022 (210 -2)
Rechner im Subnetz unterstützt.
Wenn neben einem großen Subnetz weitere Subnetze mit nur ca. 20 - 30 Rechnern
benötigt werden, muss der Netzwerkadministrator trotzdem ein Netz mit einem /22Präfix zuweisen. Durch diese Zuweisung an dieses kleine Subnetz werden ca. 1000
IP-Adressen verschwendet. Die Beschränkung auf eine einzige Netzmaske fördert
daher nicht die effiziente Nutzung des zugewiesenen Adressraumes einer Organisation.
Bild: Netzwerk 130.5.0.0/16 mit einem /26 Netzwerkpräfix
Die Verwendung mehrerer Subnetzmasken wäre eine Lösung für dieses Problem.
Der Netzwerkadministrator würde auch in dem 130.5.0.0/16 Netzwerk zusätzlich ein
Netzwerk mit einem /26-Netzwerkpräfix konfigurieren, wie das obige Bild zeigt.
Ein /16-Netzwerk mit einem /26-Präfix erlaubt 1024 (210) Subnetze, von denen jedes
maximal 62 (26 -2) Rechner haben kann. Ein /26-Subnetz wäre ideal für ein Subnetz
mit weniger als 60 Rechnern, während ein /22-Subnetz passend für ein Subnetz mit
bis zu 1000 Rechnern ist.
19
2.4.2.
Zusammenfassen von Routen (Route Aggregation)
VLSM erlaubt auch die rekursive Aufteilung des Adressraumes einer Organisation,
so dass er wieder zusammengefasst werden kann, damit die Menge an
Routinginformation auf der obersten Ebene reduziert werden kann. Zuerst wird ein
Netzwerk in Subnetze geteilt. Dann wird ein Teil des Subnetzes wieder geteilt und
davon wieder ein Teil. Damit kann die detaillierte Routinginformation über ein
Subnetz vor den Routern eines anderen Subnetzes verborgen werden.
11.0.0.0./8 11.1.0.0/16
11.2.0.0/16
11.3.0.0/16
:
11.252.0.0/16
11.253.0.0/16
11.254.0.0/16
11.1.1.0/24
11.1.2.0/24
11.1.253.0/24
11.1.254.0/24
11.253.32.0/19
11.253.64.0/19
11.253.96.0/19
:
11.253.128.0/19
11.253.160.0/19
11.253.192.0/19
11.1.253.32/27
11.1.253.64/27
:
11.1.253.160/27
11.1.253.192/27
Bild: VLSM erlaubt die rekursive Aufteilung eines Netzwerkbereiches
20
In obigem Bild wird das 11.0.0.0/8-Netzwerk zuerst mit einem /16-Netzwerkpräfix
konfiguriert. Das Subnetz 11.1.0.0/16 wird dann mit einem /24-Netzwerkpräfix
konfiguriert. Genauso wird dann das Subnetz 11.253.0.0/16 mit eine /19Netzwerkpräfix konfiguriert.
Wichtig bei diesem Prozess ist, dass auf gleicher Rekursionsebene nicht unbedingt
das gleiche Netzwerkpräfix benutzt werden muss. Die Unterteilung des
Adressraumes kann solange wie notwendig vom Netzwerkadministrator
vorgenommen werden.
2.4.3.
VLSM Planungsempfehlungen
Wenn man ein Netzwerk mit VLSM plant, muss sich der Netzwerkplaner immer
wieder die gleichen Fragen stellen wie bei der Planung eines traditionellen
Subnetzes. Dieselben Planungsentscheidungen müssen auf jeder Ebene der
Hierarchie getroffen werden:
1) Wie viele Subnetze werden heute auf dieser Ebene gebraucht?
2) Wie viele Subnetze werden in Zukunft auf dieser Ebene gebraucht?
3) Wie viele Rechner sind im größten Subnetz dieser Ebene heute?
4) Wieviele Rechner werden im größten Subnetz dieser Ebene in der Zukunft sein?
Auf jeder Ebene muss das Planungsteam sicherstellen, dass genügend Reserve an
Subnetzen und Rechnern in den Subnetzen für die Zukunft vorhanden ist.
Nehmen wir an, dass ein Netzwerk auf mehrere Standorte verteilt ist. Wenn eine
Organisation heute drei Standorte hat, wird sie für die Subnetze drei Bits (2 hoch 3 =
8) benötigen, damit noch weitere Standorte hinzugefügt werden können. An jedem
Standort wiederum wird es wahrscheinlich wieder eine Aufteilung in Subnetze für
jedes Gebäude geben. Schließlich kann es innerhalb eines Gebäudes eine dritte
Ebene von Subnetzen geben, wobei jeder Arbeitsgruppe ein Subnetz zugeordnet
wird. Bei dieser Hierarchie wird die oberste Ebene durch die Anzahl der Standorte
bestimmt, die zweite Ebene durch maximale Anzahl der Gebäude an den Standorten
und die dritte Ebene wird durch die maximale Anzahl Subnetze pro Gebäude und der
maximalen Anzahl Benutzer in einem Subnetz bestimmt.
Die Planung einer hierarchischen Anordnung der Subnetze muss sehr sorgfältig
erfolgen. Es ist wichtig, dass der Netzwerkplaner die Subnetze rekursiv absteigend
bis zur untersten Ebene plant. Wenn er an der untersten Ebene angekommen ist,
muss er sicher sein, dass die entstandenen Subnetze genügend Adressen haben,
um alle Rechner anschließen zu können. Wenn dieser Adressplan dann umgesetzt
wird, können die Adressen der Subnetze zu einzelnen Adressblöcken
zusammengefasst werden, so dass die Routing-Tabellen des Backbone klein
bleiben.
2.4.4.
Anforderungen für die Umsetzung von VLSM
Für eine erfolgreiche Umsetzung von VLSM gibt es drei Voraussetzungen:
•
Das Routing-Protokoll muss die erweiterten Netzwerkpräfixe bei jeder Routenbekanntgabe mitschicken.
•
Alle Router müssen einen Weiterleitungsalgorithmus implementieren, der auf
dem längsten möglichen Vergleich basiert.
21
•
Damit Routen zusammengefasst werden können, müssen die Adressen
entsprechend der Topologie vergeben werden.
2.4.4.1 Senden des erweiterten Netzwerkpräfixes
Moderne Routing-Protokolle wie OSPF und I-IS-IS erlauben den Einsatz von VLSM,
indem sie das erweiterte Netzwerkpräfix oder die entsprechende Netzwerkmaske mit
jeder Route mitschicken. Damit kann jedes Subnetz mit seinem Netzwerkpräfix oder
Netzwerkmaske bekannt gemacht werden. Falls das Routing-Protokoll kein
Netzwerkpräfix mittransportiert, muss der Router entweder annehmen, dass das lokal
definierte Netzwerkpräfix verwendet werden soll, oder er sieht in einer Tabelle nach,
in der die Maske stehen muss. Bei der ersten Möglichkeit kann nicht sicher gestellt
werden, dass das korrekte Netzwerkpräfix verwendet wird. Die zweite Möglichkeit mit
statischen Tabellen ist nicht sinnvoll, da sie schwer zu warten sind und der Mensch
u.U. falsche Informationen eingibt.
Die Konsequenz daraus ist, dass beim Einsatz von VLSM in einer komplexen Umgebung OSPF oder I-IS-IS als das Interior Gateway Protocol (IGP) anstatt von RIP-1
verwendet werden muss! Es sollte bemerkt werden, dass RIP-2, definiert im RFC
1388, das RIP-Protokoll durch den Transport des Netzwerkpräfix verbessert. RIP-2
unterstützt daher VLSM.
2.4.4.2 Weiterleitungsalgorithmus
Alle Router müssen einen Weiterleitungsalgorithmus benutzen, der auf dem längsten
möglichen Vergleich basiert. Der Einsatz von VLSM bedeutet, dass es eine Menge
von Netzwerken mit Netzwerkpräfix gibt, die eine Teilmengenbeziehung haben.
Eine Route mit einem längeren Netzwerkpräfix beschreibt eine kleinere Menge
von Zieladressen als eine Route mit einem kürzeren Netzwerkpräfix.
Eine Route mit einem längeren Netzwerkpräfix ist daher spezifischer als eine Route
mit einem kürzeren Netzwerkpräfix. Wenn Router Pakete weiterleiten, müssen sie die
spezifischte Route (d. h. mit dem längsten Netzwerkpräfix) benutzen.
Wenn z. B. die Zieladresse eines IP-Paketes 11.1.2.5 lautet und es in der Routingtabelle drei Netzwerkpräfixe gibt (11.1.2.0/24, 11.1.0.0/16, und 11.0.0.0/8), wählt der
Router die Route 11.1.2.0/24. Die Route 11.1.2.0/24 wird ausgewählt, da sie größtmöglich mit der Zieladresse des IP-Paketes übereinstimmt. Dies wird im nächsten
Bild dargestellt.
Bild: Beste Übereinstimmung der Route mit dem längsten Netzwerkpräfix (höcht
spezifische Route)
Da die Zieladresse mit allen drei Routen übereinstimmt, muss sie einem Rechner zugewiesen werden, der im 11.1.2.0/24-Subnetz angeschlossen ist. Falls die Adresse
einem Rechner zugewiesen werden würde, der in dem 11.1.0.0/16- oder dem
11.0.0.0/8-Subnetz angeschlossen ist, würde der Router niemals den Datenverkehr
an den Rechner weiterleiten, da der Algorithmus, der auf dem längsten möglichen
Vergleich basiert, annimmt, dass der Rechner im Subnetz 11.1.2.0/24 angeschlossen
ist.
22
2.4.4.3 Topologieabhängige Adresszuweisungen
Da OSPF und RIPv2 die erweiterte Netzwerkpräfixinformation mit jeder Route weiter
verbreiten, können VLSM-Subnetze willkürlich in der Topologie einer Organisation
verteilt sein. Um aber ein hierarchisches Routing zu unterstützen und die Größe der
Routingtabellen klein zu halten, sollten die Adressen so zugewiesen werden, dass
dabei die Topologie berücksichtigt wird.
Hierarchisches Routing erfordert, dass bei der Zuweisung von Adressen die aktuelle
Netzwerktopologie berücksichtigt wird. Indem ein Bereich von mehreren
Adressgruppen zusammengefasst und einer Region in der Topologie zugewiesen
wird, kann dieser Bereich zu einer einzigen Routinginformation zusammengefasst
werden.
Hierarchisches Routing erlaubt dann die rekursive Anwendung dieses Verfahrens an
verschiedenen Punkten innerhalb der Routingtopologie. Wenn die Adressen nicht
unter Berücksichtigung der Topologie zugewiesen wurden, kann die
Zusammenfassung von Adressbereichen nicht vorgenommen werden und die
Routingtabellen können nicht verkleinert werden.
2.4.5.
VLSM Entwurfsbeispiel 1
Einer Organisation wurde die Netzwerkadresse 140.25.0.0/16 zugewiesen und sie
plant die Verwendung von VLSM. Das nachfolgende Bild zeigt bildlich den VLSMEntwurf für die Organisation.
Bild 20: Addressverteilung für das VLSM-Beispiel
Im ersten Schritt wird die Netzwerkadresse in 16 gleich große Adressblöcke
aufgeteilt. Das Subnetz Nummer eins wird dann in 32 gleich große Blöcke aufgeteilt,
während das Subnetz Nummer 14 in 16 gleich große Blöcke aufgeteilt wird. Zum
Schluss wird das Subnetz Nummer 14->14 in acht gleich große Blöcke zerlegt.
Definieren der 16 Subnetze von 140.25.0.0/16
Im ersten Schritt wird, wie das nachfolgende Bild demonstriert, die Basisnetzwerkadresse in 16 gleich große Adressblöcke geteilt.
23
Bild: Definieren der 16 Subnetze für 140.25.0.0/16
Es reichen vier Bits, um jedes der 16 Subnetz eindeutig zu identifizieren; es wird
somit ein Netzwerkpräfix /20 gebraucht, um die 16 Subnetze innerhalb des Netzes
140.25.0.0/16 zu definieren. Jedes dieser Subnetze hat einen fortlaufenden Block
von 212 (= 4096) Netzwerkadressen.
Die 16 Subnetze des Netzes 140.25.0.0/16 sind nachstehend angegeben. Die Subnetze werden von 0 bis 15 durch nummeriert.
Basisnetzwerk: 10001100.00011001.00000000.00000000 = 140.25.0.0/16
Subnetz #0: 10001100.00011001.00000000.00000000 = 140.25.0.0/20
Subnetz #1: 10001100.00011001.00010000.00000000 = 140.25.16.0/20
Subnetz #2: 10001100.00011001.00100000.00000000 = 140.25.32.0/20
Subnetz #3: 10001100.00011001.00110000.00000000 = 140.25.48.0/20
Subnetz #4: 10001100.00011001.01000000.00000000 = 140.25.64.0/20
:
Subnetz #13: 10001100.00011001.11010000.00000000 = 140.25.208.0/20
Subnetz #14: 10001100.00011001.11100000.00000000 = 140.25.224.0/20
Subnetz #15: 10001100.00011001.11110000.00000000 = 140.25.240.0/20
Definieren der Hostadressen für das Subnetz Nummer drei (140.25.48.0/20)
Festlegen der Hostadressen, die in Subnetz Nummer drei zugewiesen werden
können (140.25.48.0/20).
Bild: Definieren der Hostadressen für Subnetz drei (140.25.48.0/20)
Da das Hostadressenfeld des Subnetzes #3 insgesamt 12 Bit aufweist, gibt es 4094
(=212 - 2) Hostadressen in dem Adressblock; die gültigen Hostadressen für das
Subnetz #3 werden unten angegeben.
Subnetz #3: 10001100.00011001.00110000.00000000 = 140.25.48.0/20
Rechner #1: 10001100.00011001.00110000.00000001 = 140.25.48.1/20
Rechner #2: 10001100.00011001.00110000.00000010 = 140.25.48.2/20
:
Rechner #4093: 10001100.00011001.00111111.11111101 = 140.25.63.253/20
Rechner #4094: 10001100.00011001.00111111.11111110 = 140.25.63.254/20
Bei der Broadcast-Adresse des Subnetzes #3 sind alle Bits der Hostadresse auf eins
gesetzt:
10001100.00011001.00111111.11111111 = 140.25.63.255
Die Broadcast-Adresse des Subnetzes drei ist genau um eins kleiner als die Basisadresse des Subnetzes vier: (140.25.64.0).
Definieren der Subnetze für Subnetz Nummer 14 (140.25.224.0/20)
24
Nachdem das Basisnetzwerk in 16 Subnetze unterteilt wurde, wird das Subnetz #14
wiederum in 16 Subnetze unterteilt.
Bild: Definieren der Subnetze des Subnetzes 14 (140.25.224.0/20)
Es werden vier weitere Bits benötigt, um die erforderlichen Subnetze zu adressieren;
ein Netzwerkpräfix /24 wird hierfür verwendet.
Die 16 Subnetze des Adressblockes 140.25.224.0/20 sind unten angegeben. Die
Subnetze werden von 0 bis 15 durchnummeriert.
Subnetz #14: 10001100.00011001.11100000.00000000 = 140.25.224.0/20
Subnetz #14-0: 10001100.00011001.11100000.00000000 = 140.25.224.0/24
Subnetz #14-1: 10001100.00011001.11100001.00000000 = 140.25.225.0/24
Subnetz #14-2: 10001100.00011001.11100010.00000000 = 140.25.226.0/24
Subnetz #14-3: 10001100.00011001.11100011.00000000 = 140.25.227.0/24
Subnetz #14-4: 10001100.00011001.11100100.00000000 = 140.25.228.0/24
:
Subnetz #14-14: 10001100.00011001.11101110.00000000 = 140.25.238.0/24
Subnetz #14-15: 10001100.00011001.11101111.00000000 = 140.25.239.0/24
Definieren der Hostadressen für Subnetz 14->3 (140.25.227.0/24)
Festlegen der Hostadressen, die in Subnetz Nummer 14->3 zugewiesen werden können (140.25.227.0/24).
Bild: Definieren der Hostadressen für Subnetz 14-3 (140.25.227.0/24)
Jedes der Subnetze des Subnetzes 14->3 hat acht Bits für die Hostadressen. Damit
hat jedes Subnetz einen Block von 254 (=28-2) gültigen Hostadressen. Die Rechner
werden von eins bis 254 durchnumeriert.
Die gültigen Hostadressen ergeben sich so zu:
Subnetz #14-3: 10001100.00011001.11100011.00000000 = 140.25.227.0/24
Rechner #1 10001100.00011001.11100011.00000001 = 140.25.227.1/24
Rechner #2 10001100.00011001.11100011.00000010 = 140.25.227.2/24
Rechner #3 10001100.00011001.11100011.00000011 = 140.25.227.3/24
Rechner #4 10001100.00011001.11100011.00000100 = 140.25.227.4/24
25
Rechner #5 10001100.00011001.11100011.00000101 = 140.25.227.5/24
.
Rechner #253 10001100.00011001.11100011.11111101 = 140.25.227.253/24
Rechner #254 10001100.00011001.11100011.11111110 = 140.25.227.254/24
Bei der Broadcast-Adresse des Subnetzes 14->3 sind alle Bits der Hostadresse auf
eins gesetzt:
10001100.00011001.11100011.11111111 = 140.25.227.255
Die Bradcastadresse des Subnetzes 14->3 ist genau um eins kleiner als die Basisadresse des Subnetzes 14->4 (140.25.228.0).
Definieren der Subnetze des Subnetzes 14->14 (140.25.238.0/24)
Nachdem das Subnetz 14 in 16 Subnetze unterteilt wurde, wird das Subnetz 14->14
nochmals in acht gleich große Adressblöcke unterteilt.
Bild: Definieren der Subnetze des Subnetzes 14-14 (140.25.238.0/24)
Es werden drei weitere Bits gebraucht, um die acht Subnetze zu adressieren; es
muss daher ein Netzwerkpräfix /27 verwendet werden.
Die acht Subnetze des Adressblocks 140.25.238.0/24 ergeben sich damit wie folgt:
Subnetz #14-14: 10001100.00011001.11101110.00000000 = 140.25.238.0/24
Subnetz#14-14-0: 10001100.00011001.11101110.00000000 = 140.25.238.0/27
Subnetz#14-14-1: 10001100.00011001.11101110.00100000 = 140.25.238.32/27
Subnetz#14-14-2: 10001100.00011001.11101110.01000000 = 140.25.238.64/27
Subnetz#14-14-3: 10001100.00011001.11101110.01100000 = 140.25.238.96/27
Subnetz#14-14-4: 10001100.00011001.11101110.10000000 = 140.25.238.128/27
Subnetz#14-14-5: 10001100.00011001.11101110.10100000 = 140.25.238.160/27
Subnetz#14-14-6: 10001100.00011001.11101110.11000000 = 140.25.238.192/27
Subnetz#14-14-7: 10001100.00011001.11101110.11100000 = 140.25.238.224/27
Definieren der Hostadressen für das Subnetz 14->14->2 (140.25.238.64/27)
Festlegen der Hostadressen die in Subnetz Nummer 14->14->2 zugewiesen werden
können (140.25.238.64/27).
26
Bild: Definieren der Hostadressen für Subnetz 14-14-2 (140.25.238.64/27)
Jedes der Subnetze 14->14 hat fünf Bits in dem Feld für Hostadressen. Dies
bedeutet, dass jedes Subnetz einen Block von 30 gültigen Adressen (25 -2) hat. Die
Rechner werden von 1 bis 30 durchnumeriert.
Die gültigen Rechneradressen für das Subnetz 14-14-2 sind unten angegeben.
Subnetz#14-14-2: 10001100.00011001.11101110.01000000 = 140.25.238.64/27
Rechner #1 10001100.00011001.11101110.01000001 = 140.25.238.65/27
Rechner #2 10001100.00011001.11101110.01000010 = 140.25.238.66/27
Rechner #3 10001100.00011001.11101110.01000011 = 140.25.238.67/27
Rechner #4 10001100.00011001.11101110.01000100 = 140.25.238.68/27
Rechner #5 10001100.00011001.11101110.01000101 = 140.25.238.69/27
.
Rechner #29 10001100.00011001.11101110.01011101 = 140.25.238.93/27
Rechner #30 10001100.00011001.11101110.01011110 = 140.25.238.94/27
Bei der Broadcast-Adresse des Subnetzes 14->14->2 sind alle Bits der Hostadresse
auf eins gesetzt:
10001100.00011001.11011100.01011111 = 140.25.238.95
2.5. Classless Interdomain Routing (CIDR)
Allgemeine Informationen über die CIDR Deployment (CIDRD) Arbeitsgruppe
innerhalb der IETF und ihren Auftrag:
http://www.ietf.cnri.reston.va.us/html.charters/cidrd-charter.html
Um 1992 hat das exponentielle Wachstum des Internets unter den Mitgliedern der
IETF ernsthafte Bedenken ausgelöst, ob das Routingsystem des Internet mit dem
abzusehenden Wachstum Schritt halten kann. Folgende Probleme waren absehbar:
•
Die absehbare vollständige Belegung des Klasse-B-Adressraumes
•
Das schnelle Wachsen der globalen Routingtabellen des Internets
•
Die unter Umständen vollständige Belegung des 32-Bit IPv4 Adressraumes
CIDR wurde offiziell im September 1993 in den RFC 1517, 1518, 1519 und 1520
dokumentiert. CIDR unterstützt zwei wichtige Eigenschaften, mit denen das globale
Routing-System des Internet unterstützt wird:
•
CIDR eliminiert das traditionelle Konzept der Klasse-A-, B- und C-Adressen.
Mit CIDR können nun auch bisherige Class-A-Netzwerke auch innerhalb des
Internets und außerhalb von Organisationen in kleinere Subnetze aufgeteilt
27
werden. Damit kann der IPv4-Adressraum effizienter vergeben werden und
das Internet wachsen, bis IPv6 umfassend zur Verfügung steht.
•
CIDR unterstützt das Zusammenfassen von unter Umständen Tausenden
von Klassenrouten zu einem einzigen Eintrag in der Routingtabelle. Damit
kann durch einen einzigen Routingeintrag der Verkehr zu vielen
verschiedenen Netzen angegeben werden. Durch die Zusammenfassung
von Routen kann die Menge an Routen in den Hauptroutern des Internet
besser kontrolliert werden. Das Routenflattern (häufiges Ändern der
Verfügbarkeit einzelner Routen) wird reduziert und die Administration der
Router wird vereinfacht.
Ohne die schnelle Verfügbarkeit des CIDR hätten die Routingtabellen mehr
als 70000 statt heute 30000 Einträge.
Die Abschaffung des Klassenschemas sprengte buchstäblich die Ketten, die die IPAdressierung bis dato fesselten. Bisher reservierte Class-A-Netzwerke können nun
von den Regional Internet Registries effizient zur Vergabe von Subnetzen an
Provider genutzt werden, die dann diese Subnetze ohne Einschränkungen in
verschieden große Subnetze aufteilen konnten.
Z.B. können Provider einen /20-Adressblock von einer Regional Internet Registries
erhalten. Der Provider kann diesen Block je nach Bedarf frei "portionieren" und z.B.
dem Kunden A daraus ein /24-Adressblock, Kunde B ein /29-Block etc. zugewiesen
werden, ohne dass es zu Über- oder Unterschneidungen im Adressblock kommt. Die
Verwaltung des IP-Adressraums wurde somit für alle Beteiligten erheblich
übersichtlicher und transparenter, obwohl nun bei jedem Subnetz die Angabe der
entsprechenden Subnetzmaske Pflicht wurde, um so die Größe des jeweiligen
Subnetzes definieren zu können.
Die frappierende Ähnlichkeit von CIDR und VLSM ist übrigens nicht zufällig, sondern
durchaus eine gewollte Weiterentwicklung einer bewährten Idee. Während die
flexiblen Subnetzaufteilungen von VLSM nur innerhalb einer Organisation bekannt
waren und das Internet weiterhin nur das gesamte, der Organisation zugeteilte
Subnetz kannte, ermöglicht CIDR auch die Bekanntgabe der organisationsinternen
Subnetze nach außen zum Internet hin.
Um diese neue Flexibilität nicht mit völlig aus den Fugen geratenden Routing
Tabellen zu bezahlen, die so groß sein würden, dass das Internet schlicht nicht mehr
funktionieren würde, bezog sich das zweite Konzept von CIDR auch auf das
Zusammenfassen von Routen zu autonomen Netzwerken. Vereinfacht gesagt
bedeutet dies, dass Organisationen, die einen IP-Adressblock zugewiesen
bekommen haben, diesen autonom verwalten und aufteilen können, nach außen
jedoch nur den gesamten IP-Adressblock propagieren.
28
Bild: CIDR erlaubt die Zusammenfassung von Routen und reduziert damit die
Routingtabellen
Das obige Bild zeigt, wie die durchdachte Nutzung von CIDR die Größe der
Routingtabellen reduziert. Router D kann durch die Angabe einer Route
(11.1.253.0/24) sechs Subnetze zusammenfassen. Genauso können der Router B
alle dahinterliegenden Subnetz und der Router C alle sechs Subnetz zu einer Route
(11.253.0.0/16) zusammenfassen. Schließlich, da die Subnetzstruktur nicht
außerhalb der Organisation bekannt ist, gibt der Router A dem globalen Internet nur
eine Route bekannt (11.0.0.0/8 oder 11/8).
Schematisch ähnlich verläuft das Routing mit dem Routing-Tabellenschema, wie es
mit CIDR eingeführt wurde. Der zentrale Router einer Organisation mit einem
autonomen IP-Adressblock propagieren ihren gesamten Adressblock im Idealfall mit
einem einzigen Routing-Eintrag und geben damit allen anderen zentralen Router
aller Organisationen mit eigenen, autonomen IP-Adressblöcken genug Informationen,
wohin der Datenverkehr zu einer bestimmten IP-Adresse zur Weitergabe gesendet
werden muss.
2.5.1.
CIDR für die effiziente Nutzung des IPv4 Adressraumes
CIDR eliminiert das traditionelle Konzept der Klasse-A-, B- und C- Netwerkadressen
und ersetzt es durch das allgemeine Konzept eines Netzwerkpräfixes. Router
benutzen ein Netzwerkpräfix anstatt der ersten drei Bits einer IP-Adresse, um
festzustellen, welcher Teil der Adresse die Netzwerknummer und welcher Teil die
Hostadresse ist. CIDR erlaubt damit die Vergabe von Netzwerken einer beliebigen
Größe, anstatt der 8-, 16- oder 24-Bit Netzwerknummer, die durch die Klassen
vorgegeben werden.
Eine Adresse, die beispielweise eine 20 Bit Netzwerkadresse und eine 12 Bit Hostadresse hat, wird mit einer Präfixlänge von 20 (/20) angegeben. Das Geschickte ist,
dass eine /20-Adresse eine frühere Klasse-A-, B- oder C-Adresse sein kann. Router,
die CIDR unterstützen, interpretieren nicht die ersten drei Bit der Adresse, sondern
benutzen ausschließlich das mit der Route mitgelieferte Längenpräfix.
In der klassenlosen Umgebung geben Präfixe homogene Adressblöcke des IPAdressraumes an. Beispielsweise geben alle Präfixe mit einem /20-Präfix die
gleichen Adressräume an (212 oder 4096 Hostadressen). Ein /20-Präfix kann einer
Klasse-A-, B- oder C-Adresse zugewiesen werden.
29
Bild: /20 homogene Adressblöcke
Die nachstehende Tabelle gibt die am meisten verwendeten CIDR-Adressblöcke an.
Aus der Tabelle ist ersichtlich, dass eine /15-Adresse auch in der traditionellen
Punkt-Notation 255.254.0.0 angegeben werden kann. Ein /15-Bereich ist ein linearer
Block von 128k (exakt 131072) Adressen. In der klassenweisen Notation entspräche
dies zwei Klasse-B-Netzwerke oder 512 Klasse-C-Netzwerke.
Tabelle: CIDR Adressblöcke
2.5.2.
Rechneranforderungen für die CIDR-Adressierung
Es ist wichtig zu bemerken, dass bei der Verwendung von CIDR-Adressen es einige
Anforderungen an die Rechner gibt. Da viele Rechner klassenweise arbeiten, können
sie nicht mit einer Maske konfiguriert werden, die kürzer ist als die der
entsprechenden Klasse. Beispielweise können Probleme auftreten, wenn man die
Adresse 200.25.16.0 als /20 verwenden will, um 4094 (2 hoch 12 - 2) Rechner im
Netzwerk zu unterstützen. Die Software auf jeder Station erlaubt es unter Umständen
nicht, dass man eine klassische Klasse-C-Adresse (200.25.16.0) mit einer 20-BitMaske konfiguriert, da die natürliche Maske für eine solche Adresse ein 24-Bit-Maske
ist. Falls die Rechner-Software CIDR unterstützt, können auch kürzere Masken
definiert werden
Es wird aber keine Probleme mit den Rechnern geben, wenn man einen Adressblock
200.25.16.0/20 (eine klassische Klasse-C-Adresse) als einen Block von 16 /24Adressen benutzen will, da die Rechner ihre lokale /24-Adresse als eine Klasse-CAdresse behandeln. Genauso kann der Adressblock 130.14.0.0/16 (eine klassische
Klasse-B-Adresse) als 255 /24 benutzt werden, da die Rechner die /24-Adresse als
Subnetze des /16 interpretieren werden. Falls die Netzwerksoftware es erlaubt,
kürzere als die erwarteten Masken zu verwenden, ist der Netzwerkverwalter sehr
flexibel bezüglich des Netzwerkdesigns und der Adresszuweisung.
30
2.5.3.
Effiziente Adresszuweisung
In einer klassenorientierten Umgebung kann ein Internet Service Provider (ISP) nur
/8-, /16- oder /24-Adressbereiche belegen. In einer CIDR-Umgebung kann er genau
die Adressbereiche belegen, die der Kunde benötigt. Damit wird eine knappe
Ressource nicht verschwendet.
Nehmen wir an, ein ISP hat den Adressblock 206.0.64.0/18 zugewiesen bekommen.
Dieser Block beinhaltet 16384 (214) IP-Adressen oder auch 64 /24-Adressblöcke.
Falls ein Kunde 800 Adressen benötigt, kann er vom ISP anstelle einer Klasse-BAdresse (ca. 64700 Adressen würden verschwendet) oder vier verschiedenen
Klasse-C-Adressen (wobei vier Routen in den internationalen Routingtabellen
eingetragen werden müssten) der Block 206.0.68.0/22 zugewiesen werden.
Dieser Block von 1024 Adressen besteht aus vier aufeinanderfolgenden /24Adressblöcken. Die Effizienz dieser Zuweisung wird nachstehend dargestellt.
Bild: CIDR unterstützt effiziente Adresszuweisung
2.5.4.
Beispiel für CIDR Adresszuweisung
In diesem Beispiel nehmen wir an, dass der ISP den Adressblock 200.25.0.0/16
zugewiesen bekommen hat. Dieser Block enthält 65536 (216) IP-Adressen (oder 256
/24).
Aus dem 200.25.0.0/16-Block soll der 200.25.16.0/20-Block zugewiesen werden.
Dieser kleinere Block umfasst 4096 (212) Adressen (oder 16 /24) dar.
Adressblock 11001000.00011001.00010000.00000000 200.25.16.0/20
In einer klassenweisen Adressierung ist der ISP gezwungen, diesen /20-Block als 16
individuelle /24-Blöcke zu behandeln.
Bild: Aufteilen der Adressen - Klassenweise Umgebung
31
In einer klassenlosen Umgebung kann der ISP den Adressraum nach Belieben
aufteilen. Er kann den Adressraum halbieren und den einen Teil der Organisation A
zuweisen. Den Rest kann er ebenso halbieren und einen Teil der Organisation B
zuweisen. Das restliche Viertel kann wiederum in zwei Teile geteilt werden und zwei
Organisationen C und D zugewiesen werden. Jede der Organisationen kann den
zugewiesenen Adressbereich innerhalb ihres "Intranet" nach Bedarf zuweisen. Dies
wird nachfolgend grafisch dargestellt.
Bild: Aufteilen der Adressen - Klassenlose Umgebung
1. Schritt: Aufteilen des Adressblocks 200.25.16.0/20 in zwei gleich große Teile.
Jeder der Blöcke stellt die Hälfte des Adressraumes oder 2048 IP-Adressen dar.
ISP's Block 11001000.00011001.00010000.00000000 200.25.16.0/20
Organisation A: 11001000.00011001.00010000.00000000 200.25.16.0/21
Reserviert: 11001000.00011001.00011000.00000000 200.25.24.0/21
2. Schritt: Teilen des reservierten Blockes (200.25.24.0/21) in zwei gleich große
Teile. Jeder der Blöcke stellt ein Viertel des Adressraumes oder 1024 IP-Adressen
dar.
Reserviert: 11001000.00011001.00011000.00000000 200.25.24.0/21
Organisation B: 11001000.00011001.00011000.00000000 200.25.24.0/22
Reserviert: 11001000.00011001.00011100.00000000 200.25.28.0/22
3. Schritt: Teilen des reservierten Blockes (200.25.28.0/20) in zwei gleich große
Teile. Jeder der Blöcke stellt ein Achtel des Adressraumes oder 512 IP-Adressen
dar.
Reserviert: 11001000.00011001.00011100.00000000 200.25.28.0/22
Organisation C: 11001000.00011001.00011100.00000000 200.25.28.0/23
Organisation D: 11001000.00011001.00011110.00000000 200.25.30.0/23
2.5.5.
CIDR ist VLSM ähnlich
Wenn Sie sagen, das CIDR dem VLSM ähnlich ist, dann haben Sie recht. CIDR und
VLSM sind im Grunde das Gleiche, da sie es beide ermöglichen, dass ein IPAdressbereich beliebig in kleinere Teile aufgeteilt werden kann. VLSM unterscheidet
sich dadurch, dass die Aufteilung nur in dem einer Organisation zugeteilten
Adressbereich erfolgt und damit für das globale Internet nicht sichtbar ist. Bei CIDR
kann die rekursive Aufteilung eines Adressblocks von der Internet-Registrierung über
32
einen großen ISP, von dort über einen mittleren und kleinen ISP bis zum Netzwerk
einer privaten Organisation erfolgen.
Genauso wie VLSM ist die erfolgreiche Verwendung von CIDR an drei Voraussetzungen geknüpft:
2.5.6.
•
Die Routing-Protokolle müssen die Netzwerkpräfixinformation mit jeder
Routinginformation mitschicken.
•
Alle Router müssen einen konsistenten Weiterleitungsalgorithmus basierend
auf "der längsten Übereinstimmung" verwenden.
•
Damit die Zusammenfassung von Routen erfolgen kann, müssen die
Adressen entsprechend der Netzwerktopologie verteilt werden.
Kontrollieren des Wachstums der Internet-Routingtabellen
Ein anderer wichtiger Vorteil des CIDR ist, dass es eine entscheidende Rolle bei der
Kontrolle des Wachstums der Internet-Routingtabellen spielt. Um die RoutingInformationsmenge zu reduzieren, ist es notwendig, dass das Internet in
Adressierungs-Domains aufgeteilt wird. Innerhalb einer Domain gibt es detaillierte
Informationen über die Netze, die in der Domain sind. Außerhalb der Domain ist nur
das Netzwerkpräfix der Domain bekannt. Damit kann mit Hilfe eines einzigen
Eintrages in der Routingtabelle ein Weg zu vielen Netzwerkadressen erreicht
werden.
Bild: CIDR reduziert die Größe der Internet Routing Tabellen.
Das obige Bild zeigt, wie mit Hilfe des vorher beschriebenen CIDR-Beispiels die
Größe der Internet-Routingtabellen reduziert werden kann.
Nehmen Sie an, dass ein Teil des Adressblocks des ISP (200.25.16.0/20)
entsprechend dem obigen Beispiel zugewiesen wurde. Die 8 /24-Adressbereiche der
Organisation A können dann zu einer einzigen Route (200.25.16.0/21)
zusammengefasst werden.
Die vier /24-Bereiche der Organisation B können dann zu (200.25.24.0/22), die zwei
/24-Adressbereiche der Organisation C zu (200.25.28.0/23) und die zwei /24Adressbereiche der Organsation D zu (200.25.30.0/23) zusammengefasst werden.
33
Schließlich kann der ISP alle 256 /24-Adressbereiche mit einer einzigen Route
(200.25.0.0/16) im Internet bekannt geben.
Anm.: Die Zusammenfassung muss explizit in jedem Router programmiert. Durch
den Einsatz von CIDR ist es möglich, dass die Anzahl der individuellen Netze im
Internet wächst, während die Anzahl Routen in den Internet-Routingtabellen
minimiert wird.
2.5.7.
Routing in einer klassenlosen Umgebung
Das unten stehende Bild zeigt die notwendigen Routen für die Organisation A aus
dem vorhergehenden Beispiel.
Bild: Routinginformationen für Organisation A
Da alle Routen der Organisation A Teil des ersten Adressblocks des ISP sind, sind
sie damit automatisch auch Teil der Routinginformation des ISP im Internet. Mit
anderen Worten gesagt, die acht Netzwerke, die der Organisation A zugewiesen
wurden, sind Teil der einen Route, die aus dem Internet zum ISP führt. Mit Hilfe des
Weiterleitungsalgorithmus "der längsten Übereinstimmung" wird der Verkehr für den
Rechner mit der Nummer 200.25.17.25 aus dem Internet zum ISP weitergeleitet, der
wiederum leitet ihn an die Organisation A weiter.
Nehmen wir nun an, dass die Organisation A aus beliebigen Gründen zum ISP 2
wechselt. Dies wird nachstehend illustriert.
Bild: Organisation A wechselt zum Netzwerkprovider ISP 2
Das Beste für die Größe der Internet-Routingtabellen wäre, wenn die Organisation A
einen neuen Adressblock von dem ISP 2 bekommt und umkonfiguriert. Damit wären
die acht Netzwerke der Organisation A Bestandteil der gesamten Routinginformation
des ISP 2. Nun ist die Neukonfiguration eines solchen Netzwerkes eine
arbeitsintensive, schwierige, eventuell sogar undurchführbare Arbeit für die
Organisation A.
Am Günstigsten für die Organisation A wäre, wenn sie ihren Adressbereich behält
und ISP 2 eine zusätzliche Routinginformation im Internet bekannt gibt. Durch diese
zusätzliche Routinginformation wird mit Ausnahme des Verkehrs für 200.25.16.0/21
der gesamte Verkehr für die Adresse 200.25.0.0/16 an den ISP 1 geschickt. Dies
34
wird erreicht, indem der ISP 2 zusätzlich zu seinem Block 199.30.0.0/16 eine zweite
Route für den Block 200.25.16.0/21 bekannt gibt, wie nachstehendes Bild
veranschaulicht.
Entsprechend dem Weiterleitungsalgorithmus "der längsten Übereinstimmung"
werden die Internet-Router den Verkehr für den Rechner 200.25.17.25 an ISP 2
weiterleiten, der ihn wiederum an die Organisation A weiterleitet.
Eine große Anzahl solcher Ausnahmerouten kann die Effektivität von CIDR erheblich
reduzieren und zu größeren Routingtabellen führen.
2.6. Erweiterte Nutzung des IPv6- Adressraumes
2.6.1.
Die Internet Protokoll Version 6
Internet Protokoll Version 6 = IPv6 = IP Next Generation
= IPng
Der vorrangige Grund für die Erweiterung des IP-Protokolls ist auf den begrenzten
Adressraum und das Anwachsen der Routing-Tabellen zurückzuführen. CIDR schafft
hier zwar wieder etwas Luft, dennoch ist klar absehbar, dass auch diese Maßnahme
nicht ausreicht, um die Verknappung der Adressen für eine längere Zeit in den Griff
zu bekommen.
Weitere Gründe für eine Änderung des IP-Protokolls sind die neuen Anforderungen
an das Internet, denen IPv4 nicht gewachsen ist. Streaming-Verfahren wie RealAudio oder Video-on-Demand erfordern das Festlegen eines Mindestdurchsatzes,
der nicht unterschritten werden darf. Bei IPv4 kann so ein "Quality of Service" jedoch
nicht definiert - und damit auch nicht sichergestellt - werden.
Die IETF (Internet Engineering Task Force) begann deshalb 1990 mit der Arbeit an
einer neuen Version von IP. Die wesentlichen Ziele des Projekts waren:
• Unterstützung von Milliarden von Hosts, auch bei ineffizienter Nutzung des
Adressraumes
• Reduzierung des Umfangs der Routing-Tabellen
• Vereinfachung des Protokolls, damit die Router - Pakete schneller verarbeitet
werden können
• Höhere Sicherheit (Authentifikation und Datenschutz) als das heutige IPv4
• Mehr Gewicht auf Dienstarten, insbesondere für Echtzeitanwendungen
• Unterstützung von Multicasting durch die Möglichkeit, den Umfang zu definieren
• Möglichkeit für Hosts, ohne Adressänderung auf Reise zu gehen (Laptop)
• Möglichkeit für das Protokoll, sich zukünftig weiterzuentwickeln
• Unterstützung der alten und neuen Protokolle in Koexistenz für Jahre
35
Im Dezember 1993 forderte die IETF mit RFC 1550 die Internet-Gemeinde dazu auf,
Vorschläge für ein neues Internet Protokoll zu machen. Auf die Anfrage wurde eine
Vielzahl von Vorschlägen eingereicht. Diese reichten von nur geringfügigen
Änderungen am bestehenden IPv4 bis zur vollständigen Ablösung durch ein neues
Protokoll. Aus diesen Vorschlägen wurde von der IETF das Simple Internet Protocol
Plus (SIPP) als Grundlage für die neue IP-Version ausgewählt.
Als die Entwickler mit den Arbeiten an der neuen Version des Internet Protokolls begannen, wurde ein Name für das Projekt bzw. das neue Protokoll benötigt. Angeregt
durch die Fernsehserie "Star Trek - Next Generation" wurde als Arbeitsname IP Next Generation (IPng) gewählt. Schließlich bekam das neue IP eine offizielle
Versionsnummer zugewiesen: IP Version 6 oder kurz IPv6. Die Protokollnummer 5
(IPv5) wurde bereits für ein experimentelles Protokoll verwendet.
2.6.1.1 Die Merkmale von IPv6
Viele der Merkmale von IPv4 bleiben in IPv6 erhalten. Trotzdem ist IPv6 im
Allgemeinen nicht mit IPv4 kompatibel, wohl aber zu den darüberliegenden InternetProtokollen, insbesondere den Protokollen der Transportschicht (TCP, UDP). Die
wesentlichen Merkmale von IPv6 sind:
• Adressgröße: Statt bisher 32 Bit stehen nun 128 Bit für die Adressen bereit.
Theoretisch lassen sich damit 2128 = 3.4*1038 Adressen vergeben.
• Header-Format: Der IPv6-Header wurde vollständig geändert. Der Header
enthält nur sieben statt bisher 13 Felder. Diese Änderung ermöglicht eine
schnellere Verarbeitung der Pakete im Router. Im Gegensatz zu IPv4 gibt es bei
IPv6 nicht mehr nur einen Header, sondern mehrere Header. Ein Datengramm
besteht aus einem Basis-Header, sowie einem oder mehreren Zusatz-Headern,
gefolgt von den Nutzdaten.
Bild: Aufbau des IPv6-Datengramms
•
Erweiterte Unterstützung von Optionen und Erweiterungen: Die Erweiterung
der Optionen ist notwendig geworden, da einige der bei IPv4 notwendige Felder
nun optional sind. Darüber hinaus unterscheidet sich auch die Art, wie die
Optionen dargestellt werden. Für Router wird es damit einfacher, Optionen, die
nicht für sie bestimmt sind, zu überspringen.
•
Dienstarten: IPv6 legt mehr Gewicht auf die Unterstützung von Dienstarten.
Damit kommt IPv6 den Forderungen nach einer verbesserten Unterstützung der
Übertragung von Video- und Audiodaten entgegen, z. B. durch eine Option zur
Echtzeitübertragung.
•
Sicherheit: IPv6 beinhaltet nun im Protokoll selbst Mechanismen zur sicheren
Datenübertragung. Wichtige neue Merkmale von IPv6 sind hier Authentifikation,
Datenintegrität und Datenverlässlichkeit.
•
Erweiterbarkeit: IPv6 ist ein erweiterbares Protokoll. Bei der Spezifikation des
Protokolls wurde nicht versucht, alle möglichen Einsatzfelder für das Protokoll in
die Spezifikation zu integrieren. Über Erweiterungs-Header kann das Protokoll
erweitert werden.
36
2.6.1.2 Aufbau des IPv6-Basis-Headers
Im IPv6 wird im Vergleich zum IPv4 auf eine Checksumme verzichtet, um den
Routern die aufwendige Überprüfung und damit Rechenzeit zu ersparen. Ein
Übertragungsfehler muss deshalb in den höheren Schichten erkannt werden.
Bild: Aufbau des IPv4-Frames im Vergleich
Bild: Aufbau des IPv6-Frames
Version
Mit dem Feld Version können Router überprüfen, um welche Version des Protokolls es sich handelt. Für ein IPv6-Datengramm ist dieses Feld immer 6 und für
ein IPv4-Datengramm dementsprechend immer 4. Mit diesem Feld ist es
möglich für eine lange Zeit die unterschiedlichen Protokollversionen IPv4 und
IPv6 nebeneinander zu verwenden. Über die Prüfung des Feldes Version
können die Daten an das jeweils richtige "Verarbeitungsprogramm"
weitergeleitet werden.
Priority
Durch das Feld Priority (oder Traffic Class) kann angegeben werden, ob ein
Paket bevorzugt behandelt werden muss. Dies ist für die Anpassung des
Protokolls an die neuen Real Time Anwendungen nötig geworden. Damit
können zum Beispiel Videodaten den E-Maildaten vorgezogen werden. Bei
einem Router unter Last besteht damit die Möglichkeit der Flusskontrolle.
37
Pakete mit kleinerer Priorität werden verworfen und müssen wiederholt werden.
Mit den vier Bit lassen sich 16 Prioritäten angeben, wovon 1 bis 7 für "Non Real
Time"- und 8 bis 15 für "Real Time" - Anwendungen reserviert sind. Die Zahl
Null gibt an, dass die Priorität des Verkehrs nicht charakterisiert ist.
Flow Label
Mit Hilfe des Feldes Flow Label können Eigenschaften des Datenflusses
zwischen Sender und Empfänger definiert werden. Das Flow Label selbst ist nur
eine Zufallszahl. Die Eigenschaften müssen durch spezielle Protokolle oder
durch den Hop-by-Hop-Header in den Routern eingestellt werden. Eine
Anwendung ist zum Beispiel, dass die Pakete eines Flusses immer den
gleichen Weg im Netz nehmen. Durch Speichern der Informationen für das
jeweilige Flow-Label, muss der Router bestimmte Berechnungen nur für das
erste Paket ausführen, und kann danach für alle Folgepakete die Resultate
verwenden. Erst die Einführung des Flow Labels ermöglicht die Einführung von
Quality-of-Service-Parametern im IP-Verkehr.
Payload Length
Das Feld Payload Length (Nutzdatenlänge) gibt an, wie viele Bytes dem IPv6Basis-Header folgen, der IPv6-Basis-Header ist ausgeschlossen. Die Erweiterungs-Header werden bei der Berechnung der Nutzdatenlänge mit
einbezogen. Das entsprechende Feld wird in der Protokollversion 4 mit Total
Length bezeichnet. Allerdings bezieht IPv4 den 20 Byte großen Header auch in
die Berechnung ein, wodurch die Bezeichnung "total length" gerechtfertigt ist.
Next Header
Das Feld Next Header gibt an, welcher Erweiterungs-Header dem IPv6-BasisHeader folgt. Jeder folgende Erweiterungs-Header beinhaltet ebenfalls ein Feld
Next Header, das auf den nachfolgenden Header verweist. Beim letzten IPv6Header, gibt das Feld an, welches Transportprotokoll (z.B. TCP oder UDP)
folgt.
Hop Limit
Im Feld Hop Limit wird festgelegt, wie lange ein Paket überleben darf. Der Wert
des Feldes wird von jedem Router vermindert. Ein Datengramm wird verworfen,
wenn das Feld den Wert Null hat. IPv4 verwendete hierzu das Feld Time to
Live. Die Bezeichnung bringt mehr Klarheit, da schon in IPv4 die Anzahl Hops
gezählt und nicht die Zeit gemessen wurde.
Source Address, Destination Address
Die beiden Felder für Quell- und Zieladresse dienen zur Identifizierung des Senders und Empfängers eines IP-Datengramms. Bei IPv6 sind die Adressen vier
mal so groß wie IPv4: 128 Bit statt 32 Bit.
Das Feld Length (Internet Header Length - IHL) von IPv4 ist nicht mehr vorhanden,
da der IPv6-Basis-Header eine feste Länge von 40 Byte hat. Das Feld Protocol wird
durch das Feld Next Header ersetzt. Alle Felder die bisher zur Fragmentierung eines
IP-Datengramms benötigt wurden (Identification, Flags, Fragment Offset), sind im
IPv6-Basis-Header nicht mehr vorhanden, da die Fragmentierung in IPv6 gegenüber
IPv4 anders gehandhabt wird. Alle IPv6-kompatiblen Hosts und Router müssen
Pakete mit einer Größe von 1280 Byte unterstützen. Empfängt ein Router ein zu
großes Paket, so führt er keine Fragmentierung mehr durch, sondern sendet eine
Nachricht an den Absender des Pakets zurück, in der er den sendenden Host
anweist, alle weiteren Pakete zu diesem Ziel aufzuteilen. Es wird also vom Hosts
erwartet, dass er von vornherein eine passende Paketgröße wählt. Die Steuerung
der Fragmentierung erfolgt bei IPv6 über den Fragment Header. Das Feld Checksum
ist nicht mehr vorhanden.
38
Erweiterungs-Header im IPv6
Bei IPv6 muss nicht mehr der ganze optionale Teil des Headers von allen Routern
verarbeitet werden, womit wiederum Rechenzeit eingespart werden kann. Diese
optionalen Header werden miteinander verkettet. Jeder optionale Header beinhaltet
die Identifikation des folgenden Headers. Es besteht auch die Möglichkeit selber
Optionen zu definieren.
Derzeit sind sechs Erweiterungs-Header definiert. Alle Erweiterungs-Header sind
optional. Werden mehrere Erweiterungs-Header verwendet, so ist es erforderlich, so
sind diese in einer festen Reihenfolge anzugeben.
Header
Beschreibung
IPv6-Basis-Header
Zwingend erforderlicher IPv6-Basis-Header
Optionen für Teilstrecken
(Hop-by-Hop Options Header)
Dies ist der einzige optionale Header, der von jedem Router
bearbeitet werden muss. Bis jetzt ist nur die "Jumbo
Payload Option" definiert, in der die Länge eines Paketes
angegeben werden kann, das länger als 64 KByte ist.
Optionen für Ziele
(Destination Options Header)
Zusätzliche Informationen für das Ziel
Routing
(Routing Header)
Definition einer vollständigen oder teilweisen Route. Er wird
für das Source-Routing in IPv6 verwendet.
Fragmentierung
(Fragment Header)
In IPv6 wird, wie oben beschrieben, die Fragmentierung nur
noch End to End gemacht. Die Fragmentierinformationen
werden in diesem optionalen Header abgelegt.
Authentifikation
(Authentication Header)
Er dient der digitalen Signatur von Paketen, um die Quelle
eindeutig feststellen zu können.
Verschlüsselte Sicherheitsdaten
(Encapsulating Security
Payload Header)
Informationen über den verschlüsselten Inhalt.
Optionen für Ziele
(Destination Options Header)
Zusätzliche Informationen für das Ziel (für Optionen, die nur
vom endgültigen Ziel des Paketes verarbeitet werden müssen).
Header der höheren
Schichten
(Upper Layer Header)
Header der höheren Protokollschichten (TCP, UDP, ...)
Bild: Mögliche Header-Extensions im IPv6-Frame
Während Sicherheitsaspekte bei der Definition von IPv4 weitgehend keine Rolle gespielt haben, wurde diese Problematik bei IPv6 ausgiebig diskutiert. Dies geschah
parallel zu den IPsec Erweiterungen von IPv4, so dass beide Protokolle in diesem
Punkt große Ähnlichkeiten aufweisen. Sicherheit bleibt damit nicht allein den Anwendungsprogrammen überlassen. IPv6 bietet auf der IP-Ebene Möglichkeiten zur
Verschlüsselung und Authentifikation.
39
2.6.1.3 Authentication Options Header (AH)
Der Authentication Options Header hat den in Bild 30 beschriebenen Aufbau.
Bild: Aufbau des Authentication Options Header (AH)^
Next Header und Hdr Ext Len geben wie üblich den Typ des nachfolgenden
Extension-Headers bzw die Länge des AH in 32 Bit Einheiten an, wobei die ersten 8
Byte nicht gezählt werden. Bei dem Security Parameters Index (SPI) handelt es sich
um einen 32-Bit Wert, der zusammen mit der Zieladresse des Paketes das
gewünschte Verfahren zur Authentisierung festlegt. Für den SPI sind die Werte 1 bis
255 für eine spätere Verwendung durch die IANA reserviert. Der Wert 0 zeigt an,
dass keine Authentisierung vorhanden ist und sollte im Normalfall nicht verwendet
werden.
Die Sequenznummer enthält einen monotonen Zähler, welcher vom Sender bei
jedem Paket um eins erhöht werden muss. Der Empfänger verwendet dieses Feld
zur Anti-Replay Protection. Beherrscht er diese Funktion nicht, wird das Feld
ignoriert. Falls über eine Verbindung mehr als 232 Pakete laufen, ist ein Überlauf der
Sequenznummer nicht vorgesehen. Statt dessen ist eine Initialisierung der
Verbindung mit einem Austausch neuer Schlüssel vorgeschrieben.
Das Datenfeld enthält die eigentliche Checksumme, Integrity Check Value (ICV).
Dieses Feld muss als Länge ein Vielfaches von 64-Bit haben. Die genaue
Verwendung der ICV hängt von dem gewählten Verfahren ab.
Bei der Anwendung der Authentisierung wird, wie später auch bei der
Verschlüsselung, zwischen zwei Verfahren unterschieden, dem Transportmodus und
dem Tunnelmodus.
2.6.1.4 Encapsulating Security Payload (ESP)
Encapsulating Security Payload (ESP) wird verwendet, um vertrauliche Daten zu verschlüsseln und ihre Unversehrtheit zu garantieren. Außerdem bietet ESP einen wirksamen Schutz vor Data-Replay Attacken.
Bild: Aufbau des ESP Headers
Wie schon beim AH erwähnt, unterscheidet man bei der Anwendung der Verschlüsselung zwischen dem Transportmodus und dem Tunnelmodus. Die erste
Variante wird bei der Kommunikation zwischen zwei Rechnern verwendet. Im
40
Normalfall geht man hier davon aus, dass sich die Rechner nicht kennen bzw. keine
gültigen Keys für eine Verbindung besitzen. Es muss daher von einem Trust-Center
von beiden Rechnern ein One-Session-Key angefordert werden, welcher für eine
begrenzte Zeit Gültigkeit besitzt.
2.7. Übungsaufgabe zu VLSM (siehe Praktikumsversuch)
41
Herunterladen