본문 바로가기
[ CS 전공 ]

[ 네트워크 ] 서브네팅 (Subneting)

by 불주먹고양이 2022. 3. 1.

1. 서브네팅

- 망 분리라고 한다.

- 목적성을 가지고 네트워크를 분리하는 것을 말한다.

- 예를 들어, 서버는 서버끼리, client는 client끼리, DB는 DB끼리 모아두는 각각의 네트워크 망으로 분리하는 것이 서브네팅이다.

 

- 브로드캐스트 도메인에 많은 호스트가 연결된 경우, 호스트에 발생한 Broadcast Traffic이 모든 호스트에 전달되어 많은 Broadcast Traffic이 발생하며, 보안상에도 취약하다.

- 따라서 ISP 업체에서는 회선을 임대한 기업들에게 IP를 할당하기 위하여 subnetting을 한 후에 IP를 할당하여 주소를 절약한다.

 

 

※ Broadcast Traffic

: 네트워크 또는 네트워크의 일부에있는 모든 컴퓨터와 장치로 전송되는 네트워크 방식

 

- 특정 네트워크의 어떤 장치가 랜섬웨어에 감염되면, 그 네트워크 안에 있는 모든 장비들도 랜섬웨어에 감염된다.

- 굳이 전송받지 않아도 되는 장비에게까지도 전달되면서 트래픽이 낭비될 수 있다.

- Broadcast 방식을 최소화하여 사용하는 것을 추천하지만 아예 안 쓰는 것은 불가능하다. 피해를 최소화하기 위해 고안된 방법이 바로 서브네팅이다.

 

서버와 PC를 같은 네트워크 안에 두는 것은 보안상 매우 취약하다.

 

 

 

2. Subneting의 종류

(1) 균등분할, FLSM

- Fixed Length Subnet Mask

- 공평하게 나누는 형식.

- 이 방식은 부서별로 IP를 사용하는 인원 수가 다를 경우 IP 주소의 낭비가 발생한다.

 

(2) 비균등분할, VLSM

- Variable Length Subnet Mask

- 다양한 크기로 서브넷팅하는 형식.

- 필요한 만큼씩만 subnet을 나눠주는 것을 말한다.

- 핵심은 크기가 큰 subnet부터 작업한다는 것이다. 하나의 네트워크를 큰 덩어리들로 쪼개고, 그 덩어리를 또 작은 덩어리 여러개로 쪼개는 것이다.

 

 

 

3. Subneting 하는 방법

(1) 원칙

- Classless에서는 반드시 IP와 함께 Subnetmask를 명시해야 한다.

- Subnetmask : Network-ID와 Host-ID를 구분하는 용도로 사용한다.

- Subnetmask의 값이 "1"일 경우 Network-ID를 의미한다.

- Subnetmask의 값이 "0"일 경우 Host-ID를 의미한다.

 

 

(2) Host를 기준으로 하는 Subneting 방법

① 부여받은 IP 주소 대역을 확인한다.

ex.

IP 주소 : 218.128.32.0

서브넷 마스크 주소 : 255.255.255.0

 

② 필요한 네트워크 수 또는 각 네트워크마다 필요한 Host의 수를 파악한다.

ex. 각 네트워크마다 25개의 host-id를 갖는다.

 

③ 조건에 맞게 subnet mask의 bit 값을 조정한다. 이때, 절대로 기존 네트워크 ID의 범위를 줄여서는 안된다.

ex.

 

④ Host ID 주소를 8개의 2진수로 나타낸다.

ex.

 

⑤ 네트워크 비트와 호스트 비트를 나눈다.

ex. 각 네트워크마다 25개의 host를 가져야 하므로,

2^4 = 16, 2^5 = 32

적어도 5개의 비트가 host ID를 나타내기 위해 쓰여야 한다.

 

⑥ 각 서브네트워크의 범위를 계산한다.

