Theorieteil zu IP
Subnet Calculator
Einführung
Internet Protokolle (IP) sind wohl die
am meisten verbreiteten Protokolltypen überhaupt. Mit IP ist es möglich in und
zwischen verschiedenen Netztypen (LAN, WAN...) zu kommunizieren. Die Internetprotokolle
bestehen aus mehreren
Kommunikationsprotokollen. Den höchsten Bekanntheitsgrad unter diesen genie_en
wohl das Transmission Control Protokol (TCP) und das Internet Protokoll (IP).
Vor allem auf das letztere wird in diesem Text weiter eingegangen. Als Hauptziel
gilt es, die Adressierung (IP-Adresse und Berechnung
der Subnetzmaske) genauer unter die
Lupe zu nehmen. Um dies anzugehen wird in einem ersten Teil eine kurze Einführung
ins Internet Protokoll vorgenommen und anschlie_end als zweiter Teil die
Rechenregeln der IP-Adressierung und der
Subnetmaske genauer betrachtet.
Geschichtliches
Wie bei manch anderen technischen
Errungenschaften, war auch beim Internet Protokoll die grundlegende Motivation
militärischer Art. Mitte der 70er Jahre des letzten Jahrhunderts war es die
Defense Advanced Research Project Acency (DARPA), die mit Hilfe der Stanford
University, Bolt, Beranek und Newman (BBN), die Idee eines paketgeswitchten
Netzwerks, um die Kommunikation zwischen unterschiedlichen Computersystemen in
Forschungslabors zu vereinfachen, in Tat umsetzten. Dank der Unterstützung des
DARPAs und der Leistung der Forscher entstand ende der 70er das Internet
Protokoll.
In Berkley Software Distribution (BSD) UNIX wurde dann erstmals TCP/IP integriert, was dann schlie_lich den Grundstein des World Wide Webs (WWW) legte.
Es scheint sinnvoll zu sein, zu beginn die IP Suite dem theoretischen OSI Modell gegenüber zu stellen um ihren Aufbau im Kopf zu haben. Hierzu sollte die folgende Figur eine gute Illustration liefern:
Figur 1: OSI Reference Model / IP Suite
Wie vorangehend angetönt, widmet sich dieser Text vor allem dem OSI Networklayer, sprich dem IP. Also gilt es zuerst die Frage zu klären, wie ein IP-Paket aufgebaut ist. Auch hierzu gilt: ein Bild sagt mehr als tausend Worte:
Figur 2: Aufbau eines IP-Pakets
Aufbau von IP-Adressen
Wie schon im geschichtlichen Teil erwähnt, ist der zentrale Gedanke hinter dem Internet Protokoll, dass Pakete möglichst effizient durch grosse Netze gebracht ("routing") werden können. Wenn man eine komplexe Netzstruktur wie das WWW betrachtet, das aus Zehntausenden von vernetzten Einzelnetzen besteht, ist voraussetzbar, dass es einer klar strukturierten Adressierung bedarf, um eine effiziente Datenkommunikation zu ermöglichen. Hier kommt die in der Figur 2 angedeutete Adressierung der IP-Pakete (source- und destination address) zu tragen. Es handelt sich um IP-Adressen. Sie bestehen aus einzelnen Komponenten und unterstehen einem festen Format. Die besagten Adressen kvnnen unterteilt und verwendet werden um Adressen für Teilnetzwerke (Subnets) zu definieren. Auf die Subnets wird später noch genauer eingegangen.
Jeder Host in einem TCP/IP Netzwerk besitzt eine einmalige logische 32-bit Adresse, welche in zwei Hauptteile aufspalten kann: Der erste Teil ist eine Netzwerknummer und der zweite Teil beschreibt eine Hostnummer. Die Netzwerknummer wird, im Falle dass das Netzwerk teil des Internets ist, vom Internet Network Information Center (InterNIC) bestimmt. Ein Internet Service Provider bekommt also vom InterNIC einen Netzwerknummernblock und kann seinerseits je nach bedarf Adressen vergeben. Die Hostnummer bezeichnet einen Host in einem Netzwerk. Zusammengefasst: Ein ISP bezieht vom InterNIC eine Netzwerknummer, diese wird Teil der von ihm verteilbaren IP-Adressen. Der ISP weist den Hosts ihre Hostnummer zu. Die Netznummer und die Hostnummer ergeben dann eine einmalige Adresse: IP-Nummer.
Nun zu genauen Aufbau der IP-Adressen: Die 32-bit Adresse ist in vier separate Bytes geteilt. Diese werden normalerweise in der Dotted Decimal Notation dargestellt:
Figur 3: Bsp. einer IP Adresse in Dotted Decimal Notation
8 Bit | 8 Bit | 8 Bit | 8 Bit | |||
196 | . | 168 | . |
1 |
. |
1 |
In den vier Bytes sind die einzelnen Bits standartmässig gewichtet (128, 64, 32 ,16 , 8, 4, 2, 1). So nimmt ein Oktett wie gewohnt Werte zwischen 0 und 255 an.
Klassen von IP Adressen
Die IP Adressen sind in fünf Klassen unterteilt: A, B , C, D und E. Diese sind wie folgt definiert:
Klasse A: Das erste Bit im ersten Oktett ist eine 0 der die übrigen 7 Bits bezeichnen die Netznummer, die restlichen drei Oktetts stellen die Hostnummer dar. So erhält man 126 Netze zu jeweils 16 Mio. Hosts.
Klasse B: Die Netznummer besteht aus den ersten beiden Oktetten. Die führenden Bits der Netznummer sind 10. Der Rest ist wiederum für die Hostnummern. Also erhält man 16382 Netze mit je 64000 Hosts.
Klasse C: Die binäre Netznummer beginnt mit 110. Drei Oktetts beschreiben die Netznummer. Ein Oktett für Hostnummern. Das ergibt 2 Mio. Netze an 254 Hosts (0 und 255 sind reserviert).
Klasse D: Beginnt binär mit 1110. Ist Reserviert für Multicast, das ein Datagramm an mehrere Hostadressen beginnend mit 11110 gesendet werden kann.
Klasse E: Beginnt binär mit 1110. Zur künftigen Nutzung bestimmt.
IP Subnet Adressierung
IP Netzwerke können in kleinere
interne Netzwerke unterteilt werden, den sogenannten Subnetzwerken (oder Subnetze).
Dabei sieht es nach aussen weiter wie ein Netzwerk aus. So wissen z.B.
externe Router nichts von einer Segmentierung
und somit nichts über die interne Struktur der Organisation, wohl
aber interne Router. Die Bildung von Subnetzen bringt
dem Netzwerkadministrator mehrere Vorteile. Diese beinhalten z.B. höhere
Flexibilität, mehr Effizienz im
Umgang mit
Netzwerkadressen und Broadcast Traffic.
Eine vorhandene Netzwerkadresse kann
in viele Subnetze unterteilt werden. z.B. 192.168.1.0, 192.168.2.0, 192.168.3.0
und 192.168.4.0 sind alles Subnetze im Netzwerk 192.168.0.0
IP Subnet Maske
Um ein Netzwerk mit gegebener Netzwerkadresse
weiter zu unterteilen, wird der Hostteil der IP-Adresse zerlegt:
Netzwerk - Adresse | Host - Adressteil | |
Subnetz - Adresse | Host - Adresse |
Ein Subnetz wird erstellt, indem
man sich Bits vom Host - Adressteil "leiht" und diese als Subnetz
- Adresse bestimmt.
Die Anzahl "geliehener" Bits variert und wird durch die Subnetzmaske
spezifiziert.
Subnetzmasken brauchen das gleiche
Format und die gleiche Darstellungsform wie IP Adressen. Die Subnetzmaske hat
in allen Bitpositionen der Netzwerk - und Subnetz - Adresse eine binäre
1 und in allen Bitpositionen der Host - Adresse eine
binäre 0.
Betrachen wir als Beispiel eine Adresse
129.47.0.0 der Klasse B. Die 2 Bytes=16 Bits des Hostteil zerlegen wir in z.B.
4 Bits für eine Subnetzadressierung und 12 Bits für die Hostadressierung.
Dies erlaubt also 15 Subnetze und 4094 Knoten.
Eine andere Aufteilung in z.B. 8 und 8 Bits würde 254 Netzwerke mit je 254 Knoten erlauben.
Die Subnetzmaskenbits kommen von den höher gestellten Bits (von links)
der Host - Adresse.
Es gibt verschiedene Subnetzmasken
für Subnetze der Klasse B und C.
Eine Subnetzmaske
besteht ebenfalls aus 4 Bytes und wird bei Adressberechnungen über eine
logische UND-Verknüpfung mit
der IP-Adresse addiert. Dabei entsteht der vollständige Netzwerk-Adressanteil.
Zwei Beispiele mögen dies verdeutlichen:
IP-Adresse: 129.47.27.14 = 10000010.00111001.00011011.00001110 | |
Subnetmask: 255.255.0.0 = 11111111.11111111.00000000.00000000 | |
---------------------------------------------------------------------------------------------------- | |
Addiert: | 10000010.00111001.00000000.00000000 = 129.47.0.0 |
Eine Subnetzadressierung mit 4 Bits:
IP-Adresse: 129.47.27.14 = | 10000010.00111001.00011011.00001110 |
Subnetmask: 255.255.240.0 = 11111111.11111111.11110000.00000000 | |
------------------------------------------------------------------------------------------------------- | |
Addiert: | 10000010.00111001.00010000.00000000 = 129.47.(16).0 |
Die übliche Subnetzmaske für
eine Adresse der Klasse B ohne Subnetze ist 255.255.0.0. Aber die Adresse 171.16.0.0
der Klasse B,
welche 8 Bits für Subnetze spezifiziert, hat die Subnetzmaske 255.255.255.0.
Der Grund dafür ist, dass 8 Bits der Subnet - Adresse 256
Subnetze ermöglichen. Zwei fallen jedoch weg, eine für die Netzwerk
-Adresse und eine für die Broadcast - Adresse.
Nachfolgend eine Referenz Tabelle für Klasse B Netze:
Anzahl Bits | Subnetz Maske | Anzahl Subnetze | Anzahl Hosts |
---|---|---|---|
2 |
255.255.192.0 |
2 |
16382 |
3 |
255.255.224.0 |
6 |
8190 |
4 |
255.255.240.0 |
14 |
4094 |
5 |
255.255.248.0 |
30 |
2046 |
6 |
255.255.252.0 |
62 |
1022 |
7 |
255.255.254.0 |
126 |
510 |
8 |
255.255.255.0 |
254 |
254 |
9 |
255.255.255.128 |
510 |
126 |
10 |
255.255.255.192 |
1022 |
62 |
11 |
255.255.255.224 |
2046 |
30 |
12 |
255.255.255.240 |
4094 |
14 |
13 |
255.255.255.248 |
8190 |
6 |
14 |
255.255.255.252 |
16382 |
2 |
Nachfolgend eine Referenz Tabelle für Klasse C Netze:
2 255.255.255.192 2 62 3 255.255.255.224 6 30 4 255.255.255.240 14 14 5 255.255.255.248 30 6 6 255.255.255.252 62 2
Anzahl Bits
Subnetz Maske
Anzahl Subnetze
Anzahl Hosts