IP Addressing
The evolution of the Internet included identification of a number of IP address ranges that were either reserved for some unknown future use - or reserved for a specific use. IP addressing is extremely complex, especially when you delve into subnets. First off, here are a number of links to pages that should be poured over, in order to grasp the IP addressing assignments:
RFC1466 RFC1918 RFC3330 - IETF RFC Descriptions of the assignment of addresses
IANA Address Assignments (excellent - has links to all the address assignment pages)
IP v4 Address Assignments (Class A /8)
The 32-bit IP v4 Internet Address Space
There are a total of 232 = 4,294,967,296 possible addresses. Classful addressing, no longer used in the backbone but still referred to constantly, divided the total address space up into five Classes of addresses (Class A,B,C,D,E). The total number of unique addresses per Class depends on the number of bits used for the node (host) address.
Class A uses half of them (2,147,483,648 addresses)
Class B uses one-fourth (1,073,741,824 addresses)
Class C uses one-eighth (536,870,912)
Class D and Class E split the rest of the addresses (268,435,456 each)

The allocation of 4,294,967,296 Addresses
See Classful Addressing for the details. Class A addresses are called /8 addresses (prefix is 8, meaning the network portion of the address uses 8 bits), and are the largest chunks of the total address space. However, they wanted to make sure that there was plenty of space left over for the Class B, C, D, and E addresses. Therefore all Class A addresses are defined as having the leading bit = 0. All the addresses whose leading bit = 1 belong to the other four classes. So half of the 256 possible combinations of the first 8 bits begin with 0, and the other half begin with 1. This split the entire address space into two equal parts. Therefore Class A addresses are 50% of the total, and since the first bit is always 0 - their actual unique identifiers are 7 bits, not 8 !!!
Analogy - IP Addresses vs your Home Address
This is a perfect analogy to explain IP addressing and routing. IP addresses and routing are very similar to your home address and the Postal Service delivery. The Postal service has a backbone of large hubs, and can deliver a letter to your home based on the address. Similarly, the Internet has a large backbone of hub (huge routers) and delivers packets to your computer based on the address.
In the old days, the Internet used a flat hierarchy, where every router looked at the entire address and forwarded it to the next router. Today's Internet works like the Postal Service. The leftmost (Network) bits are the most significant, and are used to point to the area where the end station resides. The rightmost (Host) bits are the actual address of the end station.
NOTE: this example is drastically oversimplified. Typically the entire path involves anywhere from several, up to 12, or even 15 routers (hops).
Subnetting
Classful Addressing had serious limitations. The boundaries were too far apart to allow customization. For many customers, Class C networks were too small (254 hosts) and Class B too large. Furthermore, they needed to break their own networks into segments. Subnets were created to allow this.
Subnets are almost always based on Classful addressing !!! Many will take issue with this, because the Classless domain routing with it's IP adresses being shown in prefix notation, shows that a subnet boundary can appear anywhere in the 32 bits. This is true - however, the subnets are used to break up a classful address block (such as B or C block) into a number of smaller blocks.
Even when a customer buys a half of a Class C block of addresses from an ISP . . . the ISP owns the entire Class C address block, and they divided it into two. They are still using a classful address block to come up with the address space that they sold to the customer.
CIDR is not Subnetting - it is Supernetting !! Do not be confused by the new Internet CIDR (Classless Inter-Domain Routing). CIDR is only for the Internet backbone, and it is also referred to as “supernets” – not subnets.
Subnets are all local !!! The internet has no idea that subnets are included within the IP addresses, and it only delivers based on the Classful portion (the Network prefix), which is not part of the subnet bits, not is it part of the host bits.