cc/td/doc/product/software/ios103
hometocprevnextglossaryfeedbacksearchhelp
PDF

Table of Contents

Configuring IP Routing Protocols

Configuring IP Routing Protocols

This chapter describes how to configure the various Internet Protocol (IP) routing protocols. For a complete description of the commands listed in this chapter, refer to the "IP Routing Protocols Commands" chapter of the Access and Communication Servers Command Reference publication. For information on configuring the IP protocol, refer to the "IP Commands" chapter of this publication. For historical background and a technical overview of IP routing protocols, see the Internetworking Technology Overview publication.

Cisco's Implementation of IP Routing Protocols

Cisco's implementation of each IP routing protocol is discussed in detail at the beginning of the individual protocol configuration sections throughout this chapter.

IP routing protocols are divided into two classes: Interior Gateway Protocols (IGPs) and Exterior Gateway Protocols (EGPs). The IGPs and EGPs that Cisco supports are listed in the next two sections.


Note Many routing protocol specifications refer to communication servers as gateways, so the word gateway often appears as part of routing protocol names. However, a communication server usually is defined as a Layer 3 internetworking device, whereas a protocol translation gateway usually is defined as a Layer 7 internetworking device. The reader should understand that regardless of whether a routing protocol name contains the word "gateway," routing protocol activities occur at Layer 3 of the OSI reference model.

The Interior Gateway Protocols

Interior protocols are used for routing networks that are under a common network administration. All IP Interior Gateway Protocols must be specified with a list of associated networks before routing activities can begin. A routing process listens to updates from other communication servers on these networks and broadcasts its own routing information on those same networks. The interior routing protocols supported are as follows:

The Exterior Gateway Protocols

Exterior protocols exchange routing information between networks that do not share a common administration. The supported exterior routing protocols are as follows:

IP Exterior Gateway Protocols require three pieces of information before routing can begin:

Router Discovery Protocols

Our communication servers also support two communication server discovery protocols, Gateway Discovery Protocol (GDP) and ICMP Router Discovery Protocol (IRDP), which allow hosts to locate communication servers.

GDP was developed by Cisco and is not an industry standard. Examples of unsupported GDP clients can be obtained upon request from Cisco. Our IRDP implementation fully conforms to the communication server discovery protocol outlined in RFC 1256.

Multiple Routing Protocols

You can configure multiple routing protocols in a single communication server to connect networks that use different routing protocols. You can, for example, run RIP on one subnetted network, IGRP on another subnetted network, and exchange routing information between them in a controlled fashion. The available routing protocols were not designed to interoperate with one another, so each protocol collects different types of information and reacts to topology changes in its own way. For example, RIP uses a hop-count metric and IGRP uses a five-element vector of metric information. In the case where routing information is being exchanged between different networks that use different routing protocols, there are many configuration options that allow you to filter the exchange of routing information.

Our communication servers can handle simultaneous operation of up to 30 dynamic IP routing processes.The combination of routing processes on a communication server can consist of the following protocols (with the limits noted):

IP Routing Protocols Task List

With any of the IP routing protocols, you need to create the routing process, associate networks with the routing process, and customize the routing protocol for your particular network.

You will need to perform some combination of the tasks in the following sections to configure IP routing protocols:

See the end of this chapter for IP routing protocol configuration examples.

Determine a Routing Process

Choosing a routing protocol is a complex task. When choosing a routing protocol, consider (at least) the following:

The following sections describe the configuration tasks associated with each supported routing protocol. This publication does not provide in-depth information on how to choose routing protocols; you must choose routing protocols that best suit your needs. For detailed information on the technology behind the major routing protocols, see the Internetworking Technology Overview manual or other internetworking publications.

Configure IGRP

The Interior Gateway Routing Protocol (IGRP) is a dynamic distance-vector routing protocol designed by Cisco Systems in the mid-1980s for routing in an autonomous system that contains large, arbitrarily complex networks with diverse bandwidth and delay characteristics.

Cisco's IGRP Implementation

IGRP uses a combination of user-configurable metrics, including internetwork delay, bandwidth, reliability, and load.

IGRP also advertises three types of routes: interior, system, and exterior, as shown in Figure 19-1. Interior routes are routes between subnets in the network attached to a communication server interface. If the network attached to a communication server is not subnetted, IGRP does not advertise interior routes.


Figure 19-1:
Interior, System, and Exterior Routes


System routes are routes to networks within an autonomous system. The communication server derives system routes from directly connected network interfaces and system route information provided by other IGRP-speaking communication servers. System routes do not include subnet information.

Exterior routes are routes to networks outside the autonomous system that are considered when identifying a gateway of last resort. The communication server chooses a gateway of last resort from the list of exterior routes that IGRP provides. The communication server uses the gateway (communication server) of last resort if it does not have a better route for a packet and the destination is not a connected network. If the autonomous system has more than one connection to an external network, different communication servers can choose different exterior communication servers as the gateway of last resort.

IGRP Updates

By default, a communication server running IGRP sends an update broadcast every 90 seconds. It declares a route inaccessible if it does not receive an update from the first communication server in the route within three update periods (270 seconds). After seven update periods (630 seconds), the communication server removes the route from the routing table.

IGRP uses flash update and poison reverse updates to speed up the convergence of the routing algorithm. Flash update is the sending of an update sooner than the standard periodic update interval of notifying other communication servers of a metric change. Poison reverse updates are intended to defeat larger routing loops caused by increases in routing metrics. The poison reverse updates are sent to remove a route and place it in holddown, which keeps new routing information from being used for a certain period of time.

IGRP Configuration Task List

To configure IGRP, perform the tasks in the following sections. Creating the IGRP routing process is mandatory; the other tasks described are optional.

Create the IGRP Routing Process

To create the IGRP routing process, perform the following required tasks:
Task Command

    Step 1. Enter global configuration mode.

See Table 2-1 earlier in this manual.

    Step 2. Enable an IGRP routing process, which places you in router configuration mode.

router igrp process-number

    Step 3. Associate networks with an IGRP routing process.

network network-number

IGRP sends updates to the interfaces in the specified networks. If an interface's network is not specified, it will not be advertised in any IGRP update. You are not required to have a registered autonomous system number to use IGRP. If you do not have a registered number, you can create your own. However, if you do have a registered number, we recommend that you use it to identify the IGRP process.

