Eine IP-Adresse ist eine 32 Bit-Adresse vom Format A.B.C.D
Man unterscheidet zwischen 3 Klassen:
Wie wir wissen, identifizieren sich die Arbeitsstationen im IP-Protokoll durch ihre IP-Adresse Die Netzwerkkarten kennen aber keine IP-Adresse, sie identifizieren sich durch ihre MAC-Adresse.
Damit ein IP-Datagramm zugestellt werden kann, muss deshalb zuerst eine Zuordnung zwischen der 32-Bit IP-Adresse
und der 48-Bit MAC-Adresse stattfinden. Diesen Vorgang erledigt das Adress Resolution Protocol (ARP).
Der Gateway schaut in seinen Adresstabellen (ARP-Tabellen) nach, ob er die IP-Adresse zuordnen kann.
Kann er dies nicht, sendet er einen Broadcast mit der gesuchten IP-Adresse in das Netz. Die gesuchte Station
erkennt ihre eigene Adresse und antwortet mit ihrer MAC-Adresse. Die Adresstabelle kann ergänzt werden und das Datagramm
ist zustellbar !
Das IP-Routing beschreibt den Weg eines IP-Datagrammes zum Empfänger.
Der Weg der IP-Datagramme zum Empfänger ist Table Driven (Tabellengesteuert), d.h. der Absender kennt nicht alle vorhandenen IP-Adressen. Ihm sind nur die Adressen seines Segments bekannt. In den Routing Tabellen stehen nicht die kompletten IP-Adressen, sondern lediglich der Netzteil. Ist der Empänger nicht in einem benachbarten Segment, enthält die Routing Tabelle die IP eines weiteren Gateways. Um die Tabellen möglichst kompakt zu halten, existiert ein Default Gateway. Dieser ist immer dann das Ziel, wenn die Tabelle des Gatways keinen Eintrag über das Zielnetz enthält.
Verbindungen innerhalb des eigenen Segments bezeichnet man als Direct Routing, über einen Gateway hinaus als Indirect Routing.
Empfängernetz ist | Routing von Gateway A |
---|---|
192.0.1.0 | direkt |
193.0.2.0 | direkt |
193.0.3.0 | indirekt, IP-Adresse von Gateway B |
Subnetting ist eine Standardprozedur um ein Class A, Class B oder Class C Netz in Unternetze zu teilen. Es ist in der RFC 950 definiert.
Subnetting wandelt die 2-Level-Hierarchie einer IP-Adresse
in eine 3-Level-Hierarchie um. Dazu teilt
sich die Hostadresse in die Bereiche Subnetzadresse und Hostadresse. Ein Teil des Hostadressbereiches wird genutzt um die Subnetze zu unterscheiden. Die Netzadresse und den Subnetzanteil des Hostadressraumes bezeichnet man als Erweiterte Netzadresse (Extended Network Prefix).
Damit Router in der Lage sind Datagramme in das richtige Netz zuzustellen, müssen sie die IP-Adresse in Netz- und Hostanteil unterscheiden können. Dies geschieht traditionell durch die Subnet Mask. Die Subnet Mask hat dieselbe Struktur wie die IP-Adresse. Eine UND-Verknüpfung mit der IP-Adresse ergibt dabei den Netzanteil. Durch die bitweise Verknüpfung ergibt sich für ein Class A, B und C Netz folgende Subnet Masks:
Class | Subnet Mask |
---|---|
A | 255.000.000.000 |
B | 255.255.000.000 |
C | 255.255.255.000 |
Bei Subnetzen greift dasselbe Prinzip, nur muss hier der Hostanteil der Subnet Mask angepasst werden, damit das Ergebnis der UND-Verknüpfung jetzt die Erweiterte Netzadresse liefert.
Um die Schreibweise zu erleichtern schreibt man statt der Subnet Mask auch einfach die Anzahl der gesetzten Bits hinter die IP-Adresse, also /8 für ein Class A-Netz, /16 für ein Class B-Netz und /24 für ein Class C-Netz. Für das Subnetz aus dem Schaubild würde man /28 schreiben.
Dadurch das nach Aussen nur die Netzadresse bekannt ist, reduziert sich die Belastung der
Internet-Router. Schliesslich genügt es, wenn diese sich die Netzadressen in ihre Tabellen
eintragen, die Verteilung der Datagramme in die Subnetze geschieht durch die internen Router, die mit der Erweiterten Netzadresse arbeiten.
Damit löst sich auch das zweite und dritte Problem, denn Administratoren können nun ohne eine neue IP-Adresse
beantragen zu müssen eine sinnnvolle Struktur in Ihr Netz einbringen. Dies erleichtert die
Wartung grosser Netze. Auch lässt sich auf diese Weise die Performance des Netzes steigern, in
dem z.B. Broadcasts sich nun auf die Subnetze beschränken und dadurch die Netzlast verringert
wird.
Auch das letzte Problem wird mit Subnetzen zumindestens eingedämmt. Hatte beispielsweise eine Firma ein Class B-Netz in Besitz, nutzte es aber die Anzahl der möglichen Hosts nicht voll aus, so lagen diese überzähligen IP-Adressen brach. Mit einem Subnetz hat diese Firma nun die Möglichkeit Subnetze mit überzählige IP-Adressen unterzuvermieten.
Bevor man Subnetze einrichtet, sollte man sich über die folgenden vier Punkte klarwerden:
Nehmen wir ein konkretes Beispiel:
Eine Firma besitzt die IP-Adresse 194.10.1.0/24 und benötigt 5 Subnetze, von denen das grösste mindestens 30 Clients unterbringen muss.
Vorgehensweise:
Zuerst müssen wir herausfinden, wieviele Bits des Hostadressraumes wir für die Subnetzadressen belegen müssen. In diesem Fall benötigen wir 3Bit. Wir haben dann insgesamt 23=8 Subnetze. Die Definition von exakt 5 Subnetzen ist nicht möglich, da das Binärsystem nur Potenzen von 2 ermöglicht, also 2, 4, 8, 16, 32, 64 und 128. Damit lautet unsere Subnet Maske:
11111111 | 11111111 | 11111111 | 11100000 |
---|---|---|---|
255 | 255 | 255 | 224 |
Von diesen 8 Subnetzen dürfen wir zwei nicht benutzen. Bei der Adresse 194.10.1.0/27 besteht für den Router Verwechslungsgefahr mit der Netzadresse. Zusätzlich klammert man Subnetze mit 8 gesetzten Bits aus, da hier Verwechslungsgefahr mit der Broadcastadresse besteht. Moderne Browser erlauben auch die Benutzung dieser Subnetadressen indem sie in ihren Routing-Tabellen die Länge des Netzwerkanteils abspeichern und diesen zur Unterscheidung heranziehen.
In unserem Beispiel verbleiben 5Bit für die Bildung der Hostadressen. Da wir jedoch die 0 und die 255 als Hostadressen nicht benutzen können (0 spricht das gesamte (Sub)Netz an, 255 ist die Broadcastadresse), haben wir 25-2=30 IP-Adressen für die Clients.
Netz | Binär | Dezimal | Hosts | BC |
---|---|---|---|---|
B | 11000010.00000110.00000001.00000000 | 194.10.1.0/24 | 194.10.1.255 | |
S1 | 11000010.00000110.00000001.00000000 | 194.10.1.0/27 | 194.10.1.1 - 194.10.1.30 | 194.10.1.31 |
S2 | 11000010.00000110.00000001.00100000 | 194.10.1.32/27 | 194.10.1.33 - 194.10.1.62 | 194.10.1.63 |
S3 | 11000010.00000110.00000001.01000000 | 194.10.1.64/27 | 194.10.1.65 - 194.10.1.94 | 194.10.1.95 |
S4 | 11000010.00000110.00000001.01100000 | 194.10.1.96/27 | 194.10.1.97 - 194.10.1.126 | 194.10.1.127 |
S5 | 11000010.00000110.00000001.10000000 | 194.10.1.128/27 | 194.10.1.129 - 194.10.1.158 | 194.10.1.159 |
S6 | 11000010.00000110.00000001.10100000 | 194.10.1.160/27 | 194.10.1.161 - 194.10.1.190 | 194.10.1.191 |
S7 | 11000010.00000110.00000001.11000000 | 194.10.1.192/27 | 194.10.1.193 - 194.10.1.122 | 194.10.1.223 |
S8 | 11000010.00000110.00000001.11100000 | 194.10.1.224/27 | 194.10.1.225 - 194.10.1.254 | 194.10.1.255 |