✔기존 IPv4에서 주소공간이 부족해졌기 때문에 주소공간의 길이를 더 늘린 IPv6가 등장하였다.
📌IPv6
- IPv6 주소는 기존 32비트의 IPv4 주소가 고갈되는 문제를 해결하기 위하여 개발된 새로운 128비트 체계의 무제한 인터넷 프로토콜 주소를 말한다. IPv6 주소는 다음 그림과 같이 16비트 단위로 구분하며, 각 단위는 16진수로 변환되어 콜론(:)으로 구분하여 표기한다. 128비트의 IPv6 주소에서 앞의 64비트는 네트워크 주소를 의미하며, 뒤의 64비트는 네트워크에 연결된 통신장비 등에 할당되는 인터페이스 주소를 의미한다.
💡 장점
- 확대된 주소 공간: 주소 길이가 128비트로 증가
- 단순해진 헤더 포맷: IPv4 헤더의 불필요한 필드를 제거하여 보다 빠른 처리 가능
- 다수의 사용자들에게 전송기능: Unicast, Multicast등의 새로운 주소개념을 도입
- 강화된 보안 기능: IPv6에서는 인증, 암호화, 무결성 기능을 제공
- 개선된 모바일 IP: IPv6 헤더에서 이동성 지원
- 확장헤더를 통한 확장성 지원: IPv6는 기존 IPv4의 옵션필드들이 모두 확장헤더필드로 옮겨짐
📌IPv6 packet 형식
- 각 패킷은 페이로드가 뒤따르는 필수 기본 헤더로 구성된다. 페이로드는 선택적 확장 헤더와 상위 계층의 데이터의 두 부분으로 구성된다. 기본 헤더는 40바이트를 차지하는 반면 확장 헤더와 상위 계층의 데이터는 최대 65,535바이트의 정보를 포함한다.
💡 IPv6 Header의 형태
- Version: 이 4비트 필드는 IP의 버전 번호를 정의한다. IPv6의 경우 값은 6이다.
- Class: 4비트 우선순위 필드는 트래픽 혼잡에 대한 패킷의 우선순위를 정의한다. IPv4의 서비스타입과 비슷한 것이라 보면 된다.
- Flow Label: 실시간 서비스 등 같이 우선권을 주기위하여 특정 트래픽 Flow에 대한 라벨링한 3바이트(24비트) 필드이다.
- Payload Length: 2바이트 페이로드 길이 필드는 기본 헤더를 제외한 IP 데이터그램의 길이를 정의한다.
- Next Header: 데이터그램의 기본 헤더 다음에 오는 헤더를 정의하는 8비트 필드이다. IPv4의 프로토콜 번호와 같은 역할이다. 다음 헤더는 IP에서 사용하는 선택적 확장 헤더 중 하나이거나 UDP 또는 TCP와 같은 캡슐화된 패킷의 헤더이다. 각 확장 헤더에는 이 필드도 포함된다.다음 옵션이 무엇인가를 알려준다.
- Hop Limit: 이 8비트 홉 제한 필드는 IPv4의 TTL 필드와 동일한 용도로 사용됩니다.
- 기본 고정 헤더 뒤에 선택적인 확장헤더들이 뒤따라 올 수 있다. 기본헤더만 라우터에서 처리하고, 확장헤더는 옵션 종류에 따라 처리 방식이 다르다. 따라서, 모든 확장 헤더를 다 처리할 필요가 없어서 라우터 부하 경감된다.
📌IPv6 주소체계
- IPv4 주소 체계는 총 32비트로 각 8비트씩 4자리로 되어 있으며, 각 자리는 ‘.’(dot)으로 구분하고, IPv6 주소 체계는 총 128비트로 각 16비트씩 8자리로 각 자리는 ‘:’(콜론)으로 구분한다.
- 각 필드의 맨 앞에 연속되는 0은 생략될 수 있으며 연속되는 0은 ‘::’으로 표현될 수 있다.
예)2001:0DB8:1000:0000:0000:0000:1111:2222
예) 2001:DB8:1000::1111:2222
💡 프리픽스
- IPv6 주소의 ‘프리픽스’는 기존 IPv4 주소에서 사용하던 ‘서브넷’과 유사한 개념으로 생각하면 된다. IPv4 주소에서 사용하던 /16, /24, /32 등의 서브넷이 IPv6 주소에서는 길어진 주소 체계를 이용한 /48, /64, /128 등으로 표현된다.
예) 2001:DB8::/32
2001:0DB8:0000:0000:0000:0000:0000:0000 ~ 2001:0DB8:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
예) 2001:DB8:4567::/48
2001:0DB8:4567:0000:0000:0000:0000:0000 ~ 2001:0DB8:4567:FFFF:FFFF:FFFF:FFFF:FFFF
예) 2001:DB8:1234:0::/64
2001:0DB8:1234:0000:0000:0000:0000:0000 ~ 2001:0DB8:1234:0000:FFFF:FFFF:FFFF:FFFF
💡 Global Unicast Address
- 인터넷 전체에서 유일 사용, 무조건 '001' 로 시작 (2000::/3), 전체 주소의 1/8 정도 차지 (IPv4 공인주소와 같은 형태)
💡기타 목적의 유니캐스트 주소
- Loopback Address : 자기 자신으로의 IPv6 주소 (0::0:1 또는 ::1/128),루프백 시험 등, IPv4에서는 127.X.X.X였다.
- Unspecified Address : 아직 인터페이스에 IPv6 주소가 미할당 (0::0/128), 호스트 자신을 가리키며, 자신의 주소를 모를 경우 이를 사용 (즉, 모르는 주소) IPv4에서는 0.0.0.0였다.