총 8개의 네트워크 대역이 만들어지고, 각각의 네트워크는 32개의 호스트를 가진다.

 

⑦ 사용 가능한 네트워크 범위를 계산한다.

- 네트워크의 가장 첫번째 주소는 해당 네트워크를 표현하는 이름인 네트워크 주소로 사용한다.

- 네트워크의 가장 마지막 주소는 해당 네트워크의 브로드캐스트 주소로 사용한다.

- 이 두 IP 주소를 제외한 네트워크 범위가 사용 가능한 범위가 된다.

 

 

(3) Network를 기준으로 하는 Subneting 방법

① 부여받은 IP 주소 대역을 확인한다.

ex.

IP 주소 : 218.128.32.0

서브넷 마스크 주소 : 255.255.255.0

 

② 필요한 네트워크 수 또는 각 네트워크마다 필요한 Host의 수를 파악한다.

ex.

총 3개의 네트워크가 필요하다.

 

③ 조건에 맞게 subnet mask의 bit 값을 조정한다. 이때, 절대로 기존 네트워크 ID의 범위를 줄여서는 안된다.

ex.

 

④ Host ID 주소를 8개의 2진수로 나타낸다.

ex.

 

⑤ 네트워크 비트와 호스트 비트를 나눈다.

ex.

총 3개의 네트워크가 필요하므로2^1 = 2, 2^2 = 4적어도 2개의 bit가 네트워크 bit로 사용되어야 한다.

⑥ 각 서브네트워크의 범위를 계산한다.

총 4개의 네트워크 대역이 만들어지고, 각각의 네트워크는 64개의 호스트를 가진다.

 

⑦ 사용 가능한 네트워크 범위를 계산한다.

- 네트워크의 가장 첫번째 주소는 해당 네트워크를 표현하는 이름인 네트워크 주소로 사용한다.

- 네트워크의 가장 마지막 주소는 해당 네트워크의 브로드캐스트 주소로 사용한다.

- 이 두 IP 주소를 제외한 네트워크 범위가 사용 가능한 범위가 된다.

 

 

 

3. Subneting 예제

(1) 211.100.10.0/24 네트워크를 각 네트워크 당 60개의 Host가 사용할 수 있도록 Subneting 하시오.

(1) 어떤 Subnet mask가 효율적인가? "255.255.255.192"

(2) Subnet의 개수? "4개"

(3) 사용 가능 Host의 개수? "62개'

(4) 마지막 Subnet의 Network-ID는?  "211.100.10.192" 

(5) 첫번째 Subnet의 Broadcast 주소는? "211.100.10.63"

(6) 두번째 Subnet의 사용 가능한 IP 범위는? "211.100.10.65 ~ 211.100.10.126"

 

 

(2) 205.81.10.0/24 네트워크를 7개의 네트워크로 사용할 수 있도록 Subneting 하시오.

(1) 어떤 Subnet mask가 효율적인가? "255.255.255.224"

(2) Subnet의 개수? "8개"

(3) 사용 가능 Host의 개수? "30개"

(4) 마지막 Subnet의 Network-ID는? "205.81.10.224"

(5) 첫번째 Subnet의 Broadcast 주소는? "205.81.10.31"

(6) 두번째 Subnet의 사용 가능한 IP 범위는? "205.81.10.33 ~ 205.81.10.62"

 

 

(3) 151.92.0.0/16 네트워크를 각 네트워크 당 6500개의 Host가 사용할 수 있도록 Subneting을 하시오. 

(1) 어떤 Subnet mask가 효율적인가? "255.255.224.0"

(2) Subnet의 개수? "8개"

(3) 사용 가능 Host의 개수? "8,190개"

(4) 마지막 Subnet의 Network-ID는? "151.92.224.0"

(5) 첫번째 Subnet의 Broadcast 주소는? "151.92.31.255"

(6) 두번째 Subnet의 사용 가능한 IP 범위는? "151.92.32.1 ~ 151.92.63.254"