본문 바로가기

IT인생_스크랩/Network

서브넷(subnet)

출처 goindole님의 블로그 | 푸른하늘
원문 http://blog.naver.com/goindole/10311914

 

서브네트워크

호스트 비트를 이용하여 서브네트워크를 구성하는 것은 논리적으로 아주 명확하지만 서브네트워크를 구축하는 실제적인 방법은 이보다 좀 더 복잡합니다. 서브네트워크를 구축하기 위해서는 세단계를 거쳐야 합니다.

  1. 서브넷을 위해 사용할 호스트 비트의 수를 결정합니다.
  2. 새로운 서브넷 네트워크 ID를 열거합니다.
  3. 각 새로운 서브넷 네트워크 ID 별로 IP 주소를 열거합니다.

스텝 1: 호스트 비트의 개수 정하기

서브넷을 위해 사용될 호스트 비트의 개수는 가능한 서브넷의 개수와 서브넷 별 호스트의 개수를 결정하게 됩니다. 호스트 비트를 선택하기 이전에 앞날의 서브넷과 호스트 확장성도 고려하여 결정하는 것이 좋습니다. 현재 서브넷 마스크를 위해 필요한 비트보다 좀 더 많은 비트를 사용하는 것이 앞으로 발생할 수 있는 확장에 좀 더 쉽게 대처할 수 있을 것입니다.

호스트 비트를 더 많이 사용할수록 더 많은 서브넷을 사용할 수 있습니다. 하지만, 호스트의 개수는 상대적으로 줄어들게 됩니다. 만일 너무 많은 호스트 비트를 사용하게 되면 서브넷의 개수는 증가할 수 있으나 호스트의 개수를 너무 제한하게 될 것입니다. 반대로 호스트 비트를 너무 적게 사용하면 호스트의 증가에는 대처할 수 있으나, 서브넷의 증가가 많이 제한 받게 됩니다.

실제로, 네트워크 관리자는 하나의 네트워크에서 원하는 최대 노드 개수를 정의합니다. 동일한 네트워크 상의 모든 노드는 동일한 브로드캐스트 트래픽을 공유합니다. 그러므로, 서브넷 별 호스트 개수의 증가보다는 서브넷 개수의 증가를 더 선호하는 편입니다.

서브넷을 위해 사용할 호스트 비트의 개수를 정하기 위해서는 다음과 같은 가이드라인을 따르기 바랍니다.

  1. 얼만큼의 서브넷이 필요한지 결정하고 앞으로 필요해질 서브넷의 양을 예측합니다. 모든 물리적 네트워크은 서브넷입니다. WAN 연결 또한 라우터에 따라 서브넷으로 간주해야 할 필요도 있습니다.
  2. 다음과 같은 경우 서브넷을 위해 추가적인 비트를 사용합니다.
    • 현재 남아있는 비트에 의해 사용할 수 있는 호스트 개수 만큼 호스트를 절대 사용하지 않는 경우.
    • 앞으로 서브넷의 개수가 증가할 가능성이 있는 경우.

적합한 서브넷 계획을 결정하기 위해서는 우선 서브넷으로 구성되어야 할 현재 네트워크 ID에서부터 시작해야 합니다. 서브넷으로 구성될 네트워크 ID는 클래스 기반의 네트워크 ID이거나 서브넷 네트워크 ID, 슈퍼넷 네트워크 ID일 수 있습니다. 현재 존재하는 네트워크 ID는 고정된 연속적인 네트워크 ID 비트를 가지고 있을 것입니다. 이러한 연속적인 호스트 ID 비트는 가변적입니다. 필요한 서브넷의 개수와 서브넷 당 호스트의 개수에 근거하여 서브넷을 위해 사용될 호스트 비트를 사용하게 될 것입니다.

표 16은 클래스 A 네트워크 ID 서브넷을 보이고 있습니다. 필요한 서브넷과 서브넷 당 최대 호스트 개수에 근거하여 서브넷 설계를 할 수 있습니다.

표 16   Class A 네트워크 ID 서브넷

