IPv4 & IPv6 are not designed to be interoperable,
complicating the transition to IPv6. However, several IPv6 transition
mechanisms have been devised to permit communication between IPv4 and IPv6
hosts.
History?
IPv6 was developed by the Internet Engineering Task Force
(IETF) to deal with the long-anticipated problem of IPv4 address exhaustion.
IPv6 is intended to replace IPv4, which still carries more
than 96% of Internet traffic worldwide as of May 2014. As of June 2014, the
percentage of users reaching Google services with IPv6 surpassed 4% for the
first time.
With the rapid growth of the Internet after commercialization
in the 1990s, it became evident that far more addresses than the IPv4 address
space has available were necessary to connect new devices in the future. By 1998,
the Internet Engineering Task Force (IETF) had formalized the successor
protocol. IPv6 uses a 128-bit address, allowing 2128, or approximately 3.4×1038
addresses, or more than 7.9×1028 times as many as IPv4, which uses 32-bit
addresses and provides approximately 4.3 billion addresses.
Why we need IPv6?
IPv6 or IP version 6 is the next generation Internet protocol
which will eventually replace the current protocol IPv4. IPv6 has a number of
improvements and simplifications when compared to IPv4. The primary difference
is that IPv6 uses 128 bit addresses as compared to the 32 bit addresses used
with IPv4. This means that there are more available IP addresses using IPv6
than are available with IPv4 alone. For a very clear comparison, in IPv4 there
are total of 4,294,967,296 IP addresses. With IPv6, there are total of
18,446,744,073,709,551,616 IP addresses in a single /64 allocation.
To also help illustrate the sheer magnitude of available IP
addresses using IPv6, you can get 65536 /64 allocations out of a single /48,
and then 65536 /48 allocations out of a single /32. Many Service Providers are
getting /32 allocations from their Regional Internet Registry (RIR) like ARIN,
APNIC, RIPE, etc.
A significant difference between IPv6 and IPv4 is the address
notation. IPv4 uses a period (.) between each octet, compared to IPv6 which
uses a colon (:). With IPv6, if you have a series of zeroes in a row, the
address need not be written out completely. You can use a double colon (::) to
represent that series of zeroes, however you can only use that once. For
example, if you have an address like
"2001:0DB8:0000:0003:0000:01FF:0000:002E", it can be written like
"2001:DB8::3:0:1FF:0:2E" or "2001:DB8:0:3:0:1FF::2E", but
would never be written like "2001:DB8::3::1ff::2E". You also cannot
have three colons in a row (:::).
Why Not NAT?
- It was created as a temp solution
- NAT breaks the end-to-end model.
- Growth of NAT has slowed down growth of transparent applications.
- No easy way to maintain states of NAT in case of node failures.
- NAT break security.
- NAT complicates mergers, double NATing is needed for devices to communicate with each other.
Advantages of IPv6?
Besides providing an almost limitless number of unique IP
addresses for global end-to-end reachability and scalability, IPv6 has the following
additional advantages:
- Simplified header format for efficient packet handling.
- Larger payload for increased throughput and transport efficiency.
- Hierarchical network architecture for routing efficiency.
- Support for widely deployed routing protocols (OSPF, BGP, etc.).
- Autoconfiguration and plug-and-play support.
- Elimination of need for network address translation (NAT) and application layered gateway (ALG).
- Increased number of multicast addresses.
IPv4 and IPv6 Header Comparison?
IPv4 and IPv6 Header Comparison |
- IPv6 Header New Field—Flow Label (RFC3697).
- 20-Bit Flow Label Field to Identify Specific Flows Needing Special QoS.
- Flow classifiers had been based on 5-tuple: Source/destination address, protocol type and port numbers of transport.
- Some of these fields may be unavailable due to fragmentation, encryption or locating them past extension headers.
- With flow label, each source chooses its own flow label values; routers use source addr + flow label to identify distinct flows.
- Flow label value of 0 used when no special QoS requested (the common case today).
Extension Headers?
Extension Headers |
MTU Issues?
- Minimum link MTU for IPv6 is 1280 octets (vs. 68 octets for IPv4).
=> on links with MTU < 1280, link-specific fragmentation
and reassembly must be used
- Implementations are expected to perform path MTU.
- Implementations are expected to perform path MTU discovery to send packets bigger than 1280.
- Minimal implementation can omit PMTU discovery as long as all packets kept ≤ 1280 octets.
IPv6—Addressing Model?
- Addresses are assigned to interfaces
- Change from IPv4 mode
- Interface “expected” to have multiple addresses.
- Addresses have scope
- Link Local
Link-Local Addresses Used for:
- Mandatory Address for Communication between two IPv6 device (like ARP but at Layer 3).
- Automatically assigned by Router as soon as IPv6 is enabled.
- Also used for Next-Hop calculation in Routing Protocols.
- Only Link Specific scope.
- Remaining 54 bits could be Zero or any manual configured value.
- Unique Local
Unique-Local Addresses Used for:
- Local communications
- Inter-site VPNs
- Not routable on the Internet
- Global
A global IPv6 address is a unicast address with a predefined
prefix of 2000::/3 (001). Cisco supports global IPv6 addresses in the range of
2000::/3 through 3000::/3. IPv6 addresses with a prefix of 2000::/3 (001)
through E000::/3 (111), excluding the FF00::/8 (1111 1111) multicast addresses,
are required to have 64-bit interface identifiers (VLAN IDs) in the IEEE 64-bit
Extended Universal Identifier (EUI-64) format. The Internet Assigned Numbers
Authority (IANA) allocates the IPv6 address space in the range of 2001::/16 to
the registries.
Some Well Known Multicast Addresses?
(Note: that 02 means that this is a permanent address and has
link scope.)
Solicited-Node Multicast Address?
- For each unicast and anycast address configured there is a corresponding solicited-node multicast.
- This is specially used for two purpose, for the replacement of ARP, and DAD.
- Used in neighbor solicitation messages.
- Multicast address with a link-local scope.
- Multicast address with a link-local scope
- Solicited-node multicast consists of prefix + lower 24 bits from unicast, FF02::1:FF:
Types of IPv6 Addresses?
- 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 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 more broadcast addresses
IPv6 Address Allocation Process?
Lowest-Order 64-bit field of unicast address may be assigned
in several different ways:
- Auto-configured from a 64-bit EUI-64, or expanded from a 48-bit MAC address (e.g., Ethernet address).
- Auto-generated pseudo-random number (to address privacy concerns).
- Assigned via DHCP.
- Manually configured.
Transitioning from IPv4 to IPv6?
The transition from IPv4 to IPv6 will not happen quickly
because of the scope of the change. The two protocols will likely need to
coexist for many years before IPv6 replaces IPv4 completely. Many countries and
corporations are currently using one or more of the methods described below to
transition their networks to IPv6.
- Dual Stack
A dual stack means that IPv4 and IPv6 addresses coexist on
the same platform and support hosts of both types. This method is a way to
transition from IPv4 to IPv6 with coexistence as a first step. The ACE supports
a dual stack arrangement for IPv6.
- Tunneling
Many Ways to Do Tunneling:
->Some ideas same as before GRE, MPLS, IP
->Native IP over data link layers
ATM PVC, dWDM Lambda, Frame Relay PVC, Serial, Sonet/SDH,
Ethernet Sonet/SDH, Ethernet.
->Some new techniques
->Automatic tunnels using IPv4 , compatible IPv6 address, 6to4,
ISATAP
- NAT
The ACE acts as a proxy device by terminating connections
from clients and then establishing a back-end connection with servers. It then
splices the two connections together to allow the clients and servers to
communicate with each other.
For IPv6, the ACE supports the NATing of client or VIP IPv4
addresses to server IPv6 and the reverse for HTTP and HTTPS load balancing.
Configuration IPv6 to IPv4?
Configuration Topology |
- Manually Configured IPv6 over IPv4 Tunnel
Router 1
interface Tunnel0
ipv6 enable
ipv6 address 2001:db8:c18:1::3/127
tunnel source 192.168.99.1
tunnel destination 192.168.30.1
tunnel mode ipv6ip
Router 2
interface Tunnel0
ipv6 enable
ipv6 address 2001:db8:c18:1::2/127
tunnel source 192.168.30.1
tunnel destination 192.168.99.1
tunnel mode ipv6ip
- Manually Configured GRE Tunnel
Router 1
interface Tunnel0
ipv6 enable
ipv6 address 2001:db8:c18:1::3/128
tunnel source 192.168.99.1
tunnel destination 192.168.30.1
tunnel mode gre ipv6
Router 2
interface Tunnel0
ipv6 enable
ipv6 address 2001:db8:c18:1::2/128
tunnel source 192.168.30.1
tunnel destination 192.168.99.1
tunnel mode gre ipv6
----
No comments:
Post a Comment