[개념 정리/네트워크] IPv4 VS IPv6 비교 정리
IP주소는 인터넷 주소로, IPv4와 IPv6 두 개의 버전으로 나뉜다.
IPv4
IPv4는 32비트로 표현되는 주소 체계로 2^32개(41억 9천만 개)의 주소를 표현할 수 있다.
8비트 단위로 점을 찍어, 4개의 부분으로 구분하여, 8비트를 10진수로 표현한다.
현 시대에는 IPv4 주소 체계만으로는 부족하기 때문에,
NAT, 서브네팅 등 여러 부수적인 기술을 함께 사용 중이다.
172 | . | 16 | . | 254 | . | 1 |
10101100 | 00010000 | 1111110 | 00000001 | |||
---8bits--- | ---8bits--- | ---8bits--- | ---8bits--- | |||
32bits (4bytes) |
*8비트 = 옥텟 = 바이트
IPv6
IPv6는 128비트로 표현되는 주소 체계이며, 2^128개의 주소를 표현할 수 있다.
즉, 많은 주소 처리가 가능하며, NAT, 서브네팅 등이 필요하지 않다.
16비트 씩 8개의 부분으로 구분하며,
16비트는 16진수로 변환되어, 콜론(:)으로 구분하여 표시한다.
앞자리의 연속되는 0은 생략될 수 있다.
2001 : | 0DB8 : | AC10 : | FE01 : | 0000 : | 0000 : | 0000 : | 0000 |
(반복적인 0 생략 가능) | |||||||
네트워크 주소 | 인터페이스 주소 |
앞의 64비트는 네트워크 주소,
뒤의 64비트는 인터페이스 주소로 이루어져 있다.
IPv6에는 IPSec이 내장되어 있다. IPSec은 데이터 패킷을 암호화하는 보안 네트워크 프로토콜 제품군을 말한다.
IPv4 VS IPv6 비교
- IPv6에서 더 단순해진 헤더 포맷
IPv6는 IPv4 헤더에서 불필요한 필드를 제거하여 보다 빠른 처리가 가능해졌다.
- 체크섬의 유무
IPv4는 체크섬이 있지만, IPv6는 체크섬이 없다.
IPv4에는 CRC*를 통해 손상된 패킷을 확인하고 폐기하는 데 사용되는 체크섬 필드가 있다.
그러나 IPv6는 체크섬 필드가 존재하지 않는데, 상위 프로토콜(TCP, UDP)에 체크섬 필드가 있기 때문에,
헤더의 효율화를 위해 버전 업그레이드 과정에서 사라졌다.
만약 체크섬 필드를 사용하지 않는 것으로 설정하고 싶다면, 필드 값을 0으로 만들면 된다.
이를 통해 체크섬 필드의 사용 여부를 유동적으로 결정할 수 있다.
다만, IPv6와 UDP의 조합으로 사용할 경우, IPv6의 헤더에 체크섬 필드가 없기 때문에,
UDP 헤더의 체크섬 필드를 반드시 사용하는 것으로 설정해야 한다.
- 헤더의 길이
IPv4는 헤더 길이가 가변적이지만, IPv6는 고정 길이(40바이트)라서
IPv6에는 헤더 길이 필드가 없다.
이외에도 IPv6에서는 여러 불필요한 정보의 필드가 삭제되었다.
*CRC:
순환 중복 검사. 네트워크 상에서 데이터에 오류가 있는지 확인하기 위해 체크값을 결정하는 방식이다.
데이터를 전송하기 전에 주어진 데이터의 값에 따라 CRC 값을 계산하여 데이터에 붙여 전송하고,
데이터 전송이 끝난 후 받은 데이터의 값으로 다시 CRC 값을 계산한다.
두 값을 비교하여, 두 값이 다르면 데이터 전송 과정에서 잡음 등에 의해 오류가 덧붙여 전송된 것임을 알 수 있다.
- TTL 명칭 Hop limit으로 변경
IPv4에서 TTL(Time to Live) 필드는 패킷이 네트워크 상에서 무한히 순환하지 않도록 하는 변수다.
패킷이 네트워크에서 라우터를 거칠 때마다 TTL값이 1씩 감소하여, 0이 되면 패킷은 폐기된다.
IPv6에서 TTL의 명칭이 Hop Limit으로 변경되었다.
IPv4와 IPv6 중 어느 것이 더 좋은가
IPv6는 IPv4보다 많은 주소를 표현할 수 있다.
또한, IPv4 대비 불필요한 헤더가 삭제되어 빠르고,
IPSec이라는 네트워크 보안 제품군이 포함되었기 때문에, 보안적인 면에서도 낫다.
일반적으로는 IPv6가 IPv4보다 속도가 더 빠르지만,일부 사용 사례에서는 속도가 느린 경우도 있을 수 있다.
참고: inflearn 강의 'CS 지식의 정석 - 큰돌'