필요한 서브넷 개수 호스트 비트 개수 서브넷 마스크 서브넷 당 호스트 개수
1-2 1 255.128.0.0 or /9 8,388,606
3-4 2 255.192.0.0 or /10 4,194,302
5-8 3 255.224.0.0 or /11 2,097,150
9-16 4 255.240.0.0 or /12 1,048,574
17-32 5 255.248.0.0 or /13 524,286
33-64 6 255.252.0.0 or /14 262,142
65-128 7 255.254.0.0 or /15 131,070
129-256 8 255.255.0.0 or /16 65,534
257-512 9 255.255.128.0 or /17 32,766
513-1,024 10 255.255.192.0 or /18 16,382
1,025-2,048 11 255.255.224.0 or /19 8,190
2,049-4,096 12 255.255.240.0 or /20 4,094
4,097-8,192 13 255.255.248.0 or /21 2,046
8,193-16,384 14 255.255.252.0 or /22 1,022
16,385-32,768 15 255.255.254.0 or /23 510
32,769-65,536 16 255.255.255.0 or /24 254
65,537-131,072 17 255.255.255.128 or /25 126
131,073-262,144 18 255.255.255.192 or /26 62
262,145-524,288 19 255.255.255.224 or /27 30
524,289-1,048,576 20 255.255.255.240 or /28 14
1,048,577-2,097,152 21 255.255.255.248 or /29 6
2,097,153-4,194,304 22 255.255.255.252 or /30 2

표 17은 클래스 B 네트워크 ID에 대한 서브넷을 보이고 있습니다.

표 17   클래스 B 네트워크 ID 서브넷

필요한 서브넷 개수 호스트 비트 개수 서브넷 마스크 서브넷 당 호스트 개수
1-2 1 255.255.128.0 or /17 32,766
3-4 2 255.255.192.0 or /18 16,382
5-8 3 255.255.224.0 or /19 8,190
9-16 4 255.255.240.0 or /20 4,094
17-32 5 255.255.248.0 or /21 2,046
33-64 6 255.255.252.0 or /22 1,022
65-128 7 255.255.254.0 or /23 510
129-256 8 255.255.255.0 or /24 254
257-512 9 255.255.255.128 or /25 126
513-1,024 10 255.255.255.192 or /26 62
1,025-2,048 11 255.255.255.224 or /27 30
2,049-4,096 12 255.255.255.240 or /28 14
4,097-8,192 13 255.255.255.248 or /29 6
8,193-16,384 14 255.255.255.252 or /30 2

표 18은 클래스 C 네트워크 ID에 대한 서브넷을 보이고 있습니다.

표 18    클래스 C 네트워크 ID 서브넷

필요한 서브넷 개수 호스트 비트 개수 서브넷 마스크 서브넷 당 호스트 개수
1-2 1 255.255.255.128 or /25 126
3-4 2 255.255.255.192 or /26 62
5-8 3 255.255.255.224 or /27 30
9-16 4 255.255.255.240 or /28 14
17-32 5 255.255.255.248 or /29 6
33-64 6 255.255.255.252 or /30 2

스텝 2: 서브넷 네트워크 ID 열거

호스트 비트의 개수에 따라 서브넷을 사용할 수 있습니다. 우선 새로운 서브넷 네트워크 ID에 대해 살펴보아야 합니다. 이에는 다음과 같은 세가지 방법이 있습니다.

  • 2진수-서브넷으로 선택된 호스트 비트의 가능한 모든 조합을 열거합니다. 그리고, 각 조합의 값을 점으로 구분한 10진수 형태로 변환합니다.
  • 10진수-각 연속적인 서브넷 네트워크 ID에 계산된 증가 값을 더하고 점으로 구분한 10진수 표기법으로 변환합니다.

각 방법은 동일한 결과를 보여줍니다. 이 방법을 이용하여 서브넷 네트워크 ID에 대한 목록을 구성할 수 있습니다.