Allow Point-to-Point Updates for IGRP

Because IGRP is normally a broadcast protocol, in order for IGRP routing updates to reach point-to-point or nonbroadcast networks, you must configure the communication server to permit this exchange of routing information.

To permit information exchange, perform the following task in router configuration mode:
Task Command

Define a neighboring communication server with which to exchange point-to-point routing information.

neighbor ip-address

To control the set of interfaces that you want to exchange routing updates with, you can disable the sending of routing updates on specified interfaces by configuring the passive-interface command. See the "Filter Routing Information" section later in this chapter.

Define Unequal-Cost Load Balancing

IGRP can simultaneously use an asymmetric set of paths for a given destination. This feature is known as unequal-cost load balancing. Unequal-cost load balancing allows traffic to be distributed among multiple (up to four) unequal-cost paths to provide greater overall throughput and reliability. Alternate path variance (that is, the difference in desirability between the primary and alternate paths) is used to determine the feasibility of a potential route. An alternate route is feasible if the next communication server in the path is closer to the destination (has a lower metric value) than the current communication server and if the metric for the entire alternate path is within the variance. Only paths that are feasible can be used for load balancing and included in the routing table. These conditions limit the number of cases in which load balancing can occur, but ensure that the dynamics of the network will remain stable.

The following general rules apply to IGRP unequal-cost load balancing:

If these conditions are met, the route is deemed feasible and can be added to the routing table.

By default, the amount of variance is set to one (equal-cost load balancing). You can define how much worse an alternate path can be before that path is disallowed by performing the following task in router configuration mode:
Task Command

Define the variance associated with a particular path.

variance multiplier

See the "IP Routing Protocol Configuration Examples" section at the end of this chapter for an example of configuring IGRP feasible successor.


Note By using the variance feature, the communication server can balance traffic across all feasible paths and can immediately converge to a new path if one of the paths should fail.

Control Traffic Distribution

By default, if IGRP or Enhanced IGRP have multiple routes of unequal cost to the same destination, the communication server will distribute traffic among the different routes by giving each route a share of the traffic in inverse proportion to its metric. If you want to have faster convergence to alternate routes but you do not want to send traffic across inferior routes in the normal case, you might prefer to have no traffic flow along routes with higher metrics.

To control how traffic is distributed among multiple routes of unequal cost, perform the following task in router configuration mode:
Task Command

Distribute traffic proportionately to the ratios of metrics, or by the minimum-cost route.

traffic-share {balanced | min}

Adjust the IGRP Metric Weights

You have the option of altering the default behavior of IGRP routing and metric computations. For example, you can tune system behavior to enable transmissions via satellite. Although IGRP metric defaults were carefully selected to provide excellent operation in most networks, you can adjust the IGRP metric. Adjusting IGRP metric weights can dramatically affect network performance, however, so ensure you make all metric adjustments carefully.

To adjust the IGRP metric weights, perform the following task in router configuration mode. Due to the complexity of this task, we recommend that you only perform it with guidance from an experienced system designer.
Task Command

Adjust the IGRP metric.

metric weights tos k1 k2 k3 k4 k5

By default, the IGRP composite metric is a 24-bit quantity that is a sum of the segment delays and the lowest segment bandwidth (scaled and inverted) for a given route. For a network of homogeneous media, this metric reduces to a hop count. For a network of mixed media (FDDI, Ethernet, and serial lines running from 9600 bps to T1 rates), the route with the lowest metric reflects the most desirable path to a destination.

Disable Holddown

When a communication server learns that a network is at a greater distance than was previously known, or it learns the network is down, the route to that network is placed into holddown. During the holddown period, the route is advertised, but incoming advertisements about that network from any communication server other than the one that originally advertised the network's new metric will be ignored. This mechanism is often used to help avoid routing loops in the network, but has the effect of increasing the topology convergence time. To disable holddowns with IGRP, perform the following task in router configuration mode. All communication servers in an IGRP autonomous system must be consistent in their use of holddowns.
Task Command

Disable the IGRP holddown period.

no metric holddown

Enforce a Maximum Network Diameter

The communication server enforces a maximum diameter to the IGRP network. Routes whose hop counts exceed this diameter will not be advertised. The default maximum diameter is 100 hops. The maximum diameter is 255 hops.

To configure the maximum diameter, perform the following task in router configuration mode:
Task Command

Configure the maximum network diameter.

metric maximum-hops hops

Validate Source IP Addresses

To disable the default function that validates the source IP addresses of incoming routing updates, perform the following task in router configuration mode:
Task Command

Disable the checking and validation of the source IP address of incoming routing updates.

no validate-update-source

Configure Enhanced IGRP

Enhanced IGRP is an enhanced version of the Interior Gateway Routing Protocol (IGRP) developed by Cisco Systems, Inc. Enhanced IGRP uses the same distance vector algorithm and distance information as IGRP. However, the convergence properties and the operating efficiency of Enhanced IGRP have improved significantly over IGRP.

The convergence technology is based on research conducted at SRI International and employs an algorithm referred to as the Diffusing Update Algorithm (DUAL). This algorithm guarantees loop-free operation at every instant throughout a route computation and allows all communication servers involved in a topology change to synchronize at the same time. Communication servers that are not affected by topology changes are not involved in recomputations. The convergence time with DUAL rivals that of any other existing routing protocol.

Cisco's Implementation of Enhanced IGRP

IP Enhanced IGRP provides the following features:

Enhanced IGRP offers the following features:

Enhanced IGRP has four basic components:

Neighbor discovery/recovery is the process that routers use to dynamically learn of other routers on their directly attached networks. Routers must also discover when their neighbors become unreachable or inoperative. Neighbor discovery/recovery is achieved with low overhead by periodically sending small hello packets. As long as hello packets are received, a router can determine that a neighbor is alive and functioning. Once this status is determined, the neighboring routers can exchange routing information.

The reliable transport protocol is responsible for guaranteed, ordered delivery of Enhanced IGRP packets to all neighbors. It supports intermixed transmission of multicast and unicast packets. Some Enhanced IGRP packets must be transmitted reliably and others need not be. For efficiency, reliability is provided only when necessary. For example, on a multiaccess network that has multicast capabilities, such as Ethernet, it is not necessary to send hellos reliably to all neighbors individually. Therefore, Enhanced IGRP sends a single multicast hello with an indication in the packet informing the receivers that the packet need not be acknowledged. Other types of packets, such as updates, require acknowledgment, and this is indicated in the packet. The reliable transport has a provision to send multicast packets quickly when there are unacknowledged packets pending. Doing so helps ensure that convergence time remains low in the presence of varying speed links.

