Cisco IOS IP and IP Routing Configuration Guide, Release 12.1
Configuring IP Addressing

Table Of Contents

Configuring IP Addressing

IP Addressing Task List

Assigning IP Addresses to Network Interfaces

Assigning Multiple IP Addresses to Network Interfaces

Enabling Use of Subnet Zero

Disabling Classless Routing Behavior

Enabling IP Processing on a Serial Interface

Configuring Address Resolution Methods

Establishing Address Resolution

Defining a Static ARP Cache

Setting ARP Encapsulations

Enabling Proxy ARP

Configuring Local-Area Mobility

Mapping Host Names to IP Addresses

Assigning Host Names to IP Addresses

Specifying the Domain Name

Specifying a Name Server

Enabling the DNS

Using the DNS to Discover ISO CLNS Addresses

Configuring HP Probe Proxy Name Requests

Configuring the Next Hop Resolution Protocol

Cisco Implementation of NHRP

Protocol Operation

NHRP Configuration Task List

Enabling NHRP on an Interface

Configuring a Static IP-to-NBMA Address Mapping for a Station

Statically Configuring a Next Hop Server

Configuring NHRP Authentication

Controlling the Triggering of NHRP

Triggering NHRP Based on Traffic Thresholds

Controlling the NHRP Packet Rate

Suppressing Forward and Reverse Record Options

Specifying the NHRP Responder Address

Changing the Time Period NBMA Addresses Are Advertised as Valid

Configuring a GRE Tunnel for Multipoint Operation

Configuring NHRP Server-Only Mode

Enabling IP Routing

Routing Assistance When IP Routing Is Disabled

Proxy ARP

Default Gateway

ICMP Router Discovery Protocol

Enabling IP Bridging

Enabling Integrated Routing and Bridging

Configuring a Routing Process

Configuring Broadcast Packet Handling

Enabling Directed Broadcast-to-Physical Broadcast Translation

Forwarding UDP Broadcast Packets and Protocols

Establishing an IP Broadcast Address

Flooding IP Broadcasts

Forwarding DHCP Broadcasts to Spanning-Tree Interfaces

Speeding Up Flooding of UDP Datagrams

Configuring Network Address Translation

NAT Applications

Benefits

NAT Terminology

NAT Configuration Task List

Translating Inside Source Addresses

Configuring Static Translation

Configuring Dynamic Translation

Overloading an Inside Global Address

Translating Overlapping Addresses

Configuring Static Translation

Configuring Dynamic Translation

Providing TCP Load Distribution

Changing Translation Timeouts

Monitoring and Maintaining NAT

Monitoring and Maintaining IP Addressing

Clearing Caches, Tables, and Databases

Specifying the Format of Network Masks

Displaying System and Network Statistics

Monitoring and Maintaining NHRP

IP Addressing Examples

Creating a Network from Separated Subnets Example

Serial Interfaces Configuration Example

IP Domains Example

Dynamic Lookup Example

HP Hosts on a Network Segment Example

Logical NBMA Example

NHRP over ATM Example

Changing the Rate for Triggering SVCs Example

Applying NHRP Rates to Specific Destinations Example

NHRP on a Multipoint Tunnel Example

Broadcasting Examples

Flooded Broadcast Example

Flooding of IP Broadcasts Example

Helper Addresses Example

NAT Configuration Examples

Dynamic Inside Source Translation Example

Overloading Inside Global Addresses Example

Translating Overlapping Address Example

TCP Load Distribution Example

Ping Command Example


Configuring IP Addressing


This chapter describes how to configure IP addressing. For a complete description of the IP addressing commands in this chapter, refer to the "IP Addressing Commands" chapter of the Cisco IOS IP and IP Routing Command Reference publication. To locate documentation of other commands that appear in this chapter, use the command reference master index or search online.

IP Addressing Task List

A basic and required task for configuring IP is to assign IP addresses to network interfaces. Doing so enables the interfaces and allows communication with hosts on those interfaces using IP. Associated with this task are decisions about subnetting and masking the IP addresses.

To configure various IP addressing features, perform the tasks in the following sections. The first task is required; the remaining are optional.

Assigning IP Addresses to Network Interfaces (Required)

Configuring Address Resolution Methods (Optional)

Enabling IP Routing (Optional)

Enabling IP Bridging (Optional)

Enabling Integrated Routing and Bridging (Optional)

Configuring a Routing Process (Optional)

Configuring Broadcast Packet Handling (Optional)

Configuring Network Address Translation (Optional)

Monitoring and Maintaining IP Addressing (Optional)

At the end of this chapter, the examples in the "IP Addressing Examples" section illustrate how you might establish IP addressing in your network.

Assigning IP Addresses to Network Interfaces

An IP address identifies a location to which IP datagrams can be sent. Some IP addresses are reserved for special uses and cannot be used for host, subnet, or network addresses. Table 3 lists ranges of IP addresses, and shows which addresses are reserved and which are available for use.

Table 3 Reserved and Available IP Addresses

Class
Address or Range
Status

A

0.0.0.0
1.0.0.0 to 126.0.0.0
127.0.0.0

Reserved
Available
Reserved

B

128.0.0.0 to 191.254.0.0
191.255.0.0

Available
Reserved

C

192.0.0.0
192.0.1.0 to 223.255.254
223.255.255.0

Reserved
Available
Reserved

D

224.0.0.0 to 239.255.255.255

Multicast group addresses

E

240.0.0.0 to 255.255.255.254
255.255.255.255

