IPv4
Willemers Informatik-Ecke
IPv4 ist eine Version des IP (Internet Protocol), das mit 32-Bit-Adressen arbeitet. Da der Adressraum inzwischen am Ende ist, wird es irgendwann einen Wechsel auf IPv6 geben.

IPv4-Adressen

Eine IPv4-Adresse wird byteweise aufgegliedert. Dabei wird jedes Byte dezimal dargestellt, durch Punkte unterbrochen, beispielsweise sieht eine binäre IP-Adresse 1100 0000 1010 1000 0000 0001 0000 1100 in der Standardschreibweise so aus:

192.168.1.14

Diese Darstellung bezeichnet man als dotted decimal.

binär:               1100 0000 1010 1000 0000 0001 0000 1100
hexadezimal:         C0        A8        01        0E
dezimal:             192       168       1         14
Übliche Darstellung: 192.168.1.14

Die ersten Bits einer IPv4-Adresse bezeichnen das Netzwerk, die restlichen den Host. Nach wie vielen Bit die Netzwerkadresse endet und die Hostadresse beginnt, kann durch zwei unterschiedliche Notationen dargestellt werden: Subnet und CIDR.

Gehört der Netzwerk-Anteil einer Zieladresse nicht mit der lokalen Netzwerk-Adresse überein, wird das Paket an ein Gateway gesandt, das als Router bezeichnet wird.

CIDR

Die CIDR (Classless Inter Domain Routing)-Schreibweise gibt an, wie viele Bits für den Netzwerkanteil verwendet wird. Diese Zahl wird durch einen Schrägstrich von der IP-Adresse abgetrennt.

192.168.109.34/24 sagt aus, dass die ersten 24 Bit für das Netzwerk, und die letzten 8 für den Host verwendet wird. In diesem Fall wäre 192.168.109 für das Netzwerk und 34 bezeichnet den Host in diesem Netzwerk.

Subnetmask

Die Subnetmask-Schreibweise verwendet eine 1 für jedes Bit, das für die Netzwerkadresse verwendet wird. Für das obige Beispiel wäre die Subnetmask 255.255.255.0.

Durch eine binäre AND-Operation wird die Netzwerkadresse aus der IP-Adresse herausgefiltert.
Netzwerkadresse Hostadresse
IPv4-Darstellung 192.168.109199
Binär 11000000 10101000 01101101 11000111
Subnetzmaske 11111111 11111111 11111111 00000000
Netzwerkadresse 11000000 10101000 01101101 00000000
IPv4-Darstellung 192.168.1090

Umgekehrt können die Bits der Subnetmask mit XOR gekippt werden und damit die Hostadresse per AND ausgefiltert werden.

Netzwerkklassen

Die Subnetzmasken wurden ursprünglich auf ganze Bytegrenzen beschränkt. Dadurch wurden Klassen festgelegt, die mit A, B und C gegliedert wurden. Welches Netzwerk zu welcher Klasse gehörte, ergab sich aus den ersten beiden Bits der Adresse.

Klasse Erste Bits Adressraum
Class A 01 Erste Zahl zwischen 0 und 127
Class B 10 Erste Zahl zwischen 128 und 191
Class C 11 Erste Zahl über 191

Schon aufgrund der knapp werdenden IP-Adressen wurde eine feingliedrigere Einteilung benötigt. Die Netzwerkgrenze wird seither explizit bei der Adresse in der Anzahl der Bits für den Netzwerkanteil ausgedrückt, also durch CIDR oder einer expliziten Subnetmask. Die Netzwerkklassen sind entsprechend veraltet.

Broadcast

In jedem Subnetz sind die Adressen mit allen Host-Bits high für den Broadcast reserviert. Eine Broadcast-Nachricht richtet sich an alle Hosts des Netzwerks. Damit fällt eine Adresse des Netzwerks als Adresse für einen Host weg.

Netzwerkadresse

Ist der Host-Anteil einer IP-Adresse komplett 0, wird sie als Netzwerkadresse interpretiert. Damit sind bereits zwei Adressen eines Netzwerks nicht zur Hostadressierung nutzbar. Damit bleiben in einem /24-Netzwerk nur 254 Adressen für Hosts übrig.

Selbstgespräche

Wenn eine Netzwerkkomponente auf dem lokalen Computer ist, kann man diese über die Adresse localhost oder 127.0.0.1 ansprechen.

127.0.0.1 entspricht localhost

127.0.0.0/8 ist das subnet für loopback

IPv4-Pakete

Ein IPv4-Paket besteht aus folgenden Bestandteilen.

Wer sich für die genaue Struktur eines IPv4-Pakets interessiert, den verweise ich an dieser Stelle auf den entsprechenden Artikel in Wikipedia.

Private lokale Netzwerke

Einige Adressen werden explizit nicht geroutet. Sie sind für lokale Netzwerke reserviert. Da sie nicht geroutet werden, können sie für verschiedene Netzwerke immer wieder verwendet werden.

DHCP: Netzwerkweite Verteilung der IP-Adresse, Gateway und DNS

Protokoll

Ein neuer Client will im lokalen Netzwekr heimisch werden. Dazu benötigt er eine IP-Adresse. Er fragt in die Runde, ob ihm vielleicht jemand helfen kann.

Informationen für den Client

Der Client erhält folgende Informationen:

NAT

Wenn private Netzwerk-Adressen im Internet nicht geroutet werden, stellt sich die Frage, wie die Hosts in solch einem Netzwerk mit Hosts im Internet Kontakt aufnehmen.

NAT arbeitet mit iptables und sorgt dafür, dass alle Internet-Anfragen der Hosts im lokalen Netzwerk über die eine IP-Adresse versandt werden, die dem Router zugeteilt wurde. Gleichzeitig ist ein NAT ein Sicherheitsfilter, der dafür sorgt, dass die Hosts im lokalen Netzwerk nicht von außen angesprochen werden können.

ARP: Tabelle IPv4 zu MAC

Da in einem Netzwerk nur mit MAC-Adressen versendet wird, muss ein Host die MAC-Adressen erfahren, die zu der IP-Adresse gehört, an die er versenden will.

Kennt der Host die MAC-Adresse nicht, erfragt er sie über das ARP. Für alle Computer, die schon einmal mit ihm Kontakt hatten, pflegt er eine ARP-Tabelle.

Vergabe der IP-Adressen

Die IP-Adressen wurden ursprünglich internation durch die IANA (Internet Assigned Numbers Authority) vergeben.

Inzwischen wird die Vergabe durch regionale Internet Registries (RIR) übernommen, wie etwa die RIPE NCC für Europa, Mittlerer Osten, Asien. Allerdings sind seit 2011 alle Adressen ausverkauft. Nicht viel besser geht es der APNIC, die seit 2012 ausverkauft ist.