[Home]IP address

HomePage | Recent Changes | Preferences

The Internet protocol (IP) knows each host by a number, the so called IP address. On any given network, this number must be unique among all the hosts that communicate through this network.

Internet addresses are needed not only for unique enumeration of hosts, but also for routing purposes, therefore a high fraction of them is always unused. As there are only a limited number of IP addresses currently available to be allocated, with rising demand for new devices, including personal communicators for up to 6 billion people world-wide, there is a real prospect of the world running out of IP addresses.

A number of measures have been taken to conserve the existing IPv4 address space (such as CIDR and the use of NAT and DHCP), but there is a general consensus that the Internet is going to have to upgrade its addressing scheme to the longer IPv6 addressing scheme sometime in the next 5 to 15 years.

IP version 4

In IPv4, the current standard protocol for the Internet, IP addresses consist of 32 bits, which makes for over 4,000,000,000 (4 US billion) unique hosts in theory. In practice the address space is sparsely populated due to routing issues, so that there is some pressure to extend the address range via IP version 6 (see below).

IPv4 addresses are commonly expressed as a dotted quad, four 8 bit quantities seperated by periods. The host known as www.wikipedia.com currently has the number 1078906118, written as 64.78.205.6. (Resolving the name "www.wikipedia.com" to its associated number is handled by DNS.)

A range of IP addresses (also called a netblock) can be specified in various ways. An older method uses a network number (a dotted quad, e.g. 64.78.205.0) together with a netmask (another dotted quad, for example 255.255.255.240). Here the netblock is comprised of all the addresses, that, when binary ANDed with the netmask, result in the network number; 64.78.205.0 through 64.78.205.15 in our example.

The shorter prefix form again gives the network number, followed by a slash, and the number of 'one' bits in the binary notation of the netmask (i.e. the number of relevant bits in the network number). The above netblock would be 64.78.205.0/28.

The actual assignment of an address is not arbitrary. An organization, typically an Internet service provider, requests an assignment of a netblock from a registry such as ARIN (American Registry for Internet Numbers). The network number comprises a range of addresses which the organization is free to allocate as they wish. An organization that has exhausted a significant part of its allocated address space, can request another netblock.

For example, ARIN has allocated the addresses 64.78.200.0 through 64.78.207.255 to Verado, Inc. In turn, Verado has allocated the addresses 64.78.205.0 through 64.78.205.15 to Bomis. Bomis, in turn, has assigned the specific address 64.78.205.6 to the host that is www.wikipedia.com.

IP version 6

In IPv6, the new (but not yet widely deployed) standard protocol for the Internet, addresses are 128 bits wide, which, even with generous assignment of netblocks, should suffice for the foreseeable future. This big address space will be sparsely populated, which makes it possible to again encode more routing information into the addresses themselves. A version 6 address is written as eight hexadecimal 16-bit numbers seperated by colons. One string of zeros per address may be left out, so that 1080::800:0:417A is the same as 1080:0:0:0:0:800:0:417A

Netblocks are specified as in the modern alternative for IPv4: network number, followed by a slash, and the number of relevant bits of the network number (in decimal). Example: 12AB::CD30:0:0:0:0/60 includes all addresses starting with 12AB00000000CD3.

IPv6 has many other improvements over IPv4 than just bigger address space.

Further reading: [RFC 791]?, [RFC 1519]? (IPv4 addresses), [RFC 2373]? (IPv6 addresses)

See also:


HomePage | Recent Changes | Preferences
This page is read-only | View other revisions
Last edited December 19, 2001 6:29 pm by Robbe (diff)
Search: