IPV6: Addressing - Google Code

cursefarmNetworking and Communications

Oct 24, 2013 (3 years and 11 months ago)

105 views

ZyXEL Confidential

IPv6: Addressing

Milo Liu

SW2

ZyXEL Communications Corp.

3/6/2006

ZyXEL Confidential

Outline


Review IPv4 addressing .


Basic IPv6 address concepts.


IPv6
address space
.


Subnetting IPv6 space.

ZyXEL Confidential

IPv4 Address


32bit address space.


Subnet defined by a mask.


Unicast host address.


Multicast address.


Broadcast address.


Special address.

ZyXEL Confidential

IPv4 Address


32 bits address space.


11010010

01001001

10001100

00000010



210
.
73
.
140
.
2



Subnet mask (Network section and host
section)


A class (0xxxxxxx) + 24 bit


B class (10xxxxxxxxxxxxxx) + 16bits


C class (110xxxxxxxxxxxxxxxxxxxxx) + 8bits

ZyXEL Confidential

IPv4 Address


Multicast address.


1110xxxx + 24bits (223 ~ 240) .xxxxx


Broadcast address.


255.255.255.255


Loop
-
back address.


127.0.0.1 (localhost)

ZyXEL Confidential

IPv4 Addresses and IPv6 Equivalents

IPv4 Address

IPv6 Address

Internet address classes

N/A

Multicast addresses (224.0.0.0/4)

IPv6 multicast addresses (FF00::/8)

Broadcast addresses

N/A

Unspecified address is 0.0.0.0

Unspecified address is ::

Loopback address is 127.0.0.1

Loopback address is ::1

Public IP addresses

Aggregatable global unicast addresses

Private IP addresses

Site
-
local addresses (FEC0::/48)

APIPA addresses

Link
-
local addresses (FE80::/64)

Dotted decimal notation

Colon hexadecimal format

Subnet mask or prefix length

Prefix length notation only

ZyXEL Confidential


IPV6 Address syntax.


128bits space. (split by 16bits)








IPv6 Address concept

0010000111011010

0000000011010011

0000000000000000

0010111100111011

0000001010101010

0000000011111111

1111111000101000

1001110001011010

21DA
:
00D3
:
0000
:
2F3B
:
02AA
:
00FF
:
FE28
:
9C5A

21DA:D3:0:2F3B:2AA:FF:FE28:9C5A


Prefix (n)

Interface ID (128
-

n)

128 bits

ZyXEL Confidential

IPv6 Address concept


IPv6 address syntax: Compressing Zeros


FE80:
0:0:0
:2AA:FF:FE9A:4CA2 becomes
FE80
::
2AA:FF:FE9A:4CA2


FF02:
0:0:0:0:0:0
:2

FF02
::
2


ZyXEL Confidential

IPv6 Address concept


Prefix is part of address where the bits
have fixed values or are the bits of a
route or subnet identifier.


IPv6 subnets or routes always uses
address
/
prefix
-
length

notation. (
Classless
Inter
-
Domain Routing (CIDR)

)


21DA:D3::/48 for a route


21DA:D3:0:2F3B::/64 for a subnet

ZyXEL Confidential

Classless Inter
-
Domain Routing (CIDR)

ZyXEL Confidential

IPv6 Addresses Application

Router 1

Subnet 2

Subnet 1

Router 2

Host A

Host B

Site: FEC0::1: 20D:60FF:FECB:6255

Link: FE80::20D:60FF:FECB:6255


Multicast: FF01::1


FF02::1


FF02::1:FFCB:6255


internet

Global: 3000:4D:C00:: 20D:60FF:FECB:6255

ZyXEL Confidential

IPv6 Address concept


Subnet Mask: not required and as prefix of IPv6 address


Type of address


Unicast


Address of a single interface


One
-
to
-
one delivery to single interface


Multicast


Address of a set of interfaces


One
-
to
-
many delivery to all interfaces in the set


Anycast


Address of a set of interfaces


One
-
to
-
one
-
of
-
many delivery to a single interface in the set that is
closest


No broadcast addresses

ZyXEL Confidential

IPv6 Address concept


Unicast address


Aggregatable global unicast addresses


Link
-
local addresses


Site
-
local addresses


Special addresses


Compatibility addresses


NSAP addresses

ZyXEL Confidential

IPv6 Address concept


IPv6 Address space


64bits (subnet section) + 64bits (interface
section)


Prefix

Interface ID

64 bits

64 bits

ZyXEL Confidential

Unicast address


Aggregatable global unicast addresses


Top
-
Level Aggregation ID (TLA ID)


Next
-
Level Aggregation ID (NLA ID)


Site
-
Level Aggregation ID (SLA ID)


Interface ID


TLA ID

Interface ID

13 bits

64 bits

SLA ID

24 bits

001

NLA ID

16 bits

Res

8 bits

ZyXEL Confidential

Unicast address


Topologies Within Global Addresses


Public Topology


Site Topology


Interface ID

TLA ID

Interface ID

64 bits

SLA ID

001

