32비트로 식별번호를 표기하는 방법이다. 8비트씩 끊어서 4개의 그룹으로 묶어 주소를 표현한다. 1개의 그룹은 0부터 255의 십진수를 표현할 수 있다. 8비트는 00000000 ~ 11111111 범위의 숫자를 표현할 수 있기 때문이다. 앞의 24비트는 네트워크 주소를 판별하기 위해서 사용되고 나머지 8비트는 네트워크 안에 있는 호스트를 식별하기 위해서 사용된다. 의례 그렇게 사용하는 것이지 절대적이지는 않다.
예를 들어 192.168.1.0
과 같은 IPV4 숫자가 있을 때 192.168.1
은 네트워크 주소를 가리키고 0
은 호스트를 가리킨다. 그리고 192
는 십진수로 11000000
해당 이진수를 십진수로 변환한 것이다.
위의 IPv4를 좀더 디테일 하게 표현한다면 192.168.1.0/24
로 표현 할 수 있을 것이다. /
다음에 나오는 24라는 숫자는 네트워크 주소로 몇 비트를 할당 할 것인지를 나타내는 숫자이다. 위 예시에선 24비트이고 그래서 나머지 8비트가 호스트를 식별하기 위해서 사용될 수 있는 것이다. 이를 네트워크 마스크라고 하고 아래에서 다시 다룰 예정이다.
IPV6는 IPV4의 확장판이다. IPV4가 32비트로 이루어져 있기 때문에 4,294,967,296 (2^32)
네트워크 주소를 할당 할 수 있다. 몇개의 IP주소가 loobpack addresses
와 private address
의 할당으로 미리 할당되어 있다. 이 범위 내에서 네트워크를 통해 통신할 수 있는 기기의 대수가 넘어감에 따라서 나오게 되었다.
128 비트로 구성되어 있다. IPv4가 .
으로 4개의 그룹을 구분한다면 IPv6는 :
으로 주소를 구분한다. 예를 들면 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
형태와 같다. IPv4의 하나의 덩어리가 8비트로 구성되어 있다고 했다면 하나의 ffff
는 16비트로 구성되어 있다. 다시 말하면 2진수로 0000000000000000 ~ 1111111111111111
범위 안에 있고 16진수로는 0000 ~ ffff
범위의 수를 표현하는 것이다. 위의 형태를 통해서 알 수 있는 것은 IPv4는 십진수
로 표현되었다면 IPv6는 16진수
로 표현되어 있다는 부분이다.
IPv4 | IPv6 | |
---|---|---|
총 비트 | 32 비트 | 128 비트 |
구분자 | . | : |
표현할 수 있는 수 | 2^32 | 2^128 |
표현되는 진수 | 10 진수 | 16 진수 |
네트워크를 통해 기기 간 서로 소통할 때 Internet Protocol을 사용하는 데 그 때 기기가 네트워크에 연결 될 때 각 기기에 부여되는 고유 번호에 IPv4가 사용된다.
위에서 설명한대로 /
다음의 비트는 네트워크 주소를 식별하기 위해 할당되는 비트 수이다. 즉 네트워크 마스크(서브넷 마스크)는 네트워크 주소와 호스트 주소륵 구분하기 위해서 사용하는 것이다.
예를 들어 192.168.0.101/24
ip 주소가 있을 때 192.168.0
부분이 네트워크 주소에 해당하는 부분이어서 192.168.0.xxx
형태의 네트워크 주소를 할당 받은 기기의 입장에서 192.168.0.xxx
형태의 주소를 받은 기기는 같은 네트워크에 속해 있는지 인식할 수 있고 반대로 192.168.0
가 아닌 네트워크 주소일 경우 같은 네트워크에 속하지 않았는지를 알 수 있다.
그랬을 때 서브넷 마스크는 255.255.255.0
or 11111111.11111111.11111111.00000000
형태의 주소를 갖는다. 왜냐하면 1은 네트워크를 0은 호스트를 표현하기 때문이다. 만일 /
뒤에 나오는 숫자가 24보다 작은 숫자일 경우
이런 방식으로 거대한 네트워크를 관리하는데 사용한다. 이렇게 함으로써 기능
또는 지역
을 기준으로 기기에 다른 서브넷을 할당할 수 있다.
네트워크 마스크의 또다른 기능은 네트워크 혼잡을 방지하는 것, 그리고 각 서브넷에 연결할 수 있는 숫자를 조정함으로써 보안을 증진시키는 점이 있다.
예를 들어 255.255.255.0
네트워크 마스크는 254(256 - 2)
개의 호스트 주소
를 할당할 수 있고,
255.255.0.0
네트워크 마스크는 65,534(256*256-2)
개의 호스트 주소
를 할당할 수 있다. 2개가 빠지는 이유는 처음 주소(255.255.255.0)
와 마지막 주소(255.255.255.255)
는 특별한 목적을 위해 할당되기 때문이다.
이렇게 호스트 주소의 개수를 관리함에 따라 서브넷 내에 있는 모든 기기들은 네트워크 부분이 동일 해야지만 서로 소통 할 수 있다는 점에서 하나의 서브넷에 몇개의 호스트를 관리 할지 결정할 수 있다.