schmidt@informatik.
haw-hamburg.de
IPv6
Next Generation Internet Protocol
• The limits of IPv4 – IPv6 Highlights
• Addressing
• IPv6 Packet formats
• QoS
• Further aspects
• Migration scenarios
schmidt@informatik.
haw-hamburg.de
The Limits of IPv4
• Basic design over 25 years old - Packet format, ... outdated
- Hardware development of networks overran IP algorithms
• Address space exhausted
- ‚Regular‘ Internet growth runs out of addresses
- New kinds of Internet devices (mobile telephones, intelligent devices,...) need new quantities of addresses
- Caused by address bottle-neck: NAT-ALGs
• Support of new services tedious to implement
schmidt@informatik.
haw-hamburg.de
IP Routing: CIDR
• Static subnet masks in IPv4 (classes) lead to two main problems:
Class B exhaustion & explosion of R-T
• Internet backbone routers need methods for aggregation, to limit routing tables:
– Classless Interdomain Routing (CIDR) – Variable Length Subnet Masks (VLSM)
• Approach:
– Allocation of coherent blocks of net addresses – Aggregation through ‚Supernetting‘ addresses
schmidt@informatik.
haw-hamburg.de
Route Aggregation via VLSM
11.0.0.0/8
11.2.0.0/16 11.3.0.0/16 .
. .
11.252.0.0/16 11.254.0.0/16
Router A
11.1.0.0/16
11.1.1.0/24 11.1.2.0/24 .
. .
11.1.252.0/24 11.1.254.0/24
Router B
11.253.32.0/19 11.253.64.0/19 .
. .
11.253.160.0/19 11.253.192.0/19
11.1.253.0/24
11.1.253.32/27 11.1.253.64/27 11.1.253.96/27 11.1.253.128/27 11.1.253.160/27 11.1.253.192/27
Router D
11.253.0.0/16 Router C
Internet
Bekanntgegebener Weg zu Subnetzen durch Aggregation
11.253.0.0/16 Router C
schmidt@informatik.
haw-hamburg.de
IPng History
• IETF WG IPng began to work in the early 90er
• Winter 1992: 7 proposals for development of IP
– CNAT, IP Encaps, Nimrod, Simple CLNP, PIP, SIP, TP/IX
• Autum 1993: several mergers lead to
– ‚Simple Internet Protocol Plus‘ (SIPP) and ‚Common Architecture for the Internet‘
CATNIP
• July 1994: IPng Area Director recommend roadmap (RFC 1752) on basis of SIPP (Steve Deering)
• Dec. 1995: S. Deering, R. Hinden, „Internet Protocol,
Version 6 (IPv6) Specification“ (RFC 1883, now RFC 2460)
• Sub-TLAs available (RIPE-NCC, APNIC, ARIN) since 1999
schmidt@informatik.
haw-hamburg.de
IPv6 Innovations
•
Addressing and routing- Elimination of address bottle-neck: 128 Bit addresses - Address hierarchy can simplify backbone routing
- Several addresses per interface
• Simple administration
- Autoconfiguration of interfaces without DHCPv6 - Floating net masks, renumbering via prefix change
• Security: IPSec
– Security header extension for authentication, integrity and encryption
schmidt@informatik.
haw-hamburg.de
IPv6 Innovations(2)
• Protocol configuration
– Slim header for fast processing – Optional extension headers – Fixed format for all headers – No header checksum
– No fragmentation in routers
• Improved multicast, anycast, QoS and mobile services
• Transition and coexistence concept IPv4 ↔ IPv6
schmidt@informatik.
haw-hamburg.de
Addressing
• IPv6 addresses are 128-bit long and variably built
• Address architecture: RFC 3513 (April ´03, Hinden & Deering)
• Automatic address configuration
• Global address hierarchy from top level allocation to the interface-ID designated
• Aggregation-based allocation to simplify the global routing (possible)
• 3 Bit format prefix (FP) initially used for identification of address type
schmidt@informatik.
haw-hamburg.de
Notation of IPv6 Addresses
• Standard Form: 8 x 16 bit Hexadecimal
Example: 1080:0:FF:0:8:800:200C:417A
• Short form: sequences of nulls replaced by ::
Example: FF01:0:0:0:0:0:0:43 → FF01::43
• IPv4 compatible addresses:
Example: 0:0:0:0:0:0:13.1.68.3 → ::13.1.68.3
• CIDR notation for prefixes:
Example: 1080:645:FF::/48
schmidt@informatik.
haw-hamburg.de
Address Types
Type Binary Prefix
• Unicast (one-to-one)
– global all not specified elsewhere
– site-local 1111 1110 11 (FEC0::/10)
– link-local 1111 1110 10 (FE80::/10)
– compatible (IPv4, a.a.) 0000...0 (96 zero bits)
– Loop back 0000..1 ::1/128
• Multicast (one-to-many) 1111 1111 (FF00::/8)
• Anycast (one-to-nearest) of Unicast Prefixes
• No broadcast addresses (only multicast)!
schmidt@informatik.
haw-hamburg.de
Global Unicast Addresses (RFC 3513)
n bits m bits 128–m–n bits Subnet
ID Interface Identifier Global Routing
Prefix
• All fields have variable length and are not ‚self-explanatory ‘ (as of CIDR)
• All global unicast addresses, which do not begin with 000 (binary), carry a 64 bit interface ID, this means m + n = 64
• Mechanisms of automatic prefix exchange provided
schmidt@informatik.
haw-hamburg.de
Local Unicast Addresses
• Link-local addresses for use during auto-configuration and in nets without routers:
1111111010 0 Interface ID
• Site-local addresses independent of TLA/NLA:
1111111011 0 SLA Interface ID
schmidt@informatik.
haw-hamburg.de
Example: FHTW IPv6 Net
• 2001:: /16 - Pre-set prefix
• 2001:0600:: /23 - Regional registry Europa (RIPE)
• 2001:0638:: /29 - DFN prefix
• 2001:0638:0801:: /48 - FHTW net address
• 2001:0638:0801:0001:: /64 - First FHTW subnet
• 2001:0638:0801:0001:0000:0000:0000:0001 /128 - First IPv6 computer address at FHTW
☺
Addressing of Sub-TLAs (Ripe) according to RFC 2450
Internet Control Message Protocol (ICMPv6)
schmidt@informatik.
haw-hamburg.de
• RFC 2463 (Conta, Deering)
• Defines two (expandable) message classes:
Informational Messages
• Echo Request (128)
• Echo Reply (129)
Error Messages
• Destination Unreachable (1)
• Packet Too Big (2)
• Time Exceeded (3)
• Parameter Problem (4)
schmidt@informatik.
haw-hamburg.de
Stateless Auto-Configuration
1. Interface assigns a link-local address on activation (e.g. built from a hardware address).
2. Interface sends router solicitation, to omit waiting for router advertisements.
3. Router sends router advertisement (prefix, default gateway, …).
4. The interface creates its global address from prefix and link-local address.
5. For verification of uniqueness a ICMP neighbour solicitation will be sent (Duplicate Address Detection).
schmidt@informatik.
haw-hamburg.de
IPv6 Packet Format: Basic Header
16
0 4 12 24 31
V E R S IO N T R A FF IC C LA S S F LO W LA BE L
PA Y LO A D LE N G T H N E X T H E A D ER H O P LI M IT
S O U RC E A D D R E S S
D ES T IN A T IO N A D D R E S S
V E R S I O N 4 B i t I n t e r n e t P r o t o c o l V e r s i o n n u m b e r = 6 T R A F F I C C L A S S 8 B i t T y p e - o f - S e r v i c e s
F L O W L A B E L 2 0 B i t
P A Y L O A D L E N G H T 1 6 B i t O k t e t t a n z a h l d e s P a k e t e s o h n e I P v 6 - H e a d e r N E X T H E A D E R 8 B i t T y p e d e s " e n c a p s u l a t e d p r o t o c o l "
H O P L I M I T 8 B i t T T L - Z ä h l e r w i r d d e k r e m e n t i e r t j e R o u t e r S O U R C E A D D R E S S 1 2 8 B i t A d r e s s e d e s A u s g a n g s k n o t e n ( 1 2 8 B i t s )
D E S T I N A T I O N A D R E S S 1 2 8 B i t A d r e s s e d e s A u s g a n g s k n o t e n ( 1 2 8 B i t s ) Q o s - I n f o r m a t i o n e n f ü r R o u t e r v e r a r b e i t u n g
schmidt@informatik.
haw-hamburg.de
1 4 8 16 19 24 32
Version Servicetypen Paketlänge
Identifikation D F
M
F Fragmenabstand Lebenszeit Transport Kopfprüfsumme
Senderadresse Empfängeradresse
Füllzeichen Optionen
IP-Protocolkopf
Länge
IPv4 Header
schmidt@informatik.
haw-hamburg.de
IPv6 Packet Format: Option Headers
• Extended option mechanisms: Each header references a possible successive header or data, e.g.:
I P v 6 h e a d e r N H : r o u t i n g
I P v 6 h e a d e r N H : r o u t i n g
f r a g m e n t h e a d e r N H : T C P
T C P h e a d e r d a t a r o u t i n g h e a d e r
N H : f r a g m e n t
• Option headers have no length limit (IPv4:
40 Octets), Padding to 8 Octets
• Option headers will be processed only by hosts, not by routers.
Exeption: Hop-by-Hop Option Header
schmidt@informatik.
haw-hamburg.de
Basic Option Headers
•
RoutingAdvanced routing information (source routing)
• Fragmentation
Fragmentation / defragmentation information
• Authentication
Security information: authentication and integrity
• Encapsulation
‚Tunnelling‘, i.g. for confidential data
• Hop-by-Hop Option
Dedicated options to be processed by every router
• Destination Option
Information for the destination host (header extension)
schmidt@informatik.
haw-hamburg.de
IPv6 & QoS
Priority: Traffic Class Feld (8 Bit) break down in two classes:
• Flow controlled traffic (0 - 7)
0 Not specified 4 Bulk (i.g. ftp, http) 1 ‚Feeder‘ (i.g. netnews) 5 (Reserved)
2 Unnoticed (i.g. email) 6 Interactive (i.g. telnet, X11) 3 (Reserved) 7 Internet control (i.g. rip)
• Traffic without flow control (Realtime, Constant Bitrate, ...)
Priority from 8 to 15 (ascending)
schmidt@informatik.
haw-hamburg.de
Flow Labels
24-bit Flow Labels can be uses by senders to mark associated packets.
• At present still experimental
• Goal: accelerated, uniform handling of packet streams through routers
• Flow label: Random per Flow
• Header information consistent per flow (router caching)
• Defines router states: 120 s lifecycle
schmidt@informatik.
haw-hamburg.de
More to IPv6
•
Domain Name System, closed disscussion– A-Record → AAAA - Record versus
– A-Record → [A6 - Record (storage of address parts)]
• SNMP: in review, SNMP(v4) can manage IPv6 interfaces
• IPsec is mandatory part of IPv6
• Secure Neighbour Discovery (Send)
• IPv6 over 3GPP
• Mobile IPv6
schmidt@informatik.
haw-hamburg.de
Packet Tunnelling of IPv6
• RFC 2473 (Conta, Deering)
• Mainly used for explicit routing path control
• Defines (statefull) ‚ends‘:
- Tunnel Entry-Point - Tunnel Exit-Point
• State variables contain MTU, Traffic Class, Flow Label
• Fragmentation may be necessary at tunnel entry point
New Header Ext. Hds. Original Packet (incl. Header)
schmidt@informatik.
haw-hamburg.de
IPv4 → IPv6 Porting
• Source and binary code compatibility for existent application: ‘all goes on’
• Address data structure:
New for IPv6
• Name-to-address translation:
New functions to support IPv6 and IPv4
• Address converting functions:
New functions to support IPv6 and IPv4
• DNS resolver:
Gives IPv6 or IPv4 address or both back
schmidt@informatik.
haw-hamburg.de
IPv4 → IPv6 Migration
Many techniques for migration are designed and implemented according to the following approach:
– Dual-Stack techniques, which allow the coexistence of IPv4 and IPv6 for the same devices and nets
– Tunnel, which connect IPv6 regions over IPv4 regions
– Protocol translator, which let IPv6 devices with IPv4 devices speak
During migration the combined use of all this methods likely.
schmidt@informatik.
haw-hamburg.de DRIVER
IPv4 IPv6 IPv4 IPv6
TCP/UDP
Dual Stack
• On activation of IPv6 the IPv4 can continously being used (multi protocol approach)
• Devices can keep their addresses (IPv4 in IPv6)
• Application / libraries choose the IP version:
– On approach in dependency of DNS answer
– On answering in dependency from received packets
• The Dual stack operation can continue without limits, it allows the step by step porting of applications
schmidt@informatik.
haw-hamburg.de
Information
• Christian Huitema: IPv6, die neue Generation Addison Wesley, 2000
• Herbert Wiese: Das neue Internetprotokoll IPv6, Hanser 2002
• www.ip6forum.com
• www.6net.org
• playground.sun.com/ipng
• www.cisco.com/ipv6
• www.6bone.net
• www.ietf.org/html.charters/ipngwg-charter.html