The DUAL finite state machine embodies the decision process for all route computations. It tracks all routes advertised by all neighbors. DUAL uses the distance information, known as a metric, to select efficient, loop-free paths. DUAL selects routes to be inserted into a routing table based on feasible successors. A successor is a neighboring router used for packet forwarding that has a least-cost path to a destination that is guaranteed not to be part of a routing loop. When there are no feasible successors but there are neighbors advertising the destination, a recomputation must occur. This is the process whereby a new successor is determined. The amount of time it takes to recompute the route affects the convergence time. Even though the recomputation is not processor intensive, it is advantageous to avoid recomputation if it is not necessary. When a topology change occurs, DUAL will test for feasible successors. If there are feasible successors, it will use any it finds in order to avoid unnecessary recomputation.

The protocol-dependent modules are responsible for network layer protocol-specific tasks. An example is the IP Enhanced IGRP module, which is responsible for sending and receiving Enhanced IGRP packets that are encapsulated in IP. It is also responsible for parsing Enhanced IGRP packets and informing DUAL of the new information received. IP Enhanced IGRP asks DUAL to make routing decisions, but the results are stored in the IP routing table. Also, IP Enhanced IGRP is responsible for redistributing routes learned by other IP routing protocols.

Enhanced IGRP Configuration Task List

To configure IP Enhanced IGRP, complete the tasks in the following sections. At a minimum, you must enable IP Enhanced IGRP. The remaining tasks are optional.

See the "IP Routing Protocol Configuration Examples" section at the end of this chapter for configuration examples.

Enable IP Enhanced IGRP

To create an IP Enhanced IGRP routing process, perform the following tasks:
Task Command

    Step 1. Enable an IP Enhanced IGRP routing process in global configuration mode.

router eigrp process-number

    Step 2. Associate networks with an IP Enhanced IGRP routing process in router configuration mode.

network network-number

IP Enhanced IGRP sends updates to the interfaces in the specified network(s). If you do not specify an interface's network, it will not be advertised in any IP Enhanced IGRP update.

Transition from IGRP to Enhanced IGRP

If you have communication servers on your network that are configured for IGRP and you want to make a transition to routing Enhanced IGRP, you need to designate transition communication servers that have both IGRP and Enhanced IGRP configured. In these cases, perform the tasks as noted in the previous section, "Create the IP Enhanced IGRP Routing Process," and also read the section "Configure IGRP" earlier in this chapter. You must use the same autonomous system number in order for routes to be redistributed automatically.

Configure IP Enhanced IGRP-Specific Parameters

To configure IP Enhanced IGRP-specific parameters, perform one or more of the following tasks:

Define Unequal-Cost Load Balancing

IP Enhanced IGRP can simultaneously use an asymmetric set of paths for a given destination. This feature is known as unequal-cost load balancing. Unequal-cost load balancing allows traffic to be distributed among up to four unequal-cost paths to provide greater overall throughput and reliability. Alternate path variance (the difference in desirability between the primary and alternate paths) is used to determine the feasibility of a potential route. An alternate route is feasible if the next communication server in the path is closer to the destination (has a lower metric value) than the current communication server and if the metric for the entire alternate path is within the variance. Only paths that are feasible can be used for load balancing and included in the routing table. These conditions limit the number of cases in which load balancing can occur, but ensure that the dynamics of the network will remain stable.

The following general rules apply to IP Enhanced IGRP unequal-cost load balancing:

If these conditions are met, the route is deemed feasible and can be added to the routing table.

By default, the amount of variance is set to one (equal-cost load balancing). To change the variance to define how much worse an alternate path can be before that path is disallowed, perform the following task in router configuration mode:
Task Command

Define the variance associated with a particular path.

variance multiplier

See the "IP Routing Protocol Configuration Examples" section at the end of this chapter for an example of configuring an IP Enhanced IGRP feasible successor.


Note By using the variance feature, the communication server can balance traffic across all feasible paths and can immediately converge to a new path if one of the paths should fail.

Adjust the IP Enhanced IGRP Metric Weights

You can adjust the default behavior of IP Enhanced IGRP routing and metric computations. For example, you can tune system behavior to allow for satellite transmission. Although IP Enhanced IGRP metric defaults have been carefully selected to provide excellent operation in most networks, you can adjust the IP Enhanced IGRP metric. Adjusting IP Enhanced IGRP metric weights can dramatically affect network performance, so be careful if you adjust them.

To adjust the IP Enhanced IGRP metric weights, perform the following task in router configuration mode:
Task Command

Adjust the IP Enhanced IGRP metric.

metric weights tos k1 k2 k3 k4 k5


Note Because of the complexity of this task, it is not recommended unless it is done with guidance from an experienced network designer.

By default, the IP Enhanced IGRP composite metric is a 32-bit quantity that is a sum of the segment delays and the lowest segment bandwidth (scaled and inverted) for a given route. For a network of homogeneous media, this metric reduces to a hop count. For a network of mixed media (FDDI, Ethernet, and serial lines running from 9600 bps to T1 rates), the route with the lowest metric reflects the most desirable path to a destination.

Disable Route Summarization

You can configure IP Enhanced IGRP to perform automatic summarization of subnet routes into network-level routes. For example, you can configure subnet 131.108.1.0 to be advertised as 131.108.0.0 over interfaces that have subnets of 192.31.7.0 configured. Automatic summarization is performed when there are two or more network router configuration commands configured for the IP Enhanced IGRP process. By default, this feature is enabled.

To disable automatic summarization, perform the following task in router configuration mode:
Task Command

Disable automatic summarization.

no auto-summary

Route summarization works in conjunction with the ip summary-address eigrp interface configuration command, in which additional summarization can be performed. If auto-summary is in effect, there usually is no need to configure network level summaries using the ip summary-address eigrp command.

Configure Summary Aggregate Addresses

You can configure a summary aggregate address for a specified interface. If there are any more-specific routes in the routing table, IP Enhanced IGRP will advertise the summary address out the interface with a metric equal to the minimum of all more-specific routes.

