Wie weisen Router IP-Adressen zu?


14

Wie weist ein Router eine IP-Adresse zu? Ist das zufällig oder gibt es eine festgelegte Methode?

Es scheint, dass dem gleichen Gerät - unabhängig von der Verbindungszeit - dieselbe IP zugewiesen wurde. Kennt der Router die MAC-Adresse und weist ihm dieselbe IP zu oder ist noch etwas los?


Eine IP in einem Netzwerk oder Ihr persönlicher PC?
Christopher Chipps

Wenn Sie die Zeit und die Sorgfalt haben, es gründlich
Lorenzo Von Matterhorn

Antworten:


13

IPv4-Adressen werden normalerweise über das DHCP-Protokoll zugewiesen. Wie dies geschieht, hängt vom jeweiligen DHCP-Server ab , der auf dem Router ausgeführt wird.

  • Bei DHCP werden Adressen für einen bestimmten Zeitraum geleast. Wenn also ein Gerät beim Neustart eine Adresse anfordert, bevor die alte Lease abläuft, gibt der Router normalerweise dieselbe alte Adresse an (basierend auf der DHCP-Client-ID oder der MAC-Adresse).

  • Einige DHCP-Server erinnern sich noch eine Weile daran, welche Adresse vergeben wurde, nachdem die Lease abgelaufen ist, sodass sie immer die gleiche Adresse für dasselbe Gerät vergeben.

  • Wenn das Gerät vorher nicht gesehen wurde, hängt es von der Implementierung ab - normalerweise wird die neue Adresse zufällig ausgewählt, aber manchmal nacheinander und manchmal basierend auf einer Art Hash auf der MAC-Adresse, sodass der Router zumindest versucht, die zu geben wieder alte adresse.

So zitieren Sie beispielsweise die Handbuchseite dhcpd.conf(5)des ISC-DHCP-Servers dhcpd :

Der DHCP-Server generiert die Liste der verfügbaren IP-Adressen aus a
Hash-tabelle. Dies bedeutet, dass die Adressen in keiner Weise sortiert sind.
bestimmte Reihenfolge, und so ist es nicht möglich, die Reihenfolge vorherzusagen, in der
Der DHCP-Server weist IP-Adressen zu. Benutzer früherer Versionen
des ISC-DHCP-Servers hat sich möglicherweise an den DHCP-Server gewöhnt
Vergabe von IP-Adressen in aufsteigender Reihenfolge, dies ist jedoch nicht mehr möglich
möglich, und es gibt keine Möglichkeit, dieses Verhalten mit Version 3 von zu konfigurieren
der ISC DHCP-Server.

Für IPv6 gibt es ein ähnliches DHCPv6-Protokoll, auf das die obige Antwort weiterhin zutrifft.

Viele Netzwerke verwenden jedoch ein einfacheres Protokoll für die "zustandslose Autokonfiguration", bei dem der Router nur das Präfix (auch als Netzwerkadresse bezeichnet) überträgt und die Geräte ihre eigenen IP-Adressen zuweisen. Die Zuordnung erfolgt auf zwei Arten:

  • Bei der normalen "Stateless Autoconfiguration" ( RFC 4862 ) basiert der Host-Teil der IP-Adressen auf der Hardwareadresse des Geräts . Bei 48-Bit-MAC-Adressen wird das zweite Bit umgedreht und ff:fein die Mitte eingefügt (zum Auffüllen auf 64 Bit).

    Beispiel: Präfix 2001:470:1f0b:915::/64plus MAC-Adresse 48:5d:60:e8:65:8fergibt IP-Adresse .2001:470:1f0b:915:4a5d:60ff:fee8:658f

  • Bei "Privacy Extensions" ( RFC 4941 ) wird der "Host" -Teil nach dem Zufallsprinzip ausgewählt und alle 10 Stunden eine neue Adresse hinzugefügt.

    Beachten Sie, dass "Datenschutzerweiterungen" fast immer zusätzlich zur normalen "zustandslosen" MAC-basierten IP-Adresse verwendet werden.


Sie erwähnen IPv4. Gibt es einen Unterschied zu IPv6?
Agz

@agovizer: Ja - Ich habe die Antwort aktualisiert.
user1686

Wenn es sich nur um einen Hash handelt, würde eine einzelne IP-Adresse dann nicht auf mehr als einen Host angewendet werden?
Pacerier

@Pacerier: Kommt darauf an, wie gut der Hash aufgebaut ist, wie viele IP-Adressen Sie zur Auswahl haben usw. Beachten Sie auch, dass ich "Versuche" gesagt habe. Wenn die resultierende IP-Adresse bereits verwendet wird, weist der Router möglicherweise nur eine andere zu.
user1686

Im Falle eines Ad-hoc-Netzwerks: Wie werden IP-Adressen zugewiesen? Da gibt es keinen zentralen Server.
pathe.kiran

4

Im Allgemeinen (für IPV4) wird das verwendete System als "DHCP" bezeichnet und funktioniert im Großen und Ganzen wie folgt.

  • Der Router betreibt einen "DHCP-Server", der eine Tabelle mit IPs enthält, die verwendet werden können.
  • Jeder Computer sendet eine DHCP-Anfrage. Dabei handelt es sich im Wesentlichen um ein Paket (mit seiner MAC-Adresse), das im Netzwerk gesendet wird und die folgende Meldung enthält: "Welche IP-Adresse kann ich haben?".
  • Der Router überprüft das empfangene Paket und gibt an, dass hier Ihre IP-Adresse, Ihr Gateway, der DNS-Server [und alles andere] angegeben sind.
  • Der Computer konfiguriert sich dann selbst.

Die MAC-Adresse kann von der DHCP-Servertabelle verwendet werden, um sicherzustellen, dass das Gerät jedes Mal dieselbe IP-Adresse erhält, sofern diese verfügbar ist.


4

Ich denke, es ist wichtig darauf hinzuweisen, dass Router keine IP-Adressen zuweisen : Router empfangen ein IP-Paket auf einer Schnittstelle und senden es fast unverändert auf einer anderen Schnittstelle (die Änderungen, die ich mir vorstellen kann, verringern die TTL und aktualisieren die Prüfsumme der IP Auch das Ändern der IP-Adresse im Paket (NAT) ist nicht Aufgabe eines Routers.

Die Geräte, die als Home-Router bezeichnet werden, sind viel mehr als Router. Sie umfassen auch einige der folgenden Funktionen / Dienste:

  • DHCP-Server (dies ist der Dienst, der IP-Adressen zuweist),
  • ADSL-Modem (zum Aushandeln einer Verbindung zum ISP),
  • Firewall (um ein- und ausgehende Verbindungen zu filtern),
  • Eingehendes und ausgehendes NAT-Gerät (um die vom ISP zugewiesene IPv4-Adresse für alle Geräte im Heimnetzwerk gemeinsam zu nutzen),
  • Router,
  • Schalter,
  • WiFi-Antenne,
  • Webserver,
  • Konsole (Web, SSH oder Telnet) zur Konfiguration des Geräts,
  • Andere...

(Hinweis: Firewalls können normalerweise eingehende und ausgehende NAT- und Routing-Vorgänge ausführen, obwohl diese 4 Funktionen mit dedizierten Geräten ausgeführt werden können.)

Bei der Bereitstellung in großen Unternehmen wird der DHCP-Server häufig auf dedizierten Linux- oder Windows-Servern (normalerweise einem Cluster) gehostet, die nichts mit Routern zu tun haben.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.