주의    서브넷 구성을 위한 방법에는 여러 가지 방안이 존재합니다. 그러나, 그러한 방법들은 특정한 제약조건(예를 들어, 클래스 기반 네트워크 ID에서 8비트의 경우에만 사용 가능)에서만 사용 가능한 방법입니다. 여기서 설명하는 방법은 어떠한 서브넷 구성 환경(8비트 이상의 클래스 기반, 슈퍼넷, 가변 길이 서브넷 등)에서도 사용 가능한 것입니다.

이진 서브넷 구성 절차

  1. 서브넷을 위해 선택된 호스트 비트의 개수를 n 이라 하고, 2n 엔트리를 가진 3 컬럼의 테이블을 작성합니다. 첫번째 컬럼은 서브넷 번호를 나타내고, 두 번째는 서브넷 네트워크 ID의 이진수 표현입니다. 마지막 세 번째 컬럼은 서브넷 네트워크 ID의 10진수 표기된 결과를 나타냅니다.
    각각의 이진 표기된 값에서 서브넷으로 사용되는 네트워크 ID 비트는 적절한 값으로 지정하고 나머지 호스트 비트 값은 모두 0으로 지정합니다. 서브넷을 위해 사용되는 호스트 비트의 개수는 가변적일 것입니다.
  2. 첫번째 테이블 엔트리는 모든 서브넷 비트를 0으로 지정하고 이 값을 10진 표기로 변경합니다. 기존 네트워크 ID는 새로운 서브넷 마스크로 서브넷으로 구성 됩니다.
  3. 테이블의 다음 엔트리에는 서브넷 비트의 값을 증가 시킵니다.
  4. 이진 값을 10진 표기로 변경합니다.
  5. 테이블을 모두 작성할 때까지 3과 4의 과정을 반복합니다.

예를 들어, 네트워크 ID가 192.168.0.0이고 3비트 서브넷을 구성해야 하는 경우를 생각해봅시다. 새로운 서브넷 네트워크 ID를 위한 서브넷 마스크의 값은 255.255.224.0 혹은 /19 입니다. n = 3의 값이므로 테이블은 8 (= 23)개의 엔트리로 작성이 됩니다. 서브넷 1을 위한 엔트리는 모두 0으로 지정한 서브넷입니다. 테이블의 나머지 엔트리는 표 19에 보이는 것처럼 서브넷 비트를 연속적으로 증가 시켜서 작성하면 됩니다. 서브넷을 위해 사용된 호스트 비트들은 밑줄이 그어져 있습니다.

표 19    이진 서브넷 구성 방법 (네트워크 ID 192.168.0.0인 경우)

서브넷 이진 표현 서브넷 네트워크 ID
1 11000000.10101000.00000000.
00000000
192.168.0.0/19
2 11000000.10101000.00100000.
00000000
192.168.32.0/19
3 11000000.10101000.01000000.
00000000
192.168.64.0/19
4 11000000.10101000.01100000.
00000000
192.168.96.0/19
5 11000000.10101000.10000000.
00000000
192.168.128.0/19
6 11000000.10101000.10100000.
00000000
192.168.160.0/19
7 11000000.10101000.11000000.
00000000
192.168.192.0/19
8 11000000.10101000.11100000.
00000000
192.168.224.0/19

