The Internet Protocol (IP) has two versions currently in use (see IP version history for details). Each version has its own definition of an IP address. Because of its prevalence, the generic term IP address typically still refers to the addresses defined by IPv4. An illustration of an IP address (version 4), in both dot-decimal notation and binary. IP version 4 addresses Main article: IPv4#Addressing IPv4 uses 32-bit (4-byte) addresses, which limits the address space to 4,294,967,296 (232) possible unique addresses. However, IPv4 reserves some addresses for special purposes such as private networks (~18 million addresses) or multicast addresses (~270 million addresses). This reduces the number of addresses that can be allocated as public Internet addresses, and as the number of addresses available is consumed, an IPv4 address shortage appears to be inevitable in the long run. This limitation has helped stimulate the push towards IPv6, which is currently in the early stages of deployment and is currently the only offering to replace IPv4. IPv4 addresses are usually represented in dot-decimal notation (four numbers, each ranging from 0 to 255, separated by dots, e.g. 208.77.188.166). Each part represents 8 bits of the address, and is therefore called an octet. In less common cases of technical writing, IPv4 addresses may be presented in hexadecimal, octal, or binary representations. When converting, each octet is usually treated as a separate number. IPv4 networks Down Up In the early stages of development of the Internet protocol, network administrators interpreted an IP address as a structure of network number and host number. The highest order octet (most significant eight bits) were designating the network number, and the rest of the bits were called the rest field or host identifier and used for host numbering within a network. This method soon proved inadequate as local area networks developed that were not part of the larger networks already designated by a network number. In 1981, the Internet addressing specification was revised with the introduction of classful network architecture. Classful network design allowed for a larger number of individual assignments. The first three bits of the most significant octet of an IP address was defined as the "class" of the address, instead of just the network number and, depending on the class derived, the network designation was based on octet boundary segments of the entire address. The following table gives an overview of this system. Class First octet in binary Range of first octet Network ID Host ID Possible number of networks Possible number of hosts A 0XXXXXXX 0 - 127 a b.c.d 128 = (27) 16,777,214 = (224 - 2) B 10XXXXXX 128 - 191 a.b c.d 16,384 = (214) 65,534 = (216 - 2) C 110XXXXX 192 - 223 a.b.c d 2,097,152 = (221) 254 = (28 - 2) Down Up

The articles 'subnetwork' and 'classful network' explain the details of this design. Although classful network design was a successful developmental stage, it proved unscalable in the rapid expansion of the Internet and was abandoned in 1993 when Classless Inter-Domain Routing (CIDR) was introduced (RFC 1517, RFC 1518, RFC 1519) to define a new concept for the allocation of IP address blocks and new rules of routing protocol packets using IPv4 addresses. CIDR is based on variable-length subnet masking (VLSM) to allow allocation and routing on arbitrary-length prefixes. Today, remnants of classful network concepts function only in a limited scope as the default configuration parameters of some network software and hardware components (e.g. netmask), and in the technical jargon used in network administrators' discussions. IPv4 private addresses Main article: Private network Early network design, when global end-to-end connectivity was envisioned for all Internet hosts, intended that IP addresses be uniquely assigned to a particular computer or device. However, it was found that this was not always necessary as private networks developed and address space needed to be conserved (IPv4 address exhaustion). Computers not connected to the Internet, such as factory machines that communicate only with each other via TCP/IP, need not have globally-unique IP addresses. Three ranges of IPv4 addresses for private networks, one range for each class (A, B, C), were reserved in RFC 1918. These addresses are not routed on the Internet, and thus their use need not be coordinated with an IP address registry. Down Up

Today, such private networks typically connect to the Internet through Network Address Translation (NAT). IANA Reserved Private Network Ranges Start of range End of range Total addresses 24-bit Block (/8 prefix, 1 x A) 10.0.0.0 10.255.255.255 16,777,216 20-bit Block (/12 prefix, 16 x B) 172.16.0.0 172.31.255.255 1,048,576 16-bit Block (/16 prefix, 256 x C) 192.168.0.0 192.168.255.255 65,536 Any user may use any block. Typically, a network administrator will divide a block into subnets; for example, many home routers automatically use a default address range of 192.168.0.0 - 192.168.0.255 (192.168.0.0/24). IPv4 address depletionMain article: IPv4 address exhaustion The IP version 4 address space is rapidly nearing exhaustion of available, officially assignable address blocks. IP version 6 addresses Main article: IPv6#Addressing Up

An illustration of an IP address (version 6), in hexadecimal and binary.The rapid exhaustion of IPv4 address space, despite conservation techniques, prompted the Internet Engineering Task Force (IETF) to explore new technologies to expand the Internet's addressing capability. The permanent solution was deemed to be a redesign of the Internet Protocol itself. This next generation of the Internet Protocol, aimed to replace IPv4 on the Internet, was eventually named Internet Protocol Version 6 (IPv6)[3] The address size was increased from 32 to 128 bits (16 bytes), which, even with a generous assignment of network blocks, is deemed sufficient for the foreseeable future. Mathematically, the new address space provides the potential for a maximum of 2128, or about 3.403 × 1038 unique addresses. The new design is not based on the goal to provide a sufficient quantity of addresses alone, but rather to allow efficient aggregation of subnet routing prefixes to occur at routing nodes. As a result, routing table sizes are smaller, and the smallest possible individual allocation is a subnet for 264 hosts, which is the size of the square of the size of the entire IPv4 Internet. At these levels, actual address utilization rates will be small on any IPv6 network segment. The new design also provides the opportunity to separate the addressing infrastructure of a network segment--that is the local administration of the segment's available space--from the addressing prefix used to route external traffic for a network. IPv6 has facilities that automatically change the routing prefix of entire networks should the global connectivity or the routing policy change without requiring internal redesign or renumbering. The large number of IPv6 addresses allows large blocks to be assigned for specific purposes and, where appropriate, to be aggregated for efficient routing. With a large address space, there is not the need to have complex address conservation methods as used in classless inter-domain routing (CIDR). Windows Vista, Apple Computer's Mac OS X, all modern[update] Linux distributions, and an increasing range of other operating systems include native support for the protocol, but it is not yet widely deployed in other devices.