IPv4 Address Exhaustion
Though the 32-bit address space of IPv4 supports about 4 billion IP devices, the IPv4 addressing scheme is not optimal because of recent exponential growth of the Internet. Many regions undergoing substantial growth in IP address utilization such as Asia and Europe. Current allocation trends predict exhaustion of IPv4 space by 2008. So, the solution to this problem is to switch over some scheme that could overcome this exponential growth by expanding size of IP addresses.
Classless Inter-Domain Routing (CIDR)
CIDR is an effective method to stem the tide of IP address allocation as well as routing table overflow. It eliminates the concept of class A, B, and C networks and replaces this with a generalized "IP prefix". CIDR can be used to perform route aggregation in which a single route can cover the address space of several "old-style" network numbers and thus replace a lot of old routes. This lessens the local administrative burden of updating external routing, saves routing table space in all backbone routers and reduces route flapping (rapid changes in routes), and thus CPU load, in all backbone routers. CIDR allowed delegation of pieces of what used to be called "network numbers" to customers, and therefore make it possible to utilize the available address space more efficiently. The major benefit of CIDR is to allow for continuous, uninterrupted growth of the Internet.
Network Address Translation (NAT)
Network Address Translation (NAT) is a method of connecting multiple computers to the Internet (or any other IP network) using one IP address. This allows home users and small businesses to connect their network to the Internet cheaply and efficiently. NAT is necessary when the number of IP addresses assigned to you by your Internet Service Provider is less than the total number of computers that you wish to provide Internet access for.
Advantage of Using NAT:
Use of a single registered IP address for an entire network
Independence of ISP IP addresses
Transparent to end systems in some cases (increased security)
Delays need for IPv4 replacement
Mask the true internal IP addresses of the internal network.
Disadvantages of NAT:
Breaks end-to-end model (the private IP space might already be in use)
Enables end-to-end address conflicts (encourages poor address management)
Increases local support burden and complexity
Certain applications do not work properly in conjunction
Applications needing encryption and key exchange might be problematic
Increases the probability of misaddressing
It might require more work if assigning registered IPs to private IPs
Possible performance degradation if you get close to the limit of about 25,000 connections
Obscures the ability to manage from the public side of the NAT box.
Features:
All hosts have long-lived, globally routable addresses that serve to also identify the host.
Routers are stateless.
A network address prefix is assigned independently of where the network attaches to the Internet.
Packets cannot be easily hijacked by rogue or misconfigured hosts that are not on the physical path of the packets.
Implementation:
Changes to end-hosts and NAT-boxes
IPNL layer in between IPv4 and transport
No changes to routers or DNS
IPNL Topology and Routing
-Middle realm (globally IPv4 addressable) <->
private realms (private IPv4 addresses)
-Internal nl–router (in the private realm) <-> frontdoor
nl-router (NAT box)
-IPNL header is the e2e header, with IPv4 header as an encapsulating ‘link’
header
Two routable addresses:
FQDNs: long–term address, variable length, expensive to route. Used to bootstrap and maintain the IPNL address.
IPNL address: dynamic (may change during a connection), fixed length numerical address, efficiently routable.
Routing by FQDNs:
Every realm is one (or more) DNS zone. Every nl–router maintains zone routing info to route to any zone behind the same frontdoor Zones are treated as maskable addresses at the ‘dot’ boundaries. Frontdoor use conventional DNS to route packets across the middle realm.
By IPNL address:
Internal nl–routers know how to route using the 2–byte RN (by means of dynamic
routing protocols, similar to BGP) Front doors use the MRIP to forward packets
across the Middle Realm.
IPv6
IPv6 is the "next generation" protocol designed by the IETF (The Internet Engineering Task Force) to replace the current version Internet Protocol, IPv4.IPv6 fixes a number of problems in IPv4, such as the limited number of available IPv4 addresses. It also adds many improvements to IPv4 in areas such as routing and network auto configuration. IPv6 is expected to gradually replace IPv4, with the two coexisting for a number of years during a transition period.
Addressing
IPv6 addresses are 128-bits long and are identifiers for individual interfaces and sets of interfaces. Since each interface belongs to a single node, any of that node's interfaces' unicast addresses can be used as an identifier for the node. A single interface may be assigned multiple IPv6 addresses of any type. There are 3 types of addresses: unicast, anycast and multicast. Approximately 15% of the address space is initially allocated to the reserved addresses such as NSAP (Network Access Service Point) addresses,IPX (Internetworking Packet Exchange) addresses, etc. The remaining 85% is reserved for future use.
Unicast: An identifier for a single interface. A packet sent to a unicast address is delivered to the interface identified by that address.
Anycast: An identifier for a set of interfaces (typically belonging to different nodes). A packet sent to an anycast address is delivered to one of the interfaces identified by that address (the "nearest" one, according to the routing protocols' measure of distance).
Multicast: An identifier for a set of interfaces (typically belonging to different nodes). A packet sent to a multicast address is delivered to all interfaces identified by that address.
There are no broadcast addresses in IPv6, their function being superseded by multicast addresses.
Features of IPv6
- VERS
- identifies protocol as version 6
- PRIORITY
- Identifies Priority characteristics.
- PAYLOAD LENGTH
- Specifies only the size of the data being carried, it does not include the header.
- HOP LIMIT
- Corresponds to IP's TIME TO LIVE, datagram is discarded if HOP LIMIT counts down to zero.
- FLOW LABEL
- Divided into two parts, one used to define a specific path, the other to specify a traffic class. Routers use the value in the FLOW LABEL field to route the datagram.
- NEXT HEADER
- Used to specify the type of information that follows the current header.
Finally, lets look at the differences between IPv4 and IPv6 Solutions: