Difference between revisions of "IPv6: OSPF"

From OnnoWiki
Jump to navigation Jump to search
Line 281: Line 281:
 
The components of the interface data structure are as follows:
 
The components of the interface data structure are as follows:
  
IP Address and Mask This component is the configured address
+
IP Address and Mask This component is the configured address and mask of the interface. OSPF packets originated from this interface will have this source address. In Example 8-2, the address/mask pair is 192.168.21.21/30.
and mask of the interface. OSPF packets originated from this
 
interface will have this source address. In Example 8-2, the
 
address/mask pair is 192.168.21.21/30.
 
  
Area ID The area to which the interface, and the network to which it
+
Area ID The area to which the interface, and the network to which it is attached, belong. OSPF packets originated from this interface will have this Area ID. In Example 8-2, the area ID is 7.
is attached, belong. OSPF packets originated from this interface will
 
have this Area ID. In Example 8-2, the area ID is 7.
 
  
Process ID This Cisco-specific feature is not part of the open
+
Process ID This Cisco-specific feature is not part of the open standard. Cisco routers are capable of running multiple OSPF processes and use the Process ID to distinguish them. The Process ID has no significance outside the router on which it is configured. In Example 8-2, the Process ID is 1.Router ID In Example 8-2, the Router ID is 192.168.30.70.
standard. Cisco routers are capable of running multiple OSPF
 
processes and use the Process ID to distinguish them. The Process
 
ID has no significance outside the router on which it is configured. In
 
Example 8-2, the Process ID is 1.Router ID In Example 8-2, the Router ID is 192.168.30.70.
 
Network Type The type of network to which the interface is
 
connected: broadcast, point-to-point, NBMA, point-to-multipoint, or
 
virtual link. In Example 8-2, the network type is point-to-point. [9][9]
 
  
Depending on the version of IOS you are running, the
+
Network Type The type of network to which the interface is connected: broadcast, point-to-point, NBMA, point-to-multipoint, or virtual link. In Example 8-2, the network type is point-to-point. [9][9]
output of this command might show more information than
 
is discussed here; but this information is essential to every
 
OSPF interface.
 
  
Cost The outgoing cost for packets transmitted from this interface.
+
Depending on the version of IOS you are running, the output of this command might show more information than is discussed here; but this information is essential to every OSPF interface.
Cost is the OSPF metric, expressed as an unsigned 16-bit integer in
+
 
the range of 1 to 65535. Cisco uses a default cost of 10 8 /BW,
+
Cost The outgoing cost for packets transmitted from this interface. Cost is the OSPF metric, expressed as an unsigned 16-bit integer in the range of 1 to 65535. Cisco uses a default cost of 10 8 /BW, expressed in whole numbers, where BW is the configured bandwidth of the interface and 10 8 is the reference bandwidth. The interface in Example 8-2 has a configured bandwidth of 128K (not shown in the
expressed in whole numbers, where BW is the configured bandwidth
 
of the interface and 10 8 is the reference bandwidth. The interface in
 
Example 8-2 has a configured bandwidth of 128K (not shown in the
 
 
example), so the cost is 10 8 /128K = 781.
 
example), so the cost is 10 8 /128K = 781.
  
The cost can be changed with the command ip ospf cost. This
+
The cost can be changed with the command ip ospf cost. This command is especially important when configuring Cisco routers in a multivendor environment. Another vendor, for example, might use a default cost of 1 on all interfaces (essentially making OSPF cost reflect hop counts). If all routers do not assign costs in the same manner, OSPF can route improperly, suboptimally, or in some other unexpected way.
command is especially important when configuring Cisco routers in a
+
 
multivendor environment. Another vendor, for example, might use a
+
The reference bandwidth of 10 8 creates a problem for some modern media with bandwidths higher than 100M (such as OC-3 or above and Gigabit Ethernet). 10 8 /100M = 1, meaning that higher bandwidths calculate to a fraction of 1, which is not allowed. So any cost that is calculated to a fraction of 1 is rounded up to 1. However, this means that if your network consists of high-bandwidth links, all interfaces wind up with a cost of 1 and the calculated shortest paths become based on least router hops. To remedy this, Cisco provides the command auto-cost reference-bandwidth, which allows the default reference bandwidth tobe changed.
default cost of 1 on all interfaces (essentially making OSPF cost reflect
+
 
hop counts). If all routers do not assign costs in the same manner, OSPF
+
Other components of the interface data structure are as follows: InfTransDelay The seconds by which LSAs exiting the interface will have their ages incremented. In Example 8-2, this is displayed as Transmit Delay and is shown to be the Cisco default, 1 second. InfTransDelay can be changed with the command ip ospf transmit-delay.
can route improperly, suboptimally, or in some other unexpected way.
 
The reference bandwidth of 10 8 creates a problem for some modern
 
media with bandwidths higher than 100M (such as OC-3 or above and
 
Gigabit Ethernet). 10 8 /100M = 1, meaning that higher bandwidths
 
calculate to a fraction of 1, which is not allowed. So any cost that is
 
calculated to a fraction of 1 is rounded up to 1. However, this means that
 
if your network consists of high-bandwidth links, all interfaces wind up
 
with a cost of 1 and the calculated shortest paths become based on least
 
router hops. To remedy this, Cisco provides the command auto-cost
 
reference-bandwidth, which allows the default reference bandwidth tobe changed.
 
Other components of the interface data structure are as follows:
 
