5.5.10 IPv6
- Support billions of hosts - uses 16 byte (128 bit) addresses so
theoretically 340,282,366,920,938,463,463,374,607,431,768,211,456 host
addresses.
- Addresses written using colon hexadecimal notation (e.g.
8000:0000:0000:0000:0123:5678:CDEF)
- Zero compression in address representation replaces sequences of zeros
with two colons. For example, the 32 bit IPv4 addresses start with 96 bits of
0, could be written as ::192.31.20.46
- Reduce size of routing tables - 16 byte addresses allow deeper hierarchy.
- Simplify protocol so routers can process packets faster
- header reduced to 7 fields from 13 in IPv4
- Removed checksum field since transport and data link protocols normally
have own and network communication highly reliable.
- Provide better security
- supports state-of-the-art checksum authentication and user optional
encoding algorithm for privacy
- Encryption is essentially an end-to-end issue.
- Attention to type of service, particularly real-time data - Priority field
defining slow and fast data.
- Aid multicasting by allowing scopes to be defined - Multicast addresses
with 4-bit scope field and 112-bit group field.
- Support roaming hosts - not supported directly, still possible via
foreign/home agents
- Allow protocol to evolve - Much of IPv4 header pushed into higher level,
end-to-end protocols (e.g. checksum) which can be implemented independent of
routing issues.
- Permit old and new protocols to coexist
- not compatible with IPv4
- is compatible with TCP, UDP, ICMP, DNS, etc. except for larger
addresses.
- Initially islands of IPv6 tunnel through IPv4 networks until eventually
merge into a complete IPv6 network.
- Current investment in IPv4 routers too large to change immediately.
IPv4 header

IPv6 header

The general form of an IPv6 datagram. Extension headers are optional - the
minimum datagram has a base header followed by data.
IPv6 base header

- VERS - Identifies as protocol 6.
- TRAFFIC CLASS - Specifies general characteristics required by datagram.
Real time audio (voice over IP) might request path with less than 100 ms
delay.
- FLOW LABEL - Used by applications that require performance guarantees, can
be used to identify a specific path through network. After path established,
an ID is returned that sender places in this field.
- PAYLOAD LENGTH - is what it says.
- HOP LIMIT - Byte means 255 limit.
- SOURCE and DESTINATION ADDRESS - 16 byte addresses, (e.g.
8000:0000:0000:0000:0123:5678:CDEF).
- NEXT HEADER - Specifies type of information that follows the current
header; can be the type of an extension header or type of data in payload. The
following shows a) NEXT=TCP to be TCP data and b) NEXT=ROUTE to be a route
header which contains NEXT=TCP.
