IPv6 Address Representation
IPv4 addresses are represented in dotted-decimal format.
This 32-bit address is divided along 8-bit boundaries. Each set of 8 bits is
converted to its decimal equivalent and separated by periods.
For IPv6, the 128-bit address is divided along 16-bit boundaries, and each 16-bit block is converted to a 4-digit hexadecimal number and separated by colons. The resulting representation is called colon-hexadecimal.
For IPv6, the 128-bit address is divided along 16-bit boundaries, and each 16-bit block is converted to a 4-digit hexadecimal number and separated by colons. The resulting representation is called colon-hexadecimal.
The following is an IPv6 address in binary form:
0010000111011010000000001101001100000000000000000010111100111011
0000001010101010000000001111111111111110001010001001110001011010
The 128-bit address is divided along 16-bit boundaries, as follows:
0010000111011010
0000000011010011
0000000000000000
0010111100111011
0000001010101010
0000000011111111
1111111000101000
1001110001011010
Each 16-bit block is converted to hexadecimal and delimited with colons. The result is:
21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A
IPv6 representation can be further simplified by removing the leading zeros within each 16-bit block. However, each block must have at least a single digit. With leading zero suppression, the address representation becomes:
21DA:D3:0:2F3B:2AA:FF:FE28:9C5A
Compressing zeros
Some types of addresses contain long sequences of zeros. To
further simplify the representation of IPv6 addresses, a contiguous sequence of
16-bit blocks set to 0 in the colon-hexadecimal format can be compressed to ::
(known as double-colon).
For example, the link-local address of
FE80:0:0:0:2AA:FF:FE9A:4CA2 can be compressed to FE80::2AA:FF:FE9A:4CA2. The
multicast address of FF02:0:0:0:0:0:0:2 can be compressed to FF02::2. Zero
compression can only be used to compress a single contiguous series of 16-bit
blocks expressed in colon-hexadecimal notation. You cannot use zero compression
to include part of a 16-bit block. For example, you cannot express
FF02:30:0:0:0:0:0:5 as FF02:3::5.
To determine how many 0 bits are represented by the ::, you
can count the number of blocks in the compressed address, subtract this number
from 8, and then multiply the result by 16. For example, in the address
FF02::2, there are two blocks (the FF02 block and the 2 block). The number of
bits expressed by the :: is 96 (96 = (8 - 2) × 16).
Zero compression can only be used once in a given address.
Otherwise, you could not determine the number of 0 bits represented by each
instance of a double-colon (::).
IPv4-Compatible IPv6 Addresses
IPv6/IPv4 Address Embedding
IPv6 is backward compatible with IPv4, provided that special
techniques are used. For example, to enable communication between
"islands" of IPv6 devices connected by IPv4 networks, tunneling may
be employed. To support IPv4/IPv6 compatibility, a scheme was developed to
allow IPv4 addresses to be embedded within the IPv6 address
structure. This method takes regular IPv4 addresses and puts them in a special
IPv6 format so they are recognized as being IPv4 addresses by certain IPv6
devices.
Since the IPv6 address space is so much bigger than that of
IPv4, embedding the latter within the former is easy; it's like tucking a
compact sedan into the hold of a cargo ship. The embedding address space is
part of thereserved
address block whose addresses begin with eight zero bits, but only a
relatively small part of it. Two different embedding formats are used. Both
have zeroes for the first 80 bits of the address, and put the embedded IPv4
address into the last 32 bits of the IPv6 address format. They differ on the
value of the 16 remaining bits in between (bits 81 to 96, counting from the
left):
The two embedding formats are used in order to indicate the
capabilities of the device using the embedded address.
IPv4-Compatible IPv6 Addresses
These are special addresses assigned to IPv6-capable
devices, such as so-called “dual stack” devices that speak both IPv4 and IPv6.
They have all zeroes for the middle 16 bits; thus, they start off with a string
of 96 zeroes, followed by the IPv4 address. An example of such an address,
shown in Figure 1, would be 0:0:0:0:0:0:101.45.75.219 in mixed notation,
or more succinctly, ::101.45.75.219.
Figure 1: IPv4-Compatible Embedded IPv6 Address
Representation
|
IPv4-Mapped IPv6 Addresses
These are regular IPv4 addresses that have been mapped into
the IPv6 address space, and are used for devices that are only IPv4-capable.
They have a set of 16 ones after the initial string of
80 zeroes, and then the IPv4 address. So, if an IPv4 device has the address
222.1.41.90, such as the one in Figure 2, it would be represented as
0:0:0:0:0:FFFF:222.1.41.90, or ::FFFF:222.1.41.90.
Figure 2: IPv4-Mapped Embedded IPv6 Address
Representation
|
Key Concept: IPv4
address embedding is used to create a relationship between an IPv4
address and an IPv6 address to aid in the transition from IPv4 to IPv6. One
type, the IPv4-compatible IPv6 address, is used for devices that
are compatible with both IPv4 and IPv6; it begins with 96 zero bits. The
other, the IPv4-mapped address, is used for mapping IPv4 devices
that are not compatible with IPv6 into the IPv6 address space; it begins with
80 zeroes followed by 16 ones.
|
Comparing IPv4-Compatible and IPv4-Mapped Embedded IPv6 Addresses
The difference between these two kinds of addresses is
subtle, but important. The first 80 bits are always zero, so when this is seen
you know it is an embedded IPv4 address of some sort. IPv4-compatible IPv6
addresses are only used for devices that are actually IPv6-aware; the
IPv4-compatible address is in addition to its conventional IPv6 address. In
contrast, if the "FFFF" is seen for the 16 bits after the initial 80,
this designates a conventional IPv4 device whose IPv4 address has been mapped
into the IPv6 format. It is not an IPv6-capable device.
::/128 - Unspecified
::1/128 - Loopback
FF00::/8 - Multicast
FE80::/10 - Link-local unicast
FC00::/7 - Unique local unicast
2000::/3 - Global unicast
Global Unicast - like public IP address in IPv4
Multicast - same same, replacing the need of broadcast.
Anycast - finds the nearest IP
Unique local unicast address - like private address (RFC 1918)
Link local unicast address - direct connection without any router. Autoconfiguration of the address, can be few attached to the single interface, routers are not forwarding this IPs.
::1/128 - Loopback
FF00::/8 - Multicast
FE80::/10 - Link-local unicast
FC00::/7 - Unique local unicast
2000::/3 - Global unicast
Global Unicast - like public IP address in IPv4
Multicast - same same, replacing the need of broadcast.
Anycast - finds the nearest IP
Unique local unicast address - like private address (RFC 1918)
Link local unicast address - direct connection without any router. Autoconfiguration of the address, can be few attached to the single interface, routers are not forwarding this IPs.
IPv6 Mechanisms
IPv6 Name
Resolution
IPv4 uses A record to resolve IP
per DNS name, DNS adds a resource record (RR) to support name-to-IPv6-address
resolution. New type of record calls AAAA.
Path MTU Discovery
IPv6 does not allow packet
segmentation thru the internetwork. Only sending host are allowed to fragment. Maximum
MTU is 1280 per RFC 2460.
IPv6 Address-Assignment
Strategies
Static or Dynamic:
Static:
Manually
Dynamic:
Stateless
autoconfiguration of link-local address (FE80::)
Stateless
autoconfiguration of globally unique address (
Statefull
configuration with DHCPv6
IPv6
Security
Extension headers carry the IPsec
AH and ESP headers. The AH provides authentication and integrity. The ESP
header provides confidentiality by encryption a payload.
IPv6 Routing Protocols
RIPng
UDP port
521
Uses
multicast group FF02::9
EIGRP for IPv6
Uses
multicast group FF02::A
OSPFv3
Uses
multicast group FF02::5 for all OSPF routers and FF02::6 for all DR’s.
IS-IS for
IPv6
(draft)
MP-BGP for
IPv6
MP_REACH_NLRI
MP_UNREACH_NLRI
IPv4 to IPv6 Transition Mechanisms and Deployment Models
Dual-Stack (IPv4 and IPv6 coexist
in host and network)
Tunneling
(IPv6 packets are encapsulated into IPv4 packets)
IPv4
compatible
6to4
6over4
ISATAP
Translation
(IPv6 packets are translated to IPv6 packets)
ALG
API
DSTM
– NAT-PT
Summary:
Dual-Stuck model
Hybrid
model
Service
Block Model
Summary:
IPv6 Deployment Model
|
Advantages
|
Disadvantages
|
Dual-Stack model
|
Tunneling not required. Better processing performance.
IPv4 & IPv6 independent routing, QoS, security and
multicast policies.
|
Network equipment upgraded
|
Hybrid model 1
|
Existing network can be leveraged with no upgrades
|
IPv6 multicast not supported within ISATAP tunnel.
Terminating ISATAP tunnels in core makes the core appear
to be in IPv6 access layer.
|
Hybrid model 2
|
IPv4 & IPv6 independent routing, QoS, security and
multicast policies.
|
Many static tunnels which makes it difficult to manage.
|
Server Block model
|
Lesser impact on existing network.
Flexible when controlling access to IPv6-enabled
applications.
|
Large amounts of tunneling.
Cost of additional equipment.
|
IPv6 Comparison with IPv4
Characteristics
|
IPv6
|
IPv4
|
Address length
|
128 bits
|
32 bits
|
Address representation
|
Hexadecimal
|
Dotted-decimal
|
Header length
|
Fixed (40 bytes)
|
Variable
|
Upper-layer protocol
|
Next header field
|
Protocol type field
|
Link address resolution
|
ND
|
ARP
|
Address configuration
|
Stateless autoconfiguration or Statefull DHCP
|
Statefull DHCP
|
Routing protocols
|
EIGRPv6, OSPFv6, RIPng, ISIS for IPv6
|
EIGRP, OSPFv2, RIPv2, ISIS
|
Classification and marking
|
Traffic Class and Flow label fields, DSCP
|
IP Precedence bits, ToS, DSCP
|
Private address
|
Unique-local address
|
RFC 1918
|
Fragmentation
|
Sending host only
|
Sending host and intermediate routers
|
Loopback address
|
0:0:0:0:0:0:0:1
|
127.0.0.1
|
Address scope type
|
Unicast, anycast, multicast
|
Unicast, multicast, broadcast
|
No comments:
Post a Comment