모든 인터넷 기기는 IP 주소를 통해 메시지를 전송받습니다. 단순히 IP 주소를 아는 것뿐만 아니라, 이 주소가 어떤 규칙과 설계 구조에 근거하여 작동하는지 이해한다면 네트워크 장애 조치나 프로그래밍에 큰 자산이 됩니다.
IP 주소(IPv4 기준)는 8비트씩 4개 구역으로 나뉜 32비트 이진수로 이루어져 있습니다. 사람이 읽기 쉽도록 8비트마다 10진수로 변환해 0.0.0.0부터 255.255.255.255까지 점(.)으로 끊어서 표기합니다. 이 주소는 두 부분으로 나뉘는데, 기기가 속한 그룹을 알려주는 '네트워크 주소(Network ID)'와 해당 그룹 내에서 내 기기만을 가리키는 '호스트 주소(Host ID)'입니다.
초기 인터넷 보급 시기에는 IP 주소를 효율적으로 나누기 위해 클래스 개념을 도입했습니다. - **A 클래스(0.x.x.x ~ 127.x.x.x):** 대형 기관용으로 국가나 초대형 대기업이 주로 소유합니다. 첫 번째 옥텟만 네트워크 ID로 씁니다. - **B 클래스(128.x.x.x ~ 191.x.x.x):** 중대형 기관용입니다. - **C 클래스(192.x.x.x ~ 223.x.x.x):** 소규모 네트워크용으로 가정집 공유기 사설 IP 대역이 대표적으로 속합니다. 현재는 클래스 대신 더 유연한 CIDR(Classless Inter-Domain Routing) 방식을 사용하고 있습니다.
서브넷 마스크는 주어진 IP 주소에서 어디까지가 네트워크 주소이고 어디서부터가 호스트 주소인지를 구분해 주는 마스크 필터입니다. 예를 들어 '255.255.255.0' 이라는 서브넷 마스크는 앞의 세 자리(24비트)는 네트워크 영역이므로 동일한 영역에 있는 기기끼리는 중계기(라우터) 없이 직접 통신이 가능하고, 마지막 자리(8비트)인 호스트 영역을 통해 최대 254대의 컴퓨터를 한 네트워크에 묶어놓을 수 있음을 나타냅니다.