10진 서브넷 구성 절차

  1. 서브넷을 위해 선택된 호스트 비트의 개수를 n 이라 하고, 2n 엔트리를 가진 3 컬럼의 테이블을 작성합니다. 첫번째 컬럼은 서브넷 번호를 나타내고, 두 번째는 32비트 서브넷 네트워크 ID에 대한 10진수 표시입니다. 마지막 세 번째 컬럼은 서브넷 네트워크 ID의 점으로 구분한 10진수 표기된 결과를 나타냅니다,
  2. 서브넷으로 구성되는 네트워크 ID (w.x.y.z)를 점으로 구분한 10진수 표기에서 N(32비트 네트워크 ID에 대한 10진 표기)로 변경합니다.
    N = w*16777216 + x*65536 + y*256 + z
  3. 3. 남은 호스트 비트 개수 h를 이용하여 증가치 I를 구합니다.
    I = 2h
  4. 첫번째 테이블 엔트리에는 서브넷 네트워크 ID의 10진 표기인 N과 새로운 서브넷 마스크와 함께 w.x.y.z 형태의 서브넷 네트워크 ID가 위치합니다.
  5. 다음 테이블 엔트리에는 그 전 엔트리의 10진 값에 증가치 I를 더합니다.
  6. 서브넷 네트워크 ID 10진 갑을 점으로 구분한 표기(w.x.y.z) 형태로 변경합니다. 변경 시 아래와 같은 공식을 이용합니다. (s는 서브넷 네트워크 ID 10진 값을 나타냅니다.)
    W = INT(s/16777216)
    X = INT((s mod(16777216))/65536)
    Y = INT((s mod(65536))/256)
    Z = s mod(256)
  7. 테이블을 완성할 때 까지 5, 6과정을 반복합니다.

예로서, 네트워크 ID가 192.168.0.0이고 3비트 서브넷을 구성하는 경우를 생각해봅시다. n = 3이 되고 8개의 엔트리를 가진 테이블을 만듭니다. 서브넷 1 엔트리는 모든 서브넷 값이 0입니다. 192.168.0.0에 대한 10진 표기인 N값은 3232235520 (192*16777216 + 168*65536 계산에 의한 결과)입니다. 13개의 호스트 비트가 남아있으므로 증가치 값인 I 는 213 = 8192 입니다. 테이블의 남은 표 20에 보이듯이 엔트리들은 8190로 연속적으로 증가 시키면 됩니다.

표 20    10진 서브넷 구성 방법(네트워크 ID 192.168.0.0인 경우)

서브넷 10진 값 서브넷 네트워크 ID
1 3232235520 192.168.0.0/19
2 3232243712 192.168.32.0/19
3 3232251904 192.168.64.0/19
4 3232260096 192.168.96.0/19
5 3232268288 192.168.128.0/19
6 3232276480 192.168.160.0/19
7 3232284672 192.168.192.0/19
8 3232292864 192.168.224.0/19

모두 0이거나 1인 서브넷

RFC 950은 원칙적으로 모든 서브넷을 위해 사용되는 모든 비트가 다 0으로 설정되거나(모두 0인 서브넷) 1로 설정되는(모두 1인 서브넷) 것을 금지합니다. 모두 0인 서브넷은 초기 라우팅 프로토콜에서 문제를 일으키고 모두 1인 서브넷은 모든 서브넷 직접 브로드캐스트 주소(all-subnets directed broadcast address )라는 특별한 브로드캐스트 주소와 충돌을 일으킵니다.

하지만, RFC 1812는 현재 모두 0, 모두 1 서브넷을 CIDR (Classless Interdomain Routing ) 호환 환경에서 허용하고 있습니다. CIDR-호환 환경은 모두 0인 서브넷과 문제를 일으키지 않는 새로운 라우팅 프로토콜을 사용하며 모두 1인 서브넷과 충돌하는 모든 서브넷 직접 브로드캐스트를 사용하지 않습니다.

모두 0 혹은 1인 서브넷을 사용하기 이전에 우선 호스트와 라우터가 이것을 허용하는지 확인하기 바랍니다. Windows NT는 모두 0 혹은 1인 서브넷을 허용하고 있습니다.

절차 3: 각 서브넷 네트워크 ID를 위한 IP 주소 열거

열거된 서브넷 네트워크 ID를 이용하여 새로운 서브넷 네트워크 ID를 위해 IP 주소에 대한 목록을 작성해 주어야 합니다. 각 IP 주소를 모두 목록으로 작성하는 작업은 귀찮은 작업일 될 것입니다. 그 대신, 각 서브넷 네트워크 ID에 대하여 IP 주소의 범위를 지정하여 IP주소를 나타낼 수 있습니다. 이러한 방법에는 크게 두 가지 방법이 있습니다.

  • 2진수-각 서브넷 네트워크 ID에 대하여 시작과 마지막 IP 주소를 적어주고 점으로 구분한 10진수 표기법으로 변환합니다.
  • 10진수-각 서브넷 네트워크 ID에 대한 시작과 마지막 IP 주소에 적합한 증가치를 더합니다. 그 값을 점으로 구분한 10진수 표기법으로 변환합니다.