Reserved
Broadcast


The official description of IP addresses is found in RFC 1166, Internet Numbers.

To receive an assigned network number, contact your Internet service provider.

An interface can have one primary IP address. To assign a primary IP address and a network mask to a network interface, use the following command in interface configuration mode:

Command
Purpose

ip address ip-address mask

Set a primary IP address for an interface.


A mask identifies the bits that denote the network number in an IP address. When you use the mask to subnet a network, the mask is then referred to as a subnet mask.


Note We only support network masks that use contiguous bits that are flush left against the network field.


The tasks to enable or disable additional, optional, IP addressing features are contained in the following sections:

Assigning Multiple IP Addresses to Network Interfaces

Enabling Use of Subnet Zero

Disabling Classless Routing Behavior

Enabling IP Processing on a Serial Interface

Assigning Multiple IP Addresses to Network Interfaces

The software supports multiple IP addresses per interface. You can specify an unlimited number of secondary addresses. Secondary IP addresses can be used in a variety of situations. The following are the most common applications:

There might not be enough host addresses for a particular network segment. For example, suppose your subnetting allows up to 254 hosts per logical subnet, but on one physical subnet you must have 300 host addresses. Using secondary IP addresses on the routers or access servers allows you to have two logical subnets using one physical subnet.

Many older networks were built using Level 2 bridges, and were not subnetted. The judicious use of secondary addresses can aid in the transition to a subnetted, router-based network. Routers on an older, bridged segment can easily be made aware that many subnets are on that segment.

Two subnets of a single network might otherwise be separated by another network. You can create a single network from subnets that are physically separated by another network by using a secondary address. In these instances, the first network is extended, or layered on top of the second network. Note that a subnet cannot appear on more than one active interface of the router at a time.


Note If any router on a network segment uses a secondary address, all other routers on that same segment must also use a secondary address from the same network or subnet.


To assign multiple IP addresses to network interfaces, use the following command in interface configuration mode:

Command
Purpose

ip address ip-address mask secondary

Assign multiple IP addresses to network interfaces.



Note IP routing protocols sometimes treat secondary addresses differently when sending routing updates. See the description of IP split horizon in the "Configuring IP Enhanced IGRP," "Configuring IGRP," or "Configuring RIP" chapters for details.


See the "Creating a Network from Separated Subnets Example" section at the end of this chapter for an example of creating a network from separated subnets.

Enabling Use of Subnet Zero

Subnetting with a subnet address of zero is illegal and strongly discouraged (as stated in RFC 791) because of the confusion that can arise between a network and a subnet that have the same addresses. For example, if network 131.108.0.0 is subnetted as 255.255.255.0, subnet zero would be written as 131.108.0.0—which is identical to the network address.

You can use the all zeros and all ones subnet (131.108.255.0), even though it is discouraged. Configuring interfaces for the all ones subnet is explicitly allowed. However, if you need the entire subnet space for your IP address, use the following command in global configuration mode to enable subnet zero:

Command
Purpose

ip subnet-zero

Enable the use of subnet zero for interface addresses and routing updates.


Disabling Classless Routing Behavior

By default, classless routing behavior is enabled on the router. When classless routing is in effect, if a router receives packets destined for a subnet of a network that has no network default route, the router forwards the packet to the best supernet route.

In Figure 1, classless routing is enabled in the router. Therefore, when the host sends a packet to 128.20.4.1, instead of discarding the packet, the router forwards the packet to the best supernet route.

Figure 1 IP Classless Routing

If you disable classless routing, and a router receives packets destined for a subnet of a network that has no network default route, the router discards the packet. Figure 2 shows a router in network 128.20.0.0 connected to subnets 128.20.1.0, 128.20.2.0, and 128.20.3.0. Suppose the host sends a packet to 128.20.4.1. Because there is no network default route, the router discards the packet.

Figure 2 No IP Classless Routing

To prevent the Cisco IOS software from forwarding packets destined for unrecognized subnets to the best supernet route possible, use the following command in global configuration mode:

Command
Purpose

no ip classless

Disable classless routing behavior.


Enabling IP Processing on a Serial Interface

You might want to enable IP processing on a serial or tunnel interface without assigning an explicit IP address to the interface. Whenever the unnumbered interface generates a packet (for example, for a routing update), it uses the address of the interface you specified as the source address of the IP packet. It also uses the specified interface address in determining which routing processes are sending updates over the unnumbered interface. Restrictions are as follows:

Serial interfaces using High-Level Data Link Control (HDLC), Point-to-Point Protocol (PPP), LAPB, and Frame Relay encapsulations, as well as Serial Line Internet Protocol (SLIP) tunnel interfaces, can be unnumbered. Serial interfaces using Frame Relay encapsulation can also be unnumbered, but the interface must be a point-to-point subinterface. It is not possible to use the unnumbered interface feature with X.25 or Switched Multimegabit Data Service (SMDS) encapsulations.

You cannot use the ping EXEC command to determine whether the interface is up, because the interface has no IP address. The Simple Network Management Protocol (SNMP) can be used to remotely monitor interface status.

You cannot netboot a runnable image over an unnumbered serial interface.

You cannot support IP security options on an unnumbered interface.

If you are configuring Intermediate System-to-Intermediate System (IS-IS) across a serial line, you should configure the serial interfaces as unnumbered, which allows you to conform with RFC 1195, which states that IP addresses are not required on each interface.


