1
IPv6 Overview
2008-01-07William.L
2
Agenda
Why IPv6?
IPv6 Features
IPv6 Addressing
IPv6 Header & Extension Header
Multicast Listener Discovery
Neighbor Disc...
3
Why IPv6?
4
Public address space becoming exhausted
Large routing tables for Internet backbone routers
Configuration could be simple...
5
IPv6 Features
6
Large address space
128-bit (16-byte) source and destination IP addresses.
With a much larger number of available addres...
7
Stateless and stateful address configuration
To simplify host configuration, IPv6 supports both stateful
address configu...
8
Better support for QoS
New fields in the IPv6 header define how traffic is
identified and handled.
Traffic identificatio...
9
IPv6 Addressing
10
IPv6 Addressing Model
Addresses are assigned to interfaces
No change from IPv4 Model
Interface ‘expected’ to have multi...
11
IPv6 Address Syntax
IPv6 address in binary form
0010000000000001000011011011100000000000000000000010111100111011
000000...
12
Compressing Zeros
Typical IPv6 addresses contain long sequences of
zeros
A single contiguous sequence of 16-bit blocks ...
13
IPv6 Address Prefix
IPv6 Prefix representation
CIDR-Like notation used to specify prefix length
represented with the fo...
14
Unspecified address (like IPv4’s 0.0.0.0) [Ref.1]
::
Loop-back (like IPv4’s 127.0.0.1) [Ref.1]
0:0:0:0:0:0:0:1
or ::1
R...
15
Basic Address Types
Unicast
Address of a single interface
Delivery to single interface
for one-to-one communication
Mul...
16
Unicast IPv6 Address
Global address
Link-local address
Site-local address
Unique local address
Link Link
Link
Site
Site...
17
Global Address
Address scope is the whole IPv6 Internet
Equivalent to public IPv4 addresses
Defined in RFC 3587
Structu...
18
Link-Local Address
Address scope is a single link
Equivalent to APIPA IPv4 addresses(169.254.0.1 to
169.254.255.254 )
F...
19
Site-Local Address
Address scope is a single site
Equivalent to private IPv4 addresses
FEC0::/10 prefix
Used for intran...
20
Unique Local Addresses
Private to an organization, yet unique across all the
sites of the organization
FD00::/8 prefix
...
21
IPv6 Interface Identifier
Interface identifiers in IPv6 unicast addresses are
used to identify interfaces on a link
The...
22
IEEE 802 addresses
Company ID, OUI(Organizational Unique Identifier)
Extension ID
u bit – Universally (=0)/Locally (=1)...
23
IEEE EUI-64 addresses
Extended Unique Identifier
Company ID
Extension ID
ccccccug cccccccc cccccccc
24 bits 40 bits
xxx...
24
Mapping IEEE 802 addresses to EUI-64
addresses
ccccccug cccccccc cccccccc
24 bits 24 bits
xxxxxxxx xxxxxxxx xxxxxxxx
cc...
25
Converting IEEE 802 addresses to IPv6
interface identifiers
EUI-64 Address:
cccccc00 cccccccc cccccccc
24 bits 24 bits
...
26
EUI-64 interface ID example
Host A has the MAC address of 00-AA-00-3F-2A-1C
1. Convert MAC address to EUI-64 format
00-...
27
Stateless address configuration:
Relies on the IPv6 address structure.
Addresses are made of a prefix network and of an...
28
Current Allocated IPv6 Addresses (1/2)
Global Unicast 2000::/3
Unique Local Unicast FC00::/7
Reserved by IETF FE00::/9
...
29
The range of each RIR(Regional Internet registry)
[Ref.7]
APNIC(Asia Pacific) 2001:0200::/23
HINET-TW-20000208 2001:023...
30
IPv6 Header &
Extension Header
31
IPv4 & IPv6 Header Comparsion (1/2)
Ver IHL
Destination Address
Source Address
Ver Flow Label
Payload Length
Next
Heade...
32
IPv4 & IPv6 Header Comparsion (2/2)
IPv4 Header Field Change in IPv6
Version New value of 6
Internet Header Length Remo...
33
QoS support in IPv6
Flow Label [Ref.8]
20-bit field
To identify specific flows needing special QoS.
Quantitative promis...
34
IPv6 Extension Headers (1/2)
Next Header field
Identify the type of the next header
Identifier values are the same as I...
35
IPv6 Header
Next Header = 6
(TCP)
TCP Segment
IPv6 Header
Next Header = 43
(Routing)
TCP SegmentRouting Header
Next Hea...
36
Multicast Listener Disconvery
37
What is Multicast Listener Disconvery?
Enabling routers to discover the set of IPv6
multicast addresses for which there...
38
ICMP Messages for MLD
Multicast Listener Query
Multicast router queries network to determine membership
in a host group...
39
Neighbor Discovery
40
What is Neighbor Discovery?
Node(Hosts and Routers) use ND to determinate
the link-layer addresses for neighbors known ...
41
ICMP Messages for Neighbor Discovery
Router Solicitation
Router Advertisement
Neighbor Solicitation
Neighbor Advertisem...
42
Neighbor Discovery Process (1/2)
Router discovery
Discover the local hosts on an attached link
Equivalent to ICMPv4 Rou...
43
Next-hop determination
Destination address, or
Address of an on-link default router
Neighbor unreachable detection(NUD)...
44
Neighbor Discovery Example (1/2)
Router solicitations (RS) are sent by booting nodes to
request RAs for configuring the...
45
Neighbor Solicitation:
ICMP type = 135
Src = A
Dst = Solicited-node multicast address of B
Data = link-layer address of...
46
Reference
47
[1] RFC 4291 IP Version 6 Addressing Architecture
[2] RFC 2732:Format for Literal IPv6 Addresses in URL's
[3] RFC 3849 ...
Upcoming SlideShare
Loading in …5
×

