128 bits의 주소로, 기존의 32 bits의 IP 주소 공간(IPv4)이 빠른 속도로 고갈되고 있기 때문에 개발된 IP 주소이다.
확장된 주소 기능
IPv6는 128bits로 확장되었기 때문에 주소가 고갈되는 일은 발생하지 않는다. 또한 Multicast, Unicast 뿐만아니라, Anycast가 도입되었다.
고정된 40bytes 헤더
IPv4와 다르게 헤더가 40bytes로 고정되어 있다. 이는 라우터가 IP Datagram을 빠르게 처리 할 수 있게 해준다.
Ver(4bits)
IP 버전 번호를 인식한다. IPv6의 필드 값은 6이다. 단 이 값을 4로 바꾸어도 IPv4는 될 수 없다.
Priority(트래픽 클래스, 8bits)
IPv4의 TOS와 비슷한 의미를 갖는다. Datagram의 우선순위를 부여하는데 사용이 된다.
Flow Label(흐름 라벨링)
Non default quality service나 실시간 서비스와 같은 특별한 처리를 요청하는 송신자에 대해 특정 흐름(flow)에 속하는 패킷 레이블링이 가능하다.
Payload Length(16 bits)
고정 길이 헤더 40bytes 뒤에 나오는 바이트 길이이다.
Next header(다음 헤더)
고정된 40 bytes의 기본 헤더 뒤에 확장 헤더가 올 경우, 확장 헤더를 나타낸다. 만일 Datagram의 payload나온다면, 윗 계층에서 전달된 프로토콜(TCP/UDP)을 구분한다.
Hop Limit
라우터가 Datagram을 전달할 때마다 1씩 감소한다. 홉 제한 수가 0보다 작아지면 Datagram을 버린다.(IPv4의 TTL과 유사하다.)
Fragmentation/Reassembly
라우터가 받은 IPv6의 Datagram이 너무 커서 출력 링크로 전달할 수 없다면, 라우터는 Datagram을 폐기하고 'Packet Too Big'이라는 ICMPv6 메시지를 송신자에게 보낸다.
(∵ 라우터에서 발생하는 Fragmentation/Reassembly는 시간이 소요된다.)
Checksum
IPv4의 경우 Checksum을 모든 라우터마다 수행하였는데 이는 비용이 많이 드는 과정이다.
Option
완전히 사라진것은 아니고, IPv6 기본헤더 다음에 올 수 있다.