Bei der Netzwerkkommunikation ist die IP-Adresse eine sehr wichtige Information. IP-Adressen werden in zwei Typen unterteilt: IPv4 und IPv6. IPv4 verwendet ein 32-Bit-Adressformat, während IPv6 ein 128-Bit-Adressformat verwendet. In praktischen Anwendungen müssen IP-Adressen häufig in Netzwerksegmente aufgeteilt und umgewandelt werden. In diesem Artikel wird erläutert, wie Sie mit NodeJS IPv4-Adressen aufteilen und in Netzwerksegmente konvertieren.
1. IP-Adressformat
Bei IPv4-Adressen besteht das IP-Adressformat aus vier Gruppen achtstelliger Binärzahlen, die durch Punkte getrennt sind. Zum Beispiel „192.168.1.1“. Bei der IPv6-Adresse besteht das IP-Adressformat aus 8 Gruppen sechzehnstelliger Binärzahlen, wobei jede Gruppe durch einen Doppelpunkt getrennt ist. Beispiel: „2001:0db8:85a3:0000:0000:8a2e:0370:7334“.
2. Subnetzmaske der IP-Adresse
Die Subnetzmaske der IP-Adresse wird verwendet, um das Netzwerksegment anzugeben, in dem sich eine IP-Adresse befindet. Es handelt sich um eine 32-Bit-Binärzahl. Unter diesen repräsentiert 1 Bit die Netzwerknummer und 0 Bit die Hostnummer.
Wenn beispielsweise unter der IP-Adresse 10.0.0.0 die Subnetzmaske 255.255.255.0 lautet, bedeutet dies, dass das Netzwerksegment, in dem sich die IP-Adresse befindet, 10.0.0.0/24 ist. Das heißt, die Netzwerknummer ist 10.0.0 und die Hostnummer ist die dritte 8-stellige Binärzahl. Darüber hinaus gibt es viele weitere Darstellungen von Subnetzmasken, beispielsweise die CIDR-Darstellung.
3. Das ipaddr-Modul von nodejs
Das ipaddr-Modul von nodejs bietet Methoden zum Parsen und Konvertieren von IPv4- und IPv6-Adressen und kann auch Netzwerksegmente einfach aufteilen und konvertieren.
1. Installieren Sie das ipaddr-Modul.
Verwenden Sie den Befehl npm install ipaddr, um das ipaddr-Modul zu installieren, das im Ordner node_modules unter dem Projektordner zu sehen ist.
2. Führen Sie das ipaddr-Modul ein.
Verwenden Sie in der Datei, die das ipaddr-Modul verwenden muss, den Befehl const ipaddr = require('ipaddr.js'), um das ipaddr-Modul einzuführen.
3. IP-Adresse in ipaddr-Objekt konvertieren
Verwenden Sie die Methode ipaddr.parse(), um IPv4- und IPv6-Adressen in ipaddr-Objekte zu konvertieren.
Um beispielsweise „192.168.1.1“ in ein ipaddr-Objekt zu konvertieren, können Sie den folgenden Code verwenden:
const ip = ipaddr.parse('192.168.1.1');
4. Bestimmen Sie den IP-Adresstyp
Verwenden Sie ipaddr.IPv4. Die Methoden .isValid() und ipaddr.IPv6.isValid() können bestimmen, ob die IP-Adresse eine IPv4-Adresse oder eine IPv6-Adresse ist. Der Rückgabewert ist wahr oder falsch.
Um beispielsweise festzustellen, ob „192.168.1.1“ eine IPv4-Adresse ist, können Sie den folgenden Code verwenden:
const ip = ipaddr.parse('192.168.1.1');
if(ipaddr.IPv4.isValid( ip)) {
console.log('IPv4-Adresse');
} else {
console.log('Keine IPv4-Adresse');
}
5. Bestimmen Sie, ob sich die IP-Adresse im angegebenen IP-Netzwerksegment befindet
Verwenden Sie ipaddr.subnetMatch() Mit dieser Methode können Sie feststellen, ob sich die IP-Adresse im angegebenen IP-Netzwerksegment befindet. Diese Methode empfängt zwei Parameter, der erste Parameter ist die IP-Adresse und der zweite Parameter ist das abzufragende IP-Netzwerksegment im Format „Netzwerksegmentadresse/Subnetzmaske“.
Um beispielsweise festzustellen, ob „192.168.1.1“ im IP-Netzwerksegment „192.168.1.0/24“ liegt, können Sie den folgenden Code verwenden:
const ip = ipaddr.parse('192.168.1.1');
const subnet = ipaddr.parseCIDR('192.168.1.0/24');
if(ipaddr.subnetMatch(ip, subnet)) {
console.log('Im angegebenen IP-Netzwerksegment');
} else {
console.log ('Nicht im angegebenen IP-Netzwerksegment');
}
6. Konvertieren Sie das IP-Netzwerksegment in die CIDR-Notation
Verwenden Sie die Methode ipaddr.subnetMatch(), um das IP-Netzwerksegment in die CIDR-Notation zu konvertieren. Diese Methode empfängt zwei Parameter: Der erste Parameter ist die IP-Netzwerksegmentadresse und der zweite Parameter ist die Subnetzmaske.
Um beispielsweise „192.168.1.0/255.255.255.0“ in die CIDR-Notation „192.168.1.0/24“ zu konvertieren, verwenden Sie den folgenden Code:
const subnet = ipaddr.parseCIDR('192.168.1.0/255.255.255.0 ');
const cidr = subnet.toString();
console.log(cidr);
IV. Zusammenfassung
Durch den obigen Inhalt verstehen wir die Grundkonzepte von IP-Adresse und Subnetzmaske und verwenden ipaddr in nodejs Das Modul unterteilt und konvertiert IPv4-Adressen in Netzwerksegmente.
Die rasante Entwicklung des Netzwerks hat höhere Anforderungen an die Verwaltung von IP-Adressen und Netzwerksegmenten gestellt. Ich hoffe, dieser Artikel kann jedem helfen, die IP-Adressübersetzung zu verstehen und anzuwenden.
Das obige ist der detaillierte Inhalt vonKonvertierung von NodeJS-Netzwerksegmenten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!