As mentioned in the previous chapter, the addresses understood by the IP-networking protocol are 32-bit numbers. Every machine must be assigned a number unique to the networking environment. If you are running a local network that does not have TCP/IP traffic with other networks, you may assign these numbers according to your personal preferences. However, for sites on the Internet, numbers are assigned by a central authority, the Network Information Center, or NIC.
For easier reading, IP addresses are split up into four 8-bit numbers called octets. For example, quark.physics.groucho.edu has an IP-address of 0x954C0C04, which is written as 188.8.131.52. This format is often referred to as the dotted quad notation.
Another reason for this notation is that IP-addresses are split into a network number, which is contained in the leading octets, and a host number, which is the remainder. When applying to the NIC for IP-addresses, you are not assigned an address for each single host you plan to use. Instead, you are given a network number, and are allowed to assign all valid IP-addresses within this range to hosts on your network according to your preferences.
Depending on the size of the network, the host part may need to be smaller or larger. To accommodate different needs, there are several classes of networks, defining different splits of IP-addresses.
Class A Class A comprises networks 184.108.40.206 through 127.0.0.0. The network number is contained in the first octet. This provides for a 24 bit host part, allowing roughly 1.6 million hosts. Class B Class B contains networks 220.127.116.11 through 18.104.22.168; the network number is in the first two octets. This allows for 16320 nets with 65024 hosts each. Class C Class C networks range from 192.0.0.0 through 22.214.171.124, with the network number being contained in the first three octets. This allows for nearly 2 million networks with up to 254 hosts. Classes D, E, and F Addresses falling into the range of 126.96.36.199 through 254.0.0.0 are either experimental, or are reserved for future use and don't specify any network.If we go back to the example in the previous chapter, we find that 188.8.131.52, the address of quark, refers to host 12.4 on the class-B network 184.108.40.206.
You may have noticed that in the above list not all possible values were allowed for each octet in the host part. This is because host numbers with octets all 0 or all 255 are reserved for special purposes. An address where all host part bits are zero refers to the network, and one where all bits of the host part are 1 is called a broadcast address. This refers to all hosts on the specified network simultaneously. Thus, 220.127.116.11 is not a valid host address, but refers to all hosts on network 18.104.22.168.
There are also two network addresses that are reserved, 0.0.0.0 and 127.0.0.0. The first is called the default route, the latter the loopback address. The default route has something to do with the way IP routes datagrams, which will be dealt with below.
Network 127.0.0.0 is reserved for IP traffic local to your host. Usually, address 127.0.0.1 will be assigned to a special interface on your host, the so-called loopback interface, which acts like a closed circuit. Any IP packet handed to it from TCP or UDP will be returned to them as if it had just arrived from some network. This allows you to develop and test networking software without ever using a ``real'' network. Another useful application is when you want to use networking software on a standalone host. This may not be as uncommon as it sounds; for instance, many UUCP sites don't have IP connectivity at all, but still want to run the INN news system nevertheless. For proper operation on , INN requires the loopback interface.
Thu Mar 7 23:22:06 EST 1996