IP와 서브넷 마스크를 통해 network 주소와 host ID를 판별하기

수정일: 2026. 2. 15.

카테고리:
태그:

IP: Internet Protocol

IP의 버전

IP는 IPv4, IPv6로 나뉩니다.

이번 글은 IPv4에 대해 알아봅니다.

IPv4의 IP

IP는 8bit를 4묶음으로 묶어 표시합니다. 예를 들어 192.168.1.0 같은 것이죠

각 자리수는 0부터 255까지 들어갈 수 있습니다.

IPv4의 IP의 네트워크 주소와 호스트

네트워크 주소는 192.168.1.0 중 어디까지를 네트워크 주소로 설정할 것이냐? 에 따라 다릅니다. 192 까지를 네트워크 주소로 사용하거나, 192.168.1까지를 네트워크 주소로 할 수 있습니다.

네트워크 주소는 현재 접속해있는 네트워크와 호스트로 나뉘고, 다른 PC에서도 네트워크와 호스트로 나뉩니다. 어떤 PC와 통신해야할 때 필요한 것은 IP 주소입니다.

IP 주소를 192.168.2.0을 받았다고 가정하면 이게 어디까지가 네트워크 주소인지를 알 수 없습니다. 192까지인지, 192.168까지를 네트워크 주소로 사용했는지를 알 수 없기 때문이죠.

어디까지가 IP ID인지를 나타내는 서브넷마스크

IP 주소만으로는 어떤 네트워크로 연결해야하는지 알 수 없다는 점까지 알아봤습니다.

여기서 해결책으로 서브넷 마스크라는 것이 등장합니다.

보통 255.255.255.0 이렇게 생긴 모습으로 나타납니다. 마찬가지로 각 자리수는 8비트씩 4묶음입니다.

그럼 아래와 같이 IP와 서브넷 마스크를 확인할 수 있습니다.

IP: 192.168.1.0
subnet mask: 255.255.255.0

여기서 서브넷 마스크와 IP의 각 자리수를 AND 연산합니다. 서브넷 마스크의 255를 비트로 나타내면 1111 1111 입니다. 192는 1100 0000로 나타납니다.

서로 AND 연산을 해보면

1100 0000 // IP
1111 1111// subnet mask
//------------
1100 0000

IP가 그대로 튀어나오는 것을 알 수 있습니다.

AND 연산 결과가 192.168.1.0이 나왔다면, 이것이 바로 네트워크 주소가 됩니다. 그리고 서브넷 마스크가 0인 마지막 자리는 호스트(개별 PC)를 위해 비워둔 공간이 됩니다.

바로 그 부분까지가 네트워크 주소임을 나타냅니다. 나머지는 호스트 주소가 됩니다. (호스트 주소는 해당 네트워크에 접속해있는 특정 PC의 주소)