Note Using an unnumbered serial line between different major networks requires special care. If, at each end of the link, there are different major networks assigned to the interfaces you specified as unnumbered, any routing protocols running across the serial line should be configured to not advertise subnet information.


To enable IP processing on an unnumbered serial interface, use the following command in interface configuration mode:

Command
Purpose

ip unnumbered type number

Enable IP processing on a serial or tunnel interface without assigning an explicit IP address to the interface.


The interface you specify must be the name of another interface in the router that has an IP address, not another unnumbered interface.

The interface you specify also must be enabled (listed as "up" in the show interfaces command display).

See the "Serial Interfaces Configuration Example" section at the end of this chapter for an example of how to configure serial interfaces.

Configuring Address Resolution Methods

Our IP implementation allows you to control interface-specific handling of IP addresses by facilitating address resolution, name services, and other functions. The following sections describe how to configure address resolution methods:

Establishing Address Resolution

Mapping Host Names to IP Addresses

Configuring HP Probe Proxy Name Requests

Configuring the Next Hop Resolution Protocol

Establishing Address Resolution

A device in the IP can have both a local address (which uniquely identifies the device on its local segment or LAN) and a network address (which identifies the network to which the device belongs). The local address is more properly known as a data link address because it is contained in the data link layer (Layer 2 of the OSI model) part of the packet header and is read by data-link devices (bridges and all device interfaces, for example). The more technically inclined person will refer to local addresses as MAC addresses, because the Media Access Control (MAC) sublayer within the data link layer processes addresses for the layer.

To communicate with a device on Ethernet, for example, the Cisco IOS software first must determine the 48-bit MAC or local data-link address of that device. The process of determining the local data link address from an IP address is called address resolution. The process of determining the IP address from a local data-link address is called reverse address resolution.

The software uses three forms of address resolution: Address Resolution Protocol (ARP), proxy ARP, and Probe (similar to ARP). The software also uses the Reverse Address Resolution Protocol (RARP). ARP, proxy ARP, and RARP are defined in RFCs 826, 1027, and 903, respectively. Probe is a protocol developed by the Hewlett-Packard Company (HP) for use on IEEE-802.3 networks.

ARP is used to associate IP addresses with media or MAC addresses. Taking an IP address as input, ARP determines the associated media address. Once a media or MAC address is determined, the IP address/media address association is stored in an ARP cache for rapid retrieval. Then the IP datagram is encapsulated in a link-layer frame and sent over the network. Encapsulation of IP datagrams and ARP requests and replies on IEEE 802 networks other than Ethernet is specified by the Subnetwork Access Protocol (SNAP).

RARP works the same way as ARP, except that the RARP request packet requests an IP address instead of a local data-link address. Use of RARP requires a RARP server on the same network segment as the router interface. RARP often is used by diskless nodes that do not know their IP addresses when they boot. The Cisco IOS software attempts to use RARP if it does not know the IP address of an interface at startup. Also, our routers are able to act as RARP servers by responding to RARP requests that they are able to answer. See the "Configure Additional File Transfer Functions" chapter in the Cisco IOS Configuration Fundamentals Configuration Guide to learn how to configure a router as a RARP server.

The tasks required to set address resolution are contained in the following sections:

Defining a Static ARP Cache

Setting ARP Encapsulations

Enabling Proxy ARP

Configuring Local-Area Mobility

The procedures for performing these tasks are described in the following sections.

Defining a Static ARP Cache

ARP and other address resolution protocols provide a dynamic mapping between IP addresses and media addresses. Because most hosts support dynamic address resolution, you generally do not need to specify static ARP cache entries. If you must define them, you can do so globally. Doing this task installs a permanent entry in the ARP cache. The Cisco IOS software uses this entry to translate 32-bit IP addresses into 48-bit hardware addresses.

Optionally, you can specify that the software respond to ARP requests as if it was the owner of the specified IP address. In case you do not want the ARP entries to be permanent, you have the option of specifying an ARP entry timeout period when you define ARP entries.

The following two tables list the tasks to provide static mapping between IP addresses and media address.

Use either of the following commands in global configuration mode:

Command
Purpose

arp ip-address hardware-address type

Globally associate an IP address with a media (hardware) address in the ARP cache.

arp ip-address hardware-address type alias

Specify that the software respond to ARP requests as if it was the owner of the specified IP address.


Use the following command in interface configuration mode:

Command
Purpose

arp timeout seconds

Set the length of time an ARP cache entry will stay in the cache.


To display the type of ARP being used on a particular interface and also display the ARP timeout value, use the show interfaces EXEC command. Use the show arp EXEC command to examine the contents of the ARP cache. Use the show ip arp EXEC command to show IP entries. To remove all nonstatic entries from the ARP cache, use the clear arp-cache privileged EXEC command.

Setting ARP Encapsulations

By default, standard Ethernet-style ARP encapsulation (represented by the arpa keyword) is enabled on the IP interface. You can change this encapsulation method to SNAP or HP Probe, as required by your network, to control the interface-specific handling of IP address resolution into
48-bit Ethernet hardware addresses.

When you set HP Probe encapsulation, the Cisco IOS software uses the Probe protocol whenever it attempts to resolve an IEEE-802.3 or Ethernet local data-link address. The subset of Probe that performs address resolution is called Virtual Address Request and Reply. Using Probe, the router can communicate transparently with Hewlett-Packard IEEE-802.3 hosts that use this type of data encapsulation. You must explicitly configure all interfaces for Probe that will use Probe.

