Subnetting
서브넷팅
- Classful Addressing(클래스 기반 주소지정)방식에서 배정받은 네트워크를 자체적으로 분할하여 주소 체계를 내부적으로 개편하는 방법이다.
- 배정받은 네트워크는 Class A, B, C 네트워크 중 하나를 의미한다. (Unicast 주소)
- 하나의 네트워크에 포함된 호스트들을 여러 그룹으로 묶는 방식이기 때문에, 서브넷팅이 진행되면 본 주소에서 Net-id의 Bit 필드는 늘어나고, Host-id 필드는 줄어들게 된다.
- Class A, B, C는 각각 X.X.X.X/8, X.X.X.X/16, X.X.X.X/24와 같은 주소 형태를 보이는데, 서브넷팅된 네트워크의 주소는 X.X.X.X/9, X.X.X.X/15, X.X.X.X/19, X.X.X.X/28과 같이 Net-id와 Host-id를 더 이상 Byte 단위로 해석할 수 없게 된다.
※ Subnet의 크기를 서로 다르게 분할하는 방법은 Classless Addressing(클래스 없는 주소지정) 방식에 정의되어 있다.
Example 5.19 (TCP/IP Protocol Suite p.132)
B Class의 주소를 할당받은 141.14.0.0/16 네트워크가 4개의 동일한 크기로 서브넷팅을 진행한다고 가정하자.
서브넷팅 과정과 각각의 서브넷에 배정된 주소들, 라우터들의 라우팅 테이블은 아래와 같다.
- 141.14.0.0/16 네트워크를 4개의 서브넷으로 서브네팅하면 위 그림과 같은 주소 체계를 가지게 된다.
- 하나의 네트워크를 4개로 분할하려면 적어도 2Bit가 추가적으로 필요하게 된다.*
- 즉, 기존에 Host-id 필드의 두 번째 바이트 필드의 상위 2Bit로 1~4번 서브넷을 구분짓게 된다.**
- 즉, 내부적으로 Net-id 필드는 16Bit->18Bit로, Host-id 필드는 16Bit -> 14Bit로 바뀌게 된다.
- 그러나, 외부 네트워크에서는 이러한 서브넷팅 사실을 알지 못하며(알 필요도 없다), 계속해서 기존의 주소(141.14.0.0/16)로 액세스 한다.
* Host-id 필드에 \(n\) Bit가 추가되면, 동일한 크기의 \(2^{n}\)개 서브넷으로 서브네팅이 가능하다.
** 141.14.0.0/18의 Network Mask(Subnet Mask) = 255.255.192.0 = 11111111 11111111 11000000 00000000
- 서브네팅된 4개의 서브넷을 Site Router가 관리하게 된다.
- 관례상, Site Router와 각각의 서브넷의 스위치(직육면체)와 연결된 Interface에는 서브넷 내부의 노드들에 할당될 수 있는 주솟값 중 최댓값으로 배정된다. (끝자리 255주소는 해당 서브넷의 Broadcast주소이다.)
- 각 서브넷의 Broadcast 주소 = 141.14.63.255(S1), 141.14.127.255(S2), 141.14.191.255(S3), 141.14.255.255(S4)
- Site Router와 Internet Router는 위 표와 같이 생성된다.
- Internet Router에서는 서브넷의 개수나 형태를 고려할 필요가 없다. (세부사항까지 알게되면 오히려 Routing Search Time이 증가해 처리속도가 느려지게 된다.)
- 두 라우팅 테이블에서 Slash Notation뒤 값이 다름에 유의해야 한다. (Internet Router에서는 서브네팅 여부를 알지 못하므로, 여전히 해당 네트워크의 주소를 141.14.0.0/16으로 보고 있다.)
Reference: TCP/IP Protocol Suite 4th Edition
(Behrouz A. Forouzan 저, McGraw-Hill, 2010)
Reference: Data Communications and Networking 5th Edition
(Behrouz A. Forouzan 저, McGraw-Hill, 2012)