penukaran segmen rangkaian nodejs

WBOY
Lepaskan: 2023-05-27 19:46:37
asal
680 orang telah melayarinya

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan