Dalam komunikasi rangkaian, alamat IP adalah maklumat yang sangat penting. Alamat IP dibahagikan kepada dua jenis: IPv4 dan IPv6 menggunakan format alamat 32-bit, manakala IPv6 menggunakan format alamat 128-bit. Dalam aplikasi praktikal, alamat IP selalunya perlu dibahagikan kepada segmen rangkaian dan ditukar. Artikel ini akan memperkenalkan cara menggunakan nodej untuk membahagikan dan menukar alamat IPv4 kepada segmen rangkaian.
1. Format alamat IP
Dalam alamat IPv4, format alamat IP terdiri daripada empat kumpulan nombor perduaan lapan digit yang dipisahkan dengan titik. Seperti "192.168.1.1". Dalam alamat IPv6, format alamat IP terdiri daripada 8 kumpulan nombor binari enam belas digit, dan setiap kumpulan dipisahkan oleh titik bertindih. Contohnya, "2001:0db8:85a3:0000:0000:8a2e:0370:7334".
2. Subnet mask alamat IP
Subnet mask alamat IP digunakan untuk menunjukkan segmen rangkaian di mana alamat IP terletak. Antaranya, 1 bit mewakili nombor rangkaian, dan 0 bit mewakili nombor hos.
Contohnya, di bawah alamat IP 10.0.0.0, jika subnet mask ialah 255.255.255.0, ini bermakna segmen rangkaian di mana alamat IP terletak ialah 10.0.0.0/24. Iaitu, nombor rangkaian ialah 10.0.0, dan nombor hos ialah nombor perduaan 8 digit ketiga. Selain itu, terdapat banyak perwakilan topeng subnet yang lain, seperti perwakilan CIDR.
3. Modul ipaddr nodejs
Modul ipaddr nodejs menyediakan kaedah untuk menghuraikan dan menukar alamat IPv4 dan IPv6, dan juga boleh membahagi dan menukar segmen rangkaian dengan mudah.
1. Pasang modul ipaddr
Gunakan arahan npm install ipaddr untuk memasang modul ipaddr, yang boleh dilihat dalam folder node_modules di bawah folder projek.
2. Perkenalkan modul ipaddr
Dalam fail yang perlu menggunakan modul ipaddr, gunakan perintah const ipaddr = require('ipaddr.js') untuk memperkenalkan modul ipaddr.
3. Tukar alamat IP kepada objek ipaddr
Gunakan kaedah ipaddr.parse() untuk menukar alamat IPv4 dan IPv6 kepada objek ipaddr.
Sebagai contoh, untuk menukar "192.168.1.1" kepada objek ipaddr, anda boleh menggunakan kod berikut:
const ip = ipaddr.parse('192.168.1.1');
4. Tentukan jenis alamat IP
Gunakan kaedah ipaddr.IPv4.isValid() dan ipaddr.IPv6.isValid() untuk menentukan sama ada alamat IP ialah alamat IPv4 atau alamat IPv6. Nilai pulangan adalah benar atau salah.
Sebagai contoh, untuk menentukan sama ada "192.168.1.1" ialah alamat IPv4, anda boleh menggunakan kod berikut:
const ip = ipaddr.parse('192.168.1.1');
jika(ipaddr .IPv4.isValid(ip)) {
console.log('Alamat IPv4');
} lain {
console.log('Bukan alamat IPv4');
}
5. Tentukan sama ada alamat IP berada dalam segmen rangkaian IP yang ditentukan
Gunakan kaedah ipaddr.subnetMatch() untuk menentukan sama ada alamat IP berada dalam segmen rangkaian IP yang ditentukan. Kaedah ini menerima dua parameter, parameter pertama ialah alamat IP, dan parameter kedua ialah segmen rangkaian IP untuk ditanya, dalam format "alamat segmen rangkaian/subnet mask".
Sebagai contoh, untuk menentukan sama ada "192.168.1.1" berada dalam segmen rangkaian IP "192.168.1.0/24", anda boleh menggunakan kod berikut:
const ip = ipaddr.parse ('192.168. 1.1');
const subnet = ipaddr.parseCIDR('192.168.1.0/24');
if(ipaddr.subnetMatch(ip, subnet)) {
console.log(' Pada IP yang ditentukan Dalam segmen rangkaian');
} lain {
console.log('Tidak dalam segmen rangkaian IP yang ditentukan');
}
6 segmen rangkaian kepada Kaedah perwakilan CIDR
Gunakan kaedah ipaddr.subnetMatch() untuk menukar segmen rangkaian IP kepada tatatanda CIDR. Kaedah ini menerima dua parameter, parameter pertama ialah alamat segmen rangkaian IP, dan parameter kedua ialah subnet mask.
Sebagai contoh, untuk menukar "192.168.1.0/255.255.255.0" kepada tatatanda CIDR, "192.168.1.0/24", anda boleh menggunakan kod berikut:
const subnet = ipaddr. parseCIDR( '192.168.1.0/255.255.255.0');
const cidr = subnet.toString();
console.log(cidr);
IV Melalui kandungan di atas, kami telah mempelajari tentang konsep asas alamat IP dan topeng subnet, dan cara menggunakan modul ipaddr dalam nodejs untuk membahagikan dan menukar alamat IPv4 kepada segmen rangkaian.
Pembangunan pesat rangkaian telah mengemukakan keperluan yang lebih tinggi untuk pengurusan alamat IP dan segmen rangkaian. Saya harap artikel ini dapat membantu semua orang memahami dan menggunakan terjemahan alamat IP.
Atas ialah kandungan terperinci penukaran segmen rangkaian nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!