서브넷 마스크🍑

On a regular basis·2021년 10월 4일
0

1. 서브넷 마스크(Subnetmask)

  • 서브넷 마스크는 네트워크를 분리할 때 사용되고 서브넷마스크를 이용해서 네트워크를 분리하는 것을 서브넷팅(subnetting)이라고 합니다.

  • 서브넷 마스크는 IP와 동일하게 총 32비트의 크기에 4개의 옥텟으로 구분되어 지는데 IP와 다른 점은 최상위 비트부터 모두 1로 채워진다는 점입니다.

    • 예를 들면 255.128.0.0이라는 서브넷 마스크가 있고 이를 2진법으로 바꿔보면
      1111 1111. 1000 0000. 0000 0000. 0000 0000이 됩니다. 1의 연속과 0의 연속으로 이루어져 있죠!
  • IP와 동일하게 생긴 이유는 IP와 서브넷마스크를 AND연산하기 위해서입니다. 이 연산을 통해서 Host IP를 얼마나 할당을 할 지 정하게 됩니다.

  • 그리고 IP뒤에 /24 이런 식으로 표기된게 있는데 이건 서브넷마스크의 비트 수를 이야기하고 Prefix라고 합니다. 이를 통해 할당 가능한 Host IP의 수를 구할 수 있습니다. 서브넷 마스크는 최대 32비트까지라고 했으니 Prefix가 /24라면 32-24 = 8 즉 2^8-2를 해주면 Host IP의 수를 알 수 있습니다.

2. 서브넷팅(Subnetting)

  • 서브넷팅은 네트워크를 효율적으로 관리하기 위해서 사용되는 방법으로, 네트워크 영역과, 호스트 영역을 사용 범위에 맞게 쪼개는 작업입니다.

    참고!🍋
    🌹 IP주소: 네트워크ID('어떤 네트워크인지'를 나타냄), 호스트ID('해당 네트워크의 어느 컴퓨터인지'를 나타냄)
    🌹 IP 주소 = 네트워크 주소(네트워크 ID) + 호스트 주소(호스트 ID)🌹
    참고2🍋!
    ✍️ 서브넷 마스크란?

    • IP 주소를 서브넷팅하면 어디까지가 네트워크 ID이고 어디부터가 호스트 ID를 판단하기 힘들다. 이를 위해 서브넷 마스크라는 값을 사용!
    • 서브넷 마스크: 네트워크 ID와 호스트ID를 식별하기 위한 값! 이 값은 프리픽스(Prefix) 표기법으로 사용할 수 있는데 슬래시(/)로 비트 수를 나타냄!
      ex) 예를 들어, C 클래스 IP 주소를 서브넷팅해보면 C 클래스는 일반적으로 네트워크 ID가 24비트. 하지만, 호스트 ID에서 4비트를 빌려 네트워크 ID를 28비트로 만들면 네트워크 ID는 24비트, 서브넷 ID는 4비트, 호스트 ID는 4비트가 된당. 결국, 255.255.255.240/28로 표현할 수 있음!
      -> 즉, 서브넷 마스크는 IP 주소의 네트워크 부분만을 나타나게 하여 같은 네트워크인지 판별하게 하는 마스크.
  • 만약 우리가 A Class를 그대로 할당을 한다고 생각을 해봅시다! A Class는 할당 가능한 Host IP가 2^24 - 2라고 했는데 이는 너무나도 많은 수이고 상당히 많은 IP가 낭비될 수 있습니다. 이 때 서브넷마스크 255.255.0.0으로 서브넷팅을 한다면 할당 가능한 Host IP는 2^16-2로 줄어들게 되는 거죠.

2.1 Prefix를 이용해 간단하게 할당 가능한 Host IP 구하기

  • 서브넷 마스크는 최대 32비트까지라고 했으니 Prefix가 /24라면 32-24 = 8 즉 2^8-2를 해주면 Host IP의 수를 알 수 있습니다.

ex) 네트워크 192.168.32.0/24의 할당 가능한 Host IP는 2^(32-24)-2 = 254입니다.

2.2 서브넷마스크와 IP의 관계

서브넷 마스크가 1bit씩 증가할때마다 Host address는 절반씩 줄어들고 Network address는 두배로 늘어나게 됩니다. 즉, 192.168.32.0/24라는 하나의 네트워크가 있다면 이 녀석을 /25로 서브넷팅 한다면 할당 가능한 IP는 192.168.32.0 ~ 192.168.32.127, 192.168.32.128 ~ 192.168.32.255까지 두개의 네트워크로 나뉘고 할당 가능한 IP는 256개에서 128개로 절반으로 줄어들게 되는 거죠.

2.3 네트워크 주소 구하기

참고3🍋!
IP 주소: 네트워크 주소, 브로드캐스트 주소
-> 이 두 주소는 특별한 주소로 컴퓨터나 라우터가 자신의 IP로 사용해서는 안 됨!

  • 네트워크 주소는 호스트 ID가 0(2진수로 00000000)인 주소이고 전체 네트워크에서 작은 네트워크를 식별하는데 사용. 즉, 그 작은 네트워크를 대표하는 주소가 되는 것!
  • 브로드 캐스트 주소는 호스트 ID가 255(11111111)인 주소. 해당 네트워크에 있는 컴퓨터나 장비 모두에게 한 번에 데이터를 전송하는데 사용되는 IP 주소. 즉, 해당 네트워크에 데이터를 전송하려면 호스트 ID에 255를 설정하면 된당! 전체 네트워크의 대표 주소라고 생각하면 됨 !
    -> 네트워크 주소와 브로드캐스트 주소는 자신의 IP 주소로 설정하면 안된당 !
  • 주어진 IP와 서브넷 마스크를 2진수로 변환하고 둘을 AND연산을 하면 네트워크 주소를 알 수 있습니다.
    ex) 124.179.179.188/29의 네트워크 주소를 구해보도록 합시다.

  • 10진수로 변환하면 124.179.179.184가 나오게 됩니다.

  • 이렇게 네트워크 주소를 구할 수 있습니다.

2.4 브로드캐스트 주소 구하기

  • 브로드캐스트도 네트워크 주소 구하는것과 크게 다르지 않습니다.

  • 서브넷마스크의 역수를 IP와 OR연산을 하면 브로드캐스트 주소를 알 수 있습니다!

  • 이렇게 서브넷 마스크의 역수를 IP와 OR연산을 하면 브로드캐스트의 주소를 알 수 있습니다.

    🫐 서브넷 마스크에 대해서 설명해주세요.

    • IP주소 부족 문제로 이를 나누어 쓰기 위해 IP 주소에 씌우는 마스크입니다.
    • IP주소를 네트워크 부분과 호스트 부분으로 구분할 때 사용합니다. 이를 통해 IP 할당 범위를 더 작은 단위로 나눌 수 있습니다.

참조:https://velog.io/@meong9090/netwhat-%EC%84%9C%EB%B8%8C%EB%84%B7%EB%A7%88%EC%8A%A4%ED%81%AC%EC%97%90-%EB%8C%80%ED%95%B4-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90

profile
개발 기록

0개의 댓글