각 방법은 동일한 결과(각 서브넷 네트워크 ID에 대한 IP 주소 범위)를 보입니다.

2진 방법 절차

  1. 서브넷을 위해 선택된 호스트 비트의 수를 n 이라 하고 3개의 컬럼을 가지는 2n 엔트리 테이블을 작성합니다. 혹은, 앞에서 서브넷 네트워크 ID를 위해 사용한 테이블에 두 개의 컬럼을 추가하여 사용해도 됩니다. 첫번째 컬럼은 서브넷 번호(1부터 시작)이고 두 번째 컬럼은 서브넷 네트워크 ID에 대하여 시작과 마지막 IP 주소의 범위를 2진수 형태로 보여줍니다.세 번째 컬럼은 서브넷 네트워크 ID에 대한 IP 주소 범위를 점으로 구분한 10진수 형태로 보여줍니다.
  2. 각각의 2진 표기에서 시작 IP 주소는 끝 비트만을 제외하고 모든 호스트 비트를 0으로 설정합니다. 마지막 IP 주소는 끝 비트만을 제외하고 모든 호스트 비트를 1로 설정합니다.
  3. 2진 값을 점으로 구분한 10진 표기법으로 변경합니다.
  4. 테이블을 완성할 때까지 2, 3 절차를 반복합니다.

네트워크 ID 192.168.0.0에서 3비트 서브넷인 경우 IP 주소의 범위는 표 21에 보이는 것과 같습니다. 서브넷을 위해 사용된 비트는 밑줄이 그어져 있습니다.

표 21   IP 주소에 대한 2진 열거

서브넷 2진 표시 IP 주소의 범위
1 11000000.10101000.00000000.
00000001-11000000.10101000.00011111.
11111110
192.168.0.1 - 192.168.31.254
2 11000000.10101000.00100000.
00000001-11000000.10101000.00111111.
11111110
192.168.32.1 - 192.168.63.254
3 11000000.10101000.01000000.
00000001 - 11000000.10101000.01011111.
11111110
192.168.64.1 - 192.168.95.254
4 11000000.10101000.01100000.
00000001 -11000000.10101000.01111111.
11111110
192.168.96.1 - 192.168.127.254
5 11000000.10101000.10000000.
00000001 - 11000000.10101000.10011111.
11111110
192.168.128.1 - 192.168.159.254
6 11000000.10101000.10100000.
00000001 - 11000000.10101000.10111111.
11111110
192.168.160.1 - 192.168.191.254
7 11000000.10101000.11000000.
00000001 -11000000.10101000.11011111.
11111110
192.168.192.1 - 192.168.223.254
8 11000000.10101000.11100000.
00000001 - 11000000.10101000.11111111.
11111110
192.168.224.1 - 192.168.255.254

내용출처 : http://www.microsoft.com/korea/technet/deploy/tcpintro/tcpintro9.asp
답변들
re: 서브넷(subnet)에 대해 자세한 설명좀

imjety (2004-03-28 22:30 작성) 이의제기 | 신고하기
subnet and subnet mask ; 서브넷과 서브넷 마스크

서브넷 (subnet)은 "subnetwork을 줄인 말로서 어떤 기관에 소속된 네트웍이지만 따로 분리되어 있는 한 부분으로 인식될 수 있는 네트웍을 말한다. 일반적으로 하나의 서브넷은 하나의 지역, 한 빌딩 또는 같은 근거리통신망 내에 있는 모든 컴퓨터들을 나타낼 수 있다. 여러 개의 서브넷으로 나뉘어진 어떤 조직의 네트웍은 인터넷에 하나의 공유된 네트웍 주소로 접속될 수 있다. 만약 서브넷이 없다면, 그 조직은 물리적으로 분리된 서브 네트웍마다 하나씩, 여러 군데의 인터넷 접속을 가지게 될 것이며, 그렇게 함으로써 한정된 량의 인터넷 주소가 쓸모 없이 낭비될 수도 있게된다.

