서브네팅(Subnetting)
- 서브네팅은 하나의 대규모 네트워크를 작은 네트워크로 분할하는 기술로, 서브넷 마스크를 사용하여 IP 주소를 구분하고, 이를 이용하여 라우터와 같은 장비에서 패킷을 전송할 때 경로를 찾아가는 기술이다.
- Subnetting을 사용하면 네트워크를 더욱 효율적으로 관리할 수 있으며, 다음과 같은 이점을 제공한다.
- 더 작은 네트워크를 생성하여, 브로드캐스트 도메인을 줄일 수 있다. 이는 네트워크 트래픽을 줄이고, 전송 시간을 단축시켜 네트워크의 성능을 향상시키는 데 도움이 된다.
- 보안을 강화할 수 있다. 서브넷으로 네트워크를 분할하면, 다른 서브넷에서 오는 트래픽을 필터링하거나 차단할 수 있다.
- 라우팅 테이블을 간소화할 수 있다. 서브넷을 사용하면 라우팅 테이블을 간소화하여, 라우터의 성능을 향상시킬 수 있다.
- Subnetting을 수행하기 위해서는 먼저, 서브넷 마스크를 선택해야 한다. 서브넷 마스크는 IP 주소에서 네트워크 ID와 호스트 ID를 나누는 역할을 수행하므로, 서브넷 마스크의 값에 따라 네트워크의 크기가 결정된다. 서브넷 마스크의 값은 일반적으로 255.255.255.0과 같은 형태로 표현되며, 이를 CIDR(Classless Inter-Domain Routing) 표기법으로 나타내면 “/24”와 같은 형태로 표기된다.
- 서브넷 마스크를 정한 후에는, 서브넷 네트워크를 생성하기 위해 IP 주소를 할당해야 한다. 서브넷의 크기에 따라 IP 주소를 할당하는 방법이 달라진다. 예를 들어, 192.168.0.0/24에서 서브넷을 생성하기 위해, 192.168.0.1부터 192.168.0.254까지의 IP 주소를 할당할 수 있다.
- 서브넷화된 네트워크에서는 라우팅 테이블을 정의해야 하며, 라우팅 테이블에는 서브넷 ID와 서브넷 마스크, 그리고 라우터의 IP 주소가 포함된다. 라우팅 테이블을 사용하여 라우터는 패킷을 목적지 서브넷으로 전달하고, 그렇지 않은 경우에는 다른 라우터로 패킷을 전달할 수 있다.
- Subnetting은 일반적으로 라우터와 같은 계층 3 장비에서 수행되며, 스위치와 같은 계층 2 장비에서는 서브넷화된 네트워크에서 패킷의 전달 경로를 결정하는 데 사용된다.
- 서브넷화된 네트워크에서는, 서브넷의 개수와 크기, 그리고 라우팅 테이블의 관리가 중요하다. 서브넷의 개수가 많아질수록, 라우팅 테이블의 크기도 커지며, 이는 라우터의 성능을 저하시킬 수 있다. 따라서, 서브넷의 크기와 개수를 최적화하여, 라우터의 네트워크의 성능을 균형적으로 유지해야 한다.
서브넷 마스크를 사용하여 서브넷을 나누는 방법
- 예를 들어, 192.168.0.0/24 IP 주소 범위에서 서브넷을 나누려고 한다고 가정한다.
- 이 경우, 서브넷 마스크는 기본 마스크인 255.255.255.0을 사용한다.
- 이진 형태로 나타내면 “11111111.11111111.11111111.00000000”이 된다.
- 서브넷을 만들기 위해 이진 형태의 서브넷 마스크를 사용하여 IP 주소 범위를 네트워크 ID와 호스트 ID로 분할한다. 첫 번째 비트는 항상 네트워크 ID로 사용되므로 , 첫 번째 비트부터 서브넷 마스크와 AND 연산을 수행한다. 예를 들어, 192.168.0.0의 첫 번째 바이트는 "11000000”이므로, 첫 번째 서브넷의 네트워크 ID는 "11000000”이 됩니다.
- 다음으로, 서브넷의 개수를 결정한다. 이 경우, 2개의 서브넷을 만들려고 하므로, 서브넷 마스크에서 사용되지 않는 비트를 2개 빌리면 된다. 이진 형태로 나타내면 “11”이 된다.
- 첫 번째 서브넷의 네트워크 ID와 호스트 ID를 결정한다. 첫 번째 서브넷의 네트워크 ID는 "11000000.00000000.00000000”이 된다. 서브넷 마스크에 사용된 비트는 "11111111.11111111.11111100”이므로, 호스트 ID는 “00”부터 “11”까지 사용 가능하다.
- 즉, 첫 번째 서브넷의 호스트 ID 범위는 192.168.0.1 ~ 192.168.0.2입니다.
- 두 번째 서브넷의 네트워크 ID는 첫 번째 서브넷에서 빌린 2개의 비트를 추가로 사용하여 결정한다. 따라서, 두 번째 서브넷의 네트워크 ID는 "11000000.00000000.00000010”이 된다. 호스트 ID 범위는 192.168.0.3 ~ 192.168.0.4이다.
- 이렇게 서브넷을 나누면, 192.168.0.0/24 IP 주소 범위에서 두 개의 서브넷을 만들어, 브로드캐스트 도메인을 분리할 수 있다.
- 서브넷 마스크를 이진 형태로 나타낸다.
- 예 : 255.255.255.0 → 11111111.11111111.11111111.00000000
- 서브넷 마스크와 AND 연산을 수행하여 네트워크 ID와 호스트 ID를 분할한다.
- 예 : 192.168.0.100/24 → 네트워크 ID : 192.168.0.0 / 호스트 ID : .100
- 서브넷의 개수를 결정한다.
- 예 : 서브넷을 2개로 분할한다면, 2^1 = 2개의 서브넷이 필요하다.
- 서브넷 마스크에서 사용되지 않는 비트를 빌려와서 각 서브넷의 네트워크 ID를 결정한다.
- 예 : 2개의 서브넷을 만들기 위해서는 서브넷 마스크에서 1비트를 빌려와야 한다. 즉, 서브넷 마스크를 11111111.11111111.11111111.10000000로 변경한다.
- 호스트 ID 범위를 결정한다.
- 예 : 서브넷 1의 네트워크 ID는 192.168.0.0, 호스트 ID 범위는 192.168.0.1 ~ 192.168.0.126이다.
- 서브넷 2의 네트워크 ID는 192.168.0.128, 호스트 ID 범위는 192.168.0.129 ~ 192.168.0.254 이다.