5. 서브넷팅(subnetting)으로 네크워크를 효율적으로 관리하자

A클래스는 하나의 네트워크에 16,777,214개나 되는 호스트를 할당할수 있기에, 만일 그런 네트워크를 일반 가정집에 부여한다면 정말 많은 IP가 낭비될 것이다. IP를 사용하는 네트워크 장치들의 수에 따라 효율적으로 사용할 수 있도록하는 방법이 바로 서브넷팅이다.

1. Network/Broadcast 주소

네트워크 주소

하나의 네트워크를 통칭하기 위한 주소

  • 해당 네트워크의 첫번째 IP주소

  • 계산방법 : IP주소와 서브넷마스크의 AND연산

    브로드캐스트 주소

    특정 네트워크에 속하는 모든 호스트들이 갖게 되는 주소. 네트워크에 있는 클라이언트 모두에게 데이터를 보내기 위함.

  • 해당 네트워크에 속하는 모든 IP 주소 가운데 맨 마지막 IP주소

  • 계산방법 : 서브넷 마스크의 '0'인 부분을 모두 1로 바꾼다.

    예를 들어 C클래스 하나로 특정 IP를 할당했고 그 IP의 네트워크 주소가 192.168.2.0 이라고 한다면 브로드캐스트 주소는 192.168.2.255 가 된다.

2. 서브넷팅(subnetting)

한 개의 네트워크를 서브넷 마스크를 이용해 여러 개의 서브넷 네트워크로 분할 하는 것.

왜 하나의 네트워크를 여러 개로 나눠야 할까? 네트워크 자원을 효율적으로 사용하기 위해서이다. 극단적으로 예를 들자면, A클래스는 하나의 네트워크에 16,777,214개나 되는 호스트를 할당할수 있기에 만일 그런 네트워크를 일반 가정집에 부여한다면 정말 많은 IP가 낭비될 것이다. IP를 사용하는 네트워크 장치들의 수에 따라 효율적으로 사용할 수 있도록하는 방법이 바로 서브넷팅이다. 반대로, 네트워크를 합쳐 네트워크를 확장하는 슈퍼넷팅(Supernetting)이라는 개념도 존재한다. 서브넷팅은 서브넷 마스크를 이용하여 Host ID를 Network ID로 변환하게 되고, 슈퍼넷팅은 서브넷 마스크를 이용하여 Network ID를 Host ID로 변환하게 되어서 가능해진다. 즉, 서브넷팅 하는 경우에는 네트워크 주소 부분의 비트를 연장한다. 그리고 그 나머지 호스트 부분이 호스트 식별자가 된다.

서브네팅을 빠르게 이해하려면, A클래스 IP주소(예를 들어 1.1.1.1)의 기본 서브넷 마스크(255.0.0.0)를 B클래스의 서브넷 마스크(255.255.0.0)로 변경하는 예시를 생각해보면 된다. 변경된 서브넷 마스크로 AND 연산을 하게되면 네트워크 ID가 기존의 1.0.0.0이 아닌 1.1.0.0으로 확장된다. 반대로 호스트 ID의 범위는 기존의 0.0.0.0 ~ 0.255.255.255 (약 16,777,216개)에서 0.0.0.0 ~ 0.0.255.255 (약 65,534(256 * 256)개)로 훨씬 적어졌음을 알 수 있다.

2.1. 서브넷팅의 특징

  • 서브넷팅을 통해 Network ID가 확장되므로 인해 할당할 수 있는 네트워크의 수가 늘어난다. 하지만 네트워크가 분리되므로 인하여 서로가 통신하기 위해서는 라우터를 통하여서만 가능하게 된다. 물론 각 네트워크에 속해 있는 호스트들은 같은 영역에 존재하기에 라우터까지 거치지 않고도 통신할 수 있다. 라우팅이 어떻게 동작하는지는 나중에 배워보자.

  • 특정 몇 군데의 호스트에서 너무 많은 트래픽을 발생시켜서 속도를 저하시키는 문제를 해결할 수 있다. 이는 서브넷팅을 통하여 네트워크가 분리되기 때문에 브로드캐스트 도메인의 크기가 줄어들게 되므로 가능한 일이다. (브로드캐스트 주소가 다양해짐)

서브넷의 Broadcast 주소란

서브넷의 브로드캐스트 주소는 255보다 훨씬 작은 수를 가질 수 있게 된다. 한 브로드캐스트 주소를 너무 많은 호스트가 갖는 걸 방지할 수 있기 때문에 트래픽 문제를 해결할 수 있는 것이다.

2.2. 서브넷팅 계산 방법

서브넷 마스크는 2진수로 표현하였을 때 Network ID 부분은 1이 연속적으로 있어야 하며, Host ID 부분은 0이 연속적으로 있어야 한다. 즉, 중간에 1이나 0이 섞이면서 나열될 수 없다. 이로 인해 서브넷 마스크가 Network ID를 확장하면서 1bit씩 확보하게 되면 네트워크 할당 가능 수가 2배로 증가하지만 반대로 호스트 할당가능 수가 2배로 줄어들게 된다. 예를 들어 11111111.11111111.1111111.00000000(255.255.255.0)에서 네 번째 옥탯에 1bit를 확보하면 11111111.11111111.11111111.10000000(255.255.255.128)이 된다.

예를 들어 194.139.10.7/25 라는 IP를 서브넷팅 해보자. /25는 서브넷 마스크가 25bit라는 의미로 255.255.255.128이 된다. 그럼 호스트에 IP를 할당할 수 있는 범위가 0~127, 128~255가 되며, 네트워크 영역은 194.139.10.0, 194.139.10.128가 되어 2개로 나누어지게 된다. 이 때, 네트워크 영역이 2개로 나누어진다는 의미는, 각 범위의 가장 첫 번째 IP를 네트워크 주소로 할당한다는 의미다. 결국 194.139.10.7/25가 속한 네트워크는 194.139.10.0/25 대역에 속하게 되며, 다른 서브넷팅 된 네트워크인 194.139.10.128과는 라우터를 통하여서만 통신할 수 있는 것이다.

서브넷팅

IP 주소

할당 객체

194.139.10.0/25

194.139.10.0

Network Address

194.139.10.1 ~ 194.139.10.126

Host IP

194.139.10.127

Broadcast Address

194.139.10.128/25

194.139.10.128

Network Address

194.139.10.129 ~ 194.139.10.254

Host IP

194. 139.10.255

Broadcast Address

Last updated