1.1 개요
- 하나의 네트워크 안에 200개의 컴퓨터가 있다고 가정한다.
- 이 경우 200개의 컴퓨터를 하나의 네트워크로 묶는 것 보다 더 작은 네트워크로 나눠주는 것이 더 효과적이다.
- 하나의 네트워크 안에 많은 컴퓨터가 있다면 충돌이 발생할 확률도 높아지고, 또 broadcasting이 왔다갔다하면 트래픽이 증가한다.
- 따라서 네트워크를 작게하면 network의 throughput을 향상시킬 수 있다.
- 또한 네트워크 주소를 더 효과적으로 사용할 수 있다.

1.2 Subnetting 절차
- 전체 컴퓨터 시스템을 몇 개의 단위그룹 (subnet)으로 분류한다.
- 전체 네트워크 주소를 서브넷 개수 이상으로 분할한다. 가능한 숫자는 2, 4, 8 … 등이 좋다

- 각각의 서브넷에 분할된 네트워크 주소를 할당한다.
- 분류할 때는 각각의 묶음을 비슷한 크기로 분류하는 것이 좋다.

1.3 네트워크 주소 분할
- IP 주소 : 네트워크부 + 호스트 부
- 서브넷팅은 호스트 주소의 일부를 임의로 네트워크 주소로 사용하는 것이다.

- C 클래스의 경우 256개의 주소가 있을 수 있다.
- 00, 01, 10, 11
- 그러나 이 256개의 주소를 하나의 네트워크가 아닌 4개의 서브넷으로 분류하고 싶다고 가정하자
- 네트워크 부분을 24bits가 아닌 26bits로 늘린다.
- 호스트 부분은 8bits에서 6bits로 줄어들게 된다.
- 네트워크가 주소 부분이 늘어나는 대신 host 주소가 줄어들게 된다.
1.4 호스트주소의 네트워크 비트 사용
- 분할 부준 매핑에 사용할 비트 수에 따라 서브넷 크기가 다르다.
- C 클래스는 256개의 호스트 주소가 나오는데,
- 만일 이를 두 네트워크로 나누고자 한다면 host 주소의 8bits 중 하나를 네트워크 주소로 넘겨준다. (0, 1)
- Host 주소 중 2bits를 사용하게 된다면 총 subnet은 4개가 될 것이다. (00, 01, 10, 11)
- 3bits를 사용하게 되면 8개의 서브넷이 될 것이다.
- 분할된 서브넷은 같은 크기이다.