White Whale Studio

Subnet Mask [☆☆☆] 본문

IT Engineering/Network

Subnet Mask [☆☆☆]

glorymind 2012. 1. 5. 13:57
반응형
서브(Sub) 즉, 부가적으로 뭔가를 씌운다는 것이다.
뭘 씌우냐? 피박, 광박, 독박?  -ㅅ-

                                                                                   뭐 요런거???
..

마스크를 씌운다는 거다.
마스크를 씌우는 데에는 이유가 있다.
예를 들어 클래스 B주소를 받아 65,000여개의 호스트를 가지는 네트워크에서 같은 브로드 캐스트 도메인으로 큰 네트워크를 구성했다가는 브로드캐스트 때문에 영향을 많이 받게 될 것이다.
이러한 이유 때문에, 주어진 네트워크를 서브넷 마스크를 씌워 나눠주는 것이다.

네트워크 부분 150,150.0.0 일때, 호스트 수 65,534개

모든 IP 주소에는 서브넷 마스크가 따라다닌다.
현재 사용하고 있는 PC에서도 인터넷이 된다면, 네트워크 설정에서 TCP/IP 세부 설정사항을 확인해보면 쉽게 알 수 있다.

예시를 들어보자.
210.100.100.1 이라는 주소가 있다. 앞에서 포스팅한 Class 부분에 근거하면 이 주소는 클래스 C이다.
클래스 C로 가용한 주소는 254개이다.
기본적으로 아무런 설정을 하지 않는다면 디폴트 서브넷 마스크(Default Subnet Mask)가 따라다닌다.
클래스 C의 경우에는 255.255.255.0 이니, 거꾸로 유추해보면
클래스 B는 255.255.0.0 클래스 A는 255.0.0.0 이다.(참 쉽죠잉..)

위의 디폴트 서브넷 마스크를 수정을 하지 않을 때의 기본  설정값이고, 네트워크가 방대해서 설정이 필요한 경우에는 고쳐서 사용한다.
다시 한번 정의하면, 서브넷 마스크는
IP주소를 가지고 네트워크 부분과 호스트 부분을 구분시켜주는 역할

255.255.255.0 을 이진수로 표현하면
1111 1111.1111 1111.1111 1111.0000 0000 과 같다.

여기서 1인 부분은 네트워크 부분, 0인 부분은 호스트 부분이다.
여기서 서브넷 네트워크를 구하는 기본 방법은 AND 연산을 사용하는 거다. 이진수에서 둘다 1일때만 결과값이 1이되는거..

      1101 0010.0110 0100.0110 0100.0000 0001 = 210.100.100.1     => IP 주소
↓    1111 1111.1111 1111.1111 1111.0000 0000 = 255.255.255.0     => 서브넷 마스크(클래스 C)
      1101 0010.0110 0100.0110 0100.0000 0000 = 210.100.100.0     => 서브넷 네트워크 부분

IP주소와 서브넷 마스크의 2진수 AND 연산을 수행하면 나오는 결과값이 바로 서브넷 네트워크 부분으로, 설정된 네트워크에서 같은 브로드캐스트를 가지는 도메인의 네트워크 부분을 알 수 있게되는 것이다.
물론... 이렇게 눈에 띄게 나오는 경우는 연산을 하지 않고 그냥 봐도 쉽게 알 수 있다.

위의 예시는 클래스 C의 경우라 크게 와닿지는 않고 B의 경우를 다시한번 살펴보자.
B같은 경우는 위에서도 언급했듯이, 65,534 개의 방대한 범위를 가지기 때문에 서브넷 마스크로 브로드캐스트 도메인을 축소시켜줄 필요가 있다.
B의 디폴트 서브넷 마스크는 255.255.0.0 이지만, 축소를 위해 C의 디폴트 서브넷 마스크 255.255.255.0을 씌운 예를 보자.

