IP, the Internet Protocol, is one of the pillars which support the Internet. Almost 20 years old, first specified in a remarkably concise 45 pages in RFC 791, IP is the network-layer protocol for the Internet.

In 1991, the IETF decided that the current version of IP, called IPv4, had outlived its design. The new version of IP, called either IPng (Next Generation) or IPv6 (version 6), was the result of a long and tumultuous process which came to a head in 1994, when the IETF gave a clear direction for IPv6. IPv6 is designed to solve the problems of IPv4. It does so by creating a new version of the protocol which serves the function of IPv4, but without the same limitations of IPv4. IPv6 is not totally different from IPv4: what you have learned in IPv4 will be valuable when you deploy IPv6. The differences between IPv6 and IPv4 are in five major areas: addressing and routing, security, network address translation, administrative workload, and support for mobile devices. IPv6 also includes an important feature: a set of possible migration and transition plans from IPv4.

Since 1994, over 30 IPv6 RFCs have been published. Changing IP means changing dozens of Internet protocols and conventions, ranging from how IP addresses are stored in DNS (domain name system) and applications, to how datagrams are sent and routed over Ethernet, PPP, Token Ring, FDDI, and every other medium, to how programmers call network functions. The IETF, though, is not so insane as to assume that everyone is going to change everything overnight. So there are also standards and protocols and procedures for the coexistence of IPv4 and IPv6: tunneling IPv6 in IPv4, tunneling IPv4 in IPv6, running IPv4 and IPv6 on the same system (dual stack) for an extended period of time, and mixing and matching the two protocols in a variety of environments.

Internet Protocol Version 4 (IPV4)

Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP) and it is the first version of the protocol to be widely deployed. Together with IPv6, it is at the core of standards-based internetworking methods of the Internet. IPv4 is still by far the most widely deployed Internet Layer protocol. IPv4 is described in IETF publication RFC 791, replacing an earlier definition RFC 760. IPv4 is a connectionless protocol for use on packet-switched Link Layer networks e.g., Ethernet. It operates on a best effort delivery model, in that it does not guarantee delivery, nor does it assure proper sequencing, or avoid duplicate delivery.IPV4 does not contain error control or flow control mechanisms. However it discards data if found corrupted through the checksum method employed in header of the datagram. These aspects, including data integrity, are addressed by an upper layer transport protocol e.g., Transmission Control Protocol. Ipv4 is the fourth version of Internet protocol, but the first one to be widely deployed. It uses a 32 bit addressing and allows for 4,294,967,296 unique addresses. Ipv4 has four different class types, the class types are A, B, C, and D.

Classful IP Addressing

Originally, an IP address was divided into two parts, the network identifier represented in the most significant (highest order) octet of the address and the host identifier using the rest of the address. The latter was therefore also called the rest field. This enabled the creation of a maximum of 256 networks. Quickly this was found to be inadequate. To overcome this limit, the high order octet of the addresses was redefined to create a set of classes of networks, in a system which later became known as classful networking. The system defined five classes, Class A, B, C, D, and E. The Classes A, B, and C had different bit lengths for the new network identification. The rest of an address was used as previously to identify a host within a network, which meant that each network class had a different capacity to address hosts. Class D was allocated for multicast addressing and Class E was reserved for future applications.

Classless Addressing

Classless addressing has three basic categories.

Sub netting

Subnetting is a set of techniques that you can use to efficiently divide the address space of a unicast address prefix for allocation among the subnets of an organization network. The fixed portion of a unicast address prefix includes the bits up to and including the prefix length that have a defined value. The variable portion of a unicast address prefix includes the bits beyond the prefix length that are set to 0. Subnetting is the use of the variable portion of a unicast address prefix to create address prefixes that are more efficient (that waste fewer possible addresses) for assignment to the subnets of an organization network. Subnetting for IPv4 was originally defined to make better use of the host bits for Class A and Class B IPv4 public address prefixes. The routers of the Internet would still regard all the nodes on the three subnets as being located on the address prefix. The Internet routers would be unaware of the subnetting being done therefore require no reconfiguration. The subnetting of an address prefix is not visible to the routers outside the network being subnetted. Subnetting for IPv4 produces a set of subnetted address prefixes and their corresponding ranges of valid IPv4 addresses. By assigning subnetted address prefixes that contain an appropriate number of host IDs to the physical and logical subnets of an organization's IPv4 network, network administrators can use the available address space in the most efficient manner possible.

