서브넷 / CIDR / 네트워크의 클래스

subnet위의 이미지를 설명하자면 아래와같다

주어진 IP 대역인 200.200.10.0/25는 200.200.10.0부터 200.200.10.127까지의 IP 주소를 포함합니다.

이 IP 대역은 총 128개의 IP 주소를 가지며, 마지막 숫자가 0부터 127까지 변화하면서 각각의 IP 주소가 할당됩니다.



8/29 메모

가장 아래에 서브넷 계산법을 첨부함.. 번거롭다면 아래의 계산기를 사용

서브넷 계산기 ( 이걸로 돌려보는게 가장 빠르고 같은 네트워크 대역 확인가능)


그리고 서브넷마스크가 /23 인 경우 이진수로 변환한다면 아래와같다 (1111111111.11111111.11111110.00000000 )

1은 네트워크범위 0은 호스트 범위다.

0이 9개이기때문에 2^9로 512개의 호스트ip가 있다.

그리고 직관적으로 알수있는 /24에 대해서는 숙지해두자 ( 2^8으로 무조건 256개가 호스트IP기때문에 마지막 옥탯이 호스트IP주소 범위라 서브넷을 계산할 필요가없다)



Class 네트워크

네트워크 클래스는 IP 주소를 클래스 A, B, C, D 및 E로 분류하여 네트워크와 호스트 주소를 구분하는 방식입니다.

각 클래스는 첫 번째 옥텟의 값에 기반하여 구분되며, 네트워크와 호스트 주소의 크기를 미리 정의합니다.

현대에는 사용되지 않으니 개념으로 알고있을것


클래스 구분

주소 영역 구분 (네트워크+호스트)

서브넷 마스크 ( CIDR )

주소범위 (첫번째 옥탯기준)

기타

A

네트워크.호스트.호스트.호스트

255.0.0.0 ( /8 )

0 ~ 127

주로 인터넷 회사에서 사용

B

네트워크.네트워크.호스트.호스트

255.255.0.0 ( /16 )

128 ~ 191

회사에서 사용

C

네트워크.네트워크.네트워크.호스트

255.255.255.0 ( /24 )

192 ~ 223

일반 가정집에서 사용

D

(멀티캐스트용)


224 ~ 239


E

(실험용,장래대비)


240 ~ 250



IP의 특징

하나의 IP는 네트워크 부분 + 호스트 부분으로 구성

네트워크 부분이 동일한 경우 같은 네트워크에 속해있다고 판단되어

서로 파일공유나 ping등을 할수있다

호스트 IP가 0또는 1은 공유기를 가리키며 255는 브로드캐스팅 주소를 가리킨다


서브넷팅(서브넷)이란?

- 네트워크를 더욱 작은 단위로 분할하는것

- 네트워크 성능향상을 위해 분할한다

- Class 네트워크를 더욱 세분화하게 분할할수있게 해준다


예제1

192.167.1.0 라는 C클래스의 네트워크의 소유주인 경우, 회사 A가 30개를 빌려달라고 요청한다

192.167.1.0 ~ 192.167.1.255의 255개의 주소중에서 브로드캐스팅 주소 255를 제외하면 254개의 주소가 남고

30개의 주소를 빌려주게 되면 224개의 호스트 주소가 낭비되게된다


예제2

128.3.2.1 라는 B클래스의 네트워크를 사용하는 경우, 네트워크 IP범위가 128.3이고 호스트 IP범위가 2.1이다.

그렇다면 2.1이 속하는 호스트 IP 범위는 65,534개이고 브로드캐스트(모든 호스트에 데이터를 보냄)를 하는 경우,

65,534개의 모든 호스트 IP에 통신을 하게되며 성능저하를 일으키게된다


서브넷 마스크

실제로 네트워크의 클래스의 C클래스를 사용할 경우 255.255.255.0으로 최소 255개의 호스트IP가 사용가능하다

그러나 서브넷 마스크를 사용해서 이를 조금 더 세분화하여 사용할수있다

(클래스 네트워크는 현대에 거의 사용되지 않음. 서브네팅 사용)


예제1

외부 IP 주소 : 115.95.229.x
서브넷 마스크 : 255.255.255.248 

(115.95.229가 일치하는 IP라면 같은 네트워크에 속하므로 파일공유 Ping등이 가능하다)

(248은 이진수로 1111 1000이다. 1을 제외한 000부분을 호스트IP범위로 지정할수있다. 000,001,010,011,100,101,110,111 8개의 호스트 IP가 있다.
1111 1'001'은 249이다. 1111 1111은 255인데 브로드 캐스트 주소이니까 제외하고 위의 예제에서 총 사용할수있는 호스트 주소는 7가지이다) 

