반응형

[광고 누르면 오늘의 행운 상승!!]


어떤 가공을 통해 네트워크를 만들기 위해서 씌우는 마스크라고 생각하면 된다. 다시 말해서 우리가 어떤 IP주소를 배정받게 되면 보통은 이 주소를 그대로 사용하지 않는다. 왜냐하면 자신의 입맛에 맞추어야 하기 떄문이다.

예를 들어 클래스 B 주소를 받았다면 그냥 사용해도 괜찮을까? 하나의 네트워크가 65,000개의 호스트를 가지는데, 이렇게 큰 네트워크를 구성했다가는 브로드 캐스트의 영향이 너무 커서 아마 아무것도 할 수 없을 것이다.

따라서 나누어 써야 한다.



IP를 자를 때 서브넷 마스크를 사용한다. 서브넷 마스크는 주어진 IP주소를 네트워크 환경에 맞게 나누어 주기 위해서 씌워주는 이진수의 조합이다.

210.100.100.1이라는 주소가 있을 때 이 주소는 C클래스이다. 그래서 이 주소를 가지고 254개의 호스트에 IP주소를 부여했다고 가정하면 C를 하나도 가공하지 않고 그대로 사용한 것이다. 그렇다고 서브넷 마스크를 쓰지 않느냐? 그건 아니다. 이처럼 주어진 클래스 C를 나누어 쓰지 않고 몽땅 쓰는 경우에도 서브넷 마스크는 따라다는데, 그게 바로 디폴트 서브넷 마스크(Default Subnet Mask),즉 기본 서브넷 마스크이다.

클래스 C의 경우 디폴트 서브넷 마스크는 255.255.255.0이다.

클래스 B의 경우는 255.255.0.0이고, 또 클래스 A는 255.0.0.0이다.

그러므로 주어진 네트워크를 하나도 나누지 않고 그대로 다 쓰는 경우는 디폴트 서브넷 마스크 쓰면 된다 하지만 주어진 네트워크를 나누어서, 즉 가공해서 쓰는 경우는 디폴트 서브넷 마스크를 쓰지 않고 약간 고쳐서 쓴다.(이런 경우는 디폴트 서브넷 마스크라고 하지 않고 서브넷 마스크라고 한다)

여기서 알아두어야 할 것은 서브넷 마스크는 IP주소를 가지고 어디까지가 네트워크 부분이고, 또 어디까지가 호스트 부분지를 나타내는 역할을 한다는 것이다. 따라서 서브넷 마스크를 보면 그 IP주소의 네트워크 부분과 호스트 부분을 알 수 있다.

이때 네트워크는 서브넷 마스크가 이진수로 '1'인 부분이고, 호스트는 서브넷 마스크가 이진수로'0'인 부분이라는 것이다. 즉, 가령 210,100,100,1의 서브넷 마스크가 255.255.255.0이라면 (255는 이진수로 바꾸면 1111 1111이다.) 255.255.255.0은 1111 1111.1111 1111.1111 1111.0000 0000과 같다.

여기서 1인 부분은 네트워크 부분을 나타낸다고 했으니 앞의 세 자까지는 네트워크 부분이 되고, 뒤에 한 자리는 호스트 부분이 된다. 따라서 210.100.100이 바로 네트워크 부분이 되고 나머지 1라고 쓰인 부분이 호스트가 된다.

1101 0010.0110 0100.0110 0100.0000 0001 = 210.100.100.1 -> IP주소
1111 1111.1111 1111.1111 1111.1111 1111 = 255.255.255.0 -> 서브넷 마스크
1101 0010.0110 0100.0110 0100.0000 0000 = 210.100.100.0 -> 서브넷 네트워크

클래스 C의 기본 성격과 같다 그래서 255.255.255.0이 클래스 C의 디폴트 서브넷 마스크가 되는 것이다. 잊어버리면 안되는 것이 서브넷 마스크가 이진수로 '1'인 부분이 네트워크가 되고 '0'인 부분이 호스트가 된다는 것이다.