To specify the ARP encapsulation type, use the following command in interface configuration mode:

Command
Purpose

arp {arpa | probe | snap}

Specify one of three ARP encapsulation methods for a specified interface.


Enabling Proxy ARP

The Cisco IOS software uses proxy ARP (as defined in RFC 1027) to help hosts with no knowledge of routing determine the media addresses of hosts on other networks or subnets. For example, if the router receives an ARP request for a host that is not on the same interface as the ARP request sender, and if the router has all of its routes to that host through other interfaces, then it generates a proxy ARP reply packet giving its own local data-link address. The host that sent the ARP request then sends its packets to the router, which forwards them to the intended host. Proxy ARP is enabled by default.

To enable proxy ARP if it has been disabled, use the following command in interface configuration mode (as necessary) for your network:

Command
Purpose

ip proxy-arp

Enable proxy ARP on the interface.


Configuring Local-Area Mobility

Local-area mobility provides the ability to relocate IP hosts within a limited area without reassigning host IP addresses and without changes to the host software. Local-area mobility is supported on Ethernet, Token Ring, and FDDI interfaces only.

To create a mobility area with only one router, use the following commands:

 
Command
Purpose

Step 1 

interface type number

Enter interface configuration mode.

Step 2 

ip mobile arp [timers keepalive hold-time] [access-group access-list-number | name]

Enable local-area mobility.

To create larger mobility areas, you must first redistribute the mobile routes into your Interior Gateway Protocol (IGP). The IGP must support host routes. You can use Enhanced IGRP, OSPF, IS-IS, or RIPv2. To redistribute the mobile routes into your existing IGP configuration, use the following commands:

 
Command
Purpose

Step 1 

router {eigrp autonomous-system [tag] | ospf process-id | rip}

Enter router configuration mode.

Step 2 

default-metric number


or


default-metric bandwidth delay reliability loading mtu

Set default metric values.

Step 3 

redistribute mobile

Redistribute the mobile routes.

Mobile routes will always be preferred over a subnet boundary or summarized route because they are more specific. It is important to ensure that configured or redistributed static routes do not include any host routes for the potentially mobile hosts; otherwise, a longest match could come up with two routes and cause ambiguity. Mobile routes will be seen as external routes to the configured routing protocol, even within a summarization area; therefore, they will not be properly summarized by default. This is the case even when these routes are advertised at a summarization boundary, if mobile hosts are not on their home subnet.

Mapping Host Names to IP Addresses

Each unique IP address can have a host name associated with it. The Cisco IOS software maintains a cache of host name-to-address mappings for use by the EXEC connect, telnet, ping, and related Telnet support operations. This cache speeds the process of converting names to addresses.

IP defines a naming scheme that allows a device to be identified by its location in the IP. This is a hierarchical naming scheme that provides for domains. Domain names are pieced together with periods (.) as the delimiting characters. For example, Cisco is a commercial organization that the IP identifies by a com domain name, so its domain name is cisco.com. A specific device in this domain, the File Transfer Protocol (FTP) system for example, is identified as ftp.cisco.com.

To keep track of domain names, IP has defined the concept of a name server, whose job is to hold a cache (or database) of names mapped to IP addresses. To map domain names to IP addresses, you must first identify the host names, then specify a name server, and enable the Domain Naming System (DNS), the global naming scheme of the Internet that uniquely identifies network devices. These tasks are described in the following sections:

Assigning Host Names to IP Addresses

Specifying the Domain Name

Specifying a Name Server

Enabling the DNS

Using the DNS to Discover ISO CLNS Addresses

Assigning Host Names to IP Addresses

The Cisco IOS software maintains a table of host names and their corresponding addresses, also called a host name-to-address mapping. Higher-layer protocols such as Telnet use host names to identify network devices (hosts). The router and other network devices must be able to associate host names with IP addresses to communicate with other IP devices. Host names and IP addresses can be associated with one another through static or dynamic means.

Manually assigning host names to addresses is useful when dynamic mapping is not available.

To assign host names to addresses, use the following command in global configuration mode:

Command
Purpose

ip host name [tcp-port-number] address1 [address2...address8]

Statically associate host names with IP addresses.


Specifying the Domain Name

You can specify a default domain name that the Cisco IOS software will use to complete domain name requests. You can specify either a single domain name or a list of domain names. Any IP host name that does not contain a domain name will have the domain name you specify appended to it before being added to the host table.

To specify a domain name or names, use either of the following commands in global configuration mode:

Command
Purpose

ip domain-name name

Define a default domain name that the Cisco IOS software will use to complete unqualified host names.

ip domain-list name

Define a list of default domain names to complete unqualified host names.


See the "IP Domains Example" section at the end of this chapter for an example of establishing IP domains.

Specifying a Name Server

To specify one or more hosts (up to six) that can function as a name server to supply name information for the DNS, use the following command in global configuration mode:

Command
Purpose

ip name-server server-address1 [server-address2...server-address6]

Specify one or more hosts that supply name information.


Enabling the DNS

If your network devices require connectivity with devices in networks for which you do not control name assignment, you can assign device names that uniquely identify your devices within the entire internetwork. The global naming scheme of the Internet, the DNS, accomplishes this task. This service is enabled by default.

If the DNS has been disabled, you can reenable it by using the following command in global configuration mode:

Command
Purpose

ip domain-lookup

Enable DNS-based host name-to-address translation.


See the "Dynamic Lookup Example" section at the end of this chapter for an example of enabling the DNS.