To configure a summary aggregate address, perform the following task in interface configuration mode:
Task Command

Configure a summary aggregate address.

ip summary-address eigrp autonomous-system-number address mask

Monitor IP Enhanced IGRP on an IP Network

You can display communication server statistics such as the contents of IP routing tables, caches, and databases. You can use the information displayed to determine resource utilization and solve network problems. You can also display information about node reachability and discover the routing path that your communication server's packets are taking through the network.

To display various statistics, perform one or more of the following tasks at the EXEC prompt:
Task Command

Delete neighbors from the neighbor table.

clear ip eigrp neighbors [ip-address | interface]

Display the IP Enhanced IGRP discovered neighbors.

show ip eigrp neighbors [interface number]

Display the IP Enhanced IGRP topology table for a given process.

show ip eigrp topology [autonomous-system-number | [[ip-address] mask]]

Display the number of packets sent and received for all or a specified IP Enhanced IGRP process.

show ip eigrp traffic [autonomous-system-number]

Display the parameters and current state of the active routing protocol process.

show ip protocols

Display the current state of the routing table.

show ip route [ip-address [mask]] | [protocol [process-id]]

Display the current state of the routing table in summary form.

show ip route summary

Configure OSPF

Open Shortest Path First (OSPF) is an IGP developed by the OSPF working group of the Internet Engineering Task Force (IETF). Designed expressly for IP networks, OSPF supports IP subnetting and tagging of externally derived routing information. OSPF also allows packet authentication and uses IP multicast when sending/receiving packets.

We support RFC 1253, Open Shortest Path First (OSPF) MIB, August 1991. The OSPF MIB defines an IP routing protocol that provides management information related to OSPF and is supported by Cisco routers and access servers.

Cisco's OSPF Implementation

Cisco's implementation conforms to the OSPF Version 2 specifications detailed in the Internet RFC 1583. The list that follows outlines key features supported in Cisco's OSPF implementation:


Note In order to take advantage of the OSPF stub area support, default routing must be used in the stub area.

OSPF Configuration Task List

OSPF typically requires coordination among many internal communication servers, communication servers acting as area border routers (routers connected to multiple areas), and communication servers acting as autonomous system boundary routers. At a minimum, OSPF-based communication servers can be configured with all default parameter values, no authentication, and interfaces assigned to areas. If you intend to customize your environment, you must ensure coordinated configurations of all communication servers.

To configure OSPF, complete the tasks in the following sections. Enabling OSPF is mandatory; the other tasks are optional but might be required for your application.

In addition, you can specify route redistribution; see the "Redistribute Routing Information" section later in this chapter for information on how to configure route redistribution.

Enable OSPF

As with other routing protocols, enabling OSPF requires that you create an OSPF routing process, specify the range of IP addresses to be associated with the routing process, and assign area IDs to be associated with that range of IP addresses. Perform the following tasks, starting in global configuration mode:
Task Command

    Step 1. Enable OSPF routing, which places you in router configuration mode.

router ospf process-id

    Step 2. Define an interface on which OSPF runs and define the area ID for that interface.

network address wildcard-mask area area-id

Configure OSPF Interface Parameters

Our OSPF implementation allows you to alter certain interface-specific OSPF parameters, as needed.You are not required to alter any of these parameters, but some interface parameters must be consistent across all communication servers in an attached network. Therefore, be sure that if you do configure any of these parameters, the configurations for all communication servers on your network have compatible values.

In interface configuration mode, specify any of the following interface parameters as needed for your network:
Task Command

Explicitly specify the cost of sending a packet on an OSPF interface.

ip ospf cost cost

Specify the number of seconds between link state advertisement retransmissions for adjacencies belonging to an OSPF interface.

ip ospf retransmit-interval seconds

Set the estimated number of seconds it takes to transmit a link state update packet on an OSPF interface.

ip ospf transmit-delay seconds

Set communication server priority to help determine the OSPF designated communication server for a network.

ip ospf priority number

Specify the length of time, in seconds, between the hello packets that a communication server sends on an OSPF interface.

ip ospf hello-interval seconds

Set the number of seconds that a communication server's hello packets must not have been seen before its neighbors declare the OSPF communication server down.

ip ospf dead-interval seconds

Assign a specific password to be used by neighboring OSPF communication servers on a network segment that is using OSPF's simple password authentication.

ip ospf authentication-key password

Configure OSPF over Different Physical Networks

OSPF classifies different media into three types of networks by default:

You can configure your network as either a broadcast or a nonbroadcast multiaccess network.

X.25 and Frame Relay provide an optional broadcast capability that can be configured in the map to allow OSPF to run as a broadcast network. See the x25 map and frame-relay map command descriptions in the Access and Communication Servers Command Reference publication for more detail.

Configure Your OSPF Network Type

You have the choice of configuring your OSPF network type to either broadcast or nonbroadcast multiaccess, regardless of the default media type. Using this feature, you can configure broadcast networks as nonbroadcast multiaccess networks when, for example, you have routers in your network that do not support multicast addressing. You also can configure nonbroadcast multiaccess networks, such as X.25, Frame Relay, and SMDS, as broadcast networks. This feature saves you from having to configure neighbors, as described in the section "Configure OSPF for Nonbroadcast Neworks."

Configuring nonbroadcast multiaccess networks as either broadcast or nonbroadcast assumes that there are virtual circuits from every router to every router or fully-meshed network. This is not true for some cases, for example, due to cost constraints or when you have only a partially-meshed network. In these cases, you can configure the OSPF network type as a point-to-multipoint network. Routing between two routers that are not directly connected will go through the router that has virtual circuits to both routers. Note that you do not need to configure neighbors when using this feature.

To configure your OSPF network type, perform the following task in interface configuration mode:
Task Command

Configure the OSPF network type for a specified interface.

ip ospf network {broadcast | non-broadcast | point-to-multipoint}

Configure OSPF for Nonbroadcast Neworks

Because there might be many communication servers attached to an OSPF network, a designated communication server is selected for the network. It is necessary to use special configuration parameters in the designated communication server selection if broadcast capability is not configured.

These parameters need only be configured in those communication servers that are themselves eligible to become the designated communication server or backup designated communication server (in other words, communication servers with a nonzero communication server priority value).

