IP 주소는 컴퓨터 네트워크에서 장치들이 서로를 식별하기 위해
사용되는 주소 체계입니다.
주로 IPv4와 IPv6 두 가지 버전이 있으며,
각각의 주소 형식은 특정 비트 수로 구성되어 있습니다.
특히, IPv6는 더 큰 주소 공간을 제공하여
주소 부족 문제를 해결하고 미래의 네트워크 요구에 대응합니다.
IPv6 주소의 형태와 구조를 살펴보겠습니다.
IPv6 주소 형식
IPv6 주소는 128비트로 표현되며, 다음과 같은 형식을 갖습니다.
예시:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
fe80:0000:0000:0000:0202:b3ff:fe1e:8329
ff02:0:0:0:0:0:0:2
이 주소는 16비트씩 8개의 마디로 나뉘어져 있으며,
각 마디는 16진수로 표현됩니다.
축약된 형태도 자주 사용되어 가독성을 높이고 있습니다.
축약된 예시:
2001:db8:85a3::8a2e:370:7334
fe80::202:b3ff:fe1e:8329
::1 (로컬 호스트를 나타냄)
IPv6는 IPv4와는 다르게 주소 부족 문제를 해결하기 위해 도입되었습니다.
128비트 주소 공간을 제공함으로써 더 많은 고유 주소를 생성할 수 있어,
인터넷의 확장성을 향상시켰습니다.
과거에는 Classful IP Addressing이 주로 사용되었습니다. 주소를 A, B, C 클래스로 나누어 관리하는 방식으로, 각 클래스는 특정한 범위의 네트워크 주소를 할당받았습니다. 그러나 이 방식은 유연성이 부족하며, IP 주소의 효율적인 사용이 어려웠습니다.
1.0.0.0 to 126.255.255.255
첫 번째 Octet(8비트)이 네트워크 식별주소이며,
나머지 세 개의 옥텟(24비트)은 디바이스를 식별합니다.
첫 번째 Octet이 0으로 시작하여 7개의 비트를 사용해서 128개의 네트워크를 가질 수 있으나 0과 127로 시작하는 주소는 Reserved 상태라서 사실상 1에서 126 사이의 네트워크 주소를 가집니다.
128.0.0.0 to 191.255.255.255
첫 번째 두 Octet이 네트워크 식별주소이며,
나머지 두 Octet은 디바이스를 식별합니다.
첫 번째 두 Octet의 처음 두 비트가 10으로 고정되어 14개의 비트를 사용해서
16,384개의 네트워크 주소를 가질 수 있으며, 디바이스 주소는 16비트로 이루어져, 네트워크마다 65,536개의 디바이스 주소를 가질 수 있습니다.
192.0.0.0 to 223.255.255.255
첫 번째 세 Octet이 네트워크 식별주소이며,
나머지 한 Octet은 디바이스를 식별합니다.
세 Octet의 처음 세 개의 비트가 110으로 고정 되어, 21개의 비트를 사용해서
2백만 여 개의 네트워크를 가질 수 있습니다.
디바이스 주소는 8비트로, 네트워크 마다 256개의 디바이스를 가질 수 있습니다.
224.0.0.0 to 239.255.255.255
멀티캐스트 그룹을 위한 주소로 사용됩니다.
멀티캐스트는 1:N 데이터 전송 방법이며, 네트워크 내의 모든 디바이스에 동시에 데이터를 전송하는 것입니다.
CIDR은 Classful IP Addressing의 제한을 극복하기 위해 도입되었습니다. 서브넷 마스크(Subnet Mask)를 통해 네트워크와 디바이스를 더 세분화하여 IP 주소를 관리합니다.
"192.168.1.0/24"는 24비트의 서브넷 마스크를 가진 네트워크를 나타냅니다.
가변 길이의 서브넷 마스크를 사용하여 더 작거나 큰 네트워크를 생성할 수 있습니다.
작은 IP 주소 블록을 하나로 통합하여 효율적으로 IP 주소 공간을 활용합니다.
CIDR은 IPv6와 호환되며, IPv6에서는 더욱 중요한 역할을 수행합니다.
IPv6는 주소 부족 문제를 해결하고 미래의 인터넷 요구에 대응하기 위해 도입되었습니다.
Classful IP Addressing 방식에서는
IP 주소의 처음 몇 개의 비트를 보면 어떤 클래스의 IP 주소인지 알 수 있고,
이를 바탕으로 전체 IP 주소에서 어디까지가 네트워크 주소이고,
어디까지가 디바이스 주소인지 판별할 수 있습니다.
하지만 CIDR에서는 IP 주소에서 네트워크 주소와 디바이스의 주소를 구분하기 위해
서브넷 마스크를 사용합니다.