IPv6 Overview

1,371 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,371
On SlideShare
0
From Embeds
0
Number of Embeds
39
Actions
Shares
0
Downloads
61
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

IPv6 Overview

  1. 1. 1 IPv6 Overview 2008-01-07William.L
  2. 2. 2 Agenda Why IPv6? IPv6 Features IPv6 Addressing IPv6 Header & Extension Header Multicast Listener Discovery Neighbor Discovery Reference
  3. 3. 3 Why IPv6?
  4. 4. 4 Public address space becoming exhausted Large routing tables for Internet backbone routers Configuration could be simpler IP-layer security is not required Need better support for prioritized delivery Problem with IPv4
  5. 5. 5 IPv6 Features
  6. 6. 6 Large address space 128-bit (16-byte) source and destination IP addresses. With a much larger number of available addresses, address-conservation techniques, such as the deployment of NAT, are no longer necessary. New header format Designed to keep header overhead to a minimum. Moving both non-essential fields and option fields to extension headers that are placed after the IPv6 header. Efficient and hierarchical addressing and routing infrastructure
  7. 7. 7 Stateless and stateful address configuration To simplify host configuration, IPv6 supports both stateful address configuration (in the presence of a DHCP server) and stateless address configuration (in the absence of a DHCP server). Built -in security IPSec architecture Authentication— MD5 based Confidentiality— DES, encrypt entire datagram or IP payload IPv6 Security header Authentication Header Encapsulating Security Payload (ESP) Multicast support Multicast support is mandatory.
  8. 8. 8 Better support for QoS New fields in the IPv6 header define how traffic is identified and handled. Traffic identification using a Flow Label field in the IPv6 header allows routers to identify and provide special handling for packets belonging to a flow. New protocol for neighboring node interaction Based on ICMPv6 (Internet Control Message Protocol for IPv6) Manages the interaction of neighboring nodes (nodes on the same link). Extensibility Can easily be extended for new features by adding extension headers after the IPv6 header.
  9. 9. 9 IPv6 Addressing
  10. 10. 10 IPv6 Addressing Model Addresses are assigned to interfaces No change from IPv4 Model Interface ‘expected’ to have multiple addresses Introduces the concept of limited scope addresses Link Local UniqueLocal Global Addresses have lifetime Valid and Preferred lifetime
  11. 11. 11 IPv6 Address Syntax IPv6 address in binary form 0010000000000001000011011011100000000000000000000010111100111011 0000001010101010000000001111111111111110001010001001110001011010 Divided along 16-bit boundaries 0010000000000001 0000110110111000 0000000000000000 0010111100111011 0000001010101010 0000000011111111 1111111000101000 1001110001011010 Each 16-bit block is converted to hexadecimal and delimited by using colons 2001:0DB8:0000:2F3B:02AA:00FF:FE28:9C5A Suppress leading zeros within each block 2001:DB8:0:2F3B:2AA:FF:FE28:9C5A
  12. 12. 12 Compressing Zeros Typical IPv6 addresses contain long sequences of zeros A single contiguous sequence of 16-bit blocks set to 0 can be compressed to “::” Examples FE80:0:0:0:2AA:FF:FE9A:4CA2 becomes FE80::2AA:FF:FE9A:4CA2 FF02:0:0:0:0:0:0:2 becomes FF02::2 This mechanism can only be applied once! 2001:3600:0:0:3:0:0:1 2001:3600::3:0000:0000:1 OK 2001:3600:0:0:3:0:0:1 2001:3600::3::1 Wrong!
  13. 13. 13 IPv6 Address Prefix IPv6 Prefix representation CIDR-Like notation used to specify prefix length represented with the following notation : ipv6-address / prefix-length prefix-length is a decimal value specifying how many of the left most contiguous bits of the address comprise the prefix as in the following example: 3FFE:1234::/64
  14. 14. 14 Unspecified address (like IPv4’s 0.0.0.0) [Ref.1] :: Loop-back (like IPv4’s 127.0.0.1) [Ref.1] 0:0:0:0:0:0:0:1 or ::1 Represent an IPv4 address [Ref.1] IPv4-compatible 0:0:0:0:0:0:199.182.20.17 or ::199.182.20.17 IPv4-mapped IPv4’s 192.0.2.128 is mapped to IPv6’s ::ffff:c000:280 In web browser URL field http://[2003:0:0:B3::1234]:8080/URI [Ref.2] Other IPv6 Addresses’ Representation
  15. 15. 15 Basic Address Types Unicast Address of a single interface Delivery to single interface for one-to-one communication Multicast Address of a set of interfaces Delivery to all interfaces in the set for one-to-many communication Anycast Address of a set of interfaces Delivery to a single interface in the set for one-to-nearest communication No more broadcast addresses
  16. 16. 16 Unicast IPv6 Address Global address Link-local address Site-local address Unique local address Link Link Link Site Site Global Each rounded rectangular is a different zone ; different colors indicate different scopes
  17. 17. 17 Global Address Address scope is the whole IPv6 Internet Equivalent to public IPv4 addresses Defined in RFC 3587 Structure Global Routing Prefix Subnet ID Interface ID Interface ID 64 bits Subnet ID 45 bits 001 Global Routing Prefix 16 bits
  18. 18. 18 Link-Local Address Address scope is a single link Equivalent to APIPA IPv4 addresses(169.254.0.1 to 169.254.255.254 ) FE80::/64 prefix Usage Single subnet, routerless configurations Neighbor Discovery processes 1111 1110 10 Interface ID 10 bits 64 bits 000 . . . 000 54 bits
  19. 19. 19 Site-Local Address Address scope is a single site Equivalent to private IPv4 addresses FEC0::/10 prefix Used for intranets that are not connected to the IPv6 Internet Recently made obsolete, but supported for current implementations 1111 1110 11 Interface ID 10 bits 64 bits54 bits Subnet ID
  20. 20. 20 Unique Local Addresses Private to an organization, yet unique across all the sites of the organization FD00::/8 prefix Replacement for site-local addresses Global scope 1111 110 Interface ID 7 bits 64 bits Global ID 40 bits Subnet ID 16 bits L
  21. 21. 21 IPv6 Interface Identifier Interface identifiers in IPv6 unicast addresses are used to identify interfaces on a link They are required to be unique within a subnet prefix. Interface identifiers are based the following items. Extended Unique Identifier (EUI)-64 address Either assigned to a network adapter card or derived from IEEE 802 (MAC) addresses A randomly generated value that changes over time A value assigned by a stateful address configuration protocol such as Dynamic Host Configuration Protocol for IPv6 (DHCPv6) A manually configured value
  22. 22. 22 IEEE 802 addresses Company ID, OUI(Organizational Unique Identifier) Extension ID u bit – Universally (=0)/Locally (=1) Administered g bit – Unicast (=0)/Group (=1) Address ccccccug cccccccc cccccccc 24 bits 24 bits xxxxxxxx xxxxxxxx xxxxxxxx IEEE administered company ID Manufacturer selected extension ID
  23. 23. 23 IEEE EUI-64 addresses Extended Unique Identifier Company ID Extension ID ccccccug cccccccc cccccccc 24 bits 40 bits xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx IEEE administered company ID Manufacturer selected extension ID
  24. 24. 24 Mapping IEEE 802 addresses to EUI-64 addresses ccccccug cccccccc cccccccc 24 bits 24 bits xxxxxxxx xxxxxxxx xxxxxxxx ccccccug cccccccc cccccccc 24 bits 24 bits xxxxxxxx xxxxxxxx xxxxxxxx11111111 11111110 0xFF 0xFE IEEE administered company ID Manufacturer selected extension ID 64 bits
  25. 25. 25 Converting IEEE 802 addresses to IPv6 interface identifiers EUI-64 Address: cccccc00 cccccccc cccccccc 24 bits 24 bits xxxxxxxx xxxxxxxx xxxxxxxx cccccc00 cccccccc cccccccc xxxxxxxx xxxxxxxx xxxxxxxx11111111 11111110 0xFF 0xFE IEEE administered company ID Manufacturer selected extension ID cccccc10 cccccccc cccccccc 64 bits 11111111 11111110 xxxxxxxx xxxxxxxx xxxxxxxxIPv6 Interface Identifier: IEEE 802 Address: Complement the universal/locally administered bit
  26. 26. 26 EUI-64 interface ID example Host A has the MAC address of 00-AA-00-3F-2A-1C 1. Convert MAC address to EUI-64 format 00-AA-00-FF-FE-3F-2A-1C 2. Complement the U/L bit (seventh bit of first byte) The first byte in binary form is 00000000. When the seventh bit is complemented, it becomes 00000010 (0x02). 02-AA-00-FF-FE-3F-2A-1C 3. Convert to colon hexadecimal notation ::2AA:FF:FE3F:2A1C The link-local address for a node with the MAC address of 00-AA-00-3F-2A-1C is FE80::2AA:FF:FE3F:2A1C
  27. 27. 27 Stateless address configuration: Relies on the IPv6 address structure. Addresses are made of a prefix network and of an identifying interface. Prefixed networks are generally advertised by routers on every link while the interface-ID is built locally in the host. From these elements, every host can build its own IPv6 addresses. The role of the router is important in this method since it has to periodically advertise prefixes to be used on the medium through the Neighbor Discovery protocol. Stateful address configuration this method relies on a specific protocol such as DHCP. IPv6 Address Auto-Configuration
  28. 28. 28 Current Allocated IPv6 Addresses (1/2) Global Unicast 2000::/3 Unique Local Unicast FC00::/7 Reserved by IETF FE00::/9 Link Local Unicast FE80::/10 Reserved by IETF(Deprecated Site Local Unicast) FEC0::/10 Multicast FF00::/8 Documentation purpose only(must not be routed) 2001:DB8::/32 [Ref.3] 6Bone Testing 3FFE::/16 [Ref.4] 6to4, specific to IPv4/IPv6 integration 2002::/16 [Ref.5] Teredo 2001:0000::/32 [Ref.6]
  29. 29. 29 The range of each RIR(Regional Internet registry) [Ref.7] APNIC(Asia Pacific) 2001:0200::/23 HINET-TW-20000208 2001:0238::/35 ARIN(American) 2001:0400::/23 RIPE(Europe, the Middle East and parts of Central Asia ) NCC 2001:0600::/23 Current Allocated IPv6 Addresses (2/2)
  30. 30. 30 IPv6 Header & Extension Header
  31. 31. 31 IPv4 & IPv6 Header Comparsion (1/2) Ver IHL Destination Address Source Address Ver Flow Label Payload Length Next Header Hop Limit Traffic Class Service Type Identification Flags Offset TTL Protocol Header Checksum Source Address Destination Address Options + Padding Total Length 32 bits
  32. 32. 32 IPv4 & IPv6 Header Comparsion (2/2) IPv4 Header Field Change in IPv6 Version New value of 6 Internet Header Length Removed Type of Service Traffic Class field Total Length Payload Length field Identification Removed to Fragment extension header Fragmentation Flags Removed to Fragment extension header Fragment Offset Removed to Fragment extension header Time to Live Hop Limit field Protocol Next Header field Header Checksum Removed Source Address Same, new 128-bit length Destination Address Same, new 128-bit length Options Removed to extension headers
  33. 33. 33 QoS support in IPv6 Flow Label [Ref.8] 20-bit field To identify specific flows needing special QoS. Quantitative promises (e.g., x bits per second), uses RSVP(Resource ReSerVation Protocol) signaling Traffic Class 8-bit field To identify specific classes of packets needing special QoS(DiffServ) Qualitative promises (e.g., higher priority), no explicit signaling
  34. 34. 34 IPv6 Extension Headers (1/2) Next Header field Identify the type of the next header Identifier values are the same as IPv4 “protocol” field The lastes defined numbers could be found in http://www.iana.org/assignments/protocol-numbers Currently defined IPv6 extension headers Hop-by-Hop Option Special options requiring hop-by-hop processing. Routing Extended Routing. Fragmentation Fragmentation and Reassembly. Authentication Integrity and Authentication for IPsec. Encapsulation Confidentiality for IPsec. Destination Options Optional information to be examined by the destination node.
  35. 35. 35 IPv6 Header Next Header = 6 (TCP) TCP Segment IPv6 Header Next Header = 43 (Routing) TCP SegmentRouting Header Next Header = 6 (TCP) Authentication Header Next Header = 6 (TCP) IPv6 Header Next Header = 43 (Routing) Routing Header Next Header = 51 (AH) TCP Segment IPv6 Extension Headers (2/2)
  36. 36. 36 Multicast Listener Disconvery
  37. 37. 37 What is Multicast Listener Disconvery? Enabling routers to discover the set of IPv6 multicast addresses for which there are listening nodes for each attached interface. Like IGMPv2, MLD discovers only those multicast addresses that include at least one listener. Enable host to inform router what set of multicast addresses it’s interesting to Use ICMP
  38. 38. 38 ICMP Messages for MLD Multicast Listener Query Multicast router queries network to determine membership in a host group ICMPv6 type 130 Multicast Listener Report Host declares membership in a host group ICMPv6 type 131 Multicast Listener Done Host declares that there might not be any more members of a host group on a subnet ICMPv6 type 132
  39. 39. 39 Neighbor Discovery
  40. 40. 40 What is Neighbor Discovery? Node(Hosts and Routers) use ND to determinate the link-layer addresses for neighbors known to reside on attached links Hosts also use ND to find neighboring router that willing to forward packets on their behalf Nodes use the protocol to actively keep track of which neighbors are reachable and which are not, and to detect changed link-layer addresses Replace ARP, ICMP Router Discovery, and ICMP Redirect used in IPv4 Use ICMP
  41. 41. 41 ICMP Messages for Neighbor Discovery Router Solicitation Router Advertisement Neighbor Solicitation Neighbor Advertisement Redirect
  42. 42. 42 Neighbor Discovery Process (1/2) Router discovery Discover the local hosts on an attached link Equivalent to ICMPv4 Router Discovery Prefix discovery Discovery the network prefix Equivalent to ICMPv4 Address Mask Request/Reply Parameter discovery Discovery additional parameter(ex: link MTU, default hop limit for outgoing packet) Address autoconfiguration Configure IP address for interfaces Address resolution Equivalent to ARP in IPv4
  43. 43. 43 Next-hop determination Destination address, or Address of an on-link default router Neighbor unreachable detection(NUD) Duplicate address detection(DAD) Determine that an address considered for use is not already in use by a neighboring node First-hop Redirect function Inform a host of a better first-hop IPv6 address to reach a destination Equivalent to ICMPv4 Redirect Neighbor Discovery Process (2/2)
  44. 44. 44 Neighbor Discovery Example (1/2) Router solicitations (RS) are sent by booting nodes to request RAs for configuring the interfaces 1—ICMP Type = 133 (RS) Src = link-local address (FE80::/10) Dst = all-routers multicast address (FF02::2) Query = please send RA 2. RA1. RS 2—ICMP Type = 134 (RA) Src = link-local address (FE80::/10) Dst = all-nodes multicast address (FF02::1) Data = options, subnet prefix, lifetime, autoconfig flag
  45. 45. 45 Neighbor Solicitation: ICMP type = 135 Src = A Dst = Solicited-node multicast address of B Data = link-layer address of A Query = what is your link-layer address? Neighbor Advertisement: ICMP type = 136 Src = B Dst = A Data = link-layer address of B A and B Can Now Exchange Packets on This Link A B (1) (2) Neighbor Discovery Example (2/2)
  46. 46. 46 Reference
  47. 47. 47 [1] RFC 4291 IP Version 6 Addressing Architecture [2] RFC 2732:Format for Literal IPv6 Addresses in URL's [3] RFC 3849 IPv6 Address Prefix Reserved for Documentation [4] RFC 3701 6bone (IPv6 Testing Address Allocation) Phaseout [5] RFC 3056 Connection of IPv6 Domains via IPv4 Clouds [6] "Teredo: Tunneling IPv6 over UDP through NATs", C. Huitema, draft-huitema-v6ops-teredo-00.txt (Work inProgress), June 2003. [7] RIR Registry [8] http://tools.ietf.org/id/draft-ietf-ipv6-flow-label-09.txt

×