본문 바로가기
System Engineering

서브넷 마스크

by 낫싱 2023. 4. 18.
728x90
반응형

[Subnet mask]

서브넷마스크 : 그대로 서브, 메인이 아닌 어떤 가공을 통한 네트워크를 만들기 위해서

씌우는 마스크. , 우리가 일단 어떤 IP주소를 받게 되면 보통은 주소를 사용하지 않고

자신에게 맞춰 사용한다.

 

IP주소를 자를 서브넷 마스크를 사용해서 나눠준다. , 부여받은 원래 상태의 IP주소에

서브넷 마스크를 씌워서 네트워크를 나누어 준다.

 

같은 클래스여도 서브넷마스크에 따라 네트워크 환경이 나뉘게 되어있다.

1. 2진수 개념을 잘 알고 있어야 합니다.

- 2진수란 0과 1로 조합되는 숫자이며

2. '논리적 로지컬AND' 를 알고 있어야 합니다.

- 논리적 로지컬 앤드란 양쪽의 성질이 모두 1일 때 결과값이 1이 된다는 것으로 아래처럼 됩니다.

0 AND 0 = 0

0 AND 1 = 0

1 AND 0 = 0

1 AND 1 = 1

1번과 2번에 대해서 확실히 개념을 파악하고 있으면 서브넷 마스크 공부는 쉽게 이해할수 있습니다.

지금부터 왜 Subnet Mask 왜 필요한지 정의 공부​를 시작하겠습니다.

 

서브(Sub)란 메인이 아닌 어떤 가공을 통한 Network 망 구축을 만들기 위해 덮어씌우는 마스크

라우터로부터 어떤 아이피주소를 배정받게 되면 우리는 이 ip주소를 받은대로 사용하지 않고 다르게 사용하는데요/

위의 이미지 1번처럼 B Class 를 받아 아이피를 나눠주지않고 사용하는 경우는 브로드캐스트가 되기 때문에 서브네팅(아이피 나눠주기)이 필요합니다.

예를들어 B클레스 IP주소를 부여받게 되면 65,000개 호스트 IP주소중에 1개만 나눠서 사용을 하는 것으로 서브넷 마스크는 65,000의 아이피주소를 나눠주는 역할을 합니다. 즉 구축된 네트워크망 환경에 맞추어 나누어주는 2진수의 조합이라고 생각하면 됩니다.

서브넷 마스크를 사용하면 이미지 2번 사진과 같이 구축망이 생기게 됩니다. Subnet Mask 는 디폴트(기본값)이 255.255.0.0 255.255.255.0 으로 바뀌게 되고 각각 서브넷들간의 송수신은 Router 를 통과해서만 가능하므로 150.150.1.0 네트워크부분과 150.150.2.0 네트워크 ip주소는 라우터를 반드시 통과해야 합니다.

 

 


 

모든 아이피주소에는 기본 서브넷 마스크 디폴트 값이 따라다닙니다.

예를들어서 C클래스 주소 모두 사용한다고해도 디폴트 값이 따라 다닌다는 것으로

쉽게 설명을 하자면 IP주소를 나눠 사용하기 위해서 사용하는 Subnet Mask 는 그 IP주소를 나누지 않더라도 Always 항상 꼬리표처럼 붙어 다닌다는 뜻입니다. 이렇게 해야 주소를 나눠논건지, 나누지 않은건지 확인 할수 있기 때문입니다.

예를들어

210.100.100.1 이란 C lass 의 IP주소는 254개의 호스트에 IP주소를 설정했다고 가정 할 때,

주어진 C클래스를 단 1개도 가공하지 않고, 서브네팅을 하지 않고 사용한 것입니다. 이 때 기본 디폴트 값이 있는데,

C클레스의 기본 서브넷 마스크 디폴트 값은 255.255.255.0

B클래스의 기본 서브넷 마스크 디폴트 값은 255.255.0.0

A클래스의 기본 서브넷 마스크 디폴트 값은 255.0.0.0

이와같이 됩니다.

따라서 네트워크를 1개도 나누지 않고 있는 그대로 사용하는 경우네는 클래스별로 기본 디폴트값을 사용하면 됩니다.

 

Q. 콜리전 도메인의 크기가 커지면 네트웍 트래픽이 커지니 콜리전 도메인 크기를 작게 구성해야 된다고 하였다.

그럼 콜리전 도메인의 크기를 작게 하는 방법이 서브넷 마스크라고 있는가?

A. 콜리전은 이더넷의 기본적인 성질이므로 이를 막을 없다. 다만 콜리전에 자주 발생하면 통신 효율이 떨어지기 때문에

콜리전을 적정 규모로 가져가는 것이 중요하다.

 

