IP 주소란? IP v4 와 Netword ID 와 Host ID
IP 주소: 인터넷 상에서 Host 를 구분할 수 있는 고유 주소이다.
여기서 말하는 Host 는 네트워크에 연결된 장치를 말한다.
IP 주소의 종류는 두 가지가 있다.
IPv4 와 IPv6 가 있는데, IPv4 가 범용적으로 쓰이고 있다.
IPv4: 32 비트로 IP 주소를 표현한 것.
IPv6: 128 비트로 IP 주소를 표현한 것.
IPv4 가 32비트로 주소가 표현된 것이기 때문에 IPv4 로 만들 수 있는 고유한 IP 주소는 2의 32승으로 약 43억개 이다.
엄청나게 많은 것 같지만 인터넷은 전 세계적으로 사용되는 것이기 때문에 43억개보다 IP주소가 더 필요하게 되었고 그래서 새롭게 나오게 된 IP주소가 IPv6 이다.
IPv4 의 구성
IPv4 는 Network ID 와 Host ID 로 구분된다.
Network ID: 네트워크를 구분하는 부분. 한 네트워크에 연결된 호스트들은 같은 네트워크 ID 를 가지게 된다.
Host ID: Host 를 구분하는 부분.
Network ID 와 HOST ID 는 서브넷 마스크를 사용하여 구분하게 된다.
예를 들어서 보겠다.
현재 내 컴퓨터의 IP 주소와 서브넷 마스크이다.

여기서 Network ID 와 Host ID 를 구분하려면, IP 주소와 서브넷 마스크를 AND 비트 연산을 진행하면 된다.
IP 주소와 서브넷 마스크를 2진수로 변환 후 AND 연산을 하면 아래와 같다.
// 192.168.0.25
11000000.10101000.00000000.00011001
// 255.255.255.0
11111111.11111111.11111111.00000000
// 두개 AND 연산 결과
11000000.10101000.00000000.00011001
AND
11111111.11111111.11111111.00000000
-----------------------------------
11000000.10101000.00000000.00000000
AND 연산의 결과로 살아남게 되는 부분이 Network ID 가 되고 없어지는 부분이 Host ID 가 된다.
위의 예시에서는 192.168.0 이 Network ID 이고 25 가 Host ID 가 된다.