Heutzutage ist es möglich, Menschen auf der ganzen Welt über das Internet zu kontaktieren und binnen kürzester Zeit Nachrichten auszutauschen. Hierbei spielen IP-Adressen eine zentrale Rolle.
Aber was ist überhaupt eine IP-Adresse? Was ist der Unterschied zwischen einer klassenweisen und klassenlosen IP-Adressierung? Was bedeutet Subnetting?
simpleclub erklärt dir, wie IP-Adressen und Subnetting funktionieren!
IP-Adressen und Subnetting einfach erklärt
Eine IP-Adresse (Internet Protokoll)-Adresse kannst du dir wie eine Postadresse vorstellen. Diese brauchst du, um im Internet Datenpakete an einen bestimmten Empfänger zu verschicken und von anderen Geräten angesprochen werden zu können.
Im Unterschied zu Postadressen sind IP-Adressen von Geräten nicht an einen bestimmten Ort gebunden, sondern vom Netzwerk abhängig, indem sie sich gerade befinden. Deswegen bekommt dein Handy jedes Mal eine andere IP-Adresse, wenn du dich in ein anderes WLAN-Netzwerk einloggst.
Eine IP-Adresse ist somit eine Netzwerkadresse und besteht aus vier Zahlen, die jeweils mit einem Punkt getrennt sind und Werte von 0 bis 255 annehmen können. Diese Schreibweise wird auch Dotted Decimal Notation (DDN) genannt. Du kannst eine IP-Adresse jedoch auch in einer binären Schreibweise darstellen, indem du alle vier Dezimalzahlen in Binärzahlen umwandelst. Im unteren Beispiel siehst du nochmal beide Schreibweisen:
IP-Adressen sind im Kontext des OSI-Modells für die dritte Schicht (die Vermittlungsschicht) relevant. Diese Schicht umfasst unter anderem das Internet Protokoll (IP) und ist die Grundlage für Netzwerk-Routing (also die Wegwahl und Weitervermittlung von Datenpaketen im Internet).
Das Internet wird auch als „Netz der Netze“ bezeichnet und unterteilt ein großes Netzwerk in kleinere Unternetze (Subnetze). Diese Unterteilung wird auch als „Subnetting“ bezeichnet und kann auch auf andere Ebenen übertragen werden. Man könnte zum Beispiel ein Firmennetzwerk in kleinere Subnetze unterteilen, um für jede Abteilung ein eigenes Subnetz zu haben.
Subnetting hat folgende Vorteile:
- Strukturierte Vergabe der IP-Adressen und bessere Übersicht über das ganze Netzwerk, da verschiedene Netze voneinander abgegrenzt werden.
- Höhere Netzwerkperformance, da die Datenpakete vom Sender zum Empfänger nicht das gesamte Netzwerk durchlaufen, sondern nur die nötigen Subnetze.
- Höhere Sicherheit, da die Netzwerke voreinander getrennt sind und somit nur bestimmte Netzabschnitte angegriffen werden können.
IP-Adressen und Subnetting Definition
Die (Internet Protokoll)-Adresse (IP-Adresse) ist eine Netzwerkadresse, die allen Geräten in einem bestimmten Netz zugewiesen wird. Somit können die Datenpakete richtig adressiert werden.
Subnetting ist die Unterteilung eines Netzwerks in mehrere kleinere Teilnetzwerke.
IP-Adressen und Subnetting Erklärung
Man unterscheidet generell zwischen klassenweiser (engl. classful) und klassenloser (engl. classless) IP-Adressierung, wobei die klassenweise Adressierung die ältere der beiden ist. Bei der klassenlosen IP-Adressierung spricht man auch von CIDR (Classless Inter-Domain Routing).
Klassenweise IP-Adressierung
Es gibt hauptsächlich 5 Klassen von IP-Adressen: A, B, C, D und E. Die Netzklassen D und E sind nur für spezielle Anwendungen gedacht, weswegen wir nur auf die Klassen A, B und C genauer eingehen werden.
Jede Klasse hat
- einen Netzwerkanteil und
- einen Hostanteil.
In der unteren Abbildung siehst du, wie das bei den anderen Klassen festgelegt ist. Somit kannst du im Kontext klassenweiser IP-Adressierung anhand der ersten paar Bits bestimmen, zu welcher Netzklasse eine IP-Adresse gehört.
Meistens werden IP-Adressen mit einer sogenannten Subnetzmaske, auch Subnetzpräfix genannt, angegeben. Diese Subnetzmaske zeigt wie groß der Netzwerkanteil einer IP-Adresse ist und wird nach einem Slash hinter der IP-Adresse geschrieben.
Hierbei ist /8 die Standardsubnetzmaske für Klasse A IP-Adressen, weil die ersten 8 Bit den Netzwerkanteil bestimmen.
Eine andere Schreibweise für diese Subnetzmaske wäre die binäre Schreibweise. Hierbei schreibt man die Subnetzmaske als 32 Bit große Bitmaske (also genauso lang wie die IP-Adresse), wobei die Anzahl an „1er“-Bits von links den Netzwerkanteil angibt und der Rest 0en sind.
Eine dritte Möglichkeit, die Subnetzmaske anzugeben, wäre in Dezimalschreibweise. Hierzu betrachtet man die binäre Schreibweise einer Subnetzmaske und wandelt alle vier Binärzahlen, die durch einen Punkt getrennt sind, in Dezimalzahlen um.
Die untere Tabelle fasst nochmal alle Schreibweisen für verschiedene Netzklassen zusammen:
| Subnetzpräfix | Binärschreibweise | Dezimalschreibweise |
---|---|---|---|
Klasse A | /8 | 11111111.00000000.00000000.00000000 | 255.0.0.0 |
Klasse B | /16 | 11111111.11111111.00000000.00000000 | 255.255.0.0 |
Klasse C | /24 | 11111111.11111111.11111111.00000000 | 255.255.255.0 |
Nachdem du jetzt gelernt hast, was eine Subnetzmaske ist, betrachten wir im nächsten Abschnitt den Hostanteil und den Netzwerkanteil einer IP-Adresse getrennt voneinander. Für den Hostanteil gilt Folgendes:
Hostanteil
Nach der „Verundung“ (bitweise UND-Verknüpfung) einer beliebigen IP-Adressse und der gegebenen Subnetzmaske, werden alle Host-Bits dieser IP-Adresse auf null gesetzt und die resultierende Adresse nennt sich „Netzwerk-Adresse“.
Setzt du hingegen alle Host-Bits einer beliebigen IP-Adresse auf eins, dann bekommst du die sogenannte „Broadcast-Adresse“.
Im unteren Beispiel siehst du, wie du bei einer gegebenen IP-Adresse die Netzwerk-Adresse und die Broadcast-Adresse bestimmen kannst.
Du kannst dir also merken:
Für den Netzwerkanteil einer IP-Adresse gilt Folgendes:
Netzwerkanteil
Schauen wir uns z. B. den Netzwerkanteil von Klasse B an. Die ersten beiden Bits sind fix, somit bleiben die restlichen 14 Bits übrig, die beliebige Werte annehmen können (also Werte von 10000000.00000000 bis 10111111.11111111 bzw. von 128.0 bis 191.255 in dezimal). Somit hätten wir in diesem Fall
Folgende Tabelle fasst diese ganzen Informationen für alle anderen Klassen zusammen:
| Adressraum | Anzahl möglicher | Anzahl der Hosts |
---|---|---|---|
Klasse A | 1.X.X.X bis 126.X.X.X | ||
Klasse B | 128.0.X.X bis 191.255.X.X | ||
Klasse C | 192.0.0.X bis 223.255.255.X |
Subnetting
Bis jetzt hast du nur die Standardsubnetzmasken der jeweiligen Klassen kennengelernt (also /8, /16 und /24), die den Netzwerkanteil von dem Hostanteil trennen. Was aber, wenn wir die Hosts von einem Netzwerk in noch kleinere Teilnetzwerke unterteilen wollen?
In diesem Kontext hat man dann keine Standardsubnetzmaske mehr, sondern eine Subnetzmaske mit variabler Länge, die den neuen Subnetzanteil mit einschließt. Hierbei spricht man auch von VLSM (Variable Length Subnet Mask) und die Länge dieser Subnetzmaske ist davon abhängig, wie viele Host-Bits wir uns für das Subnetting nehmen.
Im unteren Beispiel siehst du, wie du im Kontext von der klassenweisen IP-Adressierung variable Subnetzmasken dazu nutzen kannst, um Subnetting zu ermöglichen.
Merke dir also: Wenn dir im Kontext von der klassenweisen IP-Adressierung eine IP-Adresse mit Subnetzmaske gegeben ist, musst du immer schauen, zu welcher Klasse diese IP-Adresse gehört und dann gibt es zwei Möglichkeiten:
Klassenlose IP-Adresssierung
Es ist sehr wichtig, die klassenweise IP-Adressierung zu verstehen, um nachvollziehen zu können, warum die klassenlose IP-Adressierung (CIDR - Classless Inter-Domain Routing) danach eingeführt wurde.
Wir haben bisher viel über IP-Adressen gesprochen, aber nicht darüber, wie diese überhaupt verteilt werden.
Beispielsweise hat die Firma Apple das Netz 17.0.0.0/8 zugewiesen bekommen (also Klasse A mit 16.777.214 Hosts). Durch Subnetting mit variabler Subnetzmaske ist es möglich diese 16.777.214 Hosts in kleinere Subnetzwerke zu unterteilen. Diese kleinen Netzwerke gehören aber trotzdem noch zu dem internen Firmennetzwerk von Apple. Kleineren Firmen wurden z. B. Klasse B Netze (65.534 Hosts) oder Klasse C Netze (254 Hosts) zugewiesen.
Dadurch, dass bei der klassenweisen IP-Adressierung die Anzahl an Hosts festgelegt ist (gemeint ist die Summe an Hosts von allen Subnetzwerken), wurde die klassenlose IP-Adressierung (CIDR) eingeführt.
Bei CIDR betrachtet man keine Netzklassen mehr und die IP-Adressen haben folgendes Format: a.b.c.d/x, wobei die Subnetzmaske eine beliebige Größe hat.
IP-Adressen und Subnetting Beispiele
Subnetting
Gegeben sei folgende IP-Adresse 64.157.147.68/16. Zu welcher Klasse gehört diese IP-Adresse? Wie viele Subnetze könnte man mit der gegebenen Subnetzmaske einrichten?
Zunächst müssen wir die IP-Adresse in binärer Schreibweise umwandeln un bekommen:
Beispielnetzwerk
Im unteren Beispiel siehst du zwei Netzwerke, die über einen Router miteinander verbunden sind. Jedes Netzwerk hat seine eigene Netzwerkadresse (z. B. Netzwerk A: 192.168.200.0), also die Adresse, mit der man ein Netzwerk eindeutig identifizieren kann.
Alle Hosts in einem Netzwerk haben ihre eigene eindeutige IP-Adresse, mit der sie entsprechend adressiert werden können.
IP-Adressen und Subnetting Zusammenfassung
Fassen wir nochmal das Wichtigste zusammen:
Die (Internet Protokoll)-Adresse (IP-Adresse) ist eine Netzwerkadresse, die allen Geräten in einem bestimmten Netz zugewiesen wird. Somit können die Datenpakete richtig adressiert werden.
Subnetting ist die Unterteilung eines Netzwerks in mehrere kleinere Teilnetzwerke.
Man unterscheidet generell zwischen klassenweiser (engl. classful) und klassenloser (engl. classless) IP-Adressierung.
Die wichtigsten Netzklassen sind: A, B und C.
Wenn bei einer IP-Adresse alle Host-Bits auf null gesetzt werden, spricht man von einer Netzwerk-Adresse.
Wenn bei einer IP-Adresse alle Host-Bits auf eins gesetzt werden, spricht man von einer Broadcast-Adresse.
Die Anzahl an möglichen Hosts ist immer
2^{\textsf{Host-Bits}}-2 .Wenn dir im Kontext von der klassenweisen IP-Adressierung eine Subnetzmaske gegeben ist, die größer ist als die Standardsubnetzmaske dieser Klasse, dann wurde die Subnetzmaske nach rechts verschoben, um Subnetting zu ermöglichen.
Bei der klassenlosen IP-Adessierung werden überhaupt keine Netzklassen betrachtet. Auch hier kann man die Subnetzmaske nach rechts verschieben, um Subnetting zu ermöglichen.