IP주소의 구성 - 네트워크 부, 호스트 부
IP 주소는 네트워크 부와 호스트부로 구성된다.
네트워크 부(Network Part 또는 Network ID)
- 호스트가 어떤 네트워크 대역에 속해 있는지를 나타낸다
호스트 부(Host Part 또는 Host ID)
- 해당 네트워크의 어느 호스트인지를 나타낸다
같은 네트워크 대역 안에있는 컴퓨터는 네트워크 부가 동일하고 호스트 부만 다르다. 즉 네트워크 부가 다르다는 것은 서로 다른 네트워크 대역에 있다는 의미이고, 라우터를 통하지 않고는 서로 통신이 불가능하다는 뜻이다.
서로 다른 네트워크가 라우터를 통해 통신이 가능한 것은, 라우터가 IP 주소의 네트워크 부를 보고 라우팅을 하여 데이터를 전송하기 때문이다.
인터넷 접속이 가능한 네트워크를 만들기 위해 IP 주소 할당 기관에 IP주소 할당을 신청하면, 기관에서는 네트워크 부까지만 할당 한다. 네트워크 부를 할당받으면 네트워크 관리자가 나머지 호스트 부를 결정하여 IP 주소를 개별 호스트에 설정한다.
예시)

위의 그림과 같이 동일한 네트워크 부 203.179.33을 갖는 호스트들은 같은 네트워크 1에 속해 라우터를 통하지 않고 통신이 가능하다. 반면 네트워크 2와 네트워크 1은 서로 다른 네트워크 부를 가지고, 때문에 통신을 위해서는 라우터를 통해야 한다.
네트워크 2에 속한 IP 주소가 192.168.24.4인 컴퓨터가 네트워크 1에 속한 IP 주소 203.179.33.13인 컴퓨터로 IP패킷을 전송하면, 라우터 2가 수신지 IP주소의 네트워크 부(203.179.33)을 보고 전송할 라우터를 찾아 IP패킷을 전송한다.
IP주소의 클래스
IP주소의 네트워크 부와 호스트 부는 클래스에 따라 나뉘어지게 된다.

클래스 A
클래스 A는 IP주소 32비트 중 앞 8비트를 네트워크 부로, 뒤의 24비트를 호스트 부로 나눈 것이다.
네트워크 부의 첫 비트는 클래스 A 식별 비트인 ‘0’이 할당되므로, 00000000~01111111(0~127)이 네트워크 부로 사용된다.
따라서 IP주소 관리기관에서 클래스 A의 네트워크 부 1개를 할당하면 네트워크 관리자는 나머지 0.0.0~255.255.255까지 약 1677만개의 호스트 부를 지정 가능하다.
클래스 A는 1개의 네트워크에 약 1677만개의 호스트를 연결 할 수 있기 때문에 주로 대규모 네트워크를 구축하는 기관에 할당된다.
클래스 A에서 할당 가능한 IP주소의 범위는 0.0.0.0 ~ 127.255.255.255로 전체 IP 주소의 개수 중 약 50%에 해당한다.
클래스 B
클래스 B는 IP주소 32비트 중 앞 16자리를 네트워크 부로, 뒤의 16자리를 호스트 부로 나눈 것이다.
네트워크 부의 맨 앞 2비트는 클래스 B 식별 비트인 ‘10’이 할당되므로, 10000000 ~ 10111111(128~191)이 네트워크 부의 첫 8비트로 사용되고, 전체 네트워크 부 대역은 128.0 ~ 191.255가 된다.
따라서 IP 주소 관리기관에서 클래스 B의 네트워크 부 1개를 할당하면 네트워크 관리자는 0.0 ~ 255.255까지 65,534개의 호스트 부를 지정 가능하다.
클래스 B에서 할당 가능한 IP주소의 범위는 128.0.0.0 ~ 191.255.255.255로 전체 IP주소의 개수 중 약 25%에 해당한다.
클래스 C
클래스 C는 IP주소 32비트 중 앞 24비트를 네트워크 부로, 뒤의 8비트를 호스트 부로 나눈 것이다.
네트워크 부의 맨 앞 3비트는 클래스 C식별 비트인 ‘110’으로 할당되므로, 11000000 ~ 11011111(192~223)이 네트워크 부의 첫 8비트로 사용되고, 전체 네트워크 부 대역은 192.0.0 ~ 255.255.255가 된다.
따라서 IP 주소 관리기관에서 클래스 C의 네트워크 부 1개를 할당하면 네트워크 관리자는 1~254까지 254개의 호스트 부를 지정 가능하다.
클래스 C에서 할당 가능한 IP주소의 범위는 192.0.0.0 ~ 223.255.255.255이다.
특수 목적을 위한 IP주소
IP주소 중 호스트 부의 모든 비트가 0인 번호는 네트워크 주소로, 호스트 부의 모든 비트가 1인 번호는 브로드캐스트 주소라는 특수 목적으로 사용한다. 따라서 일반적으로 호스트나 라우터에는 할당하지 않는다.
네트워크 주소 (호스트 부가 십진수로 0인 주소)
네트워크 주소는 해당 네트워크를 대표하는 주소이다.
예를 들어 203.179.33.1 ~ 203.179.33.13라는 IP 주소 대역들이 있다고 하자. 이는 203.179.33.0(네트워크 주소)의 네트워크에 있다.
브로드캐스트 주소 (호스트 부가 십진수로 255인 주소)
브로드캐스트 주소는 하나의 네트워크에 있는 모든 호스트에 동시에 데이터를 보낼 때 사용되는 전용 IP주소를 의미한다.
예를들어 IP주소 203.179.33.13인 호스트가 IP 주소 192.168.24.255로 데이터를 전송하면 192.168.24.0의 네트워크에 있는 모든 호스트가 데이터를 수신한다.
서브넷팅과 서브넷
클래스 A와 클래스 B 네트워크의 경우, 각 약 1677만대, 6만 5천대의 호스트를 연결할 수 있지만, 실제로 이렇게 많은 호스트를 하나의 네트워크에 연결을 하는 경우는 잘 없다. 따라서 전체 IP주소의 75%를 차지하는 클래스 A와 클래스 B에서 많은 IP주소가 사용 되지 않고 낭비된다.
IP주소를 효율적으로 활용하기 위해 클래스 A, B와 같은 대규모 네트워크를 좀 더 작은 네트워크로 분할하는 것을 서브넷팅(Subnetting)이라고 하고, 분할 된 네트워크를 서브넷(Subnet)이라고 한다.