VLSM (Variable Length Subnet Mask)

A Variable Length Subnet Mask (VLSM) is a means of allocating IP addressing resources to subnets according to their individual need rather than some general network-wide rule. Of the IP routing protocols supported by Cisco, OSPF, Dual IS-IS, BGP-4, and EIGRP support "classless" or VLSM routes. Historically, EGP depended on the IP address class definitions, and actually exchanged network numbers (8, 16, or 24 bit fields) rather than IP addresses (32 bit numbers); RIP and IGRP exchanged network and subnet numbers in 32 bit fields, the distinction between network number, subnet number, and host number being a matter of convention and not exchanged in the routing protocols. More recent protocols (see VLSM) carry either a prefix length (number of contiguous bits in the address) or subnet mask with each address, indicating what portion of the 32 bit field is the address being routed on. A simple example of a network using variable length subnet masks is found in Cisco engineering. There are several switches in the engineering buildings, configured with FDDI and Ethernet interfaces and numbered in order to support 62 hosts on each switched subnet; in actuality, perhaps 15-30 hosts (printers, workstations, disk servers) are physically attached to each. However, many engineers also have ISDN or Frame Relay links to home, and a small subnet there. These home offices typically have a router or two and an X terminal or workstation; they may have a PC or Macintosh as well. As such, they are usually configured to support 6 hosts, and a few are configured for 14. The point to point links are generally unnumbered.

CIDR (Classless Inter-domain Routing)

Classless inter-domain routing is used to decrease the number of routing table entries when superneting is used. Around 1993, Classless Inter-Domain Routing was introduced. CIDR is used to implement supernetting. Supernetting allows route aggregation. CIDR introduced prefix notation which is also known as CIDR notation. Prefix/CIDR notation is now used in the three cases of classless IP addressing: subnetting, VLSM/subnets of different sizes, CIDR/supernetting.

The original system of IP address classes was replaced with CIDR), and the class-based scheme was dubbed classful, by contrast. CIDR's primary advantage is to allow repartitioning of any address space so that smaller or larger blocks of addresses may be allocated to users. CIDR gives internet a sense of hierarchy, it is divided into international and national ISPs which are further divided into regional ISPs, Regional ISPs are divided into local ISPs which are further divided in blocks. The hierarchical structure created by CIDR and overseen by the Internet Assigned Numbers Authority (IANA) and its Regional Internet Registries (RIRs), manages the assignment of Internet addresses worldwide. Each RIR maintains a publicly-searchable WHOIS database that provides information about IP address assignments; information from these databases plays a central role in numerous tools that attempt to locate IP addresses geographically. The hierarchal routing is further divided by geographical routing. In geographical routing entire address is divided into few blocks. For example one block for America, one for Europe, one for Middle East and one for Asia.

Limitations of IPV4

Since the 1980s it has been apparent that the number of available IPv4 addresses is being exhausted at a rate that was not initially anticipated in the design of the network. This was the driving factor for the introduction of classful networks, for the creation of CIDR addressing. But despite these measures the IPV4 addresses are being consumed at an alarming rate and it is estimated that 2010 would be the last year for IPV4, some sources say they may last until 2012. Primary reason for IPV4 exhaustion is huge growth in number of internet users, mobile devices using Internet connection and always on devices such as ADSL modems and cable modems. This brings us to the development and adoption of IPV6 as an alternate solution.

Internet Protocol Version 6 (IPV6)

IPv6 stands for Internet Protocol version 6 also known as Ipng (IP next generation) is the second version of the Internet Protocol to be used generally across the virtual world. The first version was IPv4. IPng was designed to take an evolutionary step from IPv4. It was not a design goal to take a radical step away from IPv4. Functions which work in IPv4 were kept in IPng. Functions which didn't work were removed. The changes from IPv4 to IPng fall primarily into the following categories:


With such a huge address space, ISPs will have sufficient IP addresses to allocate enough addresses to every customer so that every IP device has a truly unique address - whether it's behind a firewall or not. NAT (network address translation) has become a very common technique to deal with the shortage of IP addresses. Unfortunately, NAT doesn't work very well for many Internet applications, ranging from old dependable, such as NFS and DNS, to newer applications such as group conferencing. NAT has also been an impediment for business-to-business direct network connections, requiring baroque and elaborate address translators to make everything work reliably, scaling poorly, and offering a highly vulnerable single point of failure.

