Subnetting / Supernetting
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
우선은 감만 잡아 두자.
- 해당 그림에서 모든 회사의 서브넷 마스크는 동일하다.
잘못된 예시.
이렇게 할 경우의 단점.
- 비용이 많이 든다.
- 공인 주소가 고갈된다. 해당 그림처럼 주어졌을 경우, 전 세계가 쓰면 안 된다. 왜냐하면 공인 주소이기 때문이다. 공인 주소를 할당 받게되면 전 세계 어디에서도 그 주소를 쓰면 안 된다. 그래서 이렇게 쓰다 보면 주소가 고갈 되는 문제가 발생하게 된다.
따라서,
Subnetting의 장점.
- 비용 절감(IP주소 임대 비용)
- 공인주소 절약
- 보안 (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
- 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 주소 개수를 먼저.
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)
해당 사진에 이어서 물리적으로 4개 분할 된 경우, 네트워크 주소가 다 달라야 한다.
1-254 중에 다른 네트워크 4개로 만들어 주고 싶은 것임.
Solution)
주소 개수가 제일 많은 것부터 계산.
120개 = 최소 2^7 (0의 개수가 2^7개) = 128
255.255.255.1/0000000=128 (0의 개수는 오른쪽->왼쪽으로 채워 나감)
할당받은 것은 같음.
192.168.10.0 - 192.168.10.12760개
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.1916개
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.1996개
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