위 그림의 경우 클래스 A의 호스트 부의 앞 8비트를 서브넷 부로 변경하여 서브넷으로 만든다. 이렇게 서브넷팅을 하면 클래스가 네트워크 부, 서브넷 부, 호스트 부로 이루어지게 된다.
서브넷팅을 하면 서브넷이 서로 통신하기 위해 라우터가 필요하다. (주소가 물리적으로 구별된다.)
서브넷 마스크
IP주소를 서브넷팅 하는 경우 어디까지가 네트워크 부이고 어디까지가 호스트부인지 구별할수 없게된다.
따라서 네트워크부와 호스트부를 구별할 수 있도록하는 식별자가 필요한데, 이 식별자를 서브넷 마스크라고 한다.
서브넷 마스크는 IP 주소의 네트워크 부와 호스트 부의 경계를 식별하기 위해 만든 32비트의 0 또는 1로 구성된 값이다.
IP 주소의 비트가 네트워크 부이면 서브넷 마스크의 비트는 1이되고, IP 주소의 비트가 호스트 부이면 서브넷 마스크의 비트는 0이된다.
서브넷 마스크를 사용하면 8비트 단위가 아닌 1비트 단위로 네트워크 부를 구성할 수 있기 때문에 더 세분화된 네트워크를 만들 수 있다.

서브넷 마스크 표기법

- 십진수 표기법: 서브넷 마스크도 IP주소처럼 전체 32비트를 8비트씩 4그룹으로 나누어 표기하는 방식.
- 프리픽스 표기법: IP 주소 뒤에 슬래시(/)로 표기하여 몇 비트까지 네트워크 부인지를 나타내는 표기법. 그림4의 경우 앞의 24비트는 네트워크 부이고 뒤의 8비트가 호스트부이므로 203.179.33.13/24로 네트워크 부가 24비트까지임을 나타낸다.
서브넷 마스크의 활용
현재는 클래스와 상관없이 한 네트워크에 연결하고 싶은 호스트들의 규모에 맞게 네트워크 부와 호스트 부의 길이를 비트 단위로 유연하게 변경할 수 있는 서브넷 마스크를 사용하여 IP 주소를 할당한다.
예시)
예를 들어, 약 60개의 호스트를 연결하는 네트워크를 구축하는 경우, 클래스 기준에서는 가장 적은 수의 호스트를 연결할 수 있는 클래스 C의 네트워크부를 사용할 수밖에 없습니다. 다시 말해 60개의 호스트를 연결하는 하나의 네트워크를 만들기 위해 IP 주소 관리 기관에 IP 주소 할당 신청을 하면 주소 관리 기관에서는 C클래스의 네트워크 부 주소 하나를 할당하게 되고 신청자는 254(2의 8승 - 2) 개의 IP 주소를 사용할 수 있게 됩니다. 60개가 필요한 데 254개가 할당되니 나머지 IP 주소는 누구도 사용하지 못하는 주소가 됩니다. 만약 호스트 부에서 2비트를 빌려 서브넷팅 하면 클래스 C의 1개의 네트워크를 4개로 분할하고 각 네트워크 당 62(2의 6승 -2)의 IP 주소를 사용할 수 있게 됩니다. 따라서 60개의 IP 주소가 필요한 사람에게 서브넷 마스크가 255.255.255.192인 IP 주소의 네트워크 부 주소 하나를 할당하고, 나머지 3개의 네트워크 부 주소를 다른 사람에게 할당하는 방법으로 IP 주소를 낭비하지 않을 수 있습니다.

(출처: https://better-together.tistory.com/118)
본 내용은 제가 네트워크 공부를하며 위 블로그를 참고해 정리한 내용이어서 스스로가 이해하기 쉽도록 말을 길게 풀어 쓴 구간이 많습니다.
'네트워크' 카테고리의 다른 글
TCP 프로토콜의 기능과 특징 (0) | 2023.04.22 |
---|---|
IP주소의 종류와 할당 방법 및 NAT (0) | 2023.04.22 |
[OSI 7-Layer] 응용 계층 (0) | 2023.04.22 |
[OSI 7-Layer] 표현 계층 (0) | 2023.04.22 |
[OSI 7-Layer] 세션 계층 (0) | 2023.04.22 |