> 웹 프론트엔드 > 프런트엔드 Q&A > nodejs 네트워크 세그먼트 변환

nodejs 네트워크 세그먼트 변환

WBOY
풀어 주다: 2023-05-27 19:46:37
원래의
722명이 탐색했습니다.

네트워크 통신에서 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