백엔드/네트워크

[네트워크기초이론]#37. 네트워크를 다시 또 내부로 자르는 서브넷팅

묘걍 2023. 10. 11. 12:16

https://code-lab1.tistory.com/34

 

[네트워크] 서브넷, 서브넷마스크, 서브넷팅이란? | 서브넷팅 예제

서브넷의 등장 배경 흔히 사용되는 IPv4 주소 체계는 클래스를 나누어 IP를 할당한다. 하지만 이 방식은 매우 비효율적이다. 예를 들어 어떤 기관에 A 클래스를 할당한다고 하면 16,777,214개의 호스

code-lab1.tistory.com

서브넷을 왜 만들지?

IP주소의 구조

- 위와 같은 사설주소가 있을 때

- 전체는 32bit

- .을 기준으로 8bit씩

     - 나올 수 있는 경우의 수는 256가지

     - unsigned int → 0 ~ 255

     - 255를 2진수(8bit)로 나타내면 11111111

- 서브넷 마스크를 이야기할 때는 비트연산을 알고 있다는 가정 하에

     - AND, OR, NOT...

- 이 주소는 C class

- 24bit는 Network ID, 8bit는 Host ID로 사용한다

     - Network ID: 192.168.0

     - 이 네트워크의 HOST가 2⁸만큼 있다

사용하지 못하는 주소

0000 0000

- 0이라서 못 씀

- 뭘 지칭한다고 보지 않음

1111 1111

- Broad Cast address로 써야 해

 

➡️결론적으로 Host에 해당되는 bit에서 -2 한 만큼만 쓸 수 있다

 

문제 상황

- 호성이라는 사람이 인터넷 서비스 프로바이더에게 IP주소를 요청

- PC 몇대인지 확인

- 기업이라서 PC가 여러대. 공인 IP 기준 여러개가 필요

- 호성이에게 IP 주소 100개를 주긴 줘야함. 그런데 그나마 제일 작은 C class도 남는 주소가 생김 (낭비)

- 그래서 C class를 또 쪼갬 ➡️ 서브네팅

- 물론 A, B, C class 모두 서브네팅을 하지만 기본적으로는 C class에서 하는 것을 지칭

 

 

이미지 속 캡쳐본 출처: 위 블로그 및 강사님 화면

- 일반적으로 /24라고 하면 24bit가 network id, Host = 8bit

- 여기서 한 칸을 늘려서 25bit를 Network ID로 쓰겠다

- 이렇게 잘라도 표기는...?

여기부터 이해가 잘 안된다ㅠㅠㅠ🤯

- 이진수 1000 0000이면 128

- 192.168.0번대 네트워크인데 0이라고 안하고 192.168.0.128???

- 그 뒤에는 128보다 작은 값들이 나올 수도 있다?

- Host 할당 가능 범위가 그만큼 줄어들었다

 

출처: 블로그 및 강사님 화면

- 다 0으로 된 네트워크 (다 0이라서 빼고)

- 전체가 다 된 네트워크??????

- Broadcast address를 어떻게 볼거냐에서 차이 발생

 

출처: 블로그 및 강사님 화면

- 앞이 1이라고 봤을 때 뒤만 놓고 보면 표시된 부분이 127이다????

- 경우의 수가 127

- 표시된 주소가 Broadcast 주소가 되는 것

 

 

만약

출처: 강사님 화면

- Network ID를 둘로 쪼갰다?

- 26bit가 됨

- 그럼 이제 0과 1이 아니라 00, 01, 10, 11이 됨

- 그 뒤에 6bit 가능(여기서 network id를 얘기하게 된다?)

- Host ID에서 못 쓰는 값은 0000, 1111

 

서브넷을 계속 나눌수록 사용할 수 있는 주소가 준다

- 네트워크 하나당 적어도 두 개의 주소가 낭비

- 서브넷을 많이 나누는 것은 좋지 않다

- 낭비가 되는 상황이라면 나누긴 하지만(?)

 

 

 

출처: https://youtu.be/px0HDON5Wa4?si=YaONsX7mrKzGE9gB