One of the goals of IPv6's address space expansion is to make NAT unnecessary, improving total connectivity, reliability, and flexibility. IPv6 will re-establish transparency and end-to-end traffic across the Internet. The new IPv6 addresses are large and cumbersome to deal with, so IPv6 reduces the number of people who have to read and write them. A second major goal of IPv6 is to reduce the total time which people have to spend configuring and managing systems. An IPv6 system can participate in "stateless" auto configuration, where it creates a guaranteed-unique IP address by combining its LAN MAC address with a prefix provided by the network router - DHCP is not needed.

Of course, DHCP is still useful for other parameters, such as DNS servers, and is supported as DHCPv6 where needed. IPv6 also offers a middle ground between the two extremes with protocols such as SLP ("Service Location Protocol"), which may make the lives of network managers easier. High-bandwidth multimedia and fault tolerance applications are the focus of the fourth major goal of IPv6. Multimedia applications can take advantage of multicast: the transmission of a single datagram to multiple receivers. Although IPv4 has some multicast capabilities, these are optional and not every router and host supports them. With IPv6, multicast is a requirement. IPv6 also defines a new kind of service, called "anycast." Like multicast, anycast has groups of nodes which send and receive packets. But when a packet is sent to an anycast group in IPv6, it is only delivered to one of the members of the group. This new capability is especially appropriate in a fault-tolerant environment: web servers and DNS servers could all benefit from IPv6's anycast technology.

Another aspect of VPNs built into IPv6 is QoS (Quality of Service). IPv6 supports the same QoS features as IPv4, including the DiffServ indication, as well as a new 20-bit traffic flow field. Although the use of this part of IPv6 is not defined, it is provided as a solid base to build QoS protocols. The fifth major goal of IPv6 is VPNs, virtual private networks. The new IPSec security protocols, ESP (encapsulating security protocol) and AH (authentication header) are add-ons to IPv4. IPv6 builds-in and requires these protocols, which will mean that secure networks will be easier to build and deploy in an IPv6 world.

Giving it in a nutshell

Source and destination addresses are 32 bits (4 bytes) in length. Source and destination addresses are 128 bits (16 bytes) in length.
IPSec support is optional. IPSec support is required.
IPv4 header does not identify packet flow for QoS handling by routers. IPv6 header contains Flow Label field, which identifies packet flow for QoS handling by router.
Both routers and the sending host fragment packets. Only the sending host fragments packets; routers do not.
Header includes a checksum. Header does not include a checksum.
Header includes options. All optional data is moved to IPv6 extension headers.
Address Resolution Protocol (ARP) uses broadcast ARP Request frames to resolve an IP address to a link-layer address. Multicast Neighbor Solicitation messages resolve IP addresses to link-layer addresses.
Internet Group Management Protocol (IGMP) manages membership in local subnet groups. Multicast Listener Discovery (MLD) messages manage membership in local subnet groups.
ICMP Router Discovery is used to determine the IPv4 address of the best default gateway, and it is optional. ICMPv6 Router Solicitation and Router Advertisement messages are used to determine the IP address of the best default gateway, and they are required.
Broadcast addresses are used to send traffic to all nodes on a subnet. IPv6 uses a link-local scope all-nodes multicast address.
Must be configured either manually or through DHCP. Does not require manual configuration or DHCP.
Uses host address (A) resource records in Domain Name System (DNS) to map host names to IPv4 addresses. Uses host address (AAAA) resource records in DNS to map host names to IPv6 addresses.
Uses pointer (PTR) resource records in the IN-ADDR.ARPA DNS domain to map IPv4 addresses to host names. Uses pointer (PTR) resource records in the IP6.ARPA DNS domain to map IPv6 addresses to host names.
Must support a 576-byte packet size (possibly fragmented). Must support a 1280-byte packet size (without fragmentation).

Download HTTP Debugger

Copyright Notice: No part of this article may be reproduced, translated, stored in a retrieval system, or transmitted in any form or by any means without prior written permission from the HTTPDebugger.com

Read more articles    |    Send your feedback about this article