Using the DNS to Discover ISO CLNS Addresses

If your router has both IP and ISO Connectionless Network Service (ISO CLNS) enabled and you want to use ISO CLNS network service access point (NSAP) addresses, you can use the DNS to query these addresses, as documented in RFC 1348. This feature is enabled by default.

To disable DNS queries for ISO CLNS addresses, use the following command in global configuration mode:

Command
Purpose

no ip domain-lookup nsap

Disable DNS queries for ISO CLNS addresses.


Configuring HP Probe Proxy Name Requests

HP Probe Proxy support allows the Cisco IOS software to respond to HP Probe Proxy name requests. These requests are typically used at sites that have Hewlett-Packard equipment and are already using HP Probe Proxy. Tasks associated with HP Probe Proxy are shown in the following two tables.

To configure HP Probe Proxy, use the following command in interface configuration mode:

Command
Purpose

ip probe proxy

Allow the Cisco IOS software to respond to HP Probe Proxy name requests.


To configure HP Probe Proxy, use the following command in global configuration mode:

Command
Purpose

ip hp-host hostname ip-address

Enter the host name of an HP host (for which the router is acting as a proxy) into the host table.


See the "HP Hosts on a Network Segment Example" section at the end of this chapter for an example of configuring HP hosts on a network segment.

Configuring the Next Hop Resolution Protocol

Routers, access servers, and hosts can use Next Hop Resolution Protocol (NHRP) to discover the addresses of other routers and hosts connected to a nonbroadcast multiaccess (NBMA) network. Partially meshed NBMA networks are typically configured with multiple logical networks to provide full network layer connectivity. In such configurations, packets might make several hops over the NBMA network before arriving at the exit router (the router nearest the destination network). In addition, such NBMA networks (whether partially or fully meshed) typically require tedious static configurations. These static configurations provide the mapping between network layer addresses (such as IP) and NBMA addresses (such as E.164 addresses for Switched Multimegabit Data Service, or SMDS).

NHRP provides an ARP-like solution that alleviates these NBMA network problems. With NHRP, systems attached to an NBMA network dynamically learn the NBMA address of the other systems that are part of that network, allowing these systems to directly communicate without requiring traffic to use an intermediate hop.

The NBMA network is considered nonbroadcast either because it technically does not support broadcasting (for example, an X.25 network) or because broadcasting is too expensive (for example, an SMDS broadcast group that would otherwise be too large).

Cisco Implementation of NHRP

The Cisco implementation of NHRP supports the IETF draft version 11 of NBMA Next Hop Resolution Protocol (NHRP).

The Cisco implementation of NHRP supports IP Version 4, Internet Packet Exchange (IPX) network layers, and, at the link layer, ATM, Ethernet, SMDS, and multipoint tunnel networks. Although NHRP is available on Ethernet, it is not necessary to implement NHRP over Ethernet media because Ethernet is capable of broadcasting. Ethernet support is unnecessary (and not provided) for IPX.

Figure 3 illustrates four routers connected to an NBMA network. Within the network are ATM or SMDS switches necessary for the routers to communicate with each other. Assume that the switches have virtual circuit connections represented by hops 1, 2, and 3 of the figure. When Router A attempts to forward an IP packet from the source host to the destination host, NHRP is triggered. On behalf of the source host, Router A sends an NHRP request packet encapsulated in an IP packet, which takes three hops across the network to reach Router D, connected to the destination host. After receiving a positive NHRP reply, Router D is determined to be the "NBMA next hop," and Router A sends subsequent IP packets for the destination to Router D in one hop.

Figure 3 Next Hop Resolution Protocol

With NHRP, once the NBMA next hop is determined, the source either starts sending data packets to the destination (in a connectionless NBMA network such as SMDS) or establishes a virtual circuit connection to the destination with the desired bandwidth and quality of service (QoS) characteristics (in a connection-oriented NBMA network such as ATM).

Other address resolution methods can be used while NHRP is deployed. IP hosts that rely upon the Logical IP Subnet (LIS) model might require ARP servers and services over NBMA networks, and deployed hosts might not implement NHRP, but might continue to support ARP variations. NHRP is designed to eliminate the suboptimal routing that results from the LIS model, and can be deployed with existing ARP services without interfering with them.

NHRP is used to facilitate building a virtual private network. In this context, a virtual private network consists of a virtual Layer 3 network that is built on top of an actual Layer 3 network. The topology you use over the virtual private network is largely independent of the underlying network, and the protocols you run over it are completely independent of it.

Connected to the NBMA network are one or more stations that implement NHRP, and are known as Next Hop Servers. All routers running Release 10.3 or later can implement NHRP and, thus, can act as Next Hop Servers.

Each Next Hop Server serves a set of destination hosts, which might be directly connected to the NBMA network. Next Hop Servers cooperatively resolve the NBMA next hop addresses within their NBMA network. In addition to NHRP, Next Hop Servers typically participate in protocols used to disseminate routing information across (and beyond the boundaries of) the NBMA network, and might support ARP service.

A Next Hop Server maintains a "next-hop resolution" cache, which is a table of network layer address to NBMA address mappings. The table is created from information gleaned from NHRP register packets extracted from NHRP request or reply packets that traverse the Next Hop Server as they are forwarded, or through other means such as ARP and preconfigured tables.

Protocol Operation

