TCP/IP 프로토콜을 사용하는 모든 장비들이 서로 통신하기 위해 필요한 주소이다.
IP 주소는 4byte(32bit)로 구성된다. 1byte(8bit)마다 점을 찍는데, 8bit 한 묶음을 옥텟(Octet)이라 한다.
IP는 네트워크 부분(Network Part)과 호스트 부분(Host Part)으로 구성된다.
같은 네트워크 상에 있는 장치들은 IP의 네트워크 부분이 모두 같다. 이 장치들은 라우터의 같은 인터페이스에 연결되어 있다. 네트워크 부분이 같은 장치 간에는 라우터 없이 통신이 가능하지만 그렇지 않은 경우에는 라우터를 거쳐야 통신이 가능하다.
그 이유는 바로 ARP 프로토콜이 브로드캐스트 방식으로 목적지 MAC 주소를 찾기 때문인데, 이 브로드캐스트의 범위가 같은 네트워크 영역이다!
하지만 호스트 부분은 모두 달라야 한다. IP는 같은 네트워크 상에서 유일한 주소여야 구분이 가능하기 때문이다.
클래스는 하나의 네트워크에서 할당 가능한 IP 개수에 따라 구분된다.
IP를 클래스로 나누어 놓은 이유는 IP 주소를 적정하고 효율적으로 배분하기 위함이다.
클래스에 대해 알아보기 전에 네트워크 ID와 호스트 ID에 대해 알아보자!
💻 네트워크 ID
네트워크 ID는 호스트 ID이 모두 0인 IP 주소이다.
예. 10.3.4.3의 네트워크 ID는 10.0.0.0이다.
💻 호스트 ID
IP 주소 중 네트워크 부분을 제외한 부분을 호스트 ID라고 한다.
예. 132.12.11.4의 호스트 ID는 11.4이다.
A Class
네트워크 범위 : 1.0.0.0 - 126.0.0.0
할당 가능한 IP 개수 : 2^24 - 2개
1.0.0.1 - 126.255.255.254
B Class
네트워크 범위 : 128.0.0.0 - 191.255.0.0
할당 가능한 IP 개수 : 2^16 - 2개
C Class
네트워크 범위 : 192.0.0.0 - 223.255.255.0
할당 가능한 IP 개수 : 2^8 - 2개
1) 해당 네트워크에 몇 개의 호스트가 접속할 수 있는지 확인하고, 배정할 네트워크 주소가 이 호스트들을 포함할 수 있는지 확인해야 한다.
2) 시리얼 인터페이스와 이더넷 인터페이스의 네트워크 주소가 달라야 한다.
내부 네트워크에서 통신할 대상의 목적지를 찾을 수 없을 때 외부로 나가기 위해 거쳐야 하는 문으로, 라우터의 이더넷 인터페이스가 게이트웨이이다.
스위치나 허브에 IP 주소를 부여하는 이유는 단지 장치의 구분과 관리의 용이성 때문이다.
꼭 스위치나 허브에 IP를 부여하지 않아도 네트워크 통신은 가능하다.
그러나 Layer 3 이상의 스위치, 라우터는 IP를 할당해주어야 하고, 특히 라우터는 인터페이스마다 할당해주어야 한다.
클래식한 기존의 네트워크를 서브넷으로 나누는 기법이다.
즉, 주어진 IP 주소를 네트워크 환경에 맞게 나누어 주기 위해 사용하는 이진수의 조합을 서브넷 마스크라고 한다.
클래스에 따라 한 네트워크에 포함할 수 있는 IP의 개수가 달라지는데 너무 많은 IP가 포함될 경우 브로드캐스트 영역이 증가하여 성능 저하로 이어진다.
따라서 정상적인 통신이 가능하도록 라우터를 통해 네트워크를 분리해준다.
기본적으로 클래스마다 존재하는 서브넷 마스크
150.150.100.1이라는 IP 주소에 서브넷 마스크 255.255.0.0를 씌우면 기본 서브넷 마스크와 일치하기 때문에 서브넷 마스크의 이진수가 1인 부분은 네트워크 ID이고, 0인 부분은 호스트 ID가 된다.
만약 서브넷 마스크 255.255.255.0를 씌우면 네트워크 ID는 150.150.100이 되고, 나머지 호스트 ID만큼 IP를 할당할 수 있다.
이처럼 서브넷 마스크를 사용하여 더 작은 네트워크로 나누는 것을 서브네팅이라고 한다.
💻 콜리전 도메인과 브로드캐스트 도메인
콜리전 도메인과 브로드캐스트 도메인을 혼동할 수 있지만 두 도메인은 같을 수도, 다를 수도 있다.
그림에서 색칠된 영역은 콜리전 도메인, 테두리 영역은 브로드캐스트 도메인이다.
콜리전 도메인을 분리하는 역할은 스위치가 하지만, 브로드캐스트 도메인은 라우터에 의해 분리된다.
- 콜리전 도메인 : 메시지 전송 시 충돌이 발생할 수 있는 영역
- 브로드캐스트 도메인 : 같은 네트워크 ID를 가진 IP 장치들의 영역
1) 서로 나누어진 서브넷 간의 통신은 꼭 라우터를 거쳐야 한다.
2) 서브넷 마스크는 이진수로 썼을 때 1이 연속되어야 한다.
(0이 중간에 끼어있으면 서브넷 마스크가 될 수 없다.)
클래스 없는 라우팅 기법으로, IP의 유연한 사용과 IPv4의 효율적인 할당이 가능하다는 장점이 있다.
CIDR 블록은 A.B.C.D/N과 같은 형태이다.
IPv4의 주소와 마찬가지로 4개의 옥텟으로 구성된다.
'/' 뒤의 N은 prefix의 길이라고 하고, CIDR 블록의 시작으로부터의 비트(prefix) 수를 의미한다.
따라서 prefix가 짧을수록, N이 작을수록 더 많은 IP 주소를 할당할 수 있다.