Contents

Subnetting / Supernetting

   Dec 8, 2022     4 min read

Subnetting

: 1개의 Network 주소를 여러 개의 Network 주소로 만들기.

 ex 01.
 126.1.1.1 255.0.0.0 -> 126.0.0.0
 126.1.1.1 255.255.0.0 -> 126.1.0.0
 126.1.1.1 255.255.255.0 -> 126.1.1.0
  • 결과) Subnetting을 했더니 길이가 점점 길어진다.
ex 02.
126.1.1.1/8 - 126.2.2.2/8 = 서로 통신이 됨.
126.1.1.1/16 - 126.2.2.2/16 = 서로 통신이 안 됨. (이유: 왼쪽은 126.1점대, 오른족은 126.2점대라서 다른 네트워크임.)
  • 어떻게 쪼개는 지를 할 것임. 일단 Subnetting이 뭐 하는 건지를 알면 됨. Subnetting된 주소를 또 Subnetting 할 수 있음. 즉, 네트워크 주소를 다른 네트워크 주소로 잘게 쪼개는 것임.

Supernetting

: 여러 개의 Network 주소를 1개의 Network 주소로 만들기.

ex 01.
126.1.1.1/16, 126.2.2.2/16, 126.3.3.3/16 에서
주 클래스 : 126.0.0.0
서브넷 마스크를 16으로 했기 때문에 주어진 3개의 네트워크 주소는 다 다른 것임.
그런데 우리는 이것을 같은 네트워크로 묶어서 만들고 싶은 것임. (= 이것이 Supernetting !)

결과 : 126.0.0.0/8 로 하면 같은 네트워크가 됨.
126.1.0.0/16, 126.2.0.0/16, 126.3.0.0/16 ----변경 후---> 126.0.0.0/8

우선은 감만 잡아 두자.

1

  • 해당 그림에서 모든 회사의 서브넷 마스크는 동일하다.

잘못된 예시.

2

3

이렇게 할 경우의 단점.

  1. 비용이 많이 든다.
  2. 공인 주소가 고갈된다. 해당 그림처럼 주어졌을 경우, 전 세계가 쓰면 안 된다. 왜냐하면 공인 주소이기 때문이다. 공인 주소를 할당 받게되면 전 세계 어디에서도 그 주소를 쓰면 안 된다. 그래서 이렇게 쓰다 보면 주소가 고갈 되는 문제가 발생하게 된다.

따라서,

Subnetting의 장점.

  1. 비용 절감(IP주소 임대 비용)
  2. 공인주소 절약
  3. 보안 (cf. 라우터는 방화벽 기능도 한다.)

그렇다면 우리는 어떻게 Subnetting을 할까?

 255.0.255.0 인 서브넷 마스크는 존재 하지 않음.
 0.255.255.255인 서브넷 마스크도 존재 하지 않음.
 항상 왼쪽에서부터 오른쪽으로 채워 나간다.
 즉, 왼쪽 -> 오른쪽 / 1을 빌려나간다는 것을 기억하자 !

cf. IPv4 = 10진수.10진수.10진수.10진수
= 8Bit.8Bit.8Bit.8Bit = 32Bit
8Bit = 11111111
= 128 64 32 16 8 4 2 1
= 255

4

  • Subnet Mask = 255.255.255.0
  • Network 주소 = 192.168.10.0 (Host 주소 자리가 전부 0)
  • Broadcast 주소 = 192.168.10.255 (Host 주소 자리가 전부 1)
  • 할당가능한 주소 = 192.168.10.1 - 192.168.10.254
  • 주소개수 = 2^8 - 2

  • 전부 서브넷 마스크를 255.255.255.192로 줘야 함. 그리고 ping 확인하기 할당가능 주소는 1에서 62

그리고 Subnetting 방법이 총 2가지가 존재한다.

방법 01. Network 주소 개수를 먼저.

5

solution) 그림을 참고하면 네트워크는 4개.
2^0 = 1, 2^1 = 2, 2^2 = 4, 2^3 = 8 …… 이런식으로 나아가는데
지금 네트워크가 4개이기 때문에 2Bit 이상은 되어야 함.
왜냐하면 2Bit는 2^2=4 이기 때문임.
즉, Bit를 2개 빌린다고 생각하면 된다.