NLA ID

16 bits

Res

48 bits

Public Topology

Site Topology

Interface Identifier

ZyXEL Confidential

Unicast address


Link
-
local addresses


Used between on
-
link neighbors and for
Neighbor Discovery


Format Prefix 1111 1110 10


FE80::/64 prefix


Used for local link only


Single subnet, no router


Address autoconfiguration


Neighbor Discovery


ZyXEL Confidential

Unicast address


Link
-
local addresses

1111 1110 10

Interface ID

10 bits

64 bits

000 . . . 000

54 bits

ZyXEL Confidential

Unicast address


Site
-
local addresses


Used between nodes in the same site


Format Prefix 1111 1110 11


FEC0::/48 prefix for site


Used for local site only


Replacement for IPv4 private addresses


Intranets not connected to the Internet


Routers do not forward site
-
local traffic outside the
site



ZyXEL Confidential

Unicast address


Site
-
local addresses

1111 1110 11

Interface ID

10 bits

64 bits

000 . . . 000

38 bits

Subnet ID

16 bits

ZyXEL Confidential

Unicast address


Special addresses


Unspecified address


0:0:0:0:0:0:0:0
or

::


Loopback address


0:0:0:0:0:0:0:1
or

::1


ZyXEL Confidential

Unicast address


Compatibility Addresses


IPv4
-
compatible address


0:0:0:0:0:0:
w.x.y.z

or
::
w.x.y.z


IPv4
-
mapped address


0:0:0:0:0:FFFF:
w.x.y.z

or
::FFFF:
w.x.y.z


6over4 address


[64
-
bit prefix]:0:0:WWXX:YYZZ



6to4 address


2002:WWXX:YYZZ:[
SLA ID
]:[
Interface ID
]


ISATAP address


Interface ID of ::0:5EFE:
w.x.y.z


ZyXEL Confidential

Multicast IPv6 Address


Defined multicast addresses


All
-
Nodes addresses


FF01::1 (Node Local), FF02::1 (Link Local)


All
-
Routers addresses


FF01::2 (Node Local), FF02::2 (Link Local), FF05::2
(Site Local)


1111 1111

Group ID

8 bits

112 bits

Flags

4 bits

Scope

4 bits

ZyXEL Confidential

Scope: 4bits

ZyXEL Confidential

Multicast IPv6 Address


Recommended Multicast IPv6 Addresses


Single IPv6 multicast address maps to a
single Ethernet multicast MAC address


1111 1111

Group ID

8 bits

32 bits

Flags

4 bits

Scope

4 bits

80 bits

000 … 000

ZyXEL Confidential

Multicast IPv6 Address


Solicited
-
Node Address


Acts as a pseudo
-
unicast address for very
efficient address resolution


For FE80::2AA:FF:FE
28:9C5A
, the
corresponding solicited
-
node address is
FF02::1:FF
28:9C5A

ZyXEL Confidential

Multicast IPv6 Address


Solicited
-
Node Address

Interface ID

64 bits

Unicast prefix

64 bits

FF02:

24 bits

:1:FF

0:0:0:0

ZyXEL Confidential

Anycast IPv6 Address


An anycast address is an address that is
assigned to a set of interfaces that typically
belong to different nodes.


A packet sent to an anycast address is
delivered to the closest interface.



Anycast addresses can be used only by a router,
not a host, and anycast addresses must not be
used as the source address of an IPv6 packet.


Subnet router anycast address

ZyXEL Confidential

IPv6 Addresses Application


IPv6 Addresses for a Host


Unicast addresses:


A link
-
local address for each interface


Unicast addresses for each interface (site
-
local or global
addresses)


A loopback address (::1)


Listen Multicast addresses:


The node
-
local scope all
-
nodes multicast address (FF01::1)


The link
-
local scope all
-
nodes multicast address (FF02::1)


The solicited
-
node address for each unicast address


The multicast addresses of joined groups


ZyXEL Confidential

IPv6 Addresses Application


IPv6 Addresses for a Router


Unicast addresses:


A link
-
local address for each interface


Unicast addresses for each interface


Loopback address (::1)


Anycast addresses


Subnet
-
router anycast address


Additional anycast addresses (optional)


Listen Multicast addresses:


The node
-
local scope all
-
nodes multicast address (FF01::1)


The node
-
local scope all
-
routers multicast address (FF01::2)


The link
-
local scope all
-
nodes multicast address (FF02::1)


The link
-
local scope all
-
routers multicast address (FF02::2)


The site
-
local scope all
-
routers multicast address (FF05::2)


The solicited
-
node address for each unicast address


The multicast addresses of joined groups


ZyXEL Confidential

IPv6 Addresses Application

Router 1

Subnet 2

Subnet 1

Router 2

Host A

Host B

Site: FEC0::1: 20D:60FF:FECB:6255

Link: FE80::20D:60FF:FECB:6255


Multicast: FF01::1


FF02::1


FF02::1:FFCB:6255


internet

Global: 3000:4D:C00:: 20D:60FF:FECB:6255

