개발공부/네트워크

[네트워크] 넷마스크와 서브넷마스크

개발자 찐빵이 2021. 11. 1. 13:58
728x90

넷 마스크(Net mask)

네트워크 주소 부분의 비트를 1로 치환한 것
IP 주소와 넷마스크를 AND 연산을 하면 네트워크 주소를 얻을 수 있다.

서브넷 마스크(Subnet mask)

서브넷

IP 주소에서 네트워크 영역을 부분적으로 나눈 부분 망. 부분 네트워크

IP 주소는 IP 클래스에 의해 분리되는 Network PrefixHost Number로 분리된다.
서브넷팅은 Host NumberSubnet Number와 서브넷 안에서 식별되는 Host Number로 다시 분리한다.

서브넷 마스크 형태는 기본적으로 IP주소와 같은 32 bits 이진수이다.

기본 서브넷 마스크

별개의 서브넷 마스크를 생성하지 않아도 기본적으로 적용되어 있는 서브넷 마스크
클래스 체계에 의해 기본적으로 네트워크를 나누기 위한 개념

서브넷 네트워크

기본 서브넷 마스크로 쪼개진 네트워크 주소

클래스 A를 예로 들어보면 클래스 A의 IP가 116.81.97.8일 경우 클래스 A의 서브넷 마스크는 255.0.0.0이다.
이것을 이진수로 변환해서 AND 조건을 수행했을 시 나오는 것은 116.0.0.0이다.
이 부분이 클래스 A의 Network ID가 되고, 나머지는 Host를 식별하는 Host ID 부분이 된다.

116.81.97.8 => 01110100.01010001.01100001.00001000
255. 0. 0. 0 => 11111111.00000000.00000000.00000000

IP주소 뒤에 붙은 표시는 뭘까?

IP주소 뒤에 /24 같은 표시를 붙은 것을 볼 수 있다.
이것은 서브넷 마스크의 bit 수를 의미한다.
클래스 A를 예로 들면 서브넷 마스크의 초기 8개의 bit가 1로 되어있기 때문에 /8로 붙는다.
또 하나의 예를 들면 192.168.3.19/24는 네트워크 ID가 192.168.3.0이며 서브넷 마스크는 255.255.255.0이라는 뜻이다.
이 서브넷 마스크는 Network ID 부분1이 연속적으로 있어야 하며, Host ID부분은 0이 연속적으로 있어야 한다.

인프라에서 정한 서브넷 마스크

공인 IP 네트워크 망 안에서 부분 망들을 나누기 위한 방법

서브넷팅

관리하기 어려운 브로드캐스팅에 대한 문제를 해결하기 위한 방법

예시에서 A클래스의 IP를 두 개의 서브넷으로 나누고 싶다고 가정할 때, 두 개의 서브넷을 나누려면 서브넷 마스크에서 비트 하나를 1로 세팅하면 된다.

비트 하나를 1로 세팅했을 시 생기는 변화

  • 서브넷 마스크의 비트 수를 표시하는 / 뒤의 숫자가 하나 증가한다.
    만약 서브넷 마스크의 비트 수가 /8에서 /9로 변한다면, 서브넷 마스크가 255.0.0.0에서 255.128.0.0으로 변한다는 것을 의미한다.
  • A클래스 망이 두 부분으로 나뉜다.
    위와 같은 예에서 Network ID가 116.0.0.0116.128.0.0로 나누어진다.

예제

1. 116.81.97.8이 위치하고 있는 서브넷은?

116.81.97.8 => 01110100.01010001.01100001.00001000
255. 0. 0. 0 => 11111111.10000000.00000000.00000000
= 01110100.00000000.00000000.00000000

2. C클래스인 194.139.10.2/26의 Network ID와 Host ID는 각각 어떻게 되나?

194.139.10.2 => 11000010.10001011.00001010.00000010
255.255.255.192=>11111111.11111111.11111111.11000000
= 11000010.10001011.00001010.00000000

네트워크 아이디 : 194.139.10.0
호스트 아이디 : .2

한 비트씩 서브넷 마스크에 추가할 때마다 네트워크 크기는 2배 증가하고 할당할 수 있는 호스트 개수는 2로 나뉜다.

조심해야 할 것

각 Network ID에서 첫 번째 주소는 Network Address로 쓰이고 마지막 주소는 Boardcast로 쓰이므로 가장 첫 번째 주소와 가장 마지막 주소는 호스트에 할당할 수 없다.

라우터

공인 IP주소를 할당받은 장치
네트워크 안의 서브넷을 나누는 역할을 담당한다.

서브넷 안의 호스트들이 외부망인 인터넷에 데이터를 송수신하는 경우, 그 호스트가 가상 IP를 쓸 경우, 그 처리를 NAT(네트워크 주소 변환)를 통해 서브넷 가상 IP로 바꾸어주어 외부 서버와 호스트와의 통신을 가능하게 한다.

만약 그 호스트가 공인 IP를 쓰고 있으면 NAT 처리를 하지 않겠지만 현재 인터넷 환경에서 그러한 경우는 거의 없다고 보면 된다.

참고사이트

넷마스크와 서브넷 마스크
서브넷과 서브넷 마스크

반응형

'개발공부 > 네트워크' 카테고리의 다른 글

[네트워크] HTTP GET과 POST 비교  (0) 2021.11.04
[네트워크] TCP와 UDP 비교  (0) 2021.11.03
[네트워크] HTTP vs HTTPS  (0) 2021.11.02