InfTransDelay The seconds by which LSAs exiting the interface will
 
have their ages incremented. In Example 8-2, this is displayed as
 
Transmit Delay and is shown to be the Cisco default, 1 second.
 
InfTransDelay can be changed with the command ip ospf transmit-
 
delay.
 
  
State The functional state of the interface, which is described in the
+
State The functional state of the interface, which is described in the following section, "Interface State Machine."
following section, "Interface State Machine."
 
  
Router Priority This 8-bit unsigned integer in the range of 0 to 255
+
Router Priority This 8-bit unsigned integer in the range of 0 to 255 elects the DR and BDR. The priority is not displayed in Example 8-2 because the network type is point-to-point; no DR or BDR is elected on this network type. Example 8-3 shows another OSPF interface in the same router. This interface shows an attached network type of broadcast, so a DR and BDR are elected. The priority shown is 1, the Cisco default. The command ip ospf priority is used to change the Router Priority.
elects the DR and BDR. The priority is not displayed in Example 8-2
 
because the network type is point-to-point; no DR or BDR is elected
 
on this network type. Example 8-3 shows another OSPF interface in
 
the same router. This interface shows an attached network type of
 
broadcast, so a DR and BDR are elected. The priority shown is 1,
 
the Cisco default. The command ip ospf priority is used to change
 
the Router Priority.
 
  
Example 8-3. This interface is attached to a broadcast
+
Example 8-3. This interface is attached to a broadcast network type, and the router is the DR on this network.
network type, and the router is the DR on this network.
 
  
 
  Renoir#show ip ospf interface Ethernet0
 
  Renoir#show ip ospf interface Ethernet0
