Information About IP Addresses
Binary Numbering
IP addresses are 32 bits long. The 32 bits are divided into four octets (8-bits). A basic understanding of binary numbering is very helpful if you are going to manage IP addresses in a network because changes in the values of the 32 bits indicate either a different IP network address or IP host address.
A value in binary is represented by the number (0 or 1) in each position multiplied by the number 2 to the power of the position of the number in sequence, starting with 0 and increasing to 7, working right to left. The figure below is an example of an 8-digit binary number.
The figure below provides binary to decimal number conversion for 0 through 134.
The figure below provides binary to decimal number conversion for 135 through 255.
IP Address Structure
An IP host address identifies a device to which IP packets can be sent. An IP network address identifies a specific network segment to which one or more hosts can be connected. The following are characteristics of IP addresses:
-
IP addresses are 32 bits long
-
IP addresses are divided into four sections of one byte (octet) each
-
IP addresses are typically written in a format known as dotted decimal
The table below shows some examples of IP addresses.
IP Addresses in Dotted Decimal |
IP Addresses in Binary |
---|---|
10.34.216.75 |
00001010.00100010.11011000.01001011 |
172.16.89.34 |
10101100.00010000.01011001.00100010 |
192.168.100.4 |
11000000.10101000.01100100.00000100 |
Note |
The IP addresses in the table above are from RFC 1918, Address Allocation for Private Internets . These IP addresses are not routable on the Internet. They are intended for use in private networks. For more information on RFC1918, see http://www.ietf.org/rfc/rfc1918.txt . |
IP addresses are further subdivided into two sections known as network and host. The division is accomplished by arbitrarily ranges of IP addresses to classes. For more information see RFC 791 Internet Protocol at http://www.ietf.org/rfc/rfc0791.txt .
IP Address Classes
In order to provide some structure to the way IP addresses are assigned, IP addresses are grouped into classes. Each class has a range of IP addresses. The range of IP addresses in each class is determined by the number of bits allocated to the network section of the 32-bit IP address. The number of bits allocated to the network section is represented by a mask written in dotted decimal or with the abbreviation /n where n = the numbers of bits in the mask.
The table below lists ranges of IP addresses by class and the masks associated with each class. The digits in bold indicate the network section of the IP address for each class. The remaining digits are available for host IP addresses. For example, IP address 10.90.45.1 with a mask of 255.0.0.0 is broken down into a network IP address of 10.0.0.0 and a host IP address of 0.90.45.1.
Class |
Range |
---|---|
A (range/mask in dotted decimal) |
0 .0.0.0 to 127.0.0.0/8 (255.0.0.0) |
A (range in binary) |
00000000 .00000000.00000000.00000000 to01111111 .00000000.00000000.00000000 |
A (mask in binary) |
11111111.00000000.00000000.00000000/8 |
B (range/mask in dotted decimal) |
128 .0.0.0 to 191 .255 .0.0/16 (255.255.0.0) |
B (range in binary) |
10000000 .00000000 .00000000.00000000 to10111111 .11111111 .00000000.00000000 |
B (mask in binary) |
11111111 .11111111 .00000000.00000000/16 |
C (range/mask in dotted decimal) |
192 .0 .0 .0 to 223 .255 .255 .0/24 (255.255.255.0) |
C (range in binary) |
11000000 .00000000 .00000000 .00000000 to11011111 .11111111 .11111111 .00000000 |
C (mask in binary) |
11111111.11111111.11111111.0000000/24 |
D1 (range/mask in dotted decimal) |
224 .0 .0 .0 to 239 .255 .255 .255 /32 (255.255.255.255) |
D (range in binary) |
11100000 .00000000 .00000000 .00000000 to11101111 .11111111 .11111111 .11111111 |
D (mask in binary) |
11111111.11111111.11111111.11111111/32 |
E2 (range/mask in dotted decimal) |
240 .0 .0 .0 to 255 .255 .255 .255 /32 (255.255.255.255) |
E (range in binary) |
11110000 .00000000 .00000000 .00000000 to11111111 .11111111 .11111111 .11111111 |
E (mask in binary) |
11111111.11111111.11111111.11111111/32 |
Note |
Some IP addresses in these ranges are reserved for special uses. For more information refer to RFC 3330, Special-Use IP Addresses , at http://www.ietf.org/rfc/rfc3330.txt . |
When a digit that falls within the network mask changes from 1 to 0 or 0 to 1 the network address is changed. For example, if you change 10101100.00010000.01011001.00100010/16 to 10101100.00110000.01011001.00100010/16 you have changed the network address from 172.16.89.34/16 to 172.48.89.34/16.
When a digit that falls outside the network mask changes from 1 to 0 or 0 to 1 the host address is changed. For example, if you change 10101100.00010000.01011001.00100010/16 to 10101100.00010000.01011001.00100011/16 you have changed the host address from 172.16.89.34/16 to 172.16.89.35/16.
Each class of IP address supports a specific range of IP network addresses and IP host addresses. The range of IP network addresses available for each class is determined with the formula 2 to the power of the number of available bits. In the case of class A addresses, the value of the first bit in the 1st octet (as shown in the table above) is fixed at 0. This leaves 7 bits for creating additional network addresses. Therefore there are 128 IP network addresses available for class A (27 = 128).
The number of IP host addresses available for an IP address class is determined by the formula 2 to the power of the number of available bits minus 2. There are 24 bits available in a class A addresses for IP host addresses. Therefore there are 16,777,214 IP hosts addresses available for class A ((224) - 2 = 16,777,214)).
Note |
The 2 is subtracted because there are 2 IP addresses that cannot be used for a host. The all 0’s host address cannot be used because it is the same as the network address. For example, 10.0.0.0 cannot be both a IP network address and an IP host address. The all 1’s address is a broadcast address that is used to reach all hosts on the network. For example, an IP datagram addressed to 10.255.255.255 will be accepted by every host on network 10.0.0.0. |
The table below shows the network and host addresses available for each class of IP address.
Class |
Network Addresses |
Host Addresses |
---|---|---|
A |
128 |
16,777,214 |
B |
16,3843 |
65534 |
C |
2,097,1524 |
254 |
IP Network Subnetting
The arbitrary subdivision of network and host bits in IP address classes resulted in an inefficient allocation of IP space. For example, if your network has 16 separate physical segments you will need 16 IP network addresses. If you use 16 class B IP network addresses, you would be able to support 65,534 hosts on each of the physical segments. Your total number of supported host IP addresses is 1,048,544 (16 * 65,534 = 1,048,544). Very few network technologies can scale to having 65,534 hosts on a single network segment. Very few companies need 1,048,544 IP host addresses. This problem required the development of a new strategy that permitted the subdivision of IP network addresses into smaller groupings of IP subnetwork addresses. This strategy is known as subnetting.
If your network has 16 separate physical segments you will need 16 IP subnetwork addresses. This can be accomplished with one class B IP address. For example, start with the class B IP address of 172.16.0.0 you can reserve 4 bits from the third octet as subnet bits. This gives you 16 subnet IP addresses 24 = 16. The table below shows the IP subnets for 172.16.0.0/20.
Number |
IP Subnet Addresses in Dotted Decimal |
IP Subnet Addresses in Binary |
---|---|---|
05 |
172.16.0.0 |
10101100.00010000.00000000.00000000 |
1 |
172.16.16.0 |
10101100.00010000.00010000.00000000 |
2 |
172.16.32.0 |
10101100.00010000.00100000.00000000 |
3 |
172.16.48.0 |
10101100.00010000.00110000.00000000 |
4 |
172.16.64.0 |
10101100.00010000.01000000.00000000 |
5 |
172.16.80.0 |
10101100.00010000.01010000.00000000 |
6 |
172.16.96.0 |
10101100.00010000.01100000.00000000 |
7 |
172.16.112.0 |
10101100.00010000.01110000.00000000 |
8 |
172.16.128.0 |
10101100.00010000.10000000.00000000 |
9 |
172.16.144.0 |
10101100.00010000.10010000.00000000 |
10 |
172.16.160.0 |
10101100.00010000.10100000.00000000 |
11 |
172.16.176.0 |
10101100.00010000.10110000.00000000 |
12 |
172.16.192.0 |
10101100.00010000.11000000.00000000 |
13 |
172.16.208.0 |
10101100.00010000.11010000.00000000 |
14 |
172.16.224.0 |
10101100.00010000.11100000.00000000 |
15 |
172.16.240.0 |
10101100.00010000.11110000.00000000 |
When a digit that falls within the subnetwork (subnet) mask changes from 1 to 0 or 0 to 1 the subnetwork address is changed. For example, if you change 10101100.00010000.01011001.00100010/20 to 10101100.00010000.01111001.00100010/20 you have changed the network address from 172.16.89.34/20 to 172.16.121.34/20.
When a digit that falls outside the subnet mask changes from 1 to 0 or 0 to 1 the host address is changed. For example, if you change 10101100.00010000.01011001.00100010/20 to 10101100.00010000.01011001.00100011/20 you have changed the host address from 172.16.89.34/20 to 172.16.89.35/20.
Timesaver |
To avoid having to do manual IP network, subnetwork, and host calculations, use one of the free IP subnet calculators available on the Internet. |
Some people get confused about the terms network address and subnet or subnetwork addresses and when to use them. In the most general sense the term network address means “the IP address that routers use to route traffic to a specific network segment so that the intended destination IP host on that segment can receive it”. Therefore the term network address can apply to both non-subnetted and subnetted IP network addresses. When you are troubleshooting problems with forwarding traffic from a router to a specific IP network address that is actually a subnetted network address, it can help to be more specific by referring to the destination network address as a subnet network address because some routing protocols handle advertising subnet network routes differently from network routes. For example, the default behavior for RIP v2 is to automatically summarize the subnet network addresses that it is connected to their non-subnetted network addresses (172.16.32.0/24 is advertised by RIP v2 as 172.16.0.0/16) when sending routing updates to other routers. Therefore the other routers might have knowledge of the IP network addresses in the network, but not the subnetted network addresses of the IP network addresses.
Tip |
The term IP address space is sometimes used to refer to a range of IP addresses. For example, “We have to allocate a new IP network address to our network because we have used all of the available IP addresses in the current IP address space”. |
IP Network Address Assignments
Routers keep track of IP network addresses to understand the network IP topology (layer 3 of the OSI reference model) of the network to ensure that IP traffic can be routed properly. In order for the routers to understand the network layer (IP) topology, every individual physical network segment that is separated from any other physical network segment by a router must have a unique IP network address.
The figure below shows an example of a simple network with correctly configured IP network addresses. The routing table in R1 looks like the table below.
Interface Ethernet 0 |
Interface Ethernet 1 |
---|---|
172.31.32.0/24 (Connected) |
172.31.16.0/24 (Connected) |
The figure below shows an example of a simple network with incorrectly configured IP network addresses. The routing table in R1 looks like the table below. If the PC with IP address 172.31.32.3 attempts to send IP traffic to the PC with IP address 172.31.32.54, router R1 cannot determine which interface that the PC with IP address 172.31.32.54 is connected to.
Ethernet 0 |
Ethernet 1 |
---|---|
172.31.32.0/24 (Connected) |
172.31.32.0/24 (Connected) |
To help prevent mistakes as shown in the figure above, Cisco IOS-based networking devices will not allow you to configure the same IP network address on two or more interfaces in the router when IP routing is enabled.
The only way to prevent the mistake shown in the figure below, where 172.16.31.0/24 is used in R2 and R3, is to have very accurate network documentation that shows where you have assigned IP network addresses.
Ethernet 0 |
Serial 0 |
Serial 1 |
---|---|---|
172.16.32.0/24 (Connected) |
192.168.100.4/29 (Connected) 172.16.31.0/24 RIP |
192.168.100.8/29 (Connected) 172.16.31.0/24 RIP |
For a more thorough explanation of IP routing, see the "Related Documents" section for a list of documents related to IP routing.
Classless Inter-Domain Routing
Due to the continuing increase in internet use and the limitations on how IP addresses can be assigned using the class structure shown in the table above, a more flexible method for allocating IP addresses was required. The new method is documented in RFC 1519 Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy. CIDR allows network administrators to apply arbitrary masks to IP addresses to create an IP addressing plan that meets the requirements of the networks that they administrate.
For more information on CIDR, refer to RFC 1519 at http://www.ietf.org/rfc/rfc1519.txt.
Prefixes
The term prefix is often used to refer to the number of bits of an IP network address that are of importance for building routing tables. If you are using only classful (strict adherence to A, B, and C network address boundaries) IP addresses, the prefixes are the same as the masks for the classes of addresses. For example, using classful IP addressing, a class C IP network address such as 192.168.10.0 uses a 24-bit mask (/24 or 255.255.255.0) and can also be said to have a 24-bit prefix.
If you are using CIDR, the prefixes are arbitrarily assigned to IP network addresses based on how you want to populate the routing tables in your network. For example, a group of class C IP addresses such as 192.168.10.0, 192.168.11.0, 192.168.12.0, 192.168.13.0 can be advertised as a single route to 192.168.0.0 with a 16-bit prefix (192.168.0.0/16). This results in a 4:1 reduction in the number of routes that the routers in your network need to manage.