IPv4는 32비트 주소 체계를 사용하며 10진수로 표현합니다. 그러나 인터넷 사용자가 증가하면서 주소 부족 문제가 발생하였고 이를 완화하고자 IPv6가 등장했습니다. IPv6는 128비트 주소 체계를 사용하며 16진수로 주소를 표현합니다.
32비트 → 128비트, 10진수 → 16진수
IPv4보다 헤더 구조가 단순화되어 있고, 브로드캐스트 대신 멀티캐스트와 애니캐스트를 사용하는 등의 차이가 있습니다.
- 브로드캐스트는 하나의 송신자가 같은 네트워크의 모든 호스트에게 데이터를 전송하는 방식입니다.
- 멀티캐스트는 특정 그룹에 가입한 여러 호스트에게만 데이터를 전송하는 방식입니다.
- 애니캐스트는 동일한 주소를 가진 여러 노드 중 네트워크상 적절한 하나의 노드에게 데이터를 전달하는 방식
IPv4의 주소 부족 문제를 IPv6가 나오기 전에 어떻게 해결했나요?
사설 IP와 NAT를 이용해 하나의 공인 IP를 여러 장치가 공유했습니다.
IPv6에서는 NAT를 사용하지 않나요?
사용할 수는 있지만, IPv4처럼 주소 부족을 해결하기 위한 NAT는 기본적으로 필요하지 않습니다. IPv6는 충분한 전역 주소를 제공하는 것이 기본 방향입니다.
IPv4와 IPv6는 서로 바로 통신할 수 있나요?
기본적으로 다른 프로토콜이기 때문에 직접 호환되지는 않습니다.
전환 과정에서는 Dual Stack, Tunneling, Translation(NAT64 등) 같은 기술을 사용할 수 있습니다.
Dual Stack, Tunneling, Translation은 각각 무엇을 하는 방식인가요?
Dual Stack은 호스트나 네트워크가 IPv4와 IPv6를 모두 지원하여 상대와 맞는 프로토콜로 통신하는 방식입니다. Tunneling은 한 프로토콜의 패킷을 다른 프로토콜 안에 담아 중간 네트워크를 통과시키는 방식입니다. Translation은 IPv4와 IPv6의 주소·헤더 등을 변환하여 서로 다른 프로토콜 사이의 통신을 돕습니다. Dual Stack 자체가 패킷을 상호 변환하는 것은 아닙니다.
IPv6 헤더가 단순화되었다는 것은 구체적으로 무엇이 달라졌다는 뜻인가요?
IPv6 기본 헤더는 40바이트로 고정되고, 선택적인 정보는 확장 헤더로 분리합니다. IPv4의 헤더 체크섬도 제거했으며, 중간 라우터가 패킷을 단편화하지 않고 필요한 경우 송신 측이 처리합니다. 기본 헤더 처리 구조가 단순해진 것이며 IPv6가 언제나 더 빠르다는 뜻은 아닙니다. RFC 8200
IPv6에서는 왜 브로드캐스트를 제거했나요?
브로드캐스트는 해당 네트워크의 모든 호스트가 패킷을 받아서 확인해야 하기 때문에 불필요한 네트워크 및 CPU 자원 사용이 발생할 수 있기 때문입니다.
IPv6에서는 필요한 호스트들만 대상으로 하는 멀티캐스트를 사용하여 브로드캐스트의 역할을 대체합니다.
예를 들어 IPv4의 ARP처럼 주변 호스트를 찾기 위해 모든 장비에 브로드캐스트하는 대신, IPv6의 **NDP(Neighbor Discovery Protocol)**는 멀티캐스트를 사용합니다.