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.109 | 199 |
Binär | 11000000 10101000 01101101 | 11000111 |
Subnetzmaske | 11111111 11111111 11111111 | 00000000 |
Netzwerkadresse | 11000000 10101000 01101101 | 00000000 |
IPv4-Darstellung | 192.168.109 | 0 |
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.- Der Header (enthält Version, TTL, Checksum, etc)
- 32-Bit Quelladresse
- 32-Bit Zieladresse
- Die zu übertragenen Daten, auch Payload genannt
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.- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
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.- DHCP discover: Client broadcast Anfrage um Adresse
- DHCP offer: Server broadcast freie IP-Adresse
- DHCP request: Client broadcast akzeptiert die Adresse
- DHCP ack: Server broadcast OK, die IP gehört Dir.
Informationen für den Client
Der Client erhält folgende Informationen:- Die eigene IP-Adresse
- Adresse des Gateways (first hop router)
- Der Name und die IP-Adresse des DNS-Servers
- Netzwerk-Maske, um zu wissen, welcher Anteil Netzwerk- und welche Host-Adresse ist.
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.