Introduction to IP version 6 Jon-Olov Vatn
KTH/IMIT/TSLab
Introduction to IP version 6 Jon-Olov Vatn
KTH/IMIT/TSLab
Problems with IPv4 address
Internet is expanding in number of networks and hosts
IP (IPv4) addresses are 32 bits and are becoming a scarce resource.
Partly solved by using DHCP and NAT.
Address blocks not always assigned in an aggregatable way. => BGP tables grow.
What is IPv6?
A new version of IP (version 6)
(Or perhaps a new network protocol)
Larger addresses (128 bits)
More aggregatable addresses
Some other enhancements
Duties of a connectionless protocol
Basic networking services
Packet format
Error handling
Fragmentation etc.
Neighbor greeting
Link specific matters
Automatic address assignment
IP/MAC address mapping (ARP)
Routing (dynamic routing)
IPv6 packet format
Version Class Flow Label Payload Length Destination Address Source Address Next Hdr Hop Limit Some changes from IPv4
Longer addresses
Version field (6)
Flow label, Class
Fields removed
header checksum
ToS (type of service)
Header length
Fragmentation fields
Header extensions (instead of options)
Next Header field andExtension headers
IPv6 Hdr Next Hdr =
TCP TCP Hdr +
Data IPv6 Hdr Next Hdr =
Routing TCP Hdr +
Data Routing Hdr Next Hdr =
TCP IPv6 Hdr Next Hdr =
Routing Routing Hdr Next Hdr =
ESP ESP Hdr Next Hdr =
TCP Chains of extension headers + Higher Protocol Next header can specify higher protocol, or …
… an intermediate extension header
Hop-by-hop options header
Routing header
Fragment header
Authentication Header
Encrypted security payload
Destination options header
Notation of IPv6 addresses
How do you write 128 bits efficiently?
Hexadecimal notation, groups of 16 bits seperated by colons, e.g.,
ABCD:1234:5678:1234:FE12:34AC:7890:1234
Skip leading zeros
5678:0000:0000:0000:0050:0A00:400C:3467
5678:0:0:0:50:A00:400C:3467
Double colon convention
5678::50:A00:400C:3467
=> Need for automatic address assignment and DNS!
Aggregatable Global IPv6 addresses
010 TLA NLA SLA 3 13 32 16 64 bits Interface ID TLA – Top Level Aggregator
NLA – Next Level Aggregator
SLA – Site Local Aggregator
When changing provider, the TLA and NLA may change, but the SLA and Interface ID can stay the same.
IPv6 protocols have been designed to simplify renumbering.
Interface Identifier
34 46 6A 12 3E 1F 36 46 6A 12 3E 1F FF FE G/L bit of OUI flipped Unique 64-bit host identifier
Can be unique without manual configuration
EUI-64 format (slightly modified, Global/Local bit)
Based on (48-bit) MAC address
First form the interface ID (from MAC)
From this, create
Link local address
Link local prefix: FE80::/10
Append interface ID: FE80::02AE:43FF:FE3C:3456
Global address
Listen for (global) network prefix announced by router
3FFE:200:15:100::/64
Append interface ID:
3FFE:200:15:100:02AE:43FF:FE3C:3456
IPv6 backbone
6-bone (Experimental IPv6 backbone)
Islands of IPv6 networks
Connected by IPv6-IPv4 tunnels
”Experimental address space” – soon to change
Hooking up
ISPs should get their aggregatable prefix
”6to4” is a simple way to get started
2002:[YourIPv4Address]/48
(See RFC3056 and RFC3068 for more info)
Transition
How can IPv6 gradually be introduced?
Dual stack
Try IPv6, fall-back on IPv4
Translation
NAT-PT gateways translating addresses, ports and application protocols
Transition (cont.)
Upgrading hosts and servers
IPv6 support in OS
Applications
DNS (A6 resource records)
Upgrading local routers
ISP networks
The big questions for the future
Will IPv6 deployment take off?
When will it happen?
Will people learn to live with NAT?
More information
This presentation have been based on material from ”IPv6 The new Internet Protocol” 2nd Ed. by Christian Huitema.
IETF IPv6 Working Group
RFCs and drafts
http://www.ietf.org/html.charters/ipv6-charter.html
Comments