콜리전 도메인을 나누는 방법은 라우터가 아니고 스위치이다. 물론 라우터로도 나눌 있지만 그것은 적당한 방법이 아니다.

따라서 스위치를 사용하면 콜리전 도메인을 나누는 역할을 해서 효율적인 통신이 가능하다.

하지만 스위치를 사용해서 콜리전 도메인을 나누더라도 브로드캐스트 도메인의 크기는 그대로이다.

, 브로드캐스트 도메인 콜리전 도메인 이다.

 

브로드캐스트는 통신저하, PC자체의 성능 저하를 가져오기 때문에 사용하는 프로토콜에 따라 브로드캐스트 도메인을

적정 규모로 유지하는 또한 중요.

TCP/IP 경우 200에서 250 전도가 도메인에 있는 것이 정상인데 이렇게 브로드캐스트 도메인을 나누는 데는

라우터가 쓰인다.

, 브로드캐스트는 라우터를 넘어서 다른 네트워크로 가지 않는다. 브로드캐스트 도메인을 나누었다는 것은 네트워크를

나누었다는 의미이기 때문에 통신을 위해서는 라우터가 필요하다.

 

 

[기본성질]

안녕하세요! 네트워크기초 공부를 하고 있는 직장인 입니다.

오늘은 그동안 포스팅 공부하였던 것을 바탕으로 서브넷 마스크의 기본성질 공부를 해보겠습니다.

<기본성질1>

서브넷 마스크로 만들어진 Network, 즉 Subnet 은 한개의 네트워크이기 때문에 서브로 나눠진것 서브넷끼리리는 Router 를 통해서만 데이터 통신이 가능하다.

ex) 150.100.0.0 B Class 네트워크 망에서 150.100.100.1 과 150.100.200.1 은 Router 를 거치지 않고 네트윅 통신이 가능하다. 즉 같은 네트워크 구축망에 있기 때문입니다.

B클래스 경우 Default Subnet Mask 값은 255.255.0.0 으로 2옥테트까지 255 값이 있어서 앞의 2자리가 네트워크 부분을 나타내기 때문에, 150.100 은 네트워크 부분이되고 나머지 2자리 2개는 Host 를 라는 것을 알수 있습니다.

따라서 Network 부분이 같고, Host 부분이 서로 다르면 같은 구축망에 있다는 뜻으로

150.100.100.1 과 150.100.200.1 은 같은 네트워크망에 존재하고 있는 하나의 Broadcast 도메인에 있는 컴퓨터들이기 때문에 굳이 라우터 없이도 데이터 통신이 가능하다는 것입니다.

하.지.만!

기본 디폴트 써브넷 마스크 값인 255.255.255.0 값을 이용하여 써브넷팅을 하게될 경우 150.100.100 부분과 150.100.200 부분이 2옥테트에서 3옥테트까지 네트워크 값이 바뀌어버리기 때문에 서로 다른 네트워크가 됩니다. 이와 같은경우 이 2개의 IP주소가 통신을 할 때에는 라우터를 반드시 거쳐 가야하게 됩니다. 즉 서로 다른 브로드케스트 도메인에 있을 경우에는 반드시 라우터를 통과해서 데이터 송수신을 해야 합니다.

기본성질 1은 위와 같이 서브넷 마스크를 활용하여 나눠진 네트워크는 서브넷은 1개의 독립된 네트워크로 변경이 됩니다.

<기본성질2>

2진수로 표현할 때 1의 값이 연속적으로 나와야 한다.

이 말뜻은 255.255.255.10 이란 써브넷 마스크 값을 사용할수 없다는 것으로 2진수로 바꾸게 되면

1111 1111. 1111 1111. 1111 1111. 0000 1010 이 되는데요.

1010은 1이 연속으로 안나오기 때문에 Subnet Mask 값으로 사용하지 않습니다.

255.255.255.15 값은 가능할까? 답은 NO! 15를 2진수로 바꾸게 되면

1111 1111. 1111 1111. 1111 1111. 0000 1111 이 되는데요.

뒤에 연속적으로 1이 나오긴하였지만 그 앞에 0 의 값이 있기 때문에 1사이에는 어떤한 경우에도 0 값이 있으면 안됩니다.

255.255.255.252 값은 가능할까? 답은 Yes!

1111 1111. 1111 1111. 1111 1111. 1111 1100 이 되는데요.

1이 연속적으로 나왔고 1 사이에는 0의 값이 없기 때문에 252 값은 사용할수 있습니다.

그럼 기본성질2 의 원칙으로 AND논리연산을 통해 서브넷 값을 구하는 간단한 문제를 풀어보겠습니다.

정답

1번 - C클래스 - 201.22.10.56