NHRP requests traverse one or more hops within an NBMA subnetwork before reaching the station that is expected to generate a response. Each station (including the source station) chooses a neighboring Next Hop Server to forward the request to. The Next Hop Server selection procedure typically involves performing a routing decision based upon the network layer destination address of the NHRP request. Ignoring error situations, the NHRP request eventually arrives at a station that generates an NHRP reply. This responding station either serves the destination, is the destination itself, or is a client that specified it should receive NHRP requests when it registered with its server. The responding station generates a reply using the source address from within the NHRP packet to determine where the reply should be sent.

NHRP Configuration Task List

To configure NHRP, perform the tasks described in the following sections. The first task is required, the remainder are optional.

Enabling NHRP on an Interface

Configuring a Static IP-to-NBMA Address Mapping for a Station

Statically Configuring a Next Hop Server

Configuring NHRP Authentication

Controlling the Triggering of NHRP

Triggering NHRP Based on Traffic Thresholds

Controlling the NHRP Packet Rate

Suppressing Forward and Reverse Record Options

Specifying the NHRP Responder Address

Changing the Time Period NBMA Addresses Are Advertised as Valid

Configuring a GRE Tunnel for Multipoint Operation

Configuring NHRP Server-Only Mode

Enabling NHRP on an Interface

To enable NHRP for an interface on a router, use the following command in interface configuration mode. In general, all NHRP stations within a logical NBMA network must be configured with the same network identifier.

Command
Purpose

ip nhrp network-id number

Enable NHRP on an interface.


See the "Logical NBMA Example" section and the "NHRP over ATM Example" section at the end of this chapter for examples of enabling NHRP.

Configuring a Static IP-to-NBMA Address Mapping for a Station

To participate in NHRP, a station connected to an NBMA network should be configured with the IP and NBMA addresses of its Next Hop Server(s). The format of the NBMA address depends on the medium you are using. For example, ATM uses an NSAP address, Ethernet uses a MAC address, and SMDS uses an E.164 address.

These Next Hop Servers may also be the default or peer routers of the station, so their addresses can be obtained from the network layer forwarding table of the station.

If the station is attached to several link layer networks (including logical NBMA networks), the station should also be configured to receive routing information from its Next Hop Server(s) and peer routers so that it can determine which IP networks are reachable through which link layer networks.

To configure static IP-to-NBMA address mapping on a station (host or router), use the following command in interface configuration mode:

Command
Purpose

ip nhrp map ip-address nbma-address

Configure static IP-to-NBMA address mapping.


Statically Configuring a Next Hop Server

A Next Hop Server normally uses the network layer forwarding table to determine where to forward NHRP packets, and to find the egress point from an NBMA network. A Next Hop Server may alternately be statically configured with a set of IP address prefixes that correspond to the IP addresses of the stations it serves, and their logical NBMA network identifiers.

To statically configure a Next Hop Server, use the following command in interface configuration mode:

Command
Purpose

ip nhrp nhs nhs-address [net-address [netmask]]

Statically configure a Next Hop Server.


To configure multiple networks that the Next Hop Server serves, repeat the ip nhrp nhs command with the same Next Hop Server address, but different IP network addresses. To configure additional Next Hop Servers, repeat the ip nhrp nhs command.

Configuring NHRP Authentication

Configuring an authentication string ensures that only routers configured with the same string can intercommunicate using NHRP. Therefore, if the authentication scheme is to be used, the same string must be configured in all devices configured for NHRP on a fabric. To specify the authentication string for NHRP on an interface, use the following command in interface configuration mode:

Command
Purpose

ip nhrp authentication string

Specify an authentication string.


Controlling the Triggering of NHRP

On any platform, there are two ways to control when NHRP is triggered:

Triggering NHRP by IP Packets

Triggering NHRP on a per-Destination Basis

These methods are described in this section.

Triggering NHRP by IP Packets

You can specify an IP access list that is used to decide which IP packets can trigger the sending of NHRP requests. By default, all non-NHRP packets trigger NHRP requests. To limit which IP packets trigger NHRP requests, define an access list and then apply it to the interface.

To define an access list, use one of the following commands in global configuration mode:

Command
Purpose

access-list access-list-number {deny | permit} source [source-wildcard]

Define a standard IP access list.

access-list access-list-number {deny | permit} protocol source source-wildcard destination destination-wildcard [precedence precedence] [tos tos] [established] [log]

Define an extended IP access list.


Then apply the IP access list to the interface by using the following command in interface configuration mode:

Command
Purpose

ip nhrp interest access-list-number

Specify an IP access list that controls NHRP requests.


Triggering NHRP on a per-Destination Basis

By default, when the software attempts to send a data packet to a destination for which it has determined that NHRP can be used, it sends a NHRP request for that destination. To configure the system to wait until a specified number of data packets have been sent to a particular destination before NHRP is attempted, use the following command in interface configuration mode:

Command
Purpose

ip nhrp use usage-count

Specify how many data packets are sent to a destination before NHRP is attempted.


Triggering NHRP Based on Traffic Thresholds

There are two enhancements to NHRP when it is running with BGP over ATM media:

NHRP now works on Cisco Express Forwarding (CEF) platforms.

On such platforms, you can now configure NHRP to initiate switched virtual circuits (SVCs) once a configured traffic rate is reached. Similarly, SVCs can be torn down when traffic falls to another configured rate.

Prior to Cisco IOS Release 12.0, a single packet could trigger an SVC. Now you can configure the traffic rate that must be reached before NHRP sets up or tears down an SVC. Because SVCs are created only for burst traffic, you can conserve resources.