그럼 여기서 Subnetmask는 어떻게 될까?
원래는 255.255.255.00000000(2진수) 인데 Bit 2개를 빌리기 때문에
왼쪽에서부터 2개를 빌리면 255.255.255./11/000000 = 192가 돼서
정리하면 Subnetmask = 255.255.255.192

cf. 네트워크 주소 자리가 늘어나면 호스트 주소 자리가 줄어든다.

L4)
192.168.10./00/000000=0
(192.168.10.0 자체가 네트워크 주소) / 63(브로드캐스트)
할당 가능한 주소 = 192.168.10.1 - 192.168.10.62

L5)
192.168.10./01/000000=64
(192.168.10.64 자체가 네트워크 주소) / 127(브로드캐스트)
할당 가능한 주소 = 192.168.10.65 - 192.168.10.126

L6)
192.168.10./10/000000=128
(192.168.10.128 자체가 네트워크 주소) / 191(브로드캐스트)
할당 가능한 주소 = 192.168.10.129 - 192.168.10.190

L7)
192.168.10./11/000000=192
(192.168.10.192 자체가 네트워크 주소) / 255(브로드캐스트)
할당 가능한 주소 = 192.168.10.193 - 192.168.10.254

  • Ex.01 4개의 구역으로 Subnetting 하고 Linux끼리 ping이 되게 하자.
    조건)
    IP 주소 - 할당 가능한 주소 중 제일 첫 번째.
    Gateway - 할당 가능한 주소 중 제일 마지막.


방법 02. Host 주소 개수를 먼저. (VLSM)

6

해당 사진에 이어서 물리적으로 4개 분할 된 경우, 네트워크 주소가 다 달라야 한다.
1-254 중에 다른 네트워크 4개로 만들어 주고 싶은 것임.

Solution)

  1. 주소 개수가 제일 많은 것부터 계산.
    120개 = 최소 2^7 (0의 개수가 2^7개) = 128
    255.255.255.1/0000000=128 (0의 개수는 오른쪽->왼쪽으로 채워 나감)
    할당받은 것은 같음.
    192.168.10.0 - 192.168.10.127

  2. 60개
    0에서 128을 더 하면,
    192.168.10.128 이 다음 네트워크가 됨.
    최소 2^6이 되어야 함. 2^6 = 64 (호스트 개수 -> 서브넷 마스크 바로 나옴)
    255.255.255.11/000000=192
    192.168.10.192(128+64)
    192.168.10.128 - 192.168.10.191

  3. 6개
    2^3 = 8, 서브넷마스크 255.255.255.11111/000=248
    192에 8을 더하면 다음 네트워크 등장.
    할당 가능 192.168.10.193 - 192.168.10.198
    192.168.10.192 - 192.168.10.199

  4. 6개
    192.168.10.200 - 192.168.10.207
    192.168.10.201 - 192.168.10.206
    192.168.10.208은 나머지는 여유



결론,

L4)
할당 가능한 주소 = 192.168.10.1 - 192.168.10.126
Subnet Mask = 255.255.255.128

L5)
할당 가능한 주소 = 192.168.10.129 - 192.168.10.190
Subnet Mask = 255.255.255.192

L6)
할당 가능한 주소 = 192.168.10.193 - 192.168.10.198
Subnet Mask = 255.255.255.248

L7)
할당 가능한 주소 = 192.168.10.201 - 192.168.10.206
Subnet Mask = 255.255.255.248




할당할 수 있는/없는 주소 구하기.

ex 01. 192.168.10.129/30 에서 할당할 수 있는 주소? 할당할 수 없는 주소?

192.168.10.129(100000/01)
and 255.255.255.111111/00
=네트워크 주소 192.168.10.100000/00=128

  • Network 주소 = 192.168.10.128 (호스트가 모두 0)
  • Broadcast 주소 = 192.168.10.131
  • 할당 가능한 주소 = 192.168.10.129 - 192.168.10.130
  • 주소 개수 = 2^2 - 2




ex02. 191.255.225.10/18

191.255.225(11100001).10(00001010)
and 255.255.11/000000.0
= 191.255.11000000.0

  • Network 주소 = 191.255.192.0
  • Broadcast 주소 = 191.255.255.255
  • 할당 가능한 주소 = 191.255.192.1 - 191.255.255.254
  • 주소 개수 = 2^14 - 2