2번- A클래스 - 15.18.0.0

3번 - B클래스 - 130.15.121.0

4번 - B클래스 - 153.70.100.0

--> 2진수로 바꿔서 IP주소와 서브넷마스크를 AND 연산했기 때문. (참고 : 서브넷이 255인건 그대로 내려와서 연산 불필요)

 

A. 네트워크가 나누어지게 되면 개의 네트워크를 서로 건너가는 방법은 라우터를 이용하는 방법밖에 없다.

서브넷 마스크를 이용해서 나눈 다음에도 사이에는 라우터가 놓여야 한다.

 

서브넷이란 1개의 라우터에서 운영하는 네트워크를 나누는 것으로 하나의 Router 아래에서 만들어진 서브넷당 라우터를 둔다는 뜻으로 라우터 아래에서 네트워크를 또 나눈 것이 서브넷이고 그 서브넷당 라우터를 또 설치 해야 한다.

나누는 이유 : 네트워크 주소를 효율적으로 사용하기 위한 것으로 브로드캐스트 도메인을 줄이기 위함입니다.

 

 

문제1) 공인 IP주소를 210.100.1.0(서브넷 마스크 255.255.255.0 디폴트 서브넷마스크) 네트워크를 받았다.

  공인 주소를 이용해서 PC 30대인 네트워크를 최소 4 이상 만든 다음 이들 네트워크 라우터를 이용해서 서로 통신하게

  하려고 한다. 경우 서브넷 마스크를 만든다면 어떻게 해야하는가 ?

 

해설

 - 210.100.1.0(255.255.255.0) C 클래스

 - 네트워크를 4 이상 만들기 위해서 서브넷 마스크를 변경해야 한다.(네트워크가 포함하는 PC 개수 확인 필요

   이것은 클라이언트 , 호스트 라고 부른다.)

 - 30대의 호스트를 가져야 한다고 했으니 호스트 부분이 30대를 포함할 있어야 한다.

   (호스트 부분은 마지막은 0으로 기재된 마지막 자리(마지막 옥테트)이다.)

 - 여기서 호스트부분이 전부 0(이진수인 경우) 210.100.1.0 호스트 주소로 사용 불가능. 이건 네트워크 주소이다.

  , IP 특정 호스트나 PC에서 사용하는 주소가 아닌 네트워크 자체의 주소

 - 반대로 호스트부분이 전부 1(이진수인 경우) 210.100.1.255 호스트주소로 사용 불가.

  

사용 가능한 호스트 = 2^(호스트 비트 ) - 2

 

호스트 비트 수가 2 사용 가능한 호스트 수는 2 호스트 비트 , 2승을 하고 2 뺀다.

--> 30개가 되려면 제곱(호스트 비트 ) 해야하는가? == 2^5 = 32 , 따라서 호스트 자리가 이진수 다섯개는 되어야 한다.

 32 -2(호스트 주소, 브로드캐스트 주소) = 30

= 호스트 30개가 되기 위한 호스트 자리 수는 이진수로 5

  -> 210.100.1.sssh hhhh 되어야 한다. , 255.255.255.224(=255.255.255.1110 0000) 사용해야 한다.

 

5.11 정리

클래스 A

0nnn nnnn.hhhh hhhh.hhhh hhhh.hhhh hhhh

1~126

클래스 B

10nn nnnn.nnnn nnnn.hhhh hhhh.hhhh hhhh

128 + 0 = 128 ~

클래스 C

110n nnnn.nnnn nnnn.nnnn nnnn.hhhh hhhh

128 + 64 + 0  = 192 ~

* n : 네트워크 부분, h : 호스트 부분

 

5.12 서브넷

- IP주소를 낭비없이 쓰기위해 사용, 적정한 주소배정을 위해 사용

- 서브넷을 만들 때 사용하는 마스크를 서브넷 마스크라고 한다

- 클래스의 기본성질대로 쓰는 경우(서브넷을 만들지 않은 경우)디폴트서브넷마스크를 사용

- 이진수로 고쳤을 때 '1'이 되면 네트워크 부분, '0'이 되면 호스트 부분이다

- IP주소에서 호스트 부분이 전부 0이면 네트워크 그 자체 즉, 네트워크 주소가 된다

- 호스트 부분이 전부 1이면 브로드캐스트의 주소로 쓰인다

728x90
반응형

'System Engineering' 카테고리의 다른 글

네트워크 장비  (0) 2023.04.18
IP 주소 연습문제  (0) 2023.04.16
IP 주소 구조  (0) 2023.04.16
리눅스 Oracle 19 설치 - 4  (0) 2023.04.16
리눅스 Oracle 19 설치 - 3  (0) 2023.04.16

댓글