In the prior implementation of NHRP, by default, any non-NHRP packet triggered an NHRP request and set up an SVC. There were two ways to control the triggering of NHRP packets, which initiated a shortcut to the destination. One way was to create an access list, and the other way was to specify how many data packets would be sent to a destination before NHRP was attempted.

Initiating an NHRP request and creating an SVC immediately upon receiving any packet did not scale to large networks. Furthermore, initiating an NHRP request and SVC based on a configured number of packets was not a sufficient measurement for controlling SVCs. A more precise traffic measurement was needed for SVC creation and deletion.

Restrictions

Cisco IOS releases prior to Release 12.0 implemented NHRP draft version 4. Cisco IOS Release 12.0 implements NHRP draft version 11. These versions are not compatible. Therefore, all routers running NHRP in a network must run the same version of NHRP in order to communicate with each other. All routers must run Cisco IOS Release 12.0 or else all routers must run a release prior to Release 12.0, but not a combination of the two.

The enhancements have the following additional restrictions:

They work on CEF platforms only.

They work on ATM media only.

BGP must be configured in the network where these enhancements are running.

Prerequisites

Before you configure the feature whereby NHRP initiation is based on traffic rate, the router must have the following:

ATM must be configured.

CEF switching or distributed CEF (dCEF) switching must be enabled.

BGP must be configured on all routers in the network.

If you have CEF switching or dCEF switching and you want NHRP to work (whether with default values or changed values), the ip cef accounting non-recursive command must be configured.

Configuration Task List

This section describes the following tasks to configure the NHRP triggering and teardown of SVCs based on traffic rate:

Changing the Rate for Triggering SVCs

Applying the Rates to Specific Destinations

Changing the Rate for Triggering SVCs

When NHRP runs with Border Gateway Protocol (BGP) over ATM media, there is an additional way to control the triggering of NHRP packets. This method consists of SVCs being initiated based on the input traffic rate to a given BGP next hop.

When BGP discovers a BGP next hop and enters this BGP route into the routing table, an NHRP request is sent to the BGP next hop. When an NHRP reply is received, a subsequent entry is put in the NHRP cache that directly corresponds to the BGP next hop.

This entry expires in 2 hours, by default. A new NHRP request is sent to the same BGP next hop to repopulate the NHRP cache. When an NHRP cache entry is generated, a subsequent ATM map statement to the same BGP next hop is also created.

Aggregate traffic to each BGP next hop is measured and monitored. Once the aggregate traffic has met or exceeded the configured trigger rate, NHRP creates an ATM SVC and sends traffic directly to that destination router. The router tears down the SVC to the specified destination(s) when the aggregate traffic rate falls to or below the configured teardown rate.

By default, NHRP will set up an SVC for a destination when aggregate traffic for that destination is more than 1 kbps over a running average of 30 seconds. Similarly, NHRP will tear down the SVC when the traffic for that destination drops to 0 kbps over a running average of 30 seconds. There are several ways to change the rate at which SVC set or teardown occurs. You can change the number of kilobits per second thresholds, or the load interval, or both.

To change the number of kilobits per second at which NHRP sets up or tears down the SVC to this destination, use the following command in interface configuration mode:

Command
Purpose

ip nhrp trigger-svc trigger-threshold teardown-threshold

Change the point at which NHRP sets up or tears down SVCs.


You can change the sampling time period; that is, you can change the length of time over which the average trigger rate or teardown rate is calculated. By default, the period is 30 seconds; the range is 30 to 300 seconds in 30-second increments. This period is for calculations of aggregate traffic rate internal to Cisco IOS software only, and it represents a worst case time period for taking action. In some cases, the software will act sooner, depending on the ramp-up and fall-off rate of the traffic.

To change the sampling time period during which threshold rates are averaged, use the following command in global configuration mode:

Command
Purpose

ip cef traffic-statistics [load-interval seconds]

Change the length of time in a sampling period during which trigger and teardown thresholds are averaged.


If your Cisco hardware has a VIP2 adapter, you must perform the following task. By default, the port adapter sends the traffic statistics to the RP every 10 seconds. If you are using NHRP in distributed CEF switching mode, you must change this update rate to 5 seconds. To do so, use the following command in global configuration mode:

Command
Purpose

ip cef traffic-statistics [update-rate seconds]

Change the rate at which the Port Adapter sends traffic statistics to the RP.


Applying the Rates to Specific Destinations

By default, all destinations are measured and monitored for NHRP triggering. However, you can choose to impose the triggering and teardown rates on certain destinations. To do so, use the following commands beginning in global configuration mode:

 
Command
Purpose

Step 1 

access-list access-list-number {deny | permit} source [source-wildcard]


or

access-list access-list-number {deny | permit} protocol source source-wildcard destination destination-wildcard [precedence precedence] [tos tos] [log]

Define a standard or extended IP access list.

Step 2 

interface type number

Enter interface configuration mode.

Step 3 

ip nhrp interest access-list

Assign the access list created in Step 1 that determines which destinations are included in or excluded from the SVC triggering.

For an example of setting the load interval, see the section "Changing the Rate for Triggering SVCs Example" at the end of this chapter. For an example of applying rates to destinations, see the section "Applying NHRP Rates to Specific Destinations Example" at the end of this chapter.

Controlling the NHRP Packet Rate

By default, the maximum rate at which the software sends NHRP packets is 5 packets per 10 seconds. The software maintains a per interface quota of NHRP packets (whether generated locally or forwarded) that can be sent. To change this maximum rate, use the following command in interface configuration mode:

Command
Purpose

ip nhrp max-send pkt-count every interval

Change the NHRP packet rate per interface.


Suppressing Forward and Reverse Record Options

To dynamically detect link-layer filtering in NBMA networks (for example, SMDS address screens), and to provide loop detection and diagnostic capabilities, NHRP incorporates a Route Record in request and reply packets. The Route Record options contain the network (and link layer) addresses of all intermediate Next Hop Servers between source and destination (in the forward direction) and between destination and source (in the reverse direction).

By default, forward record options and reverse record options are included in NHRP request and reply packets. To suppress the use of these options, use the following command in interface configuration mode:

Command
Purpose

no ip nhrp record

Suppress forward and reverse record options.


Specifying the NHRP Responder Address

If an NHRP requestor wants to know which Next Hop Server generates an NHRP reply packet, it can request that information by including the responder address option in its NHRP request packet. The Next Hop Server that generates the NHRP reply packet then complies by inserting its own IP address in the NHRP reply. The Next Hop Server uses the primary IP address of the specified interface.

To specify which interface the Next Hop Server uses for the NHRP responder IP address, use the following command in interface configuration mode:

Command
Purpose

ip nhrp responder type number

Specify which interface the Next Hop Server uses to determine the NHRP responder address.


If an NHRP reply packet being forwarded by a Next Hop Server contains the IP address of that server, the Next Hop Server generates an Error Indication of type "NHRP Loop Detected" and discards the reply.

Changing the Time Period NBMA Addresses Are Advertised as Valid

You can change the length of time that NBMA addresses are advertised as valid in positive NHRP responses. In this context, advertised means how long the Cisco IOS software tells other routers to keep the addresses it is providing in NHRP responses. The default length of time is 7200 seconds (2 hours). To change the length of time, use the following command in interface configuration mode:

Command
Purpose

ip nhrp holdtime seconds

Specify the number of seconds that NBMA addresses are advertised as valid in positive NHRP responses.


Configuring a GRE Tunnel for Multipoint Operation

You can enable a generic routing encapsulation (GRE) tunnel to operate in multipoint fashion. A tunnel network of multipoint tunnel interfaces can be thought of as an NBMA network. To configure the tunnel, use the following commands in interface configuration mode:

 
Command
Purpose

Step 1 

tunnel mode gre ip multipoint

Enable a GRE tunnel to be used in multipoint fashion.

Step 2 

tunnel key key-number

Configure a tunnel identification key.

The tunnel key should correspond to the NHRP network identifier specified in the ip nhrp network-id command. See the "NHRP on a Multipoint Tunnel Example" section at the end of this chapter for an example of NHRP configured on a multipoint tunnel.

Configuring NHRP Server-Only Mode

You can configure an interface so that it cannot initiate NHRP requests or set up NHRP shortcut SVCs but can only respond to NHRP requests. Configure NHRP server-only mode on routers you do not want placing NHRP requests.

If an interface is placed in NHRP server-only mode, you have the option to specify non-caching. In this case, NHRP does not store information in the NHRP cache, such as NHRP responses that could be used again. To save memory, the non-caching option is generally used on a router located between two other routers.

To configure NHRP server-only mode, use the following command in interface configuration mode:

Command
Purpose

ip nhrp server-only [non-caching]

Configure NHRP server-only mode.


Enabling IP Routing

IP routing is automatically enabled in the Cisco IOS software. If you choose to set up the router to bridge rather than route IP datagrams, you must disable IP routing. To reenable IP routing if it has been disabled, use the following command in global configuration mode:

Command
Purpose

ip routing

Enable IP routing.


When IP routing is disabled, the router will act as an IP end host for IP packets destined for or sourced by it, whether or not bridging is enabled for those IP packets not destined for the device. To reenable IP routing, use the ip routing command.

Routing Assistance When IP Routing Is Disabled

The Cisco IOS software provides three methods by which the router can learn about routes to other networks when IP routing is disabled and the device is acting as an IP host. These methods are described in the sections that follow:

Proxy ARP

Default Gateway (also known as default router)

ICMP Router Discovery Protocol

When IP routing is disabled, the default gateway feature and the router discovery client are enabled, and proxy ARP is disabled. When IP routing is enabled, the default gateway feature is disabled and you can configure proxy ARP and the router discovery servers.

Proxy ARP

The most common method of learning about other routes is by using proxy ARP. Proxy ARP, defined in RFC 1027, enables an Ethernet host with no knowledge of routing to communicate with hosts on other networks or subnets. Such a host assumes that all hosts are on the same local Ethernet, and that it can use ARP to determine their hardware addresses.

Under proxy ARP, if a device receives an ARP Request for a host that is not on the same network as the ARP Request sender, the Cisco IOS software evaluates whether it has the best route to that host. If it does, the device sends an ARP Reply packet giving its own Ethernet hardware address. The host that sent the ARP Request then sends its packets to the device, which forwards them to the intended host. The software treats all networks as if they are local and performs ARP requests for every IP address. This feature is enabled by default. If it has been disabled, see the section "Enabling Proxy ARP" earlier in this chapter.

Proxy ARP works as long as other routers support it. Many other routers, especially those loaded with host-based routing software, do not support it.

Default Gateway

Another method for locating routes is to define a default router (or gateway). The Cisco IOS software sends all nonlocal packets to this router, which either routes them appropriately or sends an IP Control Message Protocol (ICMP) redirect message back, telling it of a better route. The ICMP redir