인터넷은 네트웍 사용자들 간에 서로 커뮤니케이션을 하기 위한 네트웍의 집합이다. 커뮤니케이션을 위해서는 양측의 사용자 또는 호스트가 관련되어 있는 발신지와 도착지 네트웍, 그리고 네트웍 내의 특정한 컴퓨터의 주소가 있어야 한다. 이 주소를 IP 주소라고 부른다. 32 비트의 IP 주소는 크게 두 부분으로 나뉘는데, 하나는 네트웍을 식별하는 네트웍 번호이고, 다른 하나는 네트웍 내의 특정한 컴퓨터나 호스트를 식별하는 호스트 번호이다. 한 기관에서 특정한 서브넷을 확인시키기 위해 컴퓨터나 호스트를 식별하는 주소 내의 비트들을 일부 사용할 수 있다. 그러므로 실제로는 IP 주소에는 네트웍 번호, 서브넷 번호, 그리고 컴퓨터 번호 등 세 부분이 포함되어 있는 셈이다.

서 브넷을 만들고 확인시키는 표준절차가 인터넷 RFC 950에 제공된다.

IP 주소

32 비트의 IP 주소는 점에 의해 구분되는 4 부분의 십진수로 구성되어 있다. 예를 들면

130.5.5.25

와 같이 표현할 수 있는데, 각 십진수는 8 비트의 2진수 스트링을 표현한다. 그러므로, 위의 IP 주소는 실제로 0과 1로 표현한다면

10000010.00000101.00000101.00011001

처럼 된다. 위에 보는 바와 같이, 십진수로 되어 있는 IP 주소에서처럼 각 8자리의 2진수들 간에도 점이 삽입되어 있다. 10진수 IP 주소는 읽기가 쉬우므로 널리 사용된다.

IP 주소의 일부부분은 네트웍 번호를 표현하고, 일부분은 지역의 컴퓨터 주소를 나타낸다. IP 주소에는 몇 가지 클래스가 있는데, 각 클래스는 네트웍 번호를 몇 비트로 나타내는가 그리고 호스트 번호를 몇 비트로 나타내는가를 결정한다. 큰 기관에서 가장 일반적으로 사용되는 클래스가 B 클래스인데, 이것은 네트웍 번호에 16 비트를, 그리고 호스트 번호에 16 비트를 할당하는 것이다. 위의 예를 사용하여, IP 주소가 분할되는 것을 나타내 보면 다음과 같다.

<--네트웍번호--><--호스트 번호-->

130 . 5 . 5 . 25
만약 이 주소에다가 서브넷을 추가하기를 원한다면, 호스트 번호의 일부분 (예를 들면 총 16비트 중 8 비트)을 서브넷 주소로 사용할 수 있으며, 다음과 같이 된다.

<--네트웍 번호--><--서브넷주소--><--호스트 번호-->

130 . 5 . 5 . 25
여 기서는 설명을 간단히 하기 위하여 서브넷을 8 비트로 정했지만, 실제로는 세 번째 쿼드의 일부, 심지어 네 번째 쿼드의 일부만을 서브넷으로 사용하는 등, 다른 구성을 선택할 수 있다.

서브넷 마스크

한 기관의 게이트웨이나 고유한 네트웍번호로 되어 있는 연결점에 패킷이 도착하면, 그 패킷은 서브넷 번호를 이용하여 조직 내부의 게이트웨이에서 다시 라우팅 될 수 있다. 이때 그 라우터는 서브넷 마스크를 봄으로써 어떤 비트를 참조해야하는지 또는 참조할 필요가 없는지를 알게된다. 마스크는 단순히 라우터가 참조해야할 비트가 어느 것인지를 말해주는 일종의 필터이다. 2진수 마스크에서 한 번호 상의 "1"은 "그 번호 이하를 보라"는 것을 의미하고, "0"은 "그 이하는 볼 필요가 없다"는 것을 의미한다. 마스크를 사용하면 라우터가 32 비트 주소 전체를 처리해야하는 부담을 줄여주며, 단순히 마스크에 의해 선택된 비트들만 보도록 해준다.

