Netmask

박정훈·2021년 1월 9일
0

network

목록 보기
2/6

mask

비교,평가,수정 등을 위해 의도적으로 겹쳐 노출시키거나 가리우는 것
- 불필요한 부분은 가리고 필요한 부분 만을 노출시킴
필요한 부분의 데이터영역의 비트에만 1을 넣고 나머지 부분의 비트에는 0을 넣어서 mask를 만든다. 그리고 해당 mask와 다른 데이터를 비트연산자의 and연산자를 이용하여 원하는 데이터만 뽑아낸다.

Netmask

netmask는 IP주소를 subnet으로 나누고 특정 네트워크를 이용 할 수 있는 호스트들을 구별하기위해 사용하는 32비트 이진 mask이다.

  • 네트워크 주소 부분의 비트를 1로 호스트 주소부분의 비트를 0으로 채운 것이 Netmask이다.
  • IP 주소와 Netmask를 and연산하면 네트워크 주소를 얻을 수 있다.

Netmask가 지원가능한 네트워크와 호스트 수 구하기

netmask에서 최종 바이트로 표시되는 두개의 사용가능한 주소들은 항상 미리 할당되고 사용자 지정 할당에 사용할 수 없다.
예를 들어서 255.255.225.0에서 0은 할당된 네트워크 주소이다. 255.255.255.255에서 마지막 255는 할당된 broadcast 주소이다. 이 2개의 값들은 IP 주소 할당에 사용될 수 없다.
IP 주소에서 호스트 식별자의 모든 비트가 0이면 IPv4 주소가 네트워크 주소를 의미하면, 호스트 식별자의 모든 비트가 1이면 직접 브로드캐스트 주소를 의미한다.

아래는 netmask의 예와 netask의 이진 변환의 예시다.

이진 변환에서 비트들을 세면 netmask의 길이를 결정할 수 있다. 위는 32비트 의 주소 예시이다. 하지만 이 주소는 broadcast 주소이므로 이 주소에는 어떤 호스트들도(컴퓨터들 또는 다른 네트워크 장치들)연결할 수 없다.

일반적으로 쓰이는 netmask는 아래와 같은 24 비트 netmask이다.

24비트 netmask를 이용하면 네트워크는 192.0.1.x ~ 223.255.254.x의 IP주소 범위에서 2,097,150개의 네트워크 또는 254개의 다른 호스트들을 사용할 수 있다. 그리고 이것들은 보통 하나의 네트워크에 충분한 주소이다.

간단한 수식으로 netmask가 지원할 수 있는 네트워크의 총량을 계산할 수 있다.

예를 들어 길이가 24이고 사용된 세그먼트가 3개인 255.255.255.0 netmask인 경우 netmask의 길이에서 3을 뺀다. 즉, 24 - 3 = 21이다. 이 것을 위의 공식에 대입하는 것이다.
그러면 2^(24 - 3) - 2 = 2^21 - 2 = 2,097,150이 된다.
2,097,150이 총 네트워크 수이다.
2를 빼는 이유는 broadcast 주소와 network 주소는 이미 할당되었기 때문이다.

또 다른 예는 길이가 16이고 사용된 세그먼트가 2개인 255.255.0.0인 netmask이다.
위의 공식을 이용하면 2^(16 - 2) - 2 = 2^14 - 2 = 16,382을 얻을 수 있다.

netmask가 지원 가능한 호스트들의 숫자를 결정하려면 아래의 공식을 쓴다.

예를 들어 위의 두번째 그림에서 보듯이 24길이의 netmask는 0이 8개이다. 그러므로 위의 공식을 사용하면 이것은 2^8 - 2 = 254개의 호스트 수를 얻을 수 있다. 2를 빼는 것은 네트워크 주소와 직접 브로드캐스트 주소를 빼는 것이다.

16길이의 netmask의 예를 보면 0이 16개이다. 이 경우에 위의 공식에서는 2^16 - 2 = 65,534개의 호스트 수를 얻을 수 있다.

다음은 일반적으로 사용되는 각 네트워크 클래스에 대한 설명이다.

출처

profile
정팔입니다.

0개의 댓글