TopTechnical DictionaryIP v4/v6 protocols

IP v4/v6 protocols

IP addresses have been developed at the very beginnings of the Internet. IPv4 (4th gen. IP address) has been in use since 1977. Due to a growing shortage of IPv4 addresses and a growing number of devices connected to the global network, a successor to IPv4, known as IPv6 has been developed. IPv5 was created for the experimental transmission of voice, video, and distributed simulation. The protocol has never been extensively used and its properties has been implemented in the 6th gen. IP address - IPv6.


The first IPv6 documentation has been disclosed in 1995. Between 1996 and 2006, 6BONE project has been implemented in the Internet infrastructure as an IPv6-based experimental network. The main purpose of the new protocol was to increase the number of available addresses by increasing the address length from 32 to 128 bits.


Change from IPv4 to IPv6 is unnoticeable for an average provided one condition is met - all network devices must be compatible with IPv6. In most cases, if the equipment is compatible with new addresses, it will switch automatically to the new protocol. The migration sometimes require a manual change in basic settings. A migration to the new protocol for devices incompatible with IPv6 addresses is much more complex and often requires costly software updates or hardware upgrades.


Table 1. Difference between IPv4 and IPv6 - basic concepts, IP functions and IP address use


Description IPv4 IPv6
Address Length: 32 bits long (4 bytes). Address is composed of a network and a host portion, which depend on address class. Various address classes are defined: A, B, C, D, or E depending on initial few bits. The total number of IPv4 addresses is 4,294,967,296. Length: 128 bits long (16 bytes). Basic architecture is 64 bits for the network number and 64 bits for the host number. Often, the host portion of an IPv6 address (or part of it) will be derived from a MAC address or other interface identifier. Depending on the subnet prefix, IPv6 has a more complicated architecture than IPv4.The number of IPv6 addresses is 1028 (79,228,162,514,264,337,593,543,950,336) times larger than the number of IPv4 addresses. The text form of the IPv6 address is: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx, where each x is a hexadecimal digit, representing 4 bits. Leading zeros can be omitted. The double colon (::) can be used once in the text form of an address to designate any number of 0 bits. For example, ::ffff: is an IPv4-mapped IPv6 address.
Address allocation Originally, addresses were allocated by network class. As address space is depleted, smaller allocations using Classless Inter-Domain Routing (CIDR) are made. Allocation has not been balanced among institutions and nations. Allocation is in the earliest stages. The Internet Engineering Task Force (IETF) and Internet Architecture Board (IAB) have recommended that essentially every organization, home, or entity be allocated a /48 subnet prefix length. This will leave 16 bits for the organization to do subnetting. The address space is large enough to give every person in the world their own /48 subnet prefix length.
Address lifetimes Generally, this is not an applicable concept for IPv4 addresses, except for addresses assigned using DHCP. IPv6 addresses have two lifetimes: preferred and valid, with the preferred lifetime always <= valid.
Address mask Used to designate network from host portion. Not used (see address prefix).
Address prefix Sometimes used to designate network from host portion.
Address Resolution Protocol (ARP) ARP (Address Resolution Protocol) is used by IPv4 to find a physical address, such as the MAC or link address, associated with an IPv4 address.. IPv6 embeds these functions within IP itself as part of the algorithms for stateless autoconfiguration and neighbour discovery using Internet Control Message Protocol version 6 (ICMPv6). Hence, there is no such thing as ARP6.
Address scope For unicast addresses, this concept does not apply. There are designated private address ranges and loopback. Outside of that, addresses are assumed to be global. In IPv6, address scope is part of the architecture. Unicast addresses have two defined scopes, including link-local and global; and multicast addresses have 14 scopes. Default address selection for both source and destination takes scope into account. A scope zone is an instance of a scope in a particular network. As a consequence, IPv6 addresses sometimes must be entered or associated with a zone ID.
Address types IPv4 addresses are categorized into three basic types: unicast address, multicast address, and broadcast address. IPv6 addresses are categorized into three basic types: unicast address, multicast address, and (anycast) address.
Communications trace Communications trace is a tool to collect a detailed trace of TCP/IP (and other) packets that enter and leave the system. Same support for IPv6.
Configuration You must configure a newly installed system before it can communicate with other systems; that is, IP addresses and routes must be assigned. Configuration is optional, depending on functions required. IPv6 can be used with any Ethernet adapter and can be run over the loopback interface. IPv6 interfaces are self-configuring using IPv6 stateless autoconfiguration. You can also manually configure the IPv6 interface. So, the system will be able to communicate with other IPv6 systems that are local and remote, depending on the type of network and whether an IPv6 router exists.
Domain Name System (DNS) Applications accept host names and then use DNS to get an IP address Same support for IPv6. Support for IPv6 exists using AAAA (quad A) record type and reverse lookup (IP-to-name). An application may elect to accept IPv6 addresses from DNS (or not) and then use IPv6 to communicate (or not).
Dynamic Host Configuration Protocol (DHCP) DHCP is used to dynamically obtain an IP address and other configuration information. Implementation of DHCP does not support IPv6. However, DHCP server implementation can be used.
File Transfer Protocol (FTP) FTP allows you to send and receive files across networks. Same support for IPv6.
Fragments When a packet is too big for the next link over which it is to travel, it can be fragmented by the sender (host or router). For IPv6, fragmentation can only occur at the source node, and reassembly is only done at the destination node. The fragmentation extension header is used.
Host table A configurable table that associates an Internet address with a host name. This table is used by the sockets name resolver, before a DNS lookup. Same support for IPv6.
Internet Control Message Protocol (ICMP) Used by IPv4 to communicate network information. Used similarly by IPv6; however, Internet Control Message Protocol version 6 (ICMPv6) provides some new attributes. New types and codes are added to support neighbor discovery and related functions.
Internet Group Management Protocol (IGMP) IGMP is used by IPv4 routers to find hosts that want traffic for a particular multicast group, and used by IPv4 hosts to inform IPv4 routers of existing multicast group listeners. IGMP is replaced by MLD (Multicast Listener Discovery) protocol for IPv6. MLD does essentially what IGMP does for IPv4, but uses ICMPv6 by adding a few MLD-specific ICMPv6 type values.
IP header Variable length of 20-60 bytes, depending on IP options present. Variable length of 40 bytes. There are no IP header options. Generally, the IPv6 header is simpler than the IPv4 header.
IP header options Various options might accompany an IP header (before any transport header). The IPv6 header has no options. Instead, IPv6 adds additional (optional) extension headers. The extension headers are AH and ESP (unchanged from IPv4), hop-by-hop, routing, fragment and destination. Currently, IPv6 supports some extension headers.
IP header protocol byte The protocol code of the transport layer or packet payload (for example, ICMP). The type of header immediately following the IPv6 header. Uses the same values as the IPv4 protocol field. But the architectural effect is to allow a currently defined range of next headers, and is easily extended. The next header will be a transport header, an extension header, or ICMPv6.
IP header (Type of Service) byte Used by QoS and differentiated services to designate a traffic class. Uses different codes to designate an IPv6 traffic class. Currently, IPv6 does not support TOS.
LAN connection LAN connection is used by an IP interface to get to the physical network. Many types exist; for example, Token Ring and Ethernet. Sometimes it is referred to as the physical interface, link, or line. IPv6 can be used with any Ethernet adapters and is also supported over virtual Ethernet between logical partitions.
(Layer Two Tunnel Protocol) (L2TP) L2TP can be thought of as virtual PPP, and works over any supported line type. Same support for IPv6.
Maximum transmission unit (MTU) Maximum transmission unit of a link is the maximum number of bytes that a particular link type, such as Ethernet or modem, supports. For IPv4, 576 is the typical minimum. IPv6 has a lower boundary limit on MTU of 1280 bytes. That is, IPv6 does not fragment packets below this limit. To send IPv6 over a link with an MTU of less than 1280 bytes, the link-layer must transparently fragment and defragment the IPv6 packets.
Netstat Netstat is a tool to look at the status of TCP/IP connections, interfaces, or routes. Same support for IPv6.
Network address translation (NAT) Configurable basic firewall functions integrated into TCP/IP. Currently, NAT does not support IPv6. More generally, IPv6 does not require NAT. The expanded address space of IPv6 eliminates the address shortage problem and enables easier renumbering.
Node info query Does not exist. A simple and convenient network tool that should work like ping, except with content: an IPv6 node may query another IPv6 node for the target's DNS name, IPv6 unicast address, or IPv4 address.
Open Shortest Path First (OSPF) OSPF is a router protocol used within larger autonomous system networks in preference to RIP. Same support for IPv6.
Packet filtering Packet filtering is the basic firewall functions integrated into TCP/IP. Packet filtering does not support IPv6.
PING PING is a basic TCP/IP tool to test reachability. Same support for IPv6.
Point-to-Point Protocol (PPP) PPP supports dialup interfaces over various modem and line types. Same support for IPv6.
Ports TCP and UDP have separate port spaces, each identified by port numbers in the range 1-65535. For IPv6, ports work the same as IPv4. Because these are in a new address family, there are now four separate port spaces. For example, there are two TCP port 80 spaces to which an application can bind.
Private and public addresses All IPv4 addresses are public, except for three address ranges that have been designated as private by IETF RFC 1918: 10.*.*.* (10/8), do (172.16/12) and 192.168.*.* (192.168/16). Private address domains are commonly used within organizations. Private addresses cannot be routed across the Internet. IPv6 has an analogous concept, but with important differences.
Addresses are public or temporary, previously termed anonymous. See RFC 3041. Unlike IPv4 private addresses, temporary addresses can be globally routed. The motivation is also different; IPv6 temporary addresses are meant to shield the identity of a client when it initiates communication (a privacy concern). Temporary addresses have a limited lifetime, and do not contain an interface identifier that is a link (MAC) address They are generally indistinguishable from public addresses.
IPv6 has the notion of limited address scope using its designed scope designations.
Simple Network Management Protocol (SNMP) SNMP is a protocol for system management. Same support for IPv6.
Sockets API These APIs are the way applications use TCP/IP. Applications that do not need IPv6 are not affected by sockets changes to support IPv6. IPv6 enhances sockets so that applications can now use IPv6, using a new address family. The enhancements have been designed so that existing IPv4 applications are completely unaffected by IPv6 and API changes. Applications that want to support concurrent IPv4 and IPv6 traffic, or IPv6-only traffic, are easily accommodated using IPv4-mapped IPv6 addresses.
Telnet Telnet allows you to log on and use a remote computer as though you were connected to it directly. Same support for IPv6.
Trace route Trace route is a basic TCP/IP tool to do path determination. Same support for IPv6.
Transport layers TCP, UDP, RAW. The same transports exist in IPv6.
(unspecified) address Not defined. It is used as the source IP in some neighbor discovery packets, and various other contexts, like sockets.
Virtual Private Network (VPN) Virtual private network (using IPsec) allows you to extend a secure, private network over an existing public network. Same support for IPv6.