IPv4 주소 체계

IP주소란 것은 Host에 대한 식별자이다. Host가 사람이라면 IP주소는 주민등록번호가 될 것이다. 나라의 행정체계에서 개인을 식별하기 위함이 주민번호이다.이것을 비유로 삼아 나라의 행정체계는 Netwrok에 해당하고, 개인은 Host, 주민번호는 IP주소가 된다.

IP는 Internet Protocol의 준말로 IP주소에는 IPv4, IPv6 두가지 버전이 있다.

이 둘의 가장 큰 차이점은 우선 주소길이이다. IPv4는 32bit 주소체계를 쓰고 IPv6는 128bit 체계이다. 그러다보니 IPv4는 2의 32제곱인 대략 43억개쯤 생성할 수 있다. Internet이라는 세상에 참여할 수 있는 Host의 개수가 43억개로 제한된것이다.

그럼 전세계에서 43억개면 충분할까? 턱없이 모자라다.. 이에 여러 방식으로 해결하고있지만 2022년 현재 IP는 IPv4를 가장 많이쓰고 있다..ㅎㅎ

Untitled

내 IPv4 주소는 192.168.219.101로 되어있다.

IP에서 . 하나를 기준으로 나올 수 있는 값의 범위는 0~255 이다. 즉 2의 8제곱인 8bit씩 끊어서 표시한다는 점을 기억해두자 (8bit.8bit.8bit.8bit로 이루어짐 )

Untitled

192.168.219.101에서 192라는 숫자는 바이너리 1100 0000(2) 또는 이진진법변환으로 ‘C 0’ 표현할 수 있다.

IP주소는 크게 둘로 나뉜다. 192.168.219.101 에서 임의로 두동강을 낸 후 앞부분을 Network ID라고 부른다. (192.168.219) 그리고 뒷부분을 Host ID라고 부른다 (101)

길이를 얘기할 때 IP주소는 기본적으로 32bit이기 때문에 Net ID가 24bit가 되면 Host ID는 8bit가 된다. 여기서 Network ID의 길이가 얼만지를 나타내는 것이 서브넷 마스크 (Net Mask)이다.

Ipv4주소체계(3)

정리해보면 IPv4 주소가 192.168.219.101이고 서브넷 마스크가 255.255.255.0 일때255는 16진수로 0xFF, 2진수로 1111 1111 로 표현된다.

그러면 192.168.219.101 에서 아까 192가 1100 0000 이었음을 기억할 것이다.

여기서 1100 0000 과 1111 1111 을 비트연산 And로 계산하면 1100 0000이 된다.

반대로192.168.219.101에서 Host ID인 101은 2진수로 0110 0101 이 된다.

이것을 0000 0000 과 비트연산 And을 하면 당연히 0이 된다.

그리고 이 둘을 비트연산 AND하면 192.168.219.0 이된다.

이것이 Network ID이다. (8bit.8bit.8bit.0이자 24bit)

또한 이것을 192.168.219.101/24로도 표기한다.

따라서 192.168.219.101/24 라는 주소체계를 봤을 때, Host ID가 8bit이고 Network ID가 24bit가 되고 Host ID가 101하나 임을 알아채자.