네트워크 통신에서 IP 주소는 매우 중요한 정보입니다. IP 주소는 IPv4와 IPv6의 두 가지 유형으로 구분됩니다. IPv4는 32비트 주소 형식을 사용하고 IPv6은 128비트 주소 형식을 사용합니다. 실제 애플리케이션에서는 IP 주소를 네트워크 세그먼트로 나누어 변환해야 하는 경우가 많습니다. 이 기사에서는 nodejs를 사용하여 IPv4 주소를 네트워크 세그먼트로 나누고 변환하는 방법을 소개합니다.
1. IP 주소 형식
IPv4 주소에서 IP 주소 형식은 점으로 구분된 8자리 이진수 네 그룹으로 구성됩니다. 예: "192.168.1.1". IPv6 주소에서 IP 주소 형식은 16자리 이진수로 구성된 8개의 그룹으로 구성되며 각 그룹은 콜론으로 구분됩니다. 예를 들어 "2001:0db8:85a3:0000:0000:8a2e:0370:7334"입니다.
2. IP 주소의 서브넷 마스크
IP 주소의 서브넷 마스크는 IP 주소가 위치한 네트워크 세그먼트를 나타내는 데 사용되는 32비트 이진수입니다. 그 중 1비트는 네트워크 번호를 나타내고, 0비트는 호스트 번호를 나타냅니다.
예를 들어 IP 주소 10.0.0.0에서 서브넷 마스크가 255.255.255.0이면 해당 IP 주소가 위치한 네트워크 세그먼트가 10.0.0.0/24라는 의미입니다. 즉, 네트워크 번호는 10.0.0이고, 호스트 번호는 세 번째 8자리 이진수이다. 또한 CIDR 표현과 같은 서브넷 마스크의 다른 표현도 많이 있습니다.
3. nodejs의 ipaddr 모듈
nodejs의 ipaddr 모듈은 IPv4 및 IPv6 주소를 구문 분석하고 변환하는 방법을 제공하며, 네트워크 세그먼트를 쉽게 분할하고 변환할 수도 있습니다.
1. ipaddr 모듈 설치
npm install ipaddr 명령을 사용하여 프로젝트 폴더 아래 node_modules 폴더에서 볼 수 있는 ipaddr 모듈을 설치합니다.
2.ipaddr 모듈 소개
ipaddr 모듈을 사용해야 하는 파일에서 const ipaddr = require('ipaddr.js') 명령을 사용하여 ipaddr 모듈을 소개합니다.
3. IP 주소를 ipaddr 객체로 변환
IPv4 및 IPv6 주소를 ipaddr 객체로 변환하려면 ipaddr.parse() 메서드를 사용하세요.
예를 들어 "192.168.1.1"을 ipaddr 개체로 변환하려면 다음 코드를 사용할 수 있습니다.
const ip = ipaddr.parse('192.168.1.1');
4 IP 주소 유형을 결정합니다
.ipaddr.IPv4 사용 .isValid() 및 ipaddr.IPv6.isValid() 메서드는 IP 주소가 IPv4 주소인지 IPv6 주소인지 확인할 수 있습니다. 반환 값은 true 또는 false입니다.
예를 들어 "192.168.1.1"이 IPv4 주소인지 확인하려면 다음 코드를 사용할 수 있습니다.
const ip = ipaddr.parse('192.168.1.1');
if(ipaddr.IPv4.isValid( ip)) {
console.log('IPv4 주소');
} else {
console.log('IPv4 주소가 아님');
}
5. IP 주소가 지정된 IP 네트워크 세그먼트에 있는지 확인합니다.
ipaddr.subnetMatch() 사용 이 메서드는 IP 주소가 지정된 IP 네트워크 세그먼트에 있는지 여부를 확인할 수 있습니다. 이 메서드는 두 개의 매개변수를 받습니다. 첫 번째 매개변수는 IP 주소이고, 두 번째 매개변수는 "네트워크 세그먼트 주소/서브넷 마스크" 형식으로 쿼리할 IP 네트워크 세그먼트입니다.
예를 들어 "192.168.1.1"이 IP 네트워크 세그먼트 "192.168.1.0/24"에 있는지 확인하려면 다음 코드를 사용할 수 있습니다.
const ip = ipaddr.parse('192.168.1.1');
const subnet = ipaddr.parseCIDR('192.168.1.0/24');
if(ipaddr.subnetMatch(ip, subnet)) {
console.log('지정된 IP 네트워크 세그먼트에서');
} else {
console.log('지정된 IP 네트워크 세그먼트에 없음');
}
6. IP 네트워크 세그먼트를 CIDR 표기법으로 변환
IP 네트워크 세그먼트를 CIDR 표기법으로 변환하려면 ipaddr.subnetMatch() 메서드를 사용하세요. 이 메서드는 두 개의 매개변수를 받습니다. 첫 번째 매개변수는 IP 네트워크 세그먼트 주소이고 두 번째 매개변수는 서브넷 마스크입니다.
예를 들어 "192.168.1.0/255.255.255.0"을 CIDR 표기법 "192.168.1.0/24"로 변환하려면 다음 코드를 사용하세요.
const subnet = ipaddr.parseCIDR('192.168.1.0/255.255.255.0 ');
const cidr = subnet.toString();
console.log(cidr);
IV.요약
위 내용을 통해 IP 주소와 서브넷 마스크의 기본 개념을 이해하고 nodejs에서 ipaddr을 사용합니다. 모듈은 IPv4 주소를 네트워크 세그먼트로 나누고 변환합니다.
네트워크의 급속한 발전으로 인해 IP 주소 및 네트워크 세그먼트 관리에 대한 요구 사항이 더욱 높아졌습니다. 이 기사가 모든 사람이 IP 주소 변환을 이해하고 적용하는 데 도움이 되기를 바랍니다.
위 내용은 nodejs 네트워크 세그먼트 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!