앞의 예제를 보면, 네트웍번호와 서브넷번호를 합하여 총 24 비트(또는 세 개의 쿼드)가 사용되고 있다. 그 패킷에 적용되기에 적절한 서브넷 마스크는 아마도 다음과 같은 것이 될 것이다.

255.255.255.0

또는 앞의 세 개의 쿼드에는 모두 "1"을 채움으로써 라우터에게 이 부분을 보라고 말하고, 라우터가 볼 필요가 없는 제일 마지막 쿼드에는 모두 "0"을 채우면 된다. 서브넷 마스크는 라우터에게 패킷을 좀더 빠르게 이동시킬 수 있도록 해준다.

만약 한 조직의 서브넷을 만들고(이런 일을 영어로는 "서브네팅"이라고 부른다) 서브넷 마스크를 정의하는 일이 주어졌다면, 그 일은 조직의 크기나 복잡도 그리고 또다른 요인들에 따라 간단할 수 있고, 복잡할 수도 있다. 아래에 열거한 추가정보가 도움이 될 수 있을 것이다.
----------------------------------------------------

만 약 IP Address에 Class 개념이 없고 오직 Net Mask 개념만 있다고 가정하자.

IP Address network host
Net Mask 11111... 0000....



만약 네트웍부분의 길이가 8인 130.0.0.0 이라는 IP Network Address가 있다고 가정하자. 이것은 130.0.0.0/8로 표시될 수 있다. 그런데 이것을 다시 Net Mask /16으로 Subnetting 한다고 가정해 보자.



10000010.00000000.00000000.00000000 130.0.0.0 // IP Network Address
11111111.00000000.00000000.00000000 255.0.0.0 // 원래 Net Mask
11111111 11111111.00000000.00000000 255.255.0.0 // 새 Net Mask



그러면 130.0.0.0/8에 대한 Subnetwork 은 다음과 같은 것들이 가능하다.

130.0.0.0/16
130.1.0.0/16
130.2.0.0/16
......... 256개 subnetwork
130.254.0.0/16
130.255.0.0/16



여기에서 Class 개념을 다시 부활시키면 위 256개의 Subnetwork 들은 모두 독립적인 Class B IP Network Address이다. 즉 130.0.0.0/8은 위 256개의 Class B IP Network Address를 묶어 놓은 것과 동일한 표현이다.



여기에서 우리가 알 수 있는 것은 Net Mask의 길이를 늘려가면 여러개의 Subnetwork을 만들어 낼 수 있지만 Net Mask의 길이를 짧게해가면 여러개의 Network Address를 축약해 간단히 표기할 수 있는 장점이 있다.




Subnetting을 할 경우 Net Mask의 길이가 길어짐
I P A D D R E S S
*----본래 Net Mask----*
*--------새 Net Mask--------*



Supernetting을 할 경우 Net Mask의 길이가 짧아짐
I P A D D R E S S
*----본래 Net Mask----*
*--새 Net Mask--*



그 리고 이때 이용된 Net Mask는 Subnet Mask의 반대개념으로 이것을 Supernet Mask라고 한다. 그리고 이렇게 Network Address 여러개를 하나로 묶어 표현하는 것을 Aggregation 혹은 Summarization 혹은 Supernetting이라고 한다.



Aggregation된 Network Address를 보면 새 Net Mask에 대응되는 bit열은 모두 동일한 특징을 가지고 있다. 130.1.0.0/16 ~ 130.255.0.0/16은 130.0.0.0/8로 Aggregation되었는데 130.1.0.0/16 ~ 130.255.0.0/16의 처음 8bit는 모두 10000010 으로 동일하다.