이것이 논리적 AND연산이다. 즉 위에 IP주소를 적고, 아래에 서브넷 마스크를 적은 후 이 둘을 논리적 AND연산을 하게 되면 아래에 나온 답이 바로 서브넷이 되는 것이다. 앞에서 배운 대로 논리적 AND연산은 양쪽이 모두 1인 경우에만 1이 된다는 특징을 가지고 있다.

150.150.100.1이라는 IP주소에 디폴트 서브넷 마스크 255.255.0.0을 씌우면 서브넷 마스크를 통과해서 내려온 부분은 150.150.0.0이 된다.

150.150.100.1 | 1001 0110.1001 0110.0110 0100.0000 0001
255.255.0.0   | 1111 1111.1111 1111.0000 0000.0000 0000

↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 

150.150.0.0   | 1001 0110.1001 0110.0000 0000.0000 0000

그림에서 서브넷 마스크를 통과해서 내려오는 값은 맨 윗줄의 IP주소와 그다음 줄의 서브넷 마스크를 이진수로 만든 후 논리적 AND(Logical AND)를 수행한 값이 맨 아랫줄로 나오게 된다. 맨 아랫줄에 나온 네트워크 부분을 잘 살펴보면 이전에 말했던 대로 서브넷 마스크 부분이 이진수로 '1'인 부분(십진수로 255인 부분)은 위에 있던 주소가 그대로 아래로 내려왔고, 서브넷 마스크 부분이 이진수로'0'인 부분(십진수로 0인 부분)은 위에 무엇이 있든 간에 무조건'0으로 되어서 내려오는 것을 알 수 있다.

이렇게 나온 값 150.150.0.0이 바로 150.150.100.1의 네트워크 부분이다.

그럼 이번에는 150.150.100.1에 디폴트 서브넷 마스크가 아닌 새로운 서브넷 마스크 255.255.255.0을 씌워보면 1인 부분은 그대로 내려오고 서브넷 마스크가 0인 부분은 모두 0이 된다는 원칙에 따라서 새로운 네트워크 부분이 된다.

150.150.100.1 | 1001 0110.1001 0110.0110 0100.0000 0001
255.255.255.0 | 1111 1111.1111 1111.1111 1111.0000 0000

↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 

150.150.100.0 | 1001 0110.1001 0110.0110 0100.0000 0000

이와같이 서브넷 마스크가 255.255.255.0이 되자 서브넷 마스크를 통과해서 아래로 내려온 네트워크 부분은 3자리의 십진수로 늘어났다. 즉 150.150.100.0이 되었다. 이 의미는 클래스 B주소를 마치 클래스 C처럼 사용한다는 의미이다. 이렇게 하나의 주소를 서브넷 마스크를 씌워서 작은 네트워크로 만드는 것을 서브넷팅 이라고 한다.

정리

서브넷 마스크는 디폴트 서브넷 마스크와 무언가 변형을 한 서브넷 마스크로 나누어 볼 수 있다. 그리고 서브넷 마스크를 사용하는 이유는 커다란 네트워크(호스트 숫자가 많은 네트워크)를 작은 네트워크 여러 개로 나누어서 쓰기 위함이다. 서브넷 마스킹은 기존IP주소의 호스트 부분의 일부를 네트워크 부분으로 바꾸는 작업이다.

출처 : 후니의 쉽게 쓴 시스코 네트워킹

반응형

'7. Infra > 2. Network' 카테고리의 다른 글

서브넷마스크3[Subnet Mask]  (0) 2020.08.04
서브넷 마스크2[Subnet Mask]  (0) 2020.08.04
SAN[Storage Area Network]  (0) 2020.08.04
NIC[network interface controller][랜카드]  (0) 2020.08.04
VPN [Virtual Private Network]  (0) 2020.08.04

+ Recent posts