Created as a result of the lacking amount of IP address spaces. Even
with private networks and CIDR we still don’t have enough IPv4
addresses
IPv6 has a few improvements
over v4
- More address spaces. 2^128 to be exact
- Hierarchical address spaces
- Auto-configurations
- Built-in Quality of Server support
- Built in support for security
IPv6 Addresses
- A v6 address is 128 bits or 16 bytes long. 4 times as large as a v4
address
- Written in colon decimal notation
- Written in hexadecimal instead of decimal
0000:0000:0000:0000:FFFF:FFFF:FFFF:FFFF
Zero Compression
- Rule 1: When only 0 is in a quad then it is removed from the ipv6
address notation
- Rule 2: When continuous zeros are available in IPv6 address
notation, then all zeros replaced by ::
- Rule 3: When zeros are present in discontinuous places then at only
one junction, 0s are replaced with ::
FDEC:0000:0000:0000:0000:BFF:0000:FFFF - origional address
FDEC:0:0:0:0:BBFF:0:FFFF -> FDEC::BBFF::FFFF - Broken down then compressed
Types of Addresses
- Unicast - defines single interface or device
- Anycast - defines a group of recipients that share a single address.
Message is sent to only one member of an address, the most
reachable
- Multicast - defines a group of recipients that share a single
address. Message is sent to all members of address
- Broadcast addresses are not used in IPv6
Address Space Allocation
- IPv6 is divided into several blocks of 1/8
- Divided logically by address prefix
- If an IPv6 address has a prefix of 00000000 and the remaining bits
are 0 that means the device has no address
- If connections between v4 and v6 as well as connections over said
networks need to occur, IPv6 sets all bits to 0 and the end bits become
a small enough address to resemble an IPv4 address
Link Local Addressing
- When communicating on a local network IPv6 does some interesting
logic.
- It uses the devices mac address to create a unique 64 bit string
identifier to be used as a link local address.
- It rearranges the address by flipping a bit and moving bytes
around.
- Fields - Its a lot cleaner with less fields
- Version
- Traffic Class
- 8bits
- Used for routing priority
- Flow Label
- 20 bits
- id’s a group of packets, like a session or media stream
- Payload Length
- 16 bits
- Number of bytes carried. Does not include header bytes
- Next Header
- Shows either protocol or an extension header. It shows what is
supposed to be coming behind it
- Hop Limit
- Source Address
- Destination Address
- Next Header Types
- basic ipv6 header -
- hop by hop operations 0
- destination options 60
- routing header 43
- fragment header 44
- authentication header 51
- encapsulation security payload header 50
- destination options 60
- mobility header 135
- no next header
- upper layer TCP
- upper layer UDP
- upper layer ICMPv6
Security
- IPSec is built in
- Different header security
- AH - Authentication Header (header only)
- ESP - Encapsulated Security Payload (header and payload)
- Modes
- transport mode
- tunnel mode