The numerical version of the IP address is usually represented by a name or series of names called the domain name—for instance, www.someplace.com or ftp. filearchive.edu, which is mapped into a static IP address using the Domain Name System (DNS). The DNS is a hierarchical database used for translating the domain name to an IP address. When your computer needs to translate a domain name into a numerical IP address, it asks a domain name server to provide this information.
The original Internet Protocol defines IP addresses in five major classes of address structure, Classes A through E. This has been named classful routing (probably in hindsight considering some of the improvements made to IP addressing that we will get to in a minute). Each of these classes allocates one portion of the 32-bit Internet address format to a network address and the remaining portion to the specific host machines within the network specified by the address. Class E is reserved for experi- mental use. Class D addresses are used for multicasting. Multicasting is data transmission between a single sender and multiple receivers on a network.
Class A networks use the 8 leftmost bits (the leftmost of the dotted quads) to desig- nate the network number. The leftmost bit of these 8 bits is always 0, so Class A IP addresses range from 0.x.x.x to 127.x.x.x, except that address 0.x.x.x and 127.x.x.x are reserved for special use so this means there are 126 possible Class A networks. The rest of the dotted quads refer to the specific hosts or nodes on a large network. Since there are 24 bits in the remaining address, this means there can be 224 possible hosts in each class A network, except that the all 0’s case is reserved and means “this network” and the all 1’s case is used for broadcasting, which leaves 16,777,214 possible hosts. So, a portion of the IP address represents the network number or address and a portion represents the local machine address. Class B networks use the 16 leftmost bits (the leftmost two dotted quads) to designate the network number.
The leftmost two of these 16 bits are always 10 so Class B addresses range from 128.0.x.x to 191.255.x.x, which means there are 16,384 pos- sible Class B networks. The remaining two dotted quads (16 bits) refer to specific hosts or nodes on these networks. These 16 bits means there are 216 possible hosts in each Class B network, except that the all 0’s case is reserved and means “this net- work” and the all 1’s case is used for broadcasting, which leaves 65,534 possible hosts. Using the above example, here’s how the IP address is divided:
Class C networks use the 24 leftmost bits (the leftmost three dotted quads) to desig- nate the network number. The leftmost three of these 24 bits are always 110 so Class C addresses range from 192.0.0.x to 223.255.255.x, which means there are 2,097,152 possible Class C networks. The remaining 8 bits (the right most dotted quad) refers to the specific hosts or nodes on each of these networks. These 8 bits means that there are 28 possible hosts in each class C network or 254 possible hosts (256 minus the all 0’s and all 1’s case as in the Class A and B networks). In the class C network the addresses from 192.168.0.0 to 192.168.255.0 are reserved for networks not directly connected to the Internet. If you are really curious, you can look up the addresses in the different classes and see who they are assigned to on the “IP Network Index”1 web page. Not considering all of the reserved addresses in class A, B and C, there are 223 or 4,294,967,296 possible IP addresses. While this might seem like a lot of addresses, many were not being used by the Class A address owners and with the rapid growth of broadband users and dedicated network devices, it turns out this is not enough addresses to support the future growth of the Internet. To overcome this limited address space, a number of fixes have been devised, such as Subnetworking and Classless Inter-Domain Routing.
A subnetwork is a logically separate portion of a larger network. It is a way of taking a single network address and splitting it so that a single network address can be used on several local networks. While not 100% technically accurate, it is kind of like splitting a class A or B network into smaller networks (or subnetworks). If you wanted to a add subnet to the sample address above, then some portion of the host address could be used for a subnet address. A company with a Class B address who needed more than 254 host machines, but far fewer than the 65,533 host addresses possible, would essentially be “wasting” most of the block of addresses allocated. That company could use several subnets and the remaining could be allocated to another company. A class A network address could be subnetted by allocating the second and maybe even the third dotted quad for a subnet address. A class B network address could be subnetted by allocating the third dotted quad for the subnet address as shown in this example:
To determine which part of the IP address was the host address and which was the subnet address, the IP address was paired with a subnet mask. This mask was used to separate the extended-network prefix (the network address and the subnet address) from the host address (logically ANDing the address and the subnet mask returns just the extended network prefix). With this technique, each of the quads of the subnet mask was either all binary 1’s or all 0’s (255 or 0).
Classless Inter-Domain Routing (CIDR) was developed to effectively solve some of the problems with classful routing and some of the limitations of subnetting and extended network prefix by providing a new and more flexible way to specify net- work addresses in routers.
CIDR uses a variable-length subnet mask that does not necessarily have to be divided on any of the whole byte boundaries of the dotted quads. CIDR essentially eliminates classful routing (class A, B, D networks) by allowing the subnet mask to be any size. With CIDR a network address might look like this:
This could also be specified by simply saying how many bits were 1’s. In the ex- ample above, this is 21. So a CIDR address is also shown like this.
The “220.127.116.11” is the network address and the “21” means that the first 21 bits are the network part of the address, leaving the last 11 bits for the host addresses. There are also a number of other benefits of CIDR supporting route aggregation, which greatly simplifies network router routing tables.