To configure communication servers that interconnect to nonbroadcast networks, perform the following task in router configuration mode
Task Command

Configure communication servers interconnecting to nonbroadcast networks.

neighbor ip-address [priority number] [poll-interval seconds]

You can specify the following neighbor parameters, as required:

Configure OSPF Area Parameters

Our OSPF software allows you to configure several area parameters. These area parameters, shown in the following table, include authentication, defining stub areas, and assigning specific costs to the default summary route. Authentication allows password-based protection against unauthorized access to an area. Stub areas are areas into which information on external routes is not sent. Instead, there is a default external route generated by the area border router into the stub area for destinations outside the autonomous system.

In router configuration mode, specify any of the following area parameters as needed for your network:
Task Command

Enable authentication for an OSPF area.

area area-id authentication

Define an area to be a stub area.

area area-id stub

Assign a specific cost to the default summary route used for the stub area.

area area-id default-cost cost

Configure Route Summarization between OSPF Areas

Route summarization is the consolidation of advertised addresses. This feature causes a single summary route to be advertised to other areas by a communication server acting as an area border router. In OSPF, a communication server acting as an area border router will advertise networks in one area into another area. If the network numbers in an area are assigned in a way such that they are contiguous, you can configure the communication server acting as an area border router to advertise a summary route that covers all the individual networks within the area that fall into the specified range.

To specify an address range, perform the following task in router configuration mode:
Task Command

Specify an address range for which a single route will be advertised.

area area-id range address mask

Configure Route Summarization when Redistributing Routes into OSPF