(외부 IP 주소는 A클래스에 속하기 때문에 255.0.0.0이 맞지만 서브넷 마스크를 조절해서 관리자 필요대로 호스트IP범위 변경한다)


예제2

외부 IP 주소 : 192.168.0.1
서브넷 마스크 : 255.255.255.0 

위의 경우 네트워크 범위 (192.168.0)이 되고 (1)이 호스트IP 범위가 되며 호스트IP 범위는 255개이다


예제3

네트워크 대역이 아래와 같이 3가지의 대역이 있는 경우
192.168.254.0 (Room1)
192.168.253.0 (Room2)  
192.168.252.0 (Room3)

서브넷 마스크가 255.255.255.0 인 경우 앞의 3개의 네트워크 대역을 같은 네트워크 대역에 속하게 하려면 어떻게 하면 되는가?

1.서브넷 마스크 대역 255.255.255.0 (11111111.11111111.11111111.00000000)에서 가장 뒷부분 1을 2개를 0으로 바꾼다
2.서브넷 마스크 대역 255.255.252.0 (11111111.11111111.11111100.00000000)이 되며 252~255까지가 같은 네트워크 대역에 속하게 된다
3.255는 브로드캐스트라 제외한다
4.호스트 부분이 3개 증가한것이 된다 (252,253,254)
5.네트워크 대역을 줄이는것은 255 -> 0 순으로 처리된다. 왜냐하면 2번에서 보는 0으로 비트 변경을 뒤에서 부터 하기 때문에
4.증가한 호스트 부분에 252,253,254가 들어가게 되며 같은 네트워크대역이 된다


CIDR

CIDR은 IP 주소를 "주소/서브넷마스크의1의갯수" 형태로 표현합니다.

이를 통해 어디까지가 네트워크 주소이며 어디까지가 호스트IP주소인지 알수있다


예를들어 아래의 주소가 있다
143.7.65.203/24

서브넷의 1의 비트갯수가 앞에서 부터 24개가 있다는 말이다
255.255.255.0 (11111111.11111111.11111111.00000000) == 1이 24개 이다
그러면 위의 주소를 보고 알수있는건 143.7.65까지가 네트워크부분이고 203이 호스트부분이라는것을 알수있다


CIDR

 Hosts

Mask

/32

                               1

255.255.255.255

/31

                               2

255.255.255.254

/30

                               4

255.255.255.252

/29

                               8

255.255.255.248

/28

                            16

255.255.255.240

/27

                            32

255.255.255.224

/26

                            64

255.255.255.192

/25

                          128

255.255.255.128

/24

                          256

255.255.255.000

/23

                          512

255.255.254.000

/22

                      1,024

255.255.252.000

/21

                      2,048

255.255.248.000

/20

                      4,096

255.255.240.000

/19

                      8,192

255.255.224.000

/18

                    16,384

255.255.192.000

/17

                    32,768

255.255.128.000

/16

                    65,536

255.255.000.000

/15

                 131,072

255.254.000.000

/14

                 262,144

255.252.000.000

/13

                 524,288

255.248.000.000

/12

             1,048,576

255.240.000.000

/11

             2,097,152

255.224.000.000

/10

             4,194,304

255.192.000.000

/9

             8,388,608

255.128.000.000

/8

           16,777,216

255.000.000.000

/7

           33,554,432

254.000.000.000

/6

           67,108,864

252.000.000.000

/5

        134,217,728

248.000.000.000

/4

        268,435,456

240.000.000.000

/3

        536,870,912

224.000.000.000

/2

     1,073,741,824

192.000.000.000

/1

     2,147,483,648

128.000.000.000


계산법

서브넷 계산

가장 간단하게 같은 서브넷인지 알수있다 ( 동일 네트워크인가 확인을 위함)


IP주소 : 211.168.83.34 (11010011.10101000.01010011.00100010)

서브넷주소 :255.255.255.224 (11111111.11111111.11111111.11100000) 를 AND연산(이진수를 1+1=1) 한 결과를 십진수로 구하면 211.168.83.32(11010011.10101000.01010011.00100000)가 된다.

네트워크 주소는 211.168.83.32이 된다

브로드캐스트는 네트워크 주소에서 마지막 0 다음에 모든 수를 1로변경

211.168.83.64(11010011.10101000.01010011.00111111)이 된다


그러므로 범위는 211.168.83.32~211.168.64가 동일 네트워크로 통신한다

(네트워크주소 ~ 브로드캐스트까지가 범위)



참조

서브넷설명영상

서브넷팅

IP주소클래스

계산법

Aug 29, 2023 Views 204