Home > Articles

Extending IP Addresses

  • Print
  • + Share This
This chapter is from the book

Terms you'll need to understand:

  • CIDR
  • IETF
  • ip helper
  • ip subnet-zero
  • IPv6
  • Prefix length
  • Route summarization
  • Supernetting
  • Variable-length subnet masking (VLSM)

Techniques you'll need to master:

  • Reviewing the IP subnetting process
  • Understanding the formulas for calculating subnets and hosts
  • Implementing CIDR addressing or supernetting
  • Expressing various networks and subnets with their CIDR representations
  • Using VLSM to extend an IP address scheme
  • Deploying route summarization techniques
  • Configuring the ip helper command for controlled broadcasts

The Internet Engineering Task Force (IETF) is a governing body that consists of more than 80 groups working together to develop Internet standards. The Internet Protocol (IP) is the primary Layer 3 protocol used to encapsulate data in the Internet suite. In addition to being routable, IP provides error coverage, fragmentation, and reassembly of datagrams for transmission over networks with different maximum data unit sizes. The IETF first defined a globally unique, 32-bit number for IP addressing in 1981. These globally unique logical addresses enable IP networks to communicate with each other from anywhere in the world.

Due to the global and somewhat random allocation of this finite pool of addresses (232), the Network Information Center (InterNIC) has run out of address space. In addition, approximately 5,000 routes were using the Internet in 1990. By the end of the millennium, more than 72,000 routes existed on the Internet, and today there are easily more than 100,000. The sizes of routing tables have been growing seemingly exponentially. This chapter focuses on some of the solutions and mechanisms the Cisco professional is expected to know to help decrease the routing table size as well as create a more hierarchical addressing scheme.

Review of TCP/IP Subnetting

Because the Cisco Certified Network Associate (CCNA) should already have in-depth knowledge of IP addressing, this section is merely a brief refresher course. An IP address is divided into three sections. The first part represents the network address, the second part represents the subnet address (if applicable), and the third part is the actual host address on the major network or subnetwork. Five IP address classes are defined by the IETF. You can determine which class any IP address is in by examining the first four bits of the IP address, or you can simply memorize the values in Table 3.1. Most of the public Class A, B, and C addresses have been assigned, although some ranges are still available for a price. Class D addresses are used by many vendors and organizations, including Cisco, for multicasting. Class E addresses are reserved for future use, so these should not be used for host addresses.

Table 3.1 The Decimal Equivalents of the First Octet of Each Address Class

Address Class

Starting Bit

First Octet Address As Decimal

Default Subnet Mask

















Notice that the number 127 is missing from this table. Addresses beginning with 01111111 (or decimal 127) in the first octet are reserved for loopback and internal testing on a local computer, as in the following command:


In addition, three IP network addresses are reserved for private internal networking as defined in RFC 1918. These addresses are–10.255. 255.255,–, and– They are commonly used for internal IP networks, such as labs, classrooms, or home networks.

Private addresses are also used behind a network address translation service or a proxy server/router. You can safely use these addresses because routers on the Internet are configured to route these packets to the bit bucket (interface null0) and will never forward packets coming from these addresses. The main purpose of the private addressing scheme is to preserve the globally unique Internet address space by using it only where it is necessary. The immediate benefit of network address translation (NAT) is the temporary resolution of the IP address depletion problem for networks that need access to the Internet. Cisco IOS NAT eliminates issues and bureaucratic delays related to acquiring NIC-registered IP addresses by dynamically translating (mapping) hidden internal addresses to a range of Class C addresses, which are plentiful as compared to Class B addresses. A second benefit is that if a site already has registered IP addresses for its internal LAN clients, it can to hide them for security purposes. Thirdly, Cisco IOS NAT gives you total control over your internal addressing scheme, which is derived from the IANA-reserved address pool. In addition, you can use a non-routable solution on your internal LAN and hide it from the outside routable protocol solutions. A final advantage is that this mapping can take place within your organization without it being affected by address changes at the interface between your LAN and the Internet.

The NAT service functions on a router that links two networks together. One network is specified as inside and utilizes private (or obsolete) addresses that are translated into legal addresses before the packets are sent onto another network, which is designated as outside. The outside network is generally an Internet service provider (ISP) or other vendor. This translation works in parallel with the usual routing process, and NAT services can simply be enabled on the ISP customer's Internet access router as necessary. NAT can transport any TCP/UDP traffic that does not carry source and/or destination IP addresses in the application data stream. Individual interfaces are configured and tagged as to whether they are on the inside or the outside. Only the packets that arrive on the NAT tagged interface are subject to translation services. The following syntax shows the basic configuration of an interface:

Router(config-if)# ip nat { inside | outside }

For more information on NAT, refer to the "Need to Know More?" section at the end of this chapter.

Another structural addressing mechanism is the process of dividing major networks into smaller components called subnetworks, or subnets, by "borrowing" from the remaining host bits to create a subnet field. As an administrator, you can segment a network into subnetworks for the purpose of developing a multi-level, hierarchical routing design.

For example, if a network is assigned a Class B address of, the administrator can subdivide this one Class B network into smaller subnets by borrowing from the 16 remaining bits of the host portion to create a subnet field. If the network administrator decides to borrow 8 bits for subnetting, the entire third octet of a Class B IP address provides the subnet number. In our example, an address of refers to major network 172.16, subnet 1 (of a possible 256), and a host address 1 (of a possible 254). Remember that the first available host number (0) is the actual network and the last possible host address (255) is the mandatory broadcast address for the network.

Formula for Available Subnets

For years, textbooks and courses have taught the subnetting formula of 2n – 2 available subnets and 2n – 2 available hosts. After you subnet a network address, the first obtained subnet is called subnet zero and the last subnet obtained is called the all-ones subnet. Historically, it was recommended that subnet zero and the all-ones subnet be avoided for addressing. According to RFC 950, "It is useful to preserve and extend the interpretation of these special (network and broadcast) addresses in subnetted networks. This means the values of all zeros and all ones in the subnet field should not be assigned to actual (physical) subnets." Technically speaking, the all-ones subnet has always been legal according to RFC 1918, and subnet zero is enabled by default on all Cisco routers and specifically declared in the configuration in a Cisco IOS release of 12.0 and later. For example, the following is an example of a configuration on the Cisco 2620XM router:

Building configuration
Current configuration : 566 bytes
version 12.0
no service pad
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
hostname RouterXM

ip subnet-zero

The number of bits that can be borrowed for the subnet address varies. For instance, the subnet mask that specifies 8 additional bits of subnetting for a Class B address is instead of the default In similar fashion, the subnet mask that specifies 16 bits of subnetting for a Class A address is


To determine the total number of hosts available for your network class and subnet mask, simply multiply the number of subnets by the number of available host nodes. Also, note that, although allowed, subnet masks with noncontiguous mask bits are not recommended.

Many complete subnet tables are available for Class A, Class B, and Class C networks on the Internet. These tables show all the possible subnet masks for each class and calculations of the number of networks, nodes, and total hosts for each subnet.

  • + Share This
  • 🔖 Save To Your Account