1001 0110.1001 0110.0110 0100.0000 0001    => 150.150.100.1    // IP 주소
1111 1111.1111 1111.1111 1111.0000 0000    => 255.255.255.0    //수정된 서브넷 마스크(C클래스)
1001 0110.1001 0110.0110 0100.0000 0000    => 150.150.100.0       // 서브넷 네트워크

기본 서브넷 마스크를 씌웠다면 네트워크 부분이 150.150.0.0 이 되겠지만, 클래스 B에 클래스 C가 쓰는 모양의 서브넷 마스크를 씌워 150.150.100.0 으로 만듦으로써, 네트워크 부분은 늘어나고 호스트 부분은 줄어 들어서, 결과적으로는 작은 네트워크로 만들게 되었다.


서브넷 마스크의 기본 성질(또는 규칙)

서브넷 마스크를 만들때에도 일정한 규칙이 있다.
서브넷 마스크를 이진수로 봤을때, 1들 사이에 0이 있어서는 안된다.(이런 경우에는 서브넷 마스크로 사용할 수 없다.)

예를 보자.
1111 1111.1111 1111.1111 1111.0000 1010 = 255.255.255.10  (X)
1111 1111.1111 1111.1111 1111.0000 1111 = 255.255.255.15  (X)
1111 1111.1111 1111.1111 1111.1111 1100 = 255.255.255.252 (O)
위의 예를 보면 대충 감을 잡았겠지만, 좌측에서부터 이어지는 1의 연속된 흐름 중간에 끝까지 0이 섞이면 안된다는 것이다.
1이 끝나고나서 뒤에 0이 오는 경우는 사용이 가능한다.

문제를 몇 개 풀어보자.(나도 풀고 싶지 않아..ㅠㅠ)

문제1. 다음과 같은 상황에서 서브넷??

IP주소

서브넷 마스크

서브넷

201.222.10.60

255.255.255.248

 

15.18.192.6

255.255. 0. 0

 

음.. 답은 아래의 줄임말에서 확인하자.

서브넷 마스크가 255 인경우에는 서브넷도 그대로 따라간다고 보면된다. 210.22.0.0 이 255.255.0.0 을 만나면
210.22.0.0 과 같이 255인 부분은 그대로 쓴다.(계산 결과가 필연적으로 그렇게 된다.)

아, 또 한가지, 서브넷 마스크를 이용해서 나눈 다음에 두개의 네트워크 사이에는 라우터가 놓여져야 된다.

문제2. IP주소 203.10.24.27 라는 호스트의 서브넷 마스크가 255.255.255.240 일 때, 이 네트워크의 호스트 범위와 브로드 캐스트 주소는 어떻게 되는가?
1. HOST 203.10.24.16 ~ 203.10.24.31,    BroadCast 203.10.24.32
2. HOST 203.10.24.1   ~ 203.10.24.254,  BroadCast 203.10.24.255
3. HOST 203.10.24.17 ~ 203.10.24.31,    BroadCast 203.10.24.32
4. HOST 203.10.24.17 ~ 203.10.24.30,    BroadCast 203.10.24.31

※ 종이랑 필기구 꺼내서 풀어보기 바란다. 본인 다 풀어 놓고 시원하게 틀렸다.
풀이는 아래에.

문제3. 클래스 B주소를 가지고 서브넷 마스크 255.255.255.240 으로 서브넷을 만들었을 때 나오는 서브넷의 수와 호스트의 수가 맞게 짝지어진 것은?
1. 서브넷 2048 / 호스트 14
2. 서브넷 14 / 호스트 2048
3. 서브넷 4094 / 호스트 14
4. 서브넷 254 / 호스트 254
5. 서브넷 254 / 호스트 8190
반응형

'IT Engineering > Network' 카테고리의 다른 글

Status Change of Spanning Tree  (1) 2012.01.10
Spanning Tree Protocol(STP)  (0) 2012.01.09
GateWay  (0) 2012.01.05
IP Story..  (1) 2012.01.04
Looping & Spanning Tree Algorithm  (0) 2012.01.03
Comments