IP ist die Abkürzung für "Internet-Protokoll". Es ist zuständig für das korrekte versenden von Daten von einem Punkt zu einem anderen. Die Endpunkte werden dabei durch IP-Adressen angegeben. Diese Adressen bestehen aus 4 Byte-Zahlen, wie zum Beispiel 233.144.0.111. Verteilt werden diese Adresse entweder dadurch, dass sie einmal festgelegt werden (hard-coding), oder dass sie dynamisch via DHCP verteilt werden. Sie können auch beim zuständigen Provider angefordert werden (siehe weiter unten).
Eine solche Adresse gliedert sich stets in zwei Teile. Der höherwertige Teil ist die Netzwerk-Angabe, der niederwertige die Host-Angabe. Daraus ergeben sich folgende Klassen von Adressen:
F E D C B A 9 8 | 7 6 5 4 3 2 1 0 | F E D C B A 9 8 | 7 6 5 4 3 2 1 0
Klasse A: 0--Netzwerk---- | -----------------------Host------------------------
Klasse B: 1-0----------Netzwerk------------ | ---------------Host--------------
Klasse C: 1-1-0----------------Netzwerk---------------------- | ------Host-----
Klasse D: 1-1-1-0------------------Multicast-Adresse--------------------------- |
Klasse A: Adressen von 1.0.0.0 bis 127.255.255.255
Klasse B: Adressen von 128.0.0.0 bis 191.255.255.255
Klasse C: Adressen von 192.0.0.0 bis 223.255.255.255
Klasse D: Adressen von 224.0.0.0 bis 239.255.255.255
Theorethisch könnten noch einige weitere Klassen so definiert werden, momentan sind jedoch nur diese benutzt. Gedacht ist diese Unterteilung für die Verteilung der IP-Adressen in der ganzen Welt. Je nachdem, wie gross die Finanzkraft einer Firma ist, kann sie sich die eine oder andere Klasse leisten.
- Klasse A steht sehr grossen Firmen zur Verfügung. Diese könnten theoretisch über 16 Millionen eigene IP-Adressen benutzen. Leider aber können maximal 127 Firmen auf der ganzen Welt diesen Service nutzen.
- Klasse B steht für mittelgrosse Firman zur Verfügung. Diesen Service können bereits über 16000 Firmen in Anspruch nehmen, haben allerdings maximal 65536 Adressen zur Verfügung.
- Klasse C verspricht für jede Firma nur noch 256 Adressen, dafür können aber über 2 Millionen Firmen ein solches Netzwerk kaufen.
- Klasse D schlussendlich definiert für jede IP-Adresse einen eigenen Endpunkt.
Diese Unterteilung ist sehr ineffizient, da es sehr viele Firmen gibt, die zwar mehr als 256 Hosts anschliessen wollen, jedoch niemals 65536. Trotzdem müssten sie sich eine Klasse-B-IP-Adresse kaufen. Aus diesem Grund erfand man das CIDR, das "Classless InterDomain Routing". Dieses gibt zu jeder IP-Adresse an, wieviele Bits der Adresse für den Netzwerk-Teil reserviert sind. Beispielsweise besagt die Adresse 200.23.16.0/23 folgende Aufteilung der Bits:
11001000 00010111 0001000 0 00000000 ---------Netzwerk--------|---Host---
Mittels dieser Aufteilung können ISPs (Internet Service Providers) beispielsweise eine Klasse B kaufen und dann an Firmen eine relativ genaue Anzahl Adressen vermitteln. Die Firmen müssen nur die nötigen Angaben senden, worauf der ISP eine Portion des Netzwerkes für diese Firma reserviert. Ein ISP kann auch anstatt eine eigene Klasse zu kaufen, bei einem hierarchisch höheren ISP genauso einen Teil des Netzwerkes anfordern. Sie kann sich aber auch mit der ICANN in Verbindung setzen, welche für die weltweite Adress-Organisation zuständig ist, und dort einen Teil des Netzes für sich reservieren.
Dadurch wird das Internet durch und durch hierarchisch aufgebaut und die einzelnen ISPs oder End-Server müssen nur noch wenige Adressen speichern, um Routing-Informationen weiterzuvermitteln: Jeder Knoten muss nur noch seine Unterknoten kennen.
Ein einziges Problem besteht dann, wenn eine Firma den ISP wechseln, jedoch natürlich seine IP-Adressen beibehalten möchte. Dann wäre die Firma theoretisch in einem Netzwerk, zu dem der ISP keinen Zugriff hat. Der alte und neue ISP müssen daher einen Link besitzen, damit die Firma trotzdem noch erreichbar ist. Das Netz wird dann mehr und mehr fragmentiert, was zu einer zusätzlichen Datenmenge und Verzögerung führt.
Um nicht für jeden Host eine eigene IP-Adresse reservieren zu müssen bedient man sich des NAT, des "Network Address Translation". Dabei wird einem Router eine IP-Adresse zugeteilt. Dieser Router besitzt jedoch mehrere Ports, anhand welchen er erkennt, von welchem Host eine Anfrage kam bzw. wohin ein die Antwort senden soll. Der Router hat also eine Tabelle, in der er speichert, an welche interne! IP-Adresse ein Paket gesendet werden muss, je nachdem, an welchem Port es angekommen war. Der Router muss also jedesmal, wenn ein Paket ihn passiert die IP-Adresse und den Port abändern.
Der Nachteil dieses Verfahrens ist, dass die Hosts innerhalb dieses internen Internets (!) keine Server existieren können. Ausserdem verletzt es einige Paradigmen, die für das Internet erlassen wurden und es entstehen Komplikationen bei Peer-to-Peer-Anwendungen. Der Vorteil von mehr als 60000 Hosts an einer Adresse bringt also einige Probleme mit sich. Das Ganze wird in naher (?) Zukunft durch das IP-Protokoll Version 6 (IPv6) gelöst werden.
Es gibt ein paar IP-Adressen, die standardmässig auf jedem Computer gleich sind. Es sind die folgenden:
| 0.0.0.0 | Anonyme Adresse, der zugehörige Host hat noch keine IP-Adresse |
| 255.255.255.255 | Alle! Eine Nachricht wird an jeden Host (im lokalen Netzwerk) gesendet. |
| 127.0.0.1 | Der eigene Computer (genauer: der eigene File-Server). Die Adresse 127.0.0.1/~username/ ist das persönliche Internet-Verzeichnis, wo man seine Seiten aufbewahren kann. |