See this page as a slide show
CT320: IPv6
Thanks to:
- Dr. Indrajit Ray, CSU
- Dr. James Walden, NKU
- Russ Wakefield, CSU
for the contents of these slides.
Motivation
IPv6
- Initial motivation: 32-bit address space soon to be completely allocated.
- Additional motivation:
- header format helps speed processing/forwarding
- header changes to facilitate QoS
- IPv6 datagram format:
- fixed-length 40 byte header
- no fragmentation allowed
IPv6 addresses
- IPv6 addresses are 128 bits long.
- Eight colon-separated groups of four hex digits:
- 2001:0db8:0123:0000:0000:0000:0000:4567
- Leading zeroes may be removed from any group.
- 2001:db8:123:0:0:0:0:4567
- Consecutive sections of zeroes can be replace with
::
.
IPv6 Header
0
| 1
| 2
| 3
| 4
| 5
| 6
| 7
| 8
| 9
| 10
| 11
| 12
| 13
| 14
| 15
| 16
| 17
| 18
| 19
| 20
| 21
| 22
| 23
| 24
| 25
| 26
| 27
| 28
| 29
| 30
| 31
|
Version
| Traffic class
| Flow Label
|
Payload Length
| Next Header
| Hop Limit
|
Source IP address (128 bits)
|
Destination IP address (128 bits)
|
- Traffic class: identify priority among datagrams in flow
- Flow Label: identify datagrams in same “flow” (ill-defined concept).
- Next header: identify upper layer protocol for data
Other Changes from IPv4
- Checksum: removed entirely to reduce processing time at each hop
- Options: allowed, but outside of header, indicated by “Next Header” field
- ICMPv6: new version of ICMP
- additional message types, e.g. “Packet Too Big”
- multicast group management functions
Transition From IPv4 To IPv6
- Not all routers can be upgraded simultaneously
- no “flag days”
- How will the network operate with mixed IPv4 and IPv6 routers?
- Tunneling: IPv6 carried as payload in IPv4 datagram among IPv4 routers
Tunneling
Send a packet from IPV6, in the future:
┌───┐ ┌───┐ ┌───┐ ┌───┐
│ A │···│ B │···································│ E │···│ F │
└───┘ └───┘ IPv6 Internet └───┘ └───┘
IPv6 IPv6 IPv6 IPv6
In these primitive times:
┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐
│ A │···│ B │···│ C │···················│ D │···│ E │···│ F │
└───┘ └───┘ └───┘ IPv4 Internet └───┘ └───┘ └───┘
IPv6 IPv6 IPv4 IPv4 IPv6 IPv6
C & D are IPv4/IPv6 gateways, which wrap/unwrap the IPv6 packet
in an IPv4 packet, much as a TCP packet is wrapped in an IP packet.