ZyXEL Confidential

IPv6 Interface Identifiers


Interface identifier based on:


Extended Unique Identifier (EUI)
-
64 address


Either assigned to a network adapter card or derived from
IEEE 802 addresses


Temporarily assigned, randomly generated value
that changes over time


A value assigned by a stateful address configuration
protocol


A value assigned during a Point
-
to
-
Point Protocol
connection establishment


A manually configured value

ZyXEL Confidential

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

ZyXEL Confidential

IPv6 Interface Identifiers


Extended Unique Identifier (EUI)
-
64
address


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

ZyXEL Confidential

Conversion of an IEEE 802 Address to an EUI
-
64
Address


Host A has the MAC address of 00
-
0D
-
60
-
CB
-
62
-
55


1. Convert to EUI
-
64 format


00
-
0D
-
60
-
FF
-
FE
-
CB
-
62
-
55


2. Complement the U/L bit


The first byte in binary form is 00000000. When the seventh
bit is complemented, it becomes 00000010 (0x02).


Result is
02
-
0D
-
60
-
FF
-
FE
-
CB
-
62
-
55


3. Convert to colon hexadecimal notation


20D:60FF:FECB:6255


Link
-
local address for node with the MAC
address of 00
-
0D
-
60
-
CB
-
62
-
55 is
FE80::
20D:60FF:FECB:6255
.

ZyXEL Confidential

000000
0
0 00001101 01100000

11001011 1100010 1010101

11111111

11111110

0xFF

0xFE

EUI
-
64 Address

000000
0
0 00001101 01100000

24 bits

24 bits

11001011 1100010 1010101

IEEE
-
administered company ID

Manufacturer
-
selected extension ID

IEEE 802 Address

000000
1
0 00001101 01100000

64 bits

11111111 11111110

11001011 1100010 1010101

IPv6 Interface Identifier

ZyXEL Confidential

Temporary Address Interface Identifiers


Random IPv6 interface identifier


Prevent identification of traffic regardless of the
prefix


Initial value based on random number


Future values based on MD5 hash of history value
and EUI
-
64
-
based interface identifier


Result is a temporary address


Generated from public address prefixes using
stateless address autoconfiguration


Changes over time


ZyXEL Confidential

IPv6

Multicast Address

33
-
33
-


8

16

24

32

FF...:

Ethernet

Multicast Address

Mapping IPv6 Multicast Addresses to
Ethernet Addresses

ZyXEL Confidential

IPv6 Addresses Application

Router 1

Subnet 2

Subnet 1

Router 2

Host A

Host B

Site: FEC0::1: 20D:60FF:FECB:6255

Link: FE80::20D:60FF:FECB:6255


Multicast: FF01::1


FF02::1


FF02::1:FFCB:6255


internet

Global: 3000:4D:C00:: 20D:60FF:FECB:6255

ZyXEL Confidential

Subnetting the IPv6 Address Space


Subnetting for NLA IDs






[
16
-
bit prefix
]:00

f

r

s

ZyXEL Confidential

Subnetting the IPv6 Address Space


Subnetting for SLA IDs

[
48
-
bit prefix
]:

::

f

s

r

ZyXEL Confidential

Ex
pression


Based on
s

(the number of bits chosen for subnetting),
m

(the
prefix length of the network prefix being subnetted), and
F

(the hexadecimal value of the subnet being subnetted),
calculate the following:


f
=

m
-

48


f

is the number of bits within the subnet ID that are already fixed.


n
=

2s


n

is the number of network prefixes that are obtained.


i
=

216
-
(f+s)


i

is the incremental value between each successive subnet ID
expressed in hexadecimal form.


l
=

48

+

f
+

s



l

is the prefix length of the new subnetted network prefixes.

ZyXEL Confidential

Example


To perform a 3
-
bit subnetting of the site
-
local network prefix FEC0:0:0:C000::/51,
we first calculate the values of the
number of prefixes, the increment, and
the new prefix length. Our starting
values are F = 0xC000, s = 3, and f = 51
-

48 = 3. The number of prefixes is 8 (n =
23). The increment is 0x400 (i = 216
-
(3+3)
= 1024 = 0x400). The new prefix length is
54 (l = 48 + 3 + 3).

ZyXEL Confidential

Q&A

ZyXEL Confidential

Date

Subject

Lecturer

Introduction to IPv6

IPv6 Addressing

IPv6 Header & Extensions

Neighbor Discovery Protocol

Multicast Listener Discovery

IPv6 Routing

ICMPv6

Address Autoconfigurator

Joe Zhao

Milo Liu

Joe Zhao

Feng Zhou

Billy Bian

Jeffrey Zhou

Feng Zhou

Milo Liu

03/10

03/16

03/23

03/23

03/30

03/30

04/06

04/06

Training course arrangement

ZyXEL Confidential

Date

Subject

Lecturer

Setting Up an IPv6 Test Lab

IPv6 Migration Mechanisms

IPv6 Mobility

Joe Zhou

Milo Liu

04/13

04/20

Training course arrangement