Classless-IP

Aus crazylinux.de
Version vom 15. April 2008, 00:11 Uhr von Jonathan (Diskussion | Beiträge) (cats)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

So ziemlich jeder, der sich einige Zeit mit dem Internet beschäftigt, kommt irgendwann mit "IP-Adressen" in Berührung. 32 bit lang, meist in Form von 4 "Oktetten" geschrieben, bezeichnen sie weltweit eindeutig einen bestimmten Rechner am Internet. Die folgende Abbildung zeigt die IP-Adresse 131.130.1.2 in ihrer Oktettform und der internen 32-bit Darstellung:

10000011 10000010 00000001 00000010
131 · 130 · 1 · 2

Konzeptionell bestehen IP-Adressen aus zwei Teilen:

  • Einem Netzwerk-Teil (“network-part")
  • und einem Host-Teil (“host-part")

wobei der network-part die “high-order"-bits und der host-part die “low-order"-bits umfasst.

Der network-part wird zentral z.B. von der lokalen Internet-Registry, RIPE NCC oder NIC an eine Organisation vergeben. So wurde vor Jahren der Uni Wien “131.130" als Netzwerk-Teil zugeordnet.

Der host-part von IP-Adressen wird lokal, innerhalb der Organisation vergeben. Am Beispiel Uni Wien heisst das, dass die Vergabe von einzelnen IP-Adressen im Rahmen von 131.130.0.0 durch die Uni erfolgt.

Die Frage stellt sich nun, wie gross der Netzwerk- bzw. Host-Teil von IP-Adressen ist, oder technisch formuliert, wo innerhalb der 32 bit der IP-Adresse die Grenze zwischen Netz- und Host-Teil gezogen wird.>

Die alte “Gesellschaft der Klassen"

Der traditionelle Ansatz sieht vor, die Grenze jeweils an den Byte-Grenzen zu ziehen, also an den Oktettgrenzen. Je nachdem ob der Netz-Teil ein, zwei oder drei Oktette umfasst, unterscheidet man “Class-A", “Class-B" oder “Class-C"-Adressen:

  • Class-A: 8 bit network-part, 24 bit host-part
    für sehr grosse Netze(224 Rechner/Netz)
    Kennzeichen: linkestes Oktett 1 - 126
  • Class-B: 16 bit network-part, 16 bit host-part
    für “mittelgrosse" Netze (216 Rechner/Netz)
    Kennzeichen: linkestes Oktett 128-191
  • Class-C: 24 big network-part, 8 bit host-part
    für “kleine" Netze (256 Rechner/Netz)
    Kennzeichen: linkestes Oktett 192-223

Suchte eine Organisation in der Vergangenheit um Vergabe von IP-Adressen an, wurden je nach Bedarf A-, B- oder C-Adressen vergeben. Dieses Konzept funktionierte auch jahrelang - bis das Internet zum “Renner" wurde. Die Folge war, dass die Zahl der Hosts explodierte und bald war klar, dass mit den zur Verfügung stehenden Adressbereichen (Klassen) der Bedarf nicht zu bewältigen war.

Der Grund lag nicht sosehr in einer Knappheit der Adressen selbst, sondern im starren Schema der Klassen bzw. in der fixen byteweisen Abgrenzung von Netzwerk- und Hostteil in den traditionellen A-, B- und C-Adressen, die sich in vielen Fällen als zu inflexibel erwies.

Beispiel: Eine kleine Organisation, die an das Internet anzuschliessen ist, hat 10 Rechner. Die einzig 1000 e Möglichkeit diese Adressanforderung im Sinne der traditionellen Vergabe nach Klassen zu erfüllen, war die Zuteilung einer C-Adresse. Diese bietet jedoch theoretisch Platz für 256 einzelne IP-Adressen - 10 Adressen werden wirklich gebraucht, der Rest ist verschwendet.

Die “Klassenlose Gesellschaft"

Nachdem abzusehen war, dass bei Prolongierung der bisherigen Adressvergabe die IP-Adressen binnen kurzer Zeit ausgehen würden, wurde vor einigen Jahren eine fundamentale Designänderung im Internet implementiert: Das Konzept der Klassen wurde fallengelassen und durch eine flexiblere Art der Adressierung ersetzt - classless IP.

Wesentliches Kennzeichen: Bei “IP-classless" kann die Grenze zwischen Netzwerk- und Host-Teil nicht nur an den Byte-Grenzen sondern irgendwo, an beliebigen Bit-Positionen, innerhalb der 32 bit liegen. Damit ist eine wesentlich flexiblere Vergabe von Adressen möglich. Für eine classless-Adresse benötigt man zwei Angaben:

  1. Die Netzwerkadresse selbst - sie gibt den Prefix der zugeteilten Adresse an
  2. und die Maske - sie gibt an, wieviele Bits der Adresse den network-part bilden.

Die Schreibweise von classless-Adressen ist typischerweise /.

Beispiele:

Schreibweise Bedeutung
193.171.213.0/24 Von der Adresse 193.171.213.0 bilden die ersten 24 den Netzwerkteil, die verbleibenden 8 bits den Host-Teil. Dieser Adressbereich entspricht somit jenem einer traditionellen C-Adresse
193.171.210.0/25 Von der Adresse sind die ersten 25 bits Netzwerk-Teil. Der Adressbereich entspricht einer halben C-Adresse
193.171.212.0/23 Die ersten 23 bits bilden den Netzwerkteil - der Adressbereich entspricht zwei C-Adressen

Die folgende Tabelle gibt einen Überblick über das Verhältnis zwischen Classless-Notation, der classful-Entsprechung und der damit bezeichneten Anzahl einzelner Host-Adressen.

Mask-bits entspricht “classful" Anzahl einzelne Adressen
/1 128 A 2048 M
/2 64 A 1024 M
/3 32 A 512 M
/4 16 A 256 M
/5 8 A 128 M
/6 4 A 64 M
/7 2 A 32 M
/8 1 A 16 M
/9 128 B 8 M
/10 64 B 4 M
/11 32 B 2 M
/12 16 B 1024 K
/13 8 B 512 K
/14 4 B 256 K
/15 2 B 128 K
/16 1 B 64 K
/17 128 C 32 K
/18 64 C 16 K
/19 32 C 8 K
/20 16 C 4 K
/21 8 C 2 K
/22 4 C 1 K
/23 2 C 512
/24 1 C 256
/25 1/2 C 128
/26 1/4 C 64
/27 1/8 C 32
/28 1/16 C 16
/29 1/32 C 8
/30 1/64 C 4
/31 1/128 C 2
/32 host 1

Die Umstellung auf IP-classless hat jedoch einige Implikationen:

  • Man kann nicht mehr am ersten Byte alleine erkennen, wie groß der Adreßbereich ist. Konnte man im traditionellen “classful-IP" z.B. an der Adresse 35.0.0.0 erkennen, daß es sich um eine A-Adresse handelt, ist die Angabe von 35.0.0.0 beim IP-classless nicht mehr eindeutig. Die Größe des Adreßbereiches läßt sich erst aus der Kombination von Netzwerk und Maske erkennen:
    35.0.0.0/24 entspricht etwa dem Adreßbereich einer C-Adresse (256 hosts) während 35.0.0.0/16 einer B-Adresse gleichkommt.
  • Die Router, insbesonders die Backbone-Router im Internet wurden im Lauf der vergangenen Jahre auf classless umgestellt. Dabei wurde auch im Routing die starre Unterscheidung in A-, B- und C-Adressen durch die flexiblere Adressierung mittels network/mask ersetzt.
    Durch diese Änderung wurde es möglich statt einzelner Adressen ganze Adressblöcke auf einmal routingmässig anzukündigen: Mussten beim “classful-IP" etwa zwei aufeinanderfolgende C-Adressen jeweils separat angekündigt werden, z.B. als 193.171.50.0, 193.171.51.0, genügt bei IP-classless die Ankündigung des “Blocks" 193.171.50/23. Besonders bei grösseren Blöcken führt diese als “CIDR" (Classless Inter Domain Routing) bekannte Art des Routings zu einer spürbaren Entlastung insbesonders der Backbone-Router. Voraussetzung ist allerdings der Einsatz eines “classless-fähigen" Routingprotokolls wie z.B. BGP4 im Backbone-Bereich bzw. OSPF od. EIGRP im lokalen Bereich.

IP-classless 1000 für den “Hausgebrauch" = VLSM

Nicht nur im globalen Internet existiert das Problem einer effizienten Vergabe von Adressen; auch innerhalb von Organisationen stellt sich natürlich die Frage, wie man den zugeteilten Adressraum effizient auf Teilorganisationen bzw. innerhalb dieser wieder einzelnen Rechnern zuteilt. Zu diesem Zweck wird seit jeher, auch schon zu Zeiten des “classful-IP" “subnetting" verwendet. Dabei wird der “Host-Teil" der zugeteilten Adresse weiter unterteilt in

    • subnet und
    • den eigentlichen Host-Teil

Die Vorgangsweise ist am Einfachsten durch ein Beispiel zu erklären:

Die Uni Wien hat als eine ihrer Adressen 131.130.0.0 - traditionell eine “B-Adresse", classless 131.130.0.0/16; also 16 bits network-part und 16 bits host-part. Von den 16 “Host-Bits" (zwei Oktette) wurden nun jeweils ein Oktett für subnet und den eigentlichen Host-Teil reserviert. Somit erhalten wir

    • 16 bit Netzwerk-Teil (1. und 2. Oktett)
    • 8 bit Subnet (3. Oktett)
    • 8 bit Host (4. Oktett)

und die Adresse 131.130.1.2 bedeutet “2. Host im 1. Subnet der Adresse der Uni Wien". Hinsichtlich der Adressvergabe, d.h. der Zuteilung von Adressen auf Institute war die traditionelle Vergabepraxis an der Uni Wien jeweils einem Institut, das über einen Router angebunden wird, ein solches Subnet zuzuweisen. Damit konnte man am 3. Oktett erkennen, um welches Institut es sich handelt. Doch auch hier ergab sich im Lauf der Zeit ein analoges Problem wie im globalen Internet: War etwa ein Institut anzuschliessen, das 11 PCs hatte, blieb nichts anderes übrig als ein ganzes subnet zuzuweisen - Verschwendung von Adressen. Der Grund war auch hier die fixe Unterteilung in subnet- und host-Teil durch eine starre, einmal fixierte Netzmaske, die in Netz, Subnet und Host trennt. Die Folge war, dass im Laufe der Jahre auch die Adressen, od. besser die subnets, innerhalb von 131.130.0.0 knapp wurden. Die Abhilfe kam auch hier in Form von classless-addressing - allerdings mit einem anderen Namen - VLSM (Variable Length Subnet Masks). Wie der Name vermuten lässt, wird dabei die für alle subnets gleiche fixe Aufteilung in subnet und host durch eine variable Zuordnung ersetzt, indem die Länge der Subnet-Mask variabel gehalten wird.

War die subnet-mask bisher, um beim Beispiel der Uni Wien zu bleiben, immer “/24", also drei Oktette, wird sie bei Verwendung von VLSM dem benötigten Adressraum angepasst. Ein Institut mit 11 PCs bekommt dann etwa einen Adressbereich mit Maske “/28", also 28 bits. Das entspricht 1/64 “C-Adresse" und bietet Platz für max. 16 individuelle Adressen. Entsprechende Vergabepraxis vorausgesetzt, kann damit der zur Verfügung stehende Adressraum wesentlich besser ausgenützt werden. Doch was heisst “entsprechende Vergabepraxis"? Dies lässt sich am Besten durch ein Beispiel erklären: Nehmen wir an, das Subnet 131.130.213.0/24 soll mittels VLSM auf einzelne, neu hinzukommende Institute aufgeteilt werden. Dieser Bereich wird zunächst mit “steigender Anzahl von network-bits" wie folgt aufgeteilt:

Adressbereich von Adresse bis Adresse Anzahl Adr.
131.130.213.0/25 131.130.213.0 131.130.213.127 128
131.130.213.128/26 131.130.213.128 131.130.213.191 64
131.130.213.192/27 131.130.213.192 131.130.213.223 32
131.130.213.224/28 131.130.213.224 131.130.213.239 16
131.130.213.240/29 131.130.213.240 131.130.213.247 8
131.130.213.248/30 131.130.213.248 131.130.213.251 4
131.130.213.252/30 131.130.213.252 131.130.213.255 4

Wäre nun das oben angesprochene Institut mit 11 PCs anzuschliessen, würde man einfach den nächsten passenden Bereich auswählen; im konkreten Fall wäre das nach der obigen Tabelle 131.130.213.224/28. Ein Institut mit z.B. 40 PCs bekommt dementsprechend den Bereich 131.130.213.128/26 zugeteilt usw. Doch nicht immer kommen die Adressanforderungen so “passend": Was soll man z.B. tun, wenn nachfolgend ein weiteres Institut mit 12 PCs anzuschliessen ist?

Eine Möglichkeit ist, den 32-Adressbereich 131.130.213.192/27 zu zerteilen; z.B. in zwei Blöcke zu je 16 bit. Dies geschieht durch “Verlängerung der Maske". Wir erhalten somit aus 131.130.213.192/27 zwei Blöcke der Form 131.130.213.192/28 (131.130.213.192 - 131.130.213.207)
und
131.130.213.208/28 (131.130.213.208 - 131.130.213.223) von denen einer dem neuen Institut zugeteilt wird, der andere vorläufig ungenutzt bleibt. Ebenso könnte man etwa bei Bedarf den Block von 128 Adressen, 131.130.213.0/25 in zwei 64er-Blöcke zerteilen oder in einen 64er Block und zwei 32-er Blöcke usw. Voraussetzung in allen Fällen: Der zu zerteilende Block darf noch nicht vergeben sein und es darf zu keiner Überschneidung von Blockgrenzen kommen. Hinweis: Analog zum “Zerteilen" können auch Blöcke zusammengefasst werden. Auch in diesem Fall dürfen diese Blöcke nicht bereits vergeben sein. Welche Auswirkungen haben nun classess-IP und VLSM konkret auf die Uni bzw. auf die Rechner am Datennetz der Uni Wien?

    • Die Umstellung auf IP-classless geschieht primär in den Routern. Im nationalen und internationalen Backbone-Bereich (z.B. EBONE, ACOnet) wurden diese Umstellungen schon vor längerem durchgeführt. Die Backbone-Router der Uni Wien insbesonders im Bereich des EDV-Zentrums wurden in den letzten Monaten umgestellt.
    • In den nächsten Monaten werden nach und nach auch die Router an den Instituten auf classless- und VLSM-support umgestellt. Dies bedeutet in erster Linie Memory- und Software-Upgrades, in einigen Fällen aber auch den Tausch des gesamten Routers.
    • Einige Institute, insbesonders jene, bei denen grosse Adressbereiche unverwendet sind bekommen neue IP-Adressen zugewiesen. Dies bedingt eine Umstellung aller Rechner des jeweiligen Institutes. Umstellungen ergeben sich hinsichtlich IP-Adresse der Rechner, Network Mask, Gateway of last resort.

Die in diesem Artikel angesprochenen Umstellungen haben den Zweck, den zur Verfügung stehenden Adressraum, sei es im Internet oder im Datennetz der Uni Wien besser auszunützen und damit ein Funktionieren des Internet-Betriebs auch bei stetig steigender Anzahl von Rechnern 80 weiterhin zu gewährleisten. Ewald Jenisch origin url:http://www.univie.ac.at/ZID/classless.html