When redistributing routes from other protocols into OSPF (as described in the section "Configure Routing Protocol-Independent Features" in this chapter, each route is advertised individually in an external link state advertisement (LSA). However, you can configure the router to advertise a single route for all the redistributed routes that are covered by a specified network address and mask. Doing so helps decrease the size of the OSPF link state database.

To have the router advertise one summary route for all redistributed routes covered by a network address and mask, perform the following task in router configuration mode:
Task Command

Spsecifiy an address and mask that covers redistributed routes, so only one summary route is advertised.

summary-address address mask

Create Virtual Links

In OSPF, all areas must be connected to a backbone area. If there is a break in backbone continuity, or the backbone is purposefully partitioned, you can establish a virtual link. The two end points of a virtual link are Area Border Routers. The virtual link must be configured in both routers. The configuration information in each router consists of the other virtual endpoint (the other Area Border Router), and the nonbackbone area that the two routers have in common (called the transit area). Note that virtual links cannot be configured through stub areas.

To establish a virtual link, perform the following task in router configuration mode:
Task Command

Establish a virtual link.

area area-id virtual-link router-id [hello-interval seconds] [retransmit-interval seconds] [transmit-delay seconds] [dead-interval seconds] [authentication-key password]

To display information about virtual links, use the show ip ospf virtual-links EXEC command. To display the router ID of an OSPF router, use the show ip ospf EXEC command.

Generate a Default Route

You can force an autonomous system boundary communication server to generate a default route into an OSPF routing domain. Whenever you specifically configure redistribution of routes into an OSPF routing domain, the communication server automatically becomes an autonomous system boundary communication server. However, an autonomous system boundary communication server does not, by default, generate a default route into the OSPF routing domain.

To force the communication server acting as an autonomous system boundary router to generate a default route, perform the following task in router configuration mode:
Task Command

Force the autonomous system boundary router to generate a default route into the OSPF routing domain.

default-information originate [always] [metric metric-value]
[metric-type type-value] [route-map map-name]

See also the discussion of redistribution of routes in the "Configure Routing Protocol-Independent Features" section later in this chapter.

Configure Lookup of DNS Names

You can configure OSPF to look up Domain Name System (DNS) names for use in all OSPF show command displays. This feature makes it easier to identify a communication server, because it is displayed by name rather than by its communication server ID or neighbor ID.

To configure DNS name lookup, perform the following task in global configuration mode:
Task Command

Configure DNS name lookup.

ip ospf-name-lookup

Force the Router ID Choice with a Loopback Interface

OSPF uses the largest IP address configured on the communication server's interfaces as its router ID. If the interface associated with this IP address is ever brought down, or if the address is removed, the OSPF process must recalculate a new router ID and resend all of its routing information out its interfaces.

If a loopback interface is configured with an IP address, the communication server will use this IP address as its router ID, even if other interfaces have larger IP addresses. Because loopback interfaces never go down, greater stability in the routing table is achieved.

OSPF automatically prefers a loopback interface over any other kind, and it chooses the first loopback interface found. If no loopback interfaces are present, the highest IP address in the communication server is chosen. You cannot tell OSPF to use any particular interface.

To configure an IP address on a loopback interface, perform the following tasks, starting in global configuration mode:
Task Command

    Step 1. Create a loopback interface, which places you in interface configuration mode.

interface loopback 01

    Step 2. Assign an IP address to this interface.

ip address address mask

1This command is documented in the "Interface Commands" chapter of the Access and Communication Servers Command Reference publication.

Configure OSPF on Simplex Ethernet Interfaces

Because simplex interfaces between two routers on an Ethernet represent only one network segment, for OSPF you have to configure the transmitting interface to be a passive interface. This prevents OSPF from sending hello packets for the transmitting interface. Both routers are able to see each other via the hello packet generated for the receiving interface.

To configure OSPF on simplex Ethernet interfaces, perform the following task in router configuration mode:
Task Command

Suppress the sending of hello packets through the specified interface.

passive-interface interface

Configure Route Calculation Timers

You can configure the delay time between when OSPF receives a topology change and when it starts a Shortest Path First (SPF) calculation. You can also configure the hold time between two consecutive SPF calculations. To do this, perform the following task in router configuration mode:
Task Command

Configure route calculation timers.

timers spf spf-delay spf-holdtime

Disable Default OSPF Metric Calculation Based on Bandwidth

In Cisco IOS Release 10.2 and earlier, OSPF assigned default OSPF metrics to interfaces regardless of the interface bandwidth. It gave both 64K and T1 links the same metric (1562), and thus required an explicit ip ospf cost command in order to take advantage of the faster link.

In Cisco IOS Release 10.3, by default, OSPF calculates the OSPF metric for an interface according to the bandwidth of the interface. For example, a 64K link gets a metric of 1562, while a T1 link gets a metric of 64. To disable this feature, perform the following task in router configuration mode:
Task Command

Disable default OSPF metric calculations based on interface bandwidth, resulting in a fixed default metric assignment.

no ospf auto-cost-determination

Configure RIP

The Routing Information Protocol (RIP) is a relatively old but still commonly used IGP created for use in small, homogeneous networks. It is a classical distance-vector routing protocol.

RIP uses broadcast User Datagram Protocol (UDP) data packets to exchange routing information. Each communication server sends routing information updates every 30 seconds; this process is termed advertising. If a communication server does not receive an update from another communication server for 180 seconds or more, it marks the routes served by the nonupdating communication server as being unusable. If there is still no update after 240 seconds, the communication server removes all routing table entries for the nonupdating communication server.

The measure, or metric, that RIP uses to rate the value of different routes is the hop count. The hop count is the number of communication servers that can be traversed in a route. A directly connected network has a metric of zero; an unreachable network has a metric of 16. This small range of metrics makes RIP unsuitable as a routing protocol for large networks. If the communication server has a default network path, RIP advertises a route that links the communication server to the pseudonetwork 0.0.0.0. The network 0.0.0.0 does not exist; RIP treats 0.0.0.0 as a network to implement the default routing feature. Our systems will advertise the default network if a default was learned by RIP or if the communication server has a gateway of last resort and RIP is configured with a default metric.

RIP sends updates to the interfaces in the specified networks. If an interface's network is not specified, it will not be advertised in any RIP update.

For information about filtering RIP information, see the "Filter Routing Information" section later in this chapter. RIP is documented in RFC 1058.

To configure RIP, perform the following tasks, starting in global configuration mode:
Task Command

    Step 1. Enable a RIP routing process, which places you in router configuration mode.

router rip

    Step 2. Associate a network with a RIP routing process.

network network-number

Running IGRP and RIP Concurrently

It is possible to run IGRP and RIP concurrently. The IGRP information will override the RIP information by default because of IGRP's administrative distance.

However, running IGRP and RIP concurrently does not work well when the network topology changes. Because IGRP and RIP have different update timers and because they require different amounts of time to propagate routing updates, one part of the network will end up believing IGRP routes and another part will end up believing RIP routes. This will result in routing loops. Even though these loops do not exist for very long, the time to live (TTL) will quickly reach zero, and ICMP will send a "TTL exceeded" message. This message will cause most applications to stop attempting network connections.

Validate Source IP Addresses

To disable the default function that validates the source IP addresses of incoming routing updates, perform the following task in router configuration mode:
Task Command

Disable the checking and validation of the source IP address of incoming routing updates.

no validate-update-source

Allow Point-to-Point Updates for RIP

Because RIP is normally a broadcast protocol, in order for RIP routing updates to reach point-to-point or nonbroadcast networks, you must configure the communication server to permit this exchange of routing information.

You configure the communication server to permit this exchange of routing information by performing the following task in router configuration mode:
Task Command

Define a neighboring communication server with which to exchange point-to-point routing information.

neighbor ip-address

To control the set of interfaces that you want to exchange routing updates with, you can disable the sending of routing updates on specified interfaces by configuring the passive-interface command. See the discussion on filtering in the "Filter Routing Information" section later in this chapter.

Configure BGP

The Border Gateway Protocol (BGP), as defined in RFCs 1163 and 1267, allows you to set up an interdomain routing system that automatically guarantees the loop-free exchange of routing information between autonomous systems.

Cisco's BGP Implementation

In BGP, each route consists of a network number, a list of autonomous systems that information has passed through (called the autonomous system path or AS path), and a list of other path attributes. We support BGP Versions 2, 3, and 4. This section describes our implementation of BGP.

The primary function of a BGP system is to exchange network reachability information with other BGP systems, including information about the list of AS paths. This information can be used to construct a graph of autonomous system connectivity from which routing loops can be pruned and with which autonomous system-level policy decisions can be enforced.

You can configure the value for the multiple exit discriminator (MULTI_EXIT_DISC, or MED) metric attribute using route maps. (The name of this metric for BGP Versions 2 and 3 is INTER_AS.) When an update is sent to an IBGP peer, the MED will be passed along without any change. This will enable all the peers in the same autonomous system to make a consistent path selection.

A third-party next-hop communication server address is used in the NEXT_HOP attribute, regardless of the autonomous system path of that third-party communication server. The communication server automatically calculates the value for this attribute.

Transitive, optional path attributes are passed along to other BGP-speaking communication servers. The current BGP implementation does not generate such attributes.

BGP Version 4 (BGP4) supports classless interdomain routing (CIDR), which lets you reduce the size of your routing tables by creating aggregate routes, resulting in supernets. CIDR eliminates the concept of network classes within BGP and supports the advertising of IP prefixes. CIDR routes can be carried by OSPF.

See the "Using Route Maps with BGP" section later in this chapter for examples of how to use route maps to redistribute BGP4 routes.

How BGP Selects Paths

The BGP process selects a single autonomous system path to use and to pass along to other BGP-speaking communication servers. Cisco's BGP implementation has a reasonable set of factory defaults that can be overridden by administrative weights. The algorithm for path selection is as follows:

BGP Configuration Task List

To configure BGP, complete the tasks in the following sections:

The tasks in the following sections are optional:

Enable BGP Routing

To enable BGP routing, establish a BGP routing process on the communication server and specify those networks within the communication server's autonomous system to be advertised. Perform the following steps. There is a limit of 200 networks that can be advertised from one autonomous system.
Task Command

    Step 1. Enter global configuration mode.

See Table 2-1 earlier in this manual.

    Step 2. Enable a BGP routing process, which places you in router configuration mode.

router bgp autonomous-system

    Step 3. Flag a network as local to this autonomous system.

network network-number mask network-mask


Note For Exterior Gateway Protocols, a reference to an IP network from the network router configuration command only controls which networks are advertised. This is in contrast to Interior Gateway Protocols, such as IGRP, which also use the network command to determine where to send updates.

Configure BGP Neighbors

Like other Exterior Gateway Protocols (EGPs), BGP must completely understand the relationships it has with its neighbors. BGP supports two kinds of neighbors: internal and external. Internal neighbors are in the same autonomous system path; external neighbors are in different autonomous system paths. Normally, external neighbors are adjacent to each other and share a subnet, while internal neighbors may be anywhere in the same autonomous system.

To configure BGP neighbors, perform the following task in router configuration mode:
Task Command

Specify a BGP neighbor.

neighbor ip-address remote-as number

You also can configure neighbor templates that use a word argument rather than an IP address to configure BGP neighbors. This is an advanced feature requiring a well-thought-out network architecture. Do not use this feature without thoroughly understanding its application.

Perform the following tasks in router configuration mode to configure BGP neighbor templates:
Task Command

Support anonymous neighbor peers by configuring a neighbor template.

neighbor template-name neighbor-list access-list-number

Treat neighbors that have been accepted by a template as if they were configured by hand.

neighbor template-name configure-neighbors

Reset BGP Connections

Once you have defined two communication servers to be BGP neighbors, they will form a BGP connection and exchange routing information. If you subsequently change a BGP filter, weight, distance, version, or timer, or make a similar configuration change, you need to reset BGP connections for the configuration change to take effect. Perform either of the following tasks in EXEC mode to reset BGP connections:
Task Command

Reset a particular BGP connection.

clear ip bgp address

Reset all BGP connections.

clear ip bgp *

To automatically reset BGP sessions, perform the following task in router configuration mode:
Task Command

Automatically reset BGP sessions of any directly adjacent external peer if the link used to reach it goes down.

bgp fast-external-fallover

Configure BGP Route Filtering by Neighbor

If you want to restrict the routing information that the communication server learns or advertises, you can filter BGP routing updates to and from particular neighbors. To do this, define an access list and apply it to the updates. Distribute-list filters are applied to network numbers and not AS paths.

To filter BGP routing updates, perform the following task in router configuration mode:
Task Command

Filter BGP routing updates to/from neighbors as specified in an access list.

neighbor ip-address distribute-list access-list-number {in | out}

Configure BGP Path Filtering by Neighbor

In addition to filtering routing updates based on network numbers, you can specify an access list filter on both incoming and outbound updates based on the BGP AS paths. Each filter is an access list based on regular expressions. To do this, define an AS path access list and apply it to updates to and from particular neighbors. See the "Regular Expressions" appendix in the Access and Communication Servers Command Reference publication for more information on forming regular expressions.

Perform the following tasks to configure BGP path filtering:
Task Command

    Step 1. Enter global configuration mode.

See Table 2-1 earlier in this manual.

    Step 2. Define a BGP-related access list.

ip as-path access-list access-list-number {permit | deny}
as-regular-expression

    Step 3. Enter router configuration mode.

See Table 2-1 earlier in this manual.

    Step 4. Establish a BGP filter.

neighbor ip-address filter-list access-list-number {in | out | weight weight}

Configure BGP Community Filtering

BGP supports transit policies via controlled distribution of routing information. The distribution of routing information is based on one of three values:

The COMMUNITY path attribute is a way to group destinations into communities and apply routing decisions based on the communities. This method simplifies a BGP speaker's configuration that controls distribution of routing information.

A community is a group of destinations that share some common attribute. Each destination can belong to multiple communities. Autonomous system administrators can define which communities a destination belongs to. By default, all destinations belong to the general Internet community. The community is carried as the COMMUNITY path attribute.

The COMMUNITY path attribute is an optional, transitive, global attribute in the numerical range from 1 to 4,294,967,200 or set to one of these values:

Based on the community, you can control which routing information to accept, prefer, or distribute to other neighbors. A BGP speaker can set, append, or modify the community of a route when you learn, advertise, or redistribute routes. When routes are aggregated, the resulting aggregate has a COMMUNITY path attribute that contains all communities from all the initial routes.

To set the COMMUNITY path attribute, see the section "Redistribute Routing Information" later in this chapter.

Configure Neighbor Options

If you would like to provide BGP routing information to a large number of neighbors, you can configure BGP to accept neighbors based on an access list. If a neighbor attempts to initiate a BGP connection, its address must be accepted by the access list for the connection to be accepted. If you use this feature, the communication server will not attempt to initiate a BGP connection to these neighbors, so the neighbors must be explicitly configured to initiate the BGP connection. If no access list is specified, all connections are accepted.

By default, no COMMUNITY path attribute is sent to a neighbor. You can specify that the COMMUNITY path attribute be sent to the neighbor at an IP address.

If a neighbor is running a different version of BGP, you should configure the version of BGP that the neighbor is running.

External BGP peers normally must reside on a directly connected network. Sometimes it is useful to relax this restriction in order to test BGP; do so by specifying the neighbor ebgp-multihop command

For internal BGP, you might want to allow your BGP connections to stay up regardless of which interfaces are available on the communication server. To do this, you first configure a loopback interface and assign it an IP address. Next, configure the BGP update source to be the loopback interface. Finally, configure your neighbor to use the address on the loopback interface.

You can also set the minimum interval of time between BGP routing updates and apply a route map to incoming and outgoing routes.

Configure any of the following neighbor options in communication server configuration mode:
Task Command

Specify an access list of BGP neighbors.

neighbor any [access-list-number]

Specify the BGP version to use when communicating with a neighbor.

neighbor ip-address version value

Allow internal BGP sessions to use any operational interface for TCP connections.

neighbor ip-address update-source interface

Allow BGP sessions even when the neighbor is not on a directly connected segment.

neighbor ip-address ebgp-multihop

Set the minimum interval between sending BGP routing updates.

neighbor {address | tag} advertisement-interval seconds

Apply a route map to incoming or outgoing routes.

neighbor {address | tag} route-map route-map-name
{in | ou
t}

See the "IP Routing Protocol Configuration Examples" at the end of this chapter for examples of configuring BGP neighbor options.

Redistribute Routing Information

In addition to running multiple routing protocols simultaneously, the communication server can redistribute information from one routing protocol to another. For example, you can instruct the communication server to readvertise IGRP-derived routes using the RIP protocol, or to readvertise static routes using the IGRP protocol. This applies to all of the IP-based routing protocols.

You can also conditionally control the redistribution of routes between routing domains by defining a method known as route maps between the two domains.

The following four tables list tasks associated with route redistribution.

To define a route map for redistribution, perform the following task in global configuration mode:
Task Command

Define any route maps needed to control redistribution.

route-map map-tag [[permit | deny] [sequence-number]]

A pair of match and set commands are required to follow a route-map command. To define conditions for redistributing routes from one routing protocol into another, perform at least one of the following tasks in route-map configuration mode:
Task Command

Match a BGP autonomous system path access list.

match as-path path-list-number

Match a BGP community list.

match community-list community-list-number [exact]

Match a standard access list.

match ip address access-list-number...access-list-number

Match the specified metric.

match metric metric-value

Match a next-hop communication server address passed by one of the access lists specified.

match ip next-hop access-list-number...access-list-number

Match the specified tag value.

match tag tag-value...tag-value

Match the specified next hop route out one of the interfaces specified.

match interface type number...type number

Match the address specified by the specified advertised access lists.

match ip route-source access-list-number...access-list-number

Match the specified route type.

match route-type {local | internal | external [type-1 | type-2]}

A pair of match and set commands are required to follow a route-map command. To define conditions for redistributing routes from one routing protocol into another, perform at least one of the following tasks in route-map configuration mode:
Task Command

Set the COMMUNITY path attribute.

set community community-number [additive]

Assign a value to a local BGP path.

set local-preference value

Specify the BGP weight for the routing table.

set weight weight

Set the BGP origin code.

set origin {igp | egp remote as | incomplete}

Specify the address of the next hop.

set next-hop next-hop

Enable automatic computing of tag table.

set automatic-tag

For routes that are advertised into the specified area of the routing domain.

set level {level-1 | level-2 | level-1-2 | stub-area | backbone}

Set the metric value to give the redistributed routes.

set metric metric-value

Set the metric type to give redistributed routes.

set metric-type {internal | external | type-1 | type-2}

Set a tag value to associate with the redistributed routes.

set tag tag-value

To distribute routes from one routing domain into another and to control route redistribution, perform the following tasks in communication server configuration mode:
Task Command

Redistribute routes from one routing protocol to another routing protocol.

redistribute protocol [process-id] {level-1 | level-1-2 | level-2} [metric metric-value] [metric-type type-value] [match internal | external type-value] [tag tag-value] [route-map map-tag] [weight weight] [subnets]

Cause the current routing protocol to use the same metric value for all redistributed routes.

default-metric number

Cause the IGRP routing protocol to use the same metric value for all redistributed routes.

default-metric bandwidth delay reliability loading mtu

Disable the redistribution of default information between IGRP processes. This is enabled by default.

no default-information allowed {in | out}

The metrics of one routing protocol do not necessarily translate into the metrics of another. For example, the RIP metric is a hop count and the IGRP metric is a combination of five quantities. In such situations, an artificial metric is assigned to the redistributed route. Because of this unavoidable tampering with dynamic information, carelessly exchanging routing information between different routing protocols can create routing loops, which can seriously degrade network operation.

See the "IP Routing Protocol Configuration Examples" section in this chapter for examples of configuring redistribution and route maps.

Configure a Community List

To create a community list, perform the following task in global configuration mode:
Task Command

Create a community list.

ip community-list community-list-number {permit | deny} community-number

Display System and Network Statistics

You can display specific communication server statistics such as the contents of IP routing tables, caches, and databases. Information provided can be used to determine resource utilization and solve network problems. You can also display information about node reachability and discover the routing path your communication server's packets are taking through the network.

To display various communication server statistics, perform the following tasks in EXEC mode:
Task Command

Trace a branch of a multicast tree for a specific group.

mbranch group-address branch-address [ttl]

Trace a branch of a multicast tree for a group in the reverse direction.

mrbranch group-address branch-address [ttl]

Display all BGP routes that contain subnet and supernet network masks.

show ip bgp cidr-only

Display routes that are matched by the specified AS path access list.

show ip bgp filter-list access-list-number

Display routes that belong to the specified communities.

show ip bgp community community-number [exact]

Display routes that are permitted by the community list.

show ip bgp community-list community-list-number [exact]

Display the routes that match the specified regular expression entered on the command line.

show ip bgp regexp regular-expression

Display the contents of the BGP routing table.

show ip bgp [network] [network-mask] [subnets]

Display detailed information on the TCP and BGP connections to individual neighbors.

show ip bgp neighbors [address]

Display routes learned from a particular BGP neighbor.

show ip bgp neighbors address [routes | paths]

Display all BGP paths in the database.

show ip bgp paths

Display the status of all BGP connections.

show ip bgp summary

Display the entries in the DVMRP routing table.

show ip dvmrp route [ip-address]

Display statistics on EGP connections and neighbors.

show ip egp

Display the IP Enhanced IGRP discovered neighbors.

show ip eigrp neighbors [type number]

Display the IP Enhanced IGRP topology table for a given process.

show ip eigrp topology [autonomous-system-number | [[ip-address] mask]]

Display the number of packets sent and received for all or a specified IP Enhanced IGRP process.

show ip eigrp traffic [autonomous-system-number]

Display the multicast groups that are directly connected to the communication server and that were learned via IGMP.

show ip igmp groups [group-name | group-address | interface]

Display multicast-related information about an interface.

show ip igmp interface [type number]

Display IRDP values.

show ip irdp

Display the contents of the IP multicast routing table.

show ip mroute [group-name | group-address] [summary] [count]
show ip mroute [group-name [source-address] | group-address [source-address]]

Display general information about OSPF routing processes in a particular communication server.

show ip ospf [process-id]

Display lists of information related to the OSPF database for a specific communication server.

show ip ospf [process-id area-id] database

show ip ospf [process-id area-id] database [router] [link-state-id]

show ip ospf [process-id area-id] database [network] [link-state-id]

show ip ospf [process-id area-id] database [summary] [link-state-id]

show ip ospf [process-id area-id] database [asb-summary] [link-state-id]

show ip ospf [process-id] database [external] [link-state-id]

Display OSPF-related interface information.

show ip ospf interface [interface-name]

Display OSPF-neighbor information on a per-interface basis.

show ip ospf neighbor [interface-name] [neighbor-id] detail

Display OSPF-related virtual links information.

show ip ospf virtual-links

Display information about interfaces configured for PIM.

show ip pim interface [interface]

List the PIM neighbors discovered by the communication server.

show ip pim neighbor [interface]

Display the RP communication servers associated with a sparse-mode multicast group.

show ip pim rp [group-name | group-address]

Display the parameters and current state of the active routing protocol process.

show ip protocols

Display the current state of the routing table.

show ip route [ip-address</