Transcript 08_IPv6
Communication
Systems
8th lecture
Chair of Communication Systems
Department of Applied Sciences
University of Freiburg
2008
1 | 56
Communication Systems
Last lecture and practical course
Next Friday (06.06) start of practical course block in the comp
dept. -114 9pm - 12pm
Next lecture: Friday, 13th June (here in this lecture room
again)
Idea of the Internet Domain Name Ssystem
DNS Components
DNS Structure and Hierarchy
DNS in Context
DNS as an Internet service
ENUM as a DNS extension for Internet telephony
2 | 56
Communication Systems
Plan for this lecture
After dealing with an network application layer protocol (DNS
using UDP/IP in most client server interaction) we will switch back
again to the network layer
Problems and success of IP v4
Introduction to future IP
IP v6 address
IP v6 header and extension headers
IP v6 fragmentation
IP v4 to IPv6 transition
DNS in IP v6 (how to integrate the new network layer protocol into
the traditional service)
3 | 56
Communication Systems
introduction to future IP – names and versions
IP v6 – next generation Internet protocol
Preliminary versions called IP - Next Generation (IPng)
Several proposals all called IP ng
TUBA – (TCP and UDP over Bigger Addresses) - the idea to use
the OSI connectionless protocol as drop in replacement (but
not many people liked it :-))
SIP – Simple Internet Protocol Plus – predecessor of IP v6
SIP now abbreviation for “session initiation protocol”
IP v5 naming was used for stream protocol version 2
One was selected and uses next available version number (6)
4 | 56
Communication Systems
introduction to future IP
Result is IP version 6 (IP v6 – around July 1994)
Normally we start with the reasons to switch from a very
successful implementation to a new one
- rapid, exponential growth of networked computers
- shortage (limit) of the addresses
- new requirements towards the Internet infrastructure (streaming, realtime services like VoIP, video on demand)
• IP v6 is designed to be an evolutionary step from IP v4. It can be
installed as a normal software upgrade in Internet devices and is
interoperable with the current IP v4
• Next slide: OSI – IP v6 just replaces IP v4 on network layer ...
5 | 56
Communication Systems
introduction to future IP – OSI and IPv6
6 | 56
Communication Systems
problems with IPv4
Current version of IP - version 4 - is 25+ years old (rather old in
the computer world)
- 32 bits address range is too small (less max. number of addresses
than inhabitants of earth, without counting the loss of addresses
because of rather generous assignments)
- routing is inefficient (long routing tables, problems with aggregation)
- bad support for mobile (roaming) devices
- security needs grew
• But some of the problems are of the late nineties and mostly
solved or not as important any more ... thus postponed the switch
over to the new scheme
7 | 56
Communication Systems
success of IPv4
IPv4 has shown remarkable ability to move to new technologies
other third layer protocols, like AppleTalk, IPX, NetBIOS nearly
completely vanished
packet orientated IP services are used even for voice and
multimedia services with stricter requirements toward quality of
service
IP was open to improvements: e.g. shift from classful to classless
interdomain routing
IP was able to operate on every type of new network hardware, e.g.
Wireless LAN
8 | 56
Communication Systems
capabilities of IP
IP has accommodated dramatic changes since original design
Basic principles still appropriate today
Many new types of hardware
Scale of Internet and interconnected computers in private LAN
Scaling
Size - from a few tens to a few tens of millions of computers
Speed - from 9,6Kbps over GSM mobile phone networks to 10Gbps
over Ethernet or frame delay WAN connections
Increased frame size (MTU) in hardware
9 | 56
Communication Systems
introduction to future IP – why IPv6?
IETF has proposed entirely new version to address some
specific problems
Address space
But...most are Class C and too small for many organizations
214 Class B network addresses already almost exhausted (and
exhaustion was first predicted to occur a couple of years ago)
Lot of waste within the address space (whole class A network for just
the loopback device, no nets starting with 0 and 255)
No geographic orientation within IP number assignment
Next generation mobile phone networks may switch over their
addressing scheme
10 | 56
Communication Systems
introduction to future IP – address exhaustion
Address space exhaustion (main argument for IP v6)
Even with the excessive use of private networks, CIDR of the old
Class-A networks, ...
Inefficient routing (very long routing tables)
Think of many households getting connected to the internet, new
services and new devices with demand toward addressability over
an Internet
Rise of continents beside Northern America and Europe with bigger
population than the “new world” and “old europe”
Around 2010 to 2015 (if we believe some forecasters) the address
space is exhausted
11 | 56
Communication Systems
introduction to future IP – address exhaustion!?
Geoff Huston
if main focus of applications stays to client/server principle
and number of peer-to-peer applications does not increase significantly
article of July 2003: exhaustion expected in 2022
http://www.potaroo.net/presentations/2003-09-04-V4-AddressLifetime.pdf
article of september 2003: expectation even of 2045
http://www.potaroo.net/presentations/2003-09-04-V4-AddressLifetime.pdf
12 | 56
Communication Systems
introduction to future IP – further reasons
Type of service
Different applications have different requirements for delivery
reliability and speed
Current IP has type of service that's not often implemented
Helper protocols for multimedia QoS seldom used
QoS routing only works hop-by-hop
more on QoS in later lectures
Multicast
Expermental only within IP v4, not really used in production
Waste of IP numbers from 224.0.0.0 up to 254.255.255.255 for just
experimental use
13 | 56
Communication Systems
introduction to future IP – addresses
2128 is around 3,4*1038 possible IP addresses
Should be enough for quite a while :)
6,4*1028 for every human on earth
6,6*1014 for every square millimeter on earth (sea, continents and ice
caps)
Opens lots of space for waste
IP v6 16 byte long addresses
So classical representation as we know it, e.g. 132.230.4.44 (4
byte IP v4 address) would not really be human readable
14 | 56
Communication Systems
introduction to future IP – address format
IP v6 addresses are given in hexadecimal notation, with 2
bytes grouped together as known from ethernet MAC
addresses
Example:
2822:0000:0000:0000:0000:0005:EBD2:7008
2001:: (GEANT address prefix)
2001:07C0:0100::/48 (BelWue address prefix)
2001:07C0:0100::/64 (Freiburg university address prefix)
Try to write that address in dotted quad notation, so ...
Domain Name System becomes even more important
For better handling compression is introduced
15 | 56
Communication Systems
introduction to future IP – address format
Compression is achieved by
Replace groups of zeros by a second colon directly following the first
Delete leading zeros in each double byte
The address
0000:0000:0000:0000:00A5:B8C1:009C:0018 is reduced to
::A5:B6C1:9C:18
1000:0000:0000:0000:20A5:B8C1:0001:00A3 could be compressed
1000:0:0:0:20A5:B8C1:1:A3 and finally 1000::20A5:B8C1:1:A3
16 | 56
Communication Systems
IP v6 – address types
IP v6 knows three types of addresses
Classical unicast address
Multicast address
New type of address: anycast or cluster
17 | 56
Communication Systems
IP v6 – address composition
Addresses are split into prefix and suffix as known from IPv4
No address classes - prefix/suffix boundary can fall anywhere
IPv4 broadcast flavors are subsets of multicast
Unicast addresses are distinguishable by their format prefix
The new aggregatable global address format splits address into
Global, public part
Location specific part
End system identificator
18 | 56
Communication Systems
IP v6 – address composition
Addresses split into prefix and suffix as known from IP v4
Unicast addresses are distinguishable by their format prefix
The new aggregatable global address format splits address into
Global, public part
Location specific part
End system identificator
Global part consists of prefix, Top Level Aggregator (TLA) and
Next Level Aggregator (NLA)
Describes a site (group of machines) within the global internet
19 | 56
Communication Systems
IP v6 – address composition
TLA are only available for service providers who provide internet
transit services, e.g. GEANT (2001::)
NLAs for smaller service providers / organizations / firms which use
a TLA provider, e.g. BelWue (2001:07C0:0100::)
NLA could be split in several hierachy layers
Location specific part of the address the Site Level Aggregator
(SLA) describes subnet structure of a site and the interface ID of
connected hosts
Interface ID consists of 64bit and can contain the MAC address of
the interface card for global uniqueness
20 | 56
Communication Systems
IP v6 – address space assignment
21 | 56
Communication Systems
IP v6 – address assignment example (under linux OS)
Automatically configured IP v6 Addresses (lo, eth0, eth1): ip addr
show
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:10:a4:8d:56:0a brd ff:ff:ff:ff:ff:ff
inet 192.168.1.2/24 scope global eth0
inet6 fe80::210:a4ff:fe8d:560a/64 scope link
valid_lft forever preferred_lft forever
3: sit0: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
4: eth1: <BROADCAST,MULTICAST,NOTRAILERS,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:02:2d:09:f6:df brd ff:ff:ff:ff:ff:ff
inet 10.100.5.63/16 brd 10.100.255.255 scope global eth1
inet6 fe80::202:2dff:fe09:f6df/64 scope link
valid_lft forever preferred_lft forever
9: tun0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1412 qdisc pfifo_fast qlen 500
link/[65534]
inet 134.76.3.40/32 scope global tun0
22 | 56
Communication Systems
IP v6 – address space assignment
Link local addresses – contain beside the prefix only the interface
ID
Used for automatic configuration or used in networks without router
Position local addresses used for sites which are not connected to
the IP v6 network (aka Internet) yet
The prefix is interchanged with the provider addresses (TLA, NLA)
in case of connection to the net
Anycast – new type of address, introduced with IP v6
23 | 56
Communication Systems
IP v6 – address space assignment
Special addresses:
Loopback: 0:0:0:0:0:0:0:1 = ::1
for use in tunnels: 0::FFFF:a.b.c.d
139.18.38.71 (IP v4)
= ::FFFF:139.18.38.71 (IPv6)
= ::FFFF:8b12:2647 (IP v6)
IP v4-compatible-addresses ::a.b.c.d
= 0.0.0.0.0.0.139.18.38.71
Link local
Interface address auto assignment (like 169.254.X.Y)
Start with FE80:: local MAC is last part
24 | 56
Communication Systems
IP v6 – anycast addresses
Type of address used for number of interfaces connected to
different end systems
An anycast packet is routed to the next interface of that group
Anycast addresses are allocated within unicast address space
Idea: route packets over a subnet of a specific provider
Cluster / anycast addressing allows for duplication of services
Implementation: do not use them as source address and identify
only routers with them
25 | 56
Communication Systems
IP v6 – multicast addresses
Now fixed part of the specification
One sender could generate packets which are routed to a number
of hosts throughout the net
Multicast addresses consists of a prefix (11111111), flag and scope
field and group ID
Flag for marking group as transient or permanent (registered with
IANA)
Scope defines the coverage of address (subnet, link, location or
global)
26 | 56
Communication Systems
IP v6 – header format
Some important changes within header format – faster processing
within routers
Header length, type of service and header checksum were
removed
27 | 56
Communication Systems
IP v6 – header format
Other header
Other
headerparts
partsmoved
movedtoto
soso
called
called
extension
extension
headers
headers
(light
(light gray)
gray)
IP v6 header contains less information than IP v4 header
Less header information for routing speed up and avoiding of
duplication of standard information
28 | 56
Communication Systems
IP v6 – header format
Concept of on-the-way packet fragmentation dropped
Slow down of routers
Reassembly was possible at destination only
Fragmentation is done by source and destination only
(explained later this lecture)
If packet is too big for transit intermediate routers send
special “packet too big” ICMP message
Minimum MTU in IPv4 was 576 for IPv6 1280 byte
Host has to do MTU path discovery
No header checksum – left to UDP/TCP or layer 2 protocols,
like Ethernet
29 | 56
Communication Systems
IP v6 – header fields
Precedence, total length, time to live and protocol are replaced
with traffic class, payload length, hop limit and next header (type)
30 | 56
Communication Systems
IP v6 – header fields
IPv6 header in ethereal (example of specific ICMP message)
31 | 56
Communication Systems
IP v6 – header fields
NEXT HEADER points to first extension header
FLOW LABEL used to associate datagrams belonging to a flow
or communication between two applications
Traffic class for Quality of Service routing
Specific path
Routers use FLOW LABEL to forward datagrams along prearranged
path
Base header is fixed size (other than IP v4) - 40 octets
NEXT HEADER field in base header defines type of header
32 | 56
Communication Systems
IP v6 – header fields – traffic classes
000-111 = time insensitive (could be discarded)
1000-1111 = priority (should not be discarded)
0 = uncharacterized
1 = filler (NetNews)
2 = unattended transfer (mail)
4 = bulk (ftp)
6 = interactive (telnet)
7 = Internet control
8 = video
15 = low quality audio
33 | 56
Communication Systems
IP v6 – extension headers
All optional information moved to extension headers
Put in between IP v6 header and payload header (e.g. TCP
header)
Extension headers (mostly) not interpreted by routers
Each header is tagged with special mark
Hop-by-hop options
Destination options header
Routing header
Fragment header
Authentication header
34 | 56
Communication Systems
IP v6 – extension headers
Encapsulated security payload header
Destination options header
Next header: transportation (TCP, UDP, ...)
Extension headers have task specific format
Each header is of multiple of 8 byte
Some extensions headers are variable sized
NEXT HEADER field in extension header defines type
HEADER LEN field gives size of extension header
35 | 56
Communication Systems
IP v6 – extension headers
Special hop-by-hop option is header for so called
jumbograms
Normal packet length is 65535 byte - but can be extended
with jumbo payload length of a 4 byte length indicator
But problems with UDP and TCP specification
UDP contains 16bit packet length field
TCP contains MSS (max. segment size) field set with the start of
every TCP connection, could be omitted but then problems with
urgent pointer
36 | 56
Communication Systems
IP v6 – extension headers
Use of multiple headers:
Efficiency - header only as large as necessary
Flexibility - can add new headers for new features
Incremental development - can add processing for new
features to testbed; other routers will skip those headers
Conclusion: streamlined 40 byte IP header
Size is fixed
Information is reduced and mostly fix
Allows much faster processing
37 | 56
Communication Systems
IP v6 – new concept of fragmentation
Fragmentation information kept in separate extension header
Each fragment has base header and (inserted) fragmentation
header
38 | 56
Communication Systems
IP v6 – new concept of fragmentation
Entire datagram, including original header may be
fragmented
IPv6 source (not intermediate routers) responsible for
fragmentation
Routers simply drop datagrams larger than network MTU
Source must fragment datagram to reach destination
Source determines path MTU
Smallest MTU on any network between source and destination
Fragments datagram to fit within that MTU
39 | 56
Communication Systems
IP v6 – new concept of fragmentation
Uses path MTU discovery (as discussed with IP v4 / ICMP)
Source sends probe message of various sizes until destination
reached
Must be dynamic - path may change during transmission of
datagrams
Standard MTU is about 1300 octets (ethernet MTU minus
special headers like PPPoE, tunnels, ...)
New ICMP for IP v6 introduced
40 | 56
Communication Systems
IP v4 to IP v6 transition
Typical problem – who should start with it?
IP v6 implemented in some backbones (e.g. German
Telekom)
DFN is talking about testbeds, university of Münster is
conducting test installations and networks
IP v6 address space assigned for GEANT, BelWue, Uni FR
But nobody really using it at the moment (connectivity often
worse than for IPv4)
End user systems are capable of IP v6?
Linux seems to work with it for quite a while
WinXP was incompatible to itself with different patch levels, but
working implementation since SP2
Vista has IPv6 fully integrated
41 | 56
Communication Systems
IP v4 to IP v6 transition
Step 1: Add IPv6 capable nodes into the current IP v4
infrastructure
IPv6 traffic is tunnelled in IPv4 traffic
42 | 56
Communication Systems
IP v4 to IP v6 transition
Step 2: Add more IPv6 capable nodes
Add separate IPv6 infrastructure
43 | 56
Communication Systems
IP v4 to IP v6 transition
Step 3: IPv6 dominates. Remove IPv4 infrastructure and
tunnel IPv4 traffic in IPv6 traffic.
Transition finishes
44 | 56
Communication Systems
IP v4 to IP v6 transition
Several transition mechanisms proposed
IETF ngtrans working group has proposed many transition
mechanisms:
Dual Stack
Tunnelling
Translation
Every mechanism has pros and cons
choose one or more of them, depending on specific transition
scenarios
no one suits for all
45 | 56
Communication Systems
IP v4 to IP v6 transition
• Dual Stack
• Both of IPv4 and IPv6 are
implemented;
• IPv4 address and IPv6
address;
• DNS must be upgraded to
deal with the IPv4 A records as
well as the IPv6 AAAA records
46 | 56
Communication Systems
IP v4 to IP v6 transition
Tunnelling is a process whereby one type of packet
in this case IP v6 - is encapsulated inside another type of packet - in
this case IP v4
This enables IPv4 infrastructure to carry IPv6 traffic
Most tunnelling techniques cannot work if an IPv4 address
translation (NAT) happens between the two end-points of the
tunnel.
When firewalls are used, IP protocol 4 must be allowed to go
through
47 | 56
Communication Systems
IP v4 to IP v6 transition
Several tunneling mechanisms (and services)
Configured tunnels
6to4
Tunnel broker
TSP
ISATAP
DSTM
Automatic tunnels
6over4
Teredo
BGP-tunnel
48 | 56
Communication Systems
IP v4 to IP v6 transition
Translation
With tunnelling, communication between IP v6 nodes is established
How about communication between IP v4-only node and IP v6-only
node?
We need translation mechanisms
49 | 56
Communication Systems
IP v4 to IP v6 transition
Several mechanisms too, just names here
SIIT
NAT-PT
ALG
TRT
Socks64
BIS
BIA
50 | 56
Communication Systems
DNS support in IP v6
Current DNS records store 32-bits IP v4 addresses. They must be
upgraded to support the 128-bits IP v6 addresses.
A new resource record type ‘AAAA’ is defined, to map a domain
name to an IPv6 address.
Example:
www.ipv6.uni-muenster.de.
IN
CNAME tolot.ipv6.uni-muenster.de.
tolot.ipv6.uni-muenster.de.
IN
AAAA
2001:638:500:101:2e0:81ff:fe24:37c6
ns.join.uni-muenster.de.
IN
AAAA
ns.join.uni-muenster.de.
IN
A
2001:638:500:101::53
128.176.191.10
51 | 56
Communication Systems
DNS support in IP v6
New domains IP6.INT and IP6.ARPA are defined, to map an IP
v6 address to a domain name.
An IP v6 address is represented by a sequence of nibbles (nibble
string) separated every four bits by dots with the suffix “.IP6.INT”
or “.IP6.ARPA”.
Example:
; $ORIGIN
0.0.5.0.8.3.6.0.1.0.0.2.ip6.int.
6.0.8.3.5.b.e.f.f.f.2.0.1.0.2.0.0.0.1.0
IN
PTR atlan.ipv6.uni- muenster.de.
5.f.4.7.8.d.e.f.f.f.8.1.0.e.2.0.0.0.2.0IN
PTR lemy.ipv6.uni-muenster.de.
or
; $ORIGIN
0.0.5.0.8.3.6.0.1.0.0.2.ip6.arpa.
6.0.8.3.5.b.e.f.f.f.2.0.1.0.2.0.0.0.1.0
IN
PTR atlan.ipv6.uni- muenster.de.
5.f.4.7.8.d.e.f.f.f.8.1.0.e.2.0.0.0.2.0
IN
PTR lemy.ipv6.uni-muenster.de.
52 | 56
Communication Systems
DNS support in IP v6
Existing queries are extended to support IP v4 and IP v6
When both ‘A’ and ‘AAAA’ records are listed in the DNS, there are
three different options:
return only IPv6 address
return only IPv4 address
return both IPv4 and IPv6 addresses
The selection of which address to return, or in which order to
return can affect what type of IP traffic is generated
BIND 9.X is fully IPv6 compliant
Problem: name space fragmentation
Not all operating systems and not all DNS servers offer IPv6
transport lookups
53 | 56
Communication Systems
IP v6 - conclusion
IP v4 basic abstractions have been very successful
IP v6 carries forward many of those abstraction... but, all the
details are changed
128-bit addresses
Base and extension headers
Source does fragmentation
New types of addresses
Address notation
Transportation header format does not needed to be changed
54 | 56
Communication Systems
IP v6 - conclusion
But: (it is always there :-))
Idea of IP v6 was developed in 1994 (!)
Who really needs it in the moment (near future)
Who invests in new services, replaces all the routers
IP v6 delivered ideas for IP v4 network operation
IPsec standard is derived from it
Auto-IP, ... (“class-B” network with prefix: 169.254)
55 | 56
Communication Systems
Literature
The exercise sheet #4 is due to the 13th June (next lecture after
exercise block) – available from the website (download section) of this
course
Kurose & Ross: Computer Networking, 3rd edition: Section 4.4.4 IPv6
Tanenbaum: Computer Networks, 4th edition: Section 5.6.8 IPv6
IPv4 - How long have we got?
http://www.potaroo.net/ispcolumn/2003-07-v4-address-lifetime/ale.html
IPv6 on Heise, see referenced article at the end too ...
http://www.heise.de/newsticker/IPv6-Nie-war-es-so-wichtig-wie-heute-/meldung/108754
http:www.ipv6.org
Paper on IPv4-IPv6-Migration
Http://www.ks.uni-freiburg.de/download/studienarbeit/WS03/IPv4-IPv6-Migration.pdf.
56 | 56