This and the following pages have been written to aid a good basic understanding of IP networks, routing, and in particular the operation of Ethernet networks, Subnets and Address Resolution Protocol (ARP). This section provides a brief overview of the basic principles, and covers the way in which these apply to generally.
This definition is based on Internet Protocol Version 4. See Internet Protocol Version 6 (IPv6) for a description of the newer 128-bit IP address. Note that the system of IP address classes described here, while forming the basis for IP address assignment, is generally bypassed today by use of Classless Inter-Domain Routing (CIDR) addressing.
In the most widely installed level of the Internet Protocol (IP) today, an IP address is a 32-bit number that identifies each sender or receiver of information that is sent in packets across the Internet
An IP address has two parts: the identifier of a particular network on the Internet and an identifier of the particular device (which can be a server or a workstation) within that network. The former is referred to as the network part of the address, and the latter as the host part of the address. On the Internet itself - that is, between the router that move packets from one point to another along the route - only the network part of the address is looked at.
An IP address is normally shown in dotted quad notation, e.g. 192.168.42.1, but is in fact simply a 32-bit number. Dotted quad notation simply shows each of the bytes in the 32 bit (4 byte) address in decimal separated by a dot, so each part is 0 to 255. Normally, all devices connected using an IP network have an IP address, and a device with multiple interfaces will normally have one for each interface. As such do not consider the address to necessarily be the address of a computer, but the address of its ethernet interface or Network Interface Card (NIC).
By way of example, and remembering 2^8 = 256 - 2 = 254, where subnet 0 and subnet 255 are the invalid subnet addresss (the minus 2 part), then a typcial configuration has the following keys parts:
For a more detailed introduction to IP networking, see TCP/IP Illustrated, Volume 1, ISBN 0201633469.
The tutorial Basic IP addressing provides a useful introduction.
The Internet is really the interconnection of many individual networks (it's sometimes referred to as an internetwork). So the Internet Protocol (IP) is basically the set of rules for one network communicating with any other (or occasionally, for broadcast messages, all other networks). Each network must know its own address on the Internet and that of any other networks with which it communicates. To be part of the Internet, an organization needs an Internet network number, which it can request from the Network Information Center (NIC). This unique network number is included in any packet sent out of the network onto the Internet.
In addition to the network address or number, information is needed about which specific machine or host in a network is sending or receiving a message. So in addition to the the unique network address or number the IP address needs a host address or number which is unique within the network. The host number is sometimes also called the local or machine address.
Part of the local address can identify a subnetwork or subnet address, which makes it easier for a network that is divided into several physical subnetworks (for examples, several different local area networks or LANs) to handle many devices.
In addition to the network address or number, information is needed about which specific machine or host in a network is sending or receiving a message. So the IP address needs both the unique network number and a host number (which is unique within the network). (The host number is sometimes called a local or machine address.)
Part of the local address can identify a subnetwork or subnet address, which makes it easier for a network that is divided into several physical subnetworks (for examples, several different Local Area Networks or LANs) to handle many devices.
The machine or physical address used within an organization's LANs may be different than the Internet's IP address. The most typical example is the 48-bit Ethernet address. TCP/IP includes a facility called the Address Resolution Protocol (ARP) that lets the administrator create a table that maps IP addresses to physical addresses. The table is known as the ARP cache.
The discussion above assumes that IP addresses are assigned on a static basis. In fact, many IP addresses are assigned dynamically from a pool. See Static IP addresses/dynamic IP addresses. Many corporate networks and online services economize on the number of IP addresses they use by sharing a pool of IP addresses among a large number of users. For example, your IP address will vary from one logon session to the next because the ISP is assigning it to you from a pool that is much smaller than the ISP's base of subscribers.
This dynamic allocation of IP addresses is handled by Dynamic Host Configuration Protocol (DHCP).
Dynamic Host Configuration Protocol (DHCP) is a communications protocol that lets network administrators manage centrally and automate the assignment of Internet Protocol (IP) addresses in an organization's network. Using the IP, each machine that can connect to the Internet needs a unique IP address. When an organization sets up its computer users with a connection to the Internet, an IP address must be assigned to each machine. Without DHCP, the IP address must be entered manually at each computer and, if computers move to another location in another part of the network, a new IP address must be entered. DHCP lets a network administrator supervise and distribute IP addresses from a central point and automatically sends a new IP address when a computer is plugged into a different place in the network.
DHCP uses the concept of a "lease" or amount of time that a given IP address will be valid for a computer. The lease time can vary depending on how long a user is likely to require the Internet connection at a particular location. It's especially useful in education and other environments where users change frequently. Using very short leases, DHCP can dynamically reconfigure networks in which there are more computers than there are available IP addresses.
DHCP supports static addresses for computers containing Web servers that need a permanent (static) IP address.
DHCP is an extension of an earlier network IP management protocol, Bootstrap Protocol (BOOTP). DHCP is a more advanced protocol, but both configuration management protocols are commonly used and DHCP can handle BOOTP client requests.
See DHCP explained for an excellent overview.
Bootstrap Protocol (BOOTP) is a protocol that lets a network user be automatically configured (receive an IP address) and have an operating system booted (initiated) without user involvement. The BOOTP server, managed by a network administrator, automatically assigns the IP address from a pool of addresses for a certain duration of time.
BOOTP is the basis for a more advanced network manager protocol, the Dynamic Host Configuration Protocol (DHCP).
The following is an extract from http://www.auridian.com/
According to the American Registry for Internet Numbers (ARIN, http://www.arin.net/index.shtml) the pool of available IP addresses (4.3 billion addresses in fact) will soon run dry. The current addressing system known as IPv4 is currently 81% depleted and current trends suggest that this may be an issue as soon as 2010. The new IPv6 specification offers 340,282,366,920,938,463,463,374,607,431,768,211,456 addresses, which if my memory serves me well is 2 to the power of 128 minus 1. This will enable every grain of sand on the earth to have a million IP addresses and then some. That should cover it unless we get to a point where molecules get their own IP address, which doesn’t bear thinking about.
However, they have been saying this for years, and it's not quite the "end-of-the-world" as we know it! For example, *nix OSes and *BSD (via http://www.kame.net/) do have support for IPv6 in the current versions, Windows Vista has IPv6 stacks built in, and even Windows XP has some provision. It also does not take into account the fact that companies are hogging IP addresses, and that we've lost 2 Class A networks (127.x.x.x and 10.x.x.x) for private testing - these could be freed up for IPv4 usage (admittedly it would require a bit of work). Finally, we could also use NAT more effectively to free up more IP addresses.