우리가 흔히 사용하는 IP주소 체계인 IPv4는 이론적으로 42억개의 네트워크 장치에 IP Address를 부여 할 수 있습니다.

 

굉장히 많은 숫자지만, 컴퓨터 뿐만 아니라 스마트폰 같이 다양한 네트워크 장비가 대중화 되다보니

 

주소가 부족해지고 있습니다.

 

 

게다가 42억개를 각 네트워크 마다 아무렇게 둘 수가 없습니다.

 

 A 클래스는 하나의 네트워크에 16,777,214개나 되는 호스트 IP를 할당할 수 있기에

 

국제 규모의 기업이나 단체가 아닌이상 비효율적 일 수 밖게 없습니다.

 

만약, 네트워크 장비가 적은 가정집에서 A 클래스를 사용하게 된다면 상당히 비효율적 일 겁니다.

 

이러한 문제를 해결하기 위해서 IP를 효율적으로 사용할 수 있도록하는 방법이 등장하게 됬는데,

 

이 방법의 이름이 서브넷(Subnet)입니다.

 

 

 

그 다음 소개할 용어는 서브넷 마스크입니다.

 

서브넷 마스크는 IP주소 체계의 네트워크 아이디와 호스트 아이디를 변경하여서

 

네트워크 영역을 분리또는 합체시키는 개념입니다.

 

네트워크 영역을 분리하는 것을 서브넷팅, 합치는 것을 슈퍼넷팅이라고 합니다.

 

 

 

서브넷팅은 서브넷 마스크를 이용하여 호스트 아이디를 네트워크 아이디로 변환하게되고,

 

슈퍼넷팅은 서브넷 마스크를 이용하여 네트워크 아이디를 호스트 아이디로 변환하게 됩니다.

 

 

 

 

서브넷 마스크의 형태는 IP주소와 같이 32bit의 2진수로 되어 있으며,

 

똑같은 ○○○.○○○.○○○.○○○ 형태로 되어있습니다.

 

그러나 형태가 같다고 해서 역할을 혼동하면 안됩니다.

 

형태가 같은 이유는 IP주소와 서브넷 마스크를 AND 연산하기 위해서 입니다.

 

 

 

 

IP주소의 클래스별 기본 서브넷 마스크를 보도록 하겠습니다.

 

 


Octet 1
Octet 2
Octet 3
Octet 4
A Class IP
116
81
97
8
Network ID
Host ID
Host ID
Host ID
Subnet Mask ( /8 )
255
0
0
0


Octet 1
Octet 2
Octet 3
Octet 4
B Class IP
171
47
154
1
Network ID
Network ID
Host ID
Host ID
Subnet Mask ( /16 )
255
255
0
0


Octet 1
Octet 2
Octet 3
Octet 4
C Class IP
214
175
213
51
Network ID
Network ID
Network ID
Host ID
Subnet Mask ( /24 )
255
255
255
0

 

 

각 클래스마다 네트워크 아이디로 사용되는 옥탯에 255가 있습니다.

 

이 때문에 IP주소의 클래스를 구분할 때 서브넷 마스크를 보는 분들도 계시지만, 이는 잘못된 방식입니다.

 

서브넷이 등장한 이유가 IP 부족현상을 해결하기 위함인데 먼저 탄생한 IP 주소체계를 서브넷을 통해

 

구분하는 것은 잘못된 방식입니다.

 

특히 서브넷과 반대되는 개념인 슈퍼넷을 이해하기 어려워지며, 서브넷팅에 대해서도 이해가 어려워집니다.

 

IPv4 주소체계가 이렇게 복잡한 이유는.. 처음 IPv4를 연구할 때에는 지금처럼 인터넷 사용 기기가 많아질 것이라고

 

예측하기 못하였기 때문입니다.

 

 

그리고 서브넷 마스크뒤에 /24 같은 것들이 적혀있는데 이는 서브넷 마스크의 bit 수를 의미합니다.

 

옥탯의 8bit가 모두 1일 경우 10진수로 255가 되기에 /24는 왼쪽부터 나열된 1bit의 수가 24개라는 뜻이 됩니다.

 

따라서 192.168.0.3/24는 IP주소가 192.168.0.3 이며, 서브넷 마스크가 255.255.255.0이라는 의미입니다.

 

 

 

서브넷팅에 대해서 자세히 알아보겠습니다.

 

서브넷팅은 2진수로 표현하였을 때 네트워크 아이디 부분은 1이 연속적으로 있어야 하며,

 

호스트 아이디 부분은 0이 연속적으로 있어야 합니다. 즉. 중간에 1이나 0이 섞이면서 나열될 수 없습니다.

 

예를 들어 11111111.11111111.1111111.00000000(255.255.255.0)에서 네 번째 옥탯에 1bit를 확보하면

 

11111111.11111111.11111111.10000000(255.255.255.128)이 됩니다.

 

 

서브넷팅을 통해 네트워크 아이디가 확장되므로 인해서 할당할 수 있는 네트워크의 수가 늘어납니다.

 

하지만 네트워크가 분리되므로 인하여 서로가 통신하기 위해서는 라우터를 통해서만 가능하게 됩니다.

 

 

호스트 아이디를 네트워크 아이디로 변화하기 위해 한 bit씩 가져올 때마다 네트워크의 크기는 2배 증가하고,

 

호스트 수는 2로 나누어지게 됩니다.

 

예를 들어 194.139.10.123/25를 보여드리겠습니다. /25는 서브넷 마스크가 25bit라는 의미로 255.255.255.128이 됩니다.

 

그럼 호스트에 IP를 할당할 수 있는 범위가 [0~127],[128~255]가 되며, 네트워크는 [194.139.10.0],[194.139.10.128] 2개로

 

나누어지게 됩니다. 그러면 194.139.10.7/25가 속한 네트워크는 어디일까요? 네 [194.139.10.0]입니다.

 

다른 서브넷팅 된 네트워크와는 라우터를 통하여서만 통신할 수 있습니다.

 

 

194.139.10.123/26으로 하나 더 해보겠습니다.

 

/26은 서브넷 마스크가 26bit이기에 11111111.11111111.11111111.11000000(255.255.255.192)이 됩니다.

 

 

따라서 호스트에 할당 가능한 IP의 범위는 [0~63], [64~127], [128~191], [192~255] 4개로 쪼개집니다.

 

호스트의 수가 64개로 줄어들기 때문에 4개로 쪼개집니다.

 

네트워크는 194.139.10.0], [194.139.10.64], [194.139.10.128], [194.139.10.192] 총 4개로 나누어지게 됩니다.

 

따라서 194.139.10.123이 속한 네트워크는 194.168.10.64/26에 속하게 되며,

 

서브넷팅 된 3개의 다른 네트워크와는 라우터를 통하여서만 통신할 수 있습니다.

 

 

 

여기서 중요하게 봐야될 점이 있습니다.

 

각 네트워크를 구분할 때 각 범위의 가장 첫번째 IP를 사용하고 있다는 점입니다.

 

이를 Network Address라고 부르며, 사용할 수 없는 IP주소입니다.

 

또 가장 마지막 IP주소는 Broadcast address이기에 사용 할 수 없습니다.

 

따라서 각 네트워크의 IP 범위에서 가장 첫번째 주소와 가장 마지막 주소 두 개는 호스트에 할당할 수 없습니다.

 

이는 기본 서브넷 마스크를 사용하여 서브넷팅 시키지 않은 모든 네트워크에서도 동일하게 적용됩니다.

 

 

194.139.10.0/26 194.139.10.0/26 Network Address
194.139.10.1 ~ 194.139.10.62 Host IP
194. 139.10.63 Broadcast Address
194.139.10.64/26 194.139.10.64/26 Network Address
194.139.10.65 ~ 194.139.10.126 Host IP
194. 139.10.127 Broadcast Address
194.139.10.128/26 194.139.10.128/26 Network Address
194.139.10.129 ~ 194.139.10.190 Host IP
194. 139.10.191 Broadcast Address
194.139.10.192/26 194.139.10.192/26 Network Address
194.139.10.193 ~ 194.139.10.254 Host IP
194. 139.10.255 Broadcast Address

 

 

출처:http://korean-daeddo.blogspot.kr/2016/01/blog-post_26.html

 

 

 

 

 

+ Recent posts