Line 356: Line 313:
 
  Designated Router (ID) 192.168.30.70, Interface address 192.
 
  Designated Router (ID) 192.168.30.70, Interface address 192.
 
  Backup Designated router (ID) 192.168.30.80, Interface addre
 
  Backup Designated router (ID) 192.168.30.80, Interface addre
 
 
  Timer intervals configured, Hello 10, Dead 40, Wait 40, RetAdjacent with neighbor 192.168.30.80 (Backup  Designated R
 
  Timer intervals configured, Hello 10, Dead 40, Wait 40, RetAdjacent with neighbor 192.168.30.80 (Backup  Designated R
 
  Message digest authentication enabled
 
  Message digest authentication enabled
 
  Youngest key id is 10
 
  Youngest key id is 10
  
Designated Router The DR for the network to which the interface is
+
Designated Router The DR for the network to which the interface is attached is recorded both by its Router ID and by the address of the interface attached to the shared network. Note that no DR is displayed in Example 8-2; it will be displayed only for multi-access network types. In Example 8-3, the DR is 192.168.30.70. The address of its attached interface is 192.168.17.73. A look at the Router ID, the interface address, and the interface state shows that Renoir is the DR.
attached is recorded both by its Router ID and by the address of the
 
interface attached to the shared network. Note that no DR is
 
displayed in Example 8-2; it will be displayed only for multi-access
 
network types. In Example 8-3, the DR is 192.168.30.70. The
 
address of its attached interface is 192.168.17.73. A look at the
 
Router ID, the interface address, and the interface state shows that
 
Renoir is the DR.
 
  
Backup Designated Router The BDR for the network to which the
+
Backup Designated Router The BDR for the network to which the interface is attached is also recorded both by its Router ID and by the address of the attached interface. In Example 8-3, the BDR is
interface is attached is also recorded both by its Router ID and by
 
the address of the attached interface. In Example 8-3, the BDR is
 
 
192.168.30.80, and its interface address is 192.168.17.74.
 
192.168.30.80, and its interface address is 192.168.17.74.
HelloInterval The period, in seconds, between transmissions of
+
 
Hello packets on the interface. This period is advertised in Hello
+
HelloInterval The period, in seconds, between transmissions of Hello packets on the interface. This period is advertised in Hello packets that are transmitted from the interface. Cisco uses a default of 10 seconds on broadcast networks and 30 seconds on non-broadcast networks, which can be changed with the command ip ospf hello-interval. Example 8-3 displays HelloInterval as Hello and shows that the default is being used.
packets that are transmitted from the interface. Cisco uses a default
+
 
of 10 seconds on broadcast networks and 30 seconds on non-
+
RouterDeadInterval The period, in seconds, that the router will wait to hear a Hello from a neighbor on the network to which the interface is connected before declaring the neighbor down. The RouterDeadInterval is advertised in Hello packets transmitted from the interface. Cisco uses a default of four times the HelloInterval; the default can be changed with the command ip ospf dead-interval.
broadcast networks, which can be changed with the command ip
+
Example 8-3 displays the RouterDeadInterval as Dead and shows that the default is being used.Wait Timer The length of time the router will wait for a DR and BDR to be advertised in a neighbor's Hello packet before beginning a DR and BDR selection. The period of the wait timer is the RouterDeadInterval. In Example 8-2, the wait time is irrelevant because the interface is attached to a point-to-point network; no DR or BDR will be used.
ospf hello-interval. Example 8-3 displays HelloInterval as Hello and
+
 
shows that the default is being used.
+
RxmtInterval The period, in seconds, the router will wait between retransmissions of OSPF packets that have not been acknowledged. Example 8-3 displays this period as retransmit and shows that the Cisco default of five seconds is being used. An interface's RxmtInterval can be changed with the command ip ospf retransmit-interval.
RouterDeadInterval The period, in seconds, that the router will wait
+
 
to hear a Hello from a neighbor on the network to which the interface
+
Hello Timer A timer that is set to the HelloInterval. When it expires, a Hello packet is transmitted from the interface. Example 8-3 shows that the Hello timer will expire in three seconds.
is connected before declaring the neighbor down. The
+
 
RouterDeadInterval is advertised in Hello packets transmitted from
+
Neighboring Routers A list of all valid neighbors (neighbors whose Hellos have been seen within the past RouterDeadInterval) on the attached network. Example 8-4 shows yet another interface on the same router. Here, five neighbors are known on the network, but only two are adjacent (the Router IDs of only the adjacent neighbors are displayed). As a DRother on this network, the router has established an adjacency only with the DR and the BDR, in keeping with the DR protocol.
the interface. Cisco uses a default of four times the HelloInterval; the
+
 
default can be changed with the command ip ospf dead-interval.
+
Example 8-4. On this network, the router sees five neighbors but has only formed adjacencies with the DR
Example 8-3 displays the RouterDeadInterval as Dead and shows
 
that the default is being used.Wait Timer The length of time the router will wait for a DR and BDR
 
to be advertised in a neighbor's Hello packet before beginning a DR
 
and BDR selection. The period of the wait timer is the
 
RouterDeadInterval. In Example 8-2, the wait time is irrelevant
 
because the interface is attached to a point-to-point network; no DR
 
or BDR will be used.
 
RxmtInterval The period, in seconds, the router will wait between
 
retransmissions of OSPF packets that have not been acknowledged.
 
Example 8-3 displays this period as retransmit and shows that the
 
Cisco default of five seconds is being used. An interface's
 
RxmtInterval can be changed with the command ip ospf retransmit-
 
interval.
 
Hello Timer A timer that is set to the HelloInterval. When it expires,
 
a Hello packet is transmitted from the interface. Example 8-3 shows
 
that the Hello timer will expire in three seconds.
 
Neighboring Routers A list of all valid neighbors (neighbors whose
 
Hellos have been seen within the past RouterDeadInterval) on the
 
attached network. Example 8-4 shows yet another interface on the
 
same router. Here, five neighbors are known on the network, but
 
only two are adjacent (the Router IDs of only the adjacent neighbors
 
are displayed). As a DRother on this network, the router has
 
established an adjacency only with the DR and the BDR, in keeping
 
with the DR protocol.
 
Example 8-4. On this network, the router sees five
 
neighbors but has only formed adjacencies with the DR
 
 
and the BDR.
 
and the BDR.
Renoir#show ip ospf interface Ethernet1
+
 
Ethernet1 is up, line protocol is up
+
Renoir#show ip ospf interface Ethernet1
Internet Address 192.168.32.4/24, Area 78Process ID 1, Router ID 192.168.30.70, Network Type BROADCAS
+
Ethernet1 is up, line protocol is up
Transmit Delay is 1 sec, State DROTHER, Priority 1
+
Internet Address 192.168.32.4/24, Area 78Process ID 1, Router ID 192.168.30.70, Network Type BROADCAS
Designated Router (ID) 192.168.30.254, Interface address 192
+
Transmit Delay is 1 sec, State DROTHER, Priority 1
Backup Designated router (ID) 192.168.30.80, Interface addre
+
Designated Router (ID) 192.168.30.254, Interface address 192
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retr
+
Backup Designated router (ID) 192.168.30.80, Interface addre
Hello due in 00:00:01
+
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retr
Neighbor Count is 5, Adjacent neighbor count is 2
+
Hello due in 00:00:01
Adjacent with neighbor 192.168.30.80 (Backup Designated R
+
Neighbor Count is 5, Adjacent neighbor count is 2
Adjacent with neighbor 192.168.30.254 (Designated Router)
+
Adjacent with neighbor 192.168.30.80 (Backup Designated R
Message digest authentication enabled
+
Adjacent with neighbor 192.168.30.254 (Designated Router)
Youngest key id is 10
+
Message digest authentication enabled
 +
Youngest key id is 10
 +
 
 
AuType Describes the type of authentication used on the network.
 
AuType Describes the type of authentication used on the network.
 
The authentication type may be Null (no authentication), Simple
 
The authentication type may be Null (no authentication), Simple

Revision as of 09:45, 23 March 2019

This chapter covers the following subjects:

Operation of OSPF
Configuring OSPF
Troubleshooting OSPF

Open Shortest Path First (OSPF) was developed by the Internet Engineering Task Force (IETF) as a replacement for the problematic RIP and is now the IETF-recommended Interior Gateway Protocol (IGP). OSPF is a link-state protocol that, as the name implies, uses Dijkstra's Shortest Path First (SPF) algorithm and that is openthat is, it isn't proprietary to any vendor or organization. OSPF has evolved through several RFCs, all of which were written by John Moy. Version 1 of the protocol was specified in RFC 1131; this version never progressed beyond the experimental stage. Version 2, which is still the current version for IPv4, was first specified in RFC 1247, and the most recent specification is RFC 2328.

Like all link-state protocols, OSPF's major advantages over distance vector protocols are fast reconvergence, scalability to much networks, and less susceptibility to bad routing information. Other features of OSPF are

  • The use of areas, which reduces the protocol's impact on CPU and memory, contains the flow of routing protocol traffic, and makes possible the construction of hierarchical network topologies
  • Fully classless behavior, eliminating such classful problems as discontiguous subnetsSupport of classless route table lookups, VLSM, and supernetting for efficient address management
  • A dimensionless, arbitrary metric Equal-cost load balancing for more efficient use of multiple paths [1]

[1]

More accurately, the RFC calls for equal-cost multipath, the discovery and use of multiple equal-cost paths, without prescribing how the protocol should route individual packets across these multiple paths. The Cisco OSPF implementation performs equal-cost load balancing as described in previous chapters. The use of reserved multicast addresses to reduce the impact on non-OSPFspeaking devices

Support of authentication for more secure routing The use of route tagging for the tracking of external routes OSPF also has the capability of supporting Type of Service (TOS) routing, although it was never widely implemented. RFC 2328 has deleted the TOS routing option for this reason.Operation of OSPF [2][2]

Because of the interrelationship of OSPF terms and concepts, this chapter frequently uses terms before they are fully defined. The reader is advised to read this section more than once to ensure a complete understanding of OSPF operation. It will also be useful to review the section "Link State Routing Protocols" in Chapter 4, "Dynamic Routing Protocols."

At a very high level, the operation of OSPF is easily explained:

1. OSPF-speaking routers send Hello packets out all OSPF-enabled interfaces. If two routers sharing a common data link agree on certain parameters specified in their respective Hello packets, they will become neighbors.

2. Adjacencies, which can be thought of as virtual point-to-point links, are formed between some neighbors. OSPF defines several network types and several router types. The establishment of an adjacency is determined by the types of routers exchanging Hellos and the type of network over which the Hellos are exchanged.

3. Each router sends link-state advertisements (LSAs) over all adjacencies. The LSAs describe all of the router's links, or interfaces, the router's neighbors, and the state of the links. These links might be to stub networks (networks with no other router attached), to other OSPF routers, to networks in other areas, or to external networks (networks learned from another routing process). Because of the varying types of link-state information, OSPF defines multiple LSA types.

4. Each router receiving an LSA from a neighbor records the LSA in its link-state database and sends a copy of the LSA to all of its other neighbors.

5. By flooding LSAs throughout an area, all routers will build identical link-state databases.6. When the databases are complete, each router uses the SPF algorithm to calculate a loop-free graph describing the shortest (lowest cost) path to every known destination, with itself as the root. This graph is the SPF tree.

7. Each router builds its route table from its SPF tree. [3] [3]

This fundamental procedure of calculating routes from the link-state database, rather than by exchanging routes with neighbors, has repercussions for route filtering. See Chapter 13, "Route Filtering," for more information.

When all link-state information has been flooded to all routers in an area and neighbors have verified that their databases are identicalthat is, the link-state databases have been synchronizedand the route tables have been built, OSPF is a quiet protocol. Hello packets are exchanged between neighbors as keepalives, and LSAs are retransmitted every 30 minutes. If the network topology is stable, no other activity should occur.

Neighbors and Adjacencies

Before any LSAs can be sent, OSPF routers must discover their neighbors and establish adjacencies. The neighbors will be recorded in a neighbor table, along with the link (interface) on which each neighbor is located and which contains other information necessary for the maintenance of the neighbor (Example 8-1).

Example 8-1. The neighbor table records all OSPF-speaking neighbors.

Monet#show ip ospf neighbor
Neighbor ID
Pri
State
192.168.30.70
1
FULL/DR
192.168.30.254
1
FULL/DR
192.168.30.70
1
FULL/BDR
192.168.30.30
1
FULL/ -
Dead Time
00:00:34
00:00:34
00:00:34
00:00:33
Address
192.168.17.73
192.168.32.2
192.168.32.4
192.168.17.50
Inter
Ether
Ether
Ether
Seri192.168.30.10
192.168.30.68
192.168.30.18
192.168.30.78
1
1 
1 
1
FULL/
FULL/
FULL/
FULL/
-
-
-
-
00:00:32
00:00:39
00:00:30
00:00:36
192.168.17.9
192.168.21.134
192.168.21.142
192.168.21.170

The tracking of other OSPF routers requires that each router have a Router ID, an IP address by which the router is uniquely identified within the OSPF domain. Cisco routers derive their Router IDs by the following means:

1. If the Router ID has been manually configured using the router-id command, that Router ID is used.

2. If no Router ID has been manually configured, the router chooses the numerically highest IP address on any of its loopback interfaces.

3. If no loopback interfaces are configured with IP addresses, the router chooses the numerically highest IP address on any of its physical interfaces. The interface from which the Router ID is taken does not have to be running OSPF.

Using addresses associated with loopback interfaces has two advantages:

  • The loopback interface is more stable than any physical interface. It is active when the router boots up, and it only fails if the entire router fails.
  • The network administrator has more leeway in assigning predictable or recognizable addresses as the Router IDs.

The Cisco OSPF will continue to use a Router ID learned from a physical interface even if the interface subsequently fails or is deleted (see "Case Study: Setting Router IDs with Loopback Interfaces," later in this chapter). Therefore, the stability of a loopback interface is only a minor Seria Seria Seria Seriadvantage. The primary benefit is the ability to control the Router ID. The OSPF router begins a neighbor relationship by advertising its Router ID in Hello packets.

Hello Protocol

The Hello protocol serves several purposes:

It is the means by which neighbors are discovered.
It advertises several parameters on which two routers must agree before they can become neighbors.
Hello packets act as keepalives between neighbors.
It ensures bidirectional communication between neighbors.
It elects Designated Routers (DRs) and Backup Designated Routers
(BDRs) on Broadcast and Nonbroadcast Multiaccess (NBMA) networks.

OSPF-speaking routers periodically send a Hello packet out each OSPF-enabled interface. This period is known as the HelloInterval and is configured on a per interface basis. Cisco uses a default HelloInterval of 10 seconds for broadcast networks and 30 seconds for non-broadcast; the value can be changed with the command ip ospf hello-interval. If a router has not heard a Hello from a neighbor within a period of time known as the RouterDeadInterval, it will declare the neighbor down. The Cisco default RouterDeadInterval is four times the HelloInterval and can be changed with the command ip ospf dead-interval. [4] [4]

RFC 2328 does not set a required value for either the HelloInterval or the RouterDeadInterval, although it does suggest respective values of 10 seconds and 4X HelloInterval.Each Hello packet contains the following information:

Router ID of the originating router.
Area ID of the originating router interface.
Address mask of the originating interface.
Authentication type and authentication information for the originating interface.
HelloInterval of the originating interface.
RouterDeadInterval of the originating interface.
Router Priority.
DR and BDR.
Five flag bits signifying optional capabilities.

Router IDs of the originating router's neighbors. This list contains only routers from which Hellos were heard on the originating interface within the last RouterDeadInterval.

This section overviews the meaning and use of most of the information listed. Subsequent sections discuss the DR, BDR, and Router Priority, and illustrate the precise format of the Hello packet. When a router receives a Hello from a neighbor, it will verify that the Area ID, Authentication, Network Mask, HelloInterval, RouterDeadInterval, and Options values match the values configured on the receiving interface. If they do not, the packet is dropped and no adjacency is established.

If everything matches, the Hello packet is declared valid. If the ID of the originating router is already listed in the neighbor table for that receiving interface, the RouterDeadInterval timer is reset. If the Router ID is notinterface, the RouterDeadInterval timer is reset. If the Router ID is not listed, it is added to the neighbor table.

Whenever a router sends a Hello, it includes in the packet the Router IDs of all neighbors listed for the link on which the packet is to be transmitted. If a router receives a valid Hello in which it finds its own Router ID listed, the router knows that two-way communication has been established.

After two-way communication has been established, adjacencies may be established. However, as mentioned earlier, not all neighbors will become adjacent. Whether an adjacency is formed or not depends on the type of network to which the two neighbors are attached. Network types also influence the way in which OSPF packets are transmitted; therefore, before discussing adjacencies, it is necessary to discuss network types.

Network Types

OSPF defines five network types:

Point-to-point networks
Broadcast networks
Nonbroadcast Multiaccess (NBMA) networks
Point-to-multipoint networks
Virtual links

Point-to-point networks, such as a T1, DS-3, or SONET link, connect a single pair of routers. Valid neighbors on point-to-point networks will always become adjacent. The destination address of OSPF packets on these networks will always be the reserved class D address 224.0.0.5, known as AllSPFRouters. [5][5]

The exception to this rule is retransmitted LSAs, which are always unicast on all network types. This exception is covered later, in the section "Reliable Flooding: Acknowledgments."

Broadcast networks, such as Ethernet, Token Ring, and FDDI, might be better defined as broadcast multi-access networks to distinguish them from NBMA networks. Broadcast networks are multi-access in that they are capable of connecting more than two devices, and they are broadcast in that all attached devices can receive a single transmitted packet.

OSPF routers on broadcast networks will elect a DR and a BDR, as described in the next section, "Designated Routers and Backup Designated Routers." Hello packets are multicast with the AllSPFRouters destination address 224.0.0.5, as are all OSPF packets originated by the DR and BDR. The destination Media Access Control (MAC) identifier of the frames carrying these packets is 0100.5E00.0005. All other routers will multicast link-state update and link-state acknowledgment packets (described later) to the reserved class D address 224.0.0.6, known as AllDRouters. The destination MAC identifier of the frames carrying these packets is 0100.5E00.0006.

NBMA networks, such as X.25, Frame Relay, and ATM, are capable of connecting more than two routers but have no broadcast capability. A packet sent by one of the attached routers would not be received by all other attached routers. As a result, extra configuration might be necessary for routers on these networks to acquire their neighbors.

OSPF routers on NBMA networks elect a DR and BDR, and all OSPF packets are unicast.

Point-to-multipoint networks are a special configuration of NBMA networks in which the networks are treated as a collection of point-to-point links. Routers on these networks do not elect a DR and BDR, and the OSPF packets are unicast to each known neighbor.

Virtual links, described in a later section, are special configurations that are interpreted by the router as unnumbered point-to-point networks. OSPF packets are unicast over virtual links.

In addition to these five network types, it should be noted that all networks fall into one of two more-general types:networks fall into one of two more-general types:

  • Transit networks have two or more attached routers. They might carry packets that are "just passing through"packets that were originated on and are destined for a network other than the transit network.
  • Stub networks have only a single attached router. [6] Packets on a stub network always have either a source or a destination address belonging to that network. That is, all packets were either originated by a device on the network or are destined for a device on the network. OSPF advertises host routes (routes with a mask of 255.255.255.255) as stub networks. Loopback interfaces are also considered stub networks and are advertised as host routes. [7] [6]

Do not confuse stub networks with stub areas, discussed later in the chapter. [7] Beginning with IOS 11.3, this default behavior can be changed by adding the command ip ospf network point-to-point to the loopback interface. This will cause the loopback interface's address to be advertised as a subnet route.

Designated Routers and Backup Designated Routers Multiaccess networks present two problems for OSPF, relating to the flooding of LSAs (described in a later section):

The formation of an adjacency between every attached router would create many unnecessary LSAs. If n is the number of routers on a multiaccess network, there would be n(n 1)/2 adjacencies (Figure 8-1). Each router would flood n 1 LSAs for its adjacent neighbors, plus one LSA for the network, resulting in n 2 LSAs originating from the network.

Figure 8-1. Ten adjacencies would be required for each of the five routers on this OSPF network to becomeof the five routers on this OSPF network to become fully adjacent with all of its neighbors; 25 LSAs would be originated from the network.

Flooding on the network itself would be chaotic and excessive. A router would flood an LSA to all its adjacent neighbors, which in turn would flood it to all their adjacent neighbors, creating many copies of the same LSA on the same network.

To prevent these problems, a DR is elected on multi-access networks. The DR has the following duties:

  • To represent the multi-access network and its attached routers to therest of the OSPF area
  • To manage the flooding process on the multi-access network The concept behind the DR is that the broadcast link itself is considered a "pseudonode," or a virtual router. When the SPF tree is calculated, the link appears as a node and the routers attached to the link are attached to that node. The cost from an attached router to the pseudonode is the outgoing cost of that router's interface to the broadcast link, but the cost from the pseudonode to any attached router is 0. This way, the overall

path cost is not affected by the pseudonode.

Each router on the network forms an adjacency with the DR (Figure 8-2), which represents the pseudonode with a special Network LSA. Keep in mind that a router might be a DR on one of its attached multi-access networks, and it might not be the DR on another of its attached multi-access networks. In other words, the DR is a property of a router's interface, not the entire router.

Figure 8-2. The DR represents the multi-access network.

Other routers on the network will form adjacencies with the DR, not with each other.A significant problem with the DR scheme as described so far is that if the DR fails, a new DR must be elected. New adjacencies must be established, and all routers on the network must synchronize their databases with the new DR (part of the adjacency-building process).

While all this is happening, the network is unavailable for transit packets.

To prevent this problem, a BDR is elected in addition to the DR. All routers form adjacencies not only with the DR but also with the BDR. The DR and BDR also become adjacent with each other. If the DR fails, the BDR becomes the new DR. Because the other routers on the network are already adjacent with the BDR, network unavailability is minimized.

The election of the DR and BDR is triggered by the interface state machine, which is described in a later section. For the election process to function properly, the following preconditions must exist:Each multi-access interface of each router has a Router Priority, which is an 8-bit unsigned integer ranging from 0 to 255. The default priority on Cisco routers is 1 and can be changed on a per multi-access-interface basis with the command ip ospf priority. Routers with a priority of 0 are ineligible to become the DR or BDR.

Hello packets include fields for the originating router to specify its Router Priority and for the IP addresses of the connected interfaces of the routers it considers the DR and BDR.

When an interface first becomes active on a multi-access network, it sets the DR and BDR to 0.0.0.0. It also sets a wait timer with a value equal to the RouterDeadInterval.

Existing interfaces on a multi-access network record the addresses of the DR and the BDR in the interface data structure, described in a later section.

The election procedure of the DR and BDR is as follows:

1. After two-way communication has been established with one or more neighbors, examine the Priority, DR, and BDR fields of each neighbor's Hello. List all routers eligible for election (that is, routers with priority greater than 0 and whose neighbor state is at least two-way); all routers declaring themselves to be the DR (their own interface address is in the DR field of the Hello packet); and all routers declaring themselves to be the BDR (their own interface address is in the BDR field of the Hello packet). The calculating router will include itself on this list unless it is ineligible.

2. From the list of eligible routers, create a subset of all routers not claiming to be the DR (routers declaring themselves to be the DR cannot be elected BDR).

3. If one or more neighbors in this subset include its own interface address in the BDR field, the neighbor with the highest priority will be declared the BDR. In a tie, the neighbor with the highest Router IDdeclared the BDR. In a tie, the neighbor with the highest Router ID will be chosen.

4. If no router in the subset claims to be the BDR, the neighbor with the highest priority will become the BDR. In a tie, the neighbor with the highest Router ID will be chosen.

5. If one or more of the eligible routers include their own address in the DR field, the neighbor with the highest priority will be declared the DR. In a tie, the neighbor with the highest Router ID will be chosen.

6. If no router has declared itself the DR, the newly elected BDR will become the DR.

7. If the router performing the calculation is the newly elected DR or BDR, or if it is no longer the DR or BDR, repeat steps 2 through 6. In simpler language, when an OSPF router becomes active and discovers its neighbors, it checks for an active DR and BDR. If a DR and BDR exist, the router accepts them. If there is no BDR, an election is held in which the router with the highest priority becomes the BDR. If more than one router has the same priority, the one with the numerically highest Router ID wins. If there is no active DR, the BDR is promoted to DR and a new election is held for the BDR.

It should be noted that the priority can influence an election, but will not override an active DR or BDR. That is, if a router with a higher priority becomes active after a DR and BDR have been elected, the new router will not replace either of them. So the first two DR-eligible routers to initialize on a multiaccess network will become the DR and BDR.

After the DR and BDR have been elected, the other routers (known as DRothers) will establish adjacencies with the DR and BDR only. All router continue to multicast Hellos to the AllSPFRouters address 224.0.0.5 so that they can track neighbors, but DRothers multicast update packets to the AllDRouters address 224.0.0.6. Only the DR andBDR will listen to this address; in turn, the DR will flood the updates to the DRothers on 224.0.0.5.

Note that if only one eligible router is attached to a multiaccess network, that router will become the DR and there will be no BDR. Any other routers will form adjacencies only with the DR. If none of the routers attached to a multi-access network are eligible, there will be no DR or BDR and no adjacencies will form. The neighbor states of all routers will remain two-way (explained later, in "Neighbor State Machine").

The duties performed by the DR and BDR are described more fully in subsequent sections.

OSPF Interfaces

The essence of a link-state protocol is that it is concerned with links and the state of those links. Before Hellos can be sent, before adjacencies can be formed, and before LSAs can be sent, an OSPF router must understand its own links. A router's interfaces are the means by which OSPF interprets links. As a result, when speaking of OSPF, it is not uncommon to hear the terms interface and link used synonymously. This section examines the data structure OSPF associates with each interface and the various states of an OSPF interface.

Interface Data Structure

An OSPF router maintains a data structure for each OSPF-enabled interface. In Example 8-2, the command show ip ospf interface has been used to observe the components of an interface data structure. [8][8]

Depending on the version of IOS you are running, the output of this command might show more information than is discussed here; but this information is essential to every OSPF interface.Example 8-2. The OSPF-specific data related to an interface can be observed with the command show ip ospf interface.

In this example, the interface is attached to a point-to-point network type.

Renoir#show ip ospf interface Serial1.738
Serial1.738 is up, line protocol is up
Internet Address 192.168.21.21/30, Area 7
Process ID 1, Router ID 192.168.30.70, Network Type POINT_TO
Transmit Delay is 1 sec, State POINT_TO_POINT,
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retr
Hello due in 00:00:07
Neighbor Count is 1, Adjacent neighbor count is 1
Adjacent with neighbor 192.168.30.77
Message digest authentication enabled
Youngest key id is 10

The components of the interface data structure are as follows:

IP Address and Mask This component is the configured address and mask of the interface. OSPF packets originated from this interface will have this source address. In Example 8-2, the address/mask pair is 192.168.21.21/30.

Area ID The area to which the interface, and the network to which it is attached, belong. OSPF packets originated from this interface will have this Area ID. In Example 8-2, the area ID is 7.

Process ID This Cisco-specific feature is not part of the open standard. Cisco routers are capable of running multiple OSPF processes and use the Process ID to distinguish them. The Process ID has no significance outside the router on which it is configured. In Example 8-2, the Process ID is 1.Router ID In Example 8-2, the Router ID is 192.168.30.70.

Network Type The type of network to which the interface is connected: broadcast, point-to-point, NBMA, point-to-multipoint, or virtual link. In Example 8-2, the network type is point-to-point. [9][9]

Depending on the version of IOS you are running, the output of this command might show more information than is discussed here; but this information is essential to every OSPF interface.

Cost The outgoing cost for packets transmitted from this interface. Cost is the OSPF metric, expressed as an unsigned 16-bit integer in the range of 1 to 65535. Cisco uses a default cost of 10 8 /BW, expressed in whole numbers, where BW is the configured bandwidth of the interface and 10 8 is the reference bandwidth. The interface in Example 8-2 has a configured bandwidth of 128K (not shown in the example), so the cost is 10 8 /128K = 781.

The cost can be changed with the command ip ospf cost. This command is especially important when configuring Cisco routers in a multivendor environment. Another vendor, for example, might use a default cost of 1 on all interfaces (essentially making OSPF cost reflect hop counts). If all routers do not assign costs in the same manner, OSPF can route improperly, suboptimally, or in some other unexpected way.

The reference bandwidth of 10 8 creates a problem for some modern media with bandwidths higher than 100M (such as OC-3 or above and Gigabit Ethernet). 10 8 /100M = 1, meaning that higher bandwidths calculate to a fraction of 1, which is not allowed. So any cost that is calculated to a fraction of 1 is rounded up to 1. However, this means that if your network consists of high-bandwidth links, all interfaces wind up with a cost of 1 and the calculated shortest paths become based on least router hops. To remedy this, Cisco provides the command auto-cost reference-bandwidth, which allows the default reference bandwidth tobe changed.

Other components of the interface data structure are as follows: InfTransDelay The seconds by which LSAs exiting the interface will have their ages incremented. In Example 8-2, this is displayed as Transmit Delay and is shown to be the Cisco default, 1 second. InfTransDelay can be changed with the command ip ospf transmit-delay.

State The functional state of the interface, which is described in the following section, "Interface State Machine."

Router Priority This 8-bit unsigned integer in the range of 0 to 255 elects the DR and BDR. The priority is not displayed in Example 8-2 because the network type is point-to-point; no DR or BDR is elected on this network type. Example 8-3 shows another OSPF interface in the same router. This interface shows an attached network type of broadcast, so a DR and BDR are elected. The priority shown is 1, the Cisco default. The command ip ospf priority is used to change the Router Priority.

Example 8-3. This interface is attached to a broadcast network type, and the router is the DR on this network.

Renoir#show ip ospf interface Ethernet0
Ethernet0 is up, line protocol is up
Internet Address 192.168.17.73/29, Area 0
Process ID 1, Router ID 192.168.30.70, Network Type BROADCAS
Transmit Delay is 1 sec, State DR, Priority 1
Designated Router (ID) 192.168.30.70, Interface address 192.
Backup Designated router (ID) 192.168.30.80, Interface addre
Timer intervals configured, Hello 10, Dead 40, Wait 40, RetAdjacent with neighbor 192.168.30.80 (Backup  Designated R
Message digest authentication enabled
Youngest key id is 10

Designated Router The DR for the network to which the interface is attached is recorded both by its Router ID and by the address of the interface attached to the shared network. Note that no DR is displayed in Example 8-2; it will be displayed only for multi-access network types. In Example 8-3, the DR is 192.168.30.70. The address of its attached interface is 192.168.17.73. A look at the Router ID, the interface address, and the interface state shows that Renoir is the DR.

Backup Designated Router The BDR for the network to which the interface is attached is also recorded both by its Router ID and by the address of the attached interface. In Example 8-3, the BDR is 192.168.30.80, and its interface address is 192.168.17.74.

HelloInterval The period, in seconds, between transmissions of Hello packets on the interface. This period is advertised in Hello packets that are transmitted from the interface. Cisco uses a default of 10 seconds on broadcast networks and 30 seconds on non-broadcast networks, which can be changed with the command ip ospf hello-interval. Example 8-3 displays HelloInterval as Hello and shows that the default is being used.

RouterDeadInterval The period, in seconds, that the router will wait to hear a Hello from a neighbor on the network to which the interface is connected before declaring the neighbor down. The RouterDeadInterval is advertised in Hello packets transmitted from the interface. Cisco uses a default of four times the HelloInterval; the default can be changed with the command ip ospf dead-interval. Example 8-3 displays the RouterDeadInterval as Dead and shows that the default is being used.Wait Timer The length of time the router will wait for a DR and BDR to be advertised in a neighbor's Hello packet before beginning a DR and BDR selection. The period of the wait timer is the RouterDeadInterval. In Example 8-2, the wait time is irrelevant because the interface is attached to a point-to-point network; no DR or BDR will be used.

RxmtInterval The period, in seconds, the router will wait between retransmissions of OSPF packets that have not been acknowledged. Example 8-3 displays this period as retransmit and shows that the Cisco default of five seconds is being used. An interface's RxmtInterval can be changed with the command ip ospf retransmit-interval.

Hello Timer A timer that is set to the HelloInterval. When it expires, a Hello packet is transmitted from the interface. Example 8-3 shows that the Hello timer will expire in three seconds.

Neighboring Routers A list of all valid neighbors (neighbors whose Hellos have been seen within the past RouterDeadInterval) on the attached network. Example 8-4 shows yet another interface on the same router. Here, five neighbors are known on the network, but only two are adjacent (the Router IDs of only the adjacent neighbors are displayed). As a DRother on this network, the router has established an adjacency only with the DR and the BDR, in keeping with the DR protocol.

Example 8-4. On this network, the router sees five neighbors but has only formed adjacencies with the DR and the BDR.

Renoir#show ip ospf interface Ethernet1
Ethernet1 is up, line protocol is up
Internet Address 192.168.32.4/24, Area 78Process ID 1, Router ID 192.168.30.70, Network Type BROADCAS
Transmit Delay is 1 sec, State DROTHER, Priority 1
Designated Router (ID) 192.168.30.254, Interface address 192
Backup Designated router (ID) 192.168.30.80, Interface addre
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retr
Hello due in 00:00:01
Neighbor Count is 5, Adjacent neighbor count is 2
Adjacent with neighbor 192.168.30.80 (Backup Designated R
Adjacent with neighbor 192.168.30.254 (Designated Router)
Message digest authentication enabled
Youngest key id is 10

AuType Describes the type of authentication used on the network. The authentication type may be Null (no authentication), Simple Password, or Cryptographic (Message Digest). Example 8-4 shows that Message Digest authentication is being used. If Null authentication is used, no authentication type or key information will be displayed when show ip ospf interface is invoked. Authentication Key A 64-bit password if simple authentication has been enabled for the interface or a message digest key if Cryptographic authentication is used. Example 8-4 shows that the "youngest key ID" is 10. This alludes to the fact that Cryptographic authentication allows the configuration of multiple keys on an interface to ensure smooth and secure key changes. Example 8-5 shows an interface that is connected to an NBMA network. Notice that the HelloInterval is 30 seconds, the default for NBMA, and that the RouterDeadInterval is at the default of four times the HelloInterval. Example 8-5. This interface is attached to a NBMA Frame Relay network and is the BDR for this network.Renoir#show ip ospf interface Serial3 Serial3 is up, line protocol is up Internet Address 192.168.16.41/30, Area 0 Process ID 1, Router ID 192.168.30.105, Network Type NON_BRO Transmit Delay is 1 sec, State BDR, Priority 1 Designated Router (ID) 192.168.30.210, Interface address 192 Backup Designated router (ID) 192.168.30.105, Interface addr Timer intervals configured, Hello 30, Dead 120, Wait 120, Re Hello due in 00:00:08 Neighbor Count is 1, Adjacent neighbor count is 1 Adjacent with neighbor 192.168.30.210 (Designated Router) It is worthwhile to spend some time comparing Example 8-2 through Example 8-5. All four interfaces are on the same router, yet on each network the router performs a different role. In each case, the interface state dictates the role of the OSPF router on a network. The next section describes the various interface states and the interface state machine.

Pranala Menarik