IGP Protocols for IPv6

The second family of routing protocols presented in this chapter are the Interior Gateway Protocols (IGPs). IGPs are used inside ASs and domains. The most common IPv4 routing protocols used inside domains are Routing Information Protocol (RIP), Intermediate System-to-Intermediate System (IS-IS), Open Shortest Path First (OSPF), and Enhanced Interior Gateway Routing Protocol (EIGRP).

The following is a short overview of IGP's properties:

  • RIP— Version 1 of this routing protocol was one of the first IGPs used inside IPv4 domains. RIP is a distance vector routing protocol based on the Bellman-Ford algorithm. It uses User Datagram Protocol (UDP) on port 520 to advertise routing information to other RIP routers. RIP was designed to work with IPv4 and IPX on small networks. However, the scalability of this routing protocol is limited to a radius of 15 hops maximum. RIP provides hop count information to calculate the best paths to reach destination networks. RIP's convergence speed is considered slow compared to link-state routing protocols such as OSPF and IS-IS. The RIP version with IPv6 support is called RIPng. RIPng evolved from RIP version 2. RIPng is discussed in detail in the following sections.

  • IS-IS— This protocol uses the Open System Interconnection (OSI) terminology with IPv4. IS-IS was primarily designed as the OSI routing protocol (ISO 10589), and then extensions were designed to add IPv4 support (RFC 1195), well-known as integrated. This routing protocol uses International Organization for Standardization (ISO) network service access point (NSAP) addresses and OSI packets to advertise messages between adjacent IS-IS routers. IS-IS is a link-state protocol based on Dijkstra's SPF (shortest path first) algorithm. It has very large scalability, and it is hierarchical. IS-IS routers must be members of IS-IS areas. IS-IS provides cost information for links (the default interface cost is 10) to calculate the best paths to reach destination networks. IS-IS's convergence time is considered fast in comparison to RIP. IS-IS with IPv6 support is covered in detail in the following sections.

  • OSPF— OSPF was inspired by one of the first drafts of the IS-IS protocol. OSPF is another link-state protocol based on Dijkstra's SPF algorithm. OSPF advertises routing information to OSPF routers using IPv4 packets based on protocol 89. Like IS-IS, OSPF has large scalability and is hierarchical: OSPF routers must be members of areas. OSPF provides link cost information, like IS-IS, except that the cost is calculated on the interfaces' bandwidth characteristics. OSPF's convergence speed is considered fast compared to RIP. OSPF version 3 supports IPv6. OSPFv3 is covered in detail in the following sections.

  • EIGRP— This is an advanced version of the proprietary routing protocol IGRP, developed by Cisco years ago. EIGRP is an advanced distance vector protocol with the addition of link-state protocol properties. EIGRP is based on the Diffusion Update Algorithm (DUAL) and has large scalability. EIGRP was designed to work with IPv4, IPX, and AppleTalk. EIGRP advertises routing information to EIGRP routers using IPv4 packets based on protocol 88. EIGRP provides link cost information based on a composite metric using the bandwidth and a delay value to calculate the best paths to reach destination networks. EIGRP's convergence time is considered very fast.

NOTE

As mentioned at the beginning of this chapter, this chapter provides only an overview of the routing protocols. If you need more information on RIP, IS-IS, OSPF, and EIGRP, you should read IP Routing Fundamentals, Cisco OSPF Command and Configuration Handbook, or Building Scalable Networks with Cisco, all published by Cisco Press. Otherwise, the Cisco website provides plenty of information on and examples of these routing protocols when deployed over IPv4 networks.


IPv6 support for IGP in the Cisco IOS Software currently is limited to RIP, IS-IS, and OSPF. In the following sections, these protocols are discussed in the order in which they became available for IPv6.

RIPng for IPv6

RFC 1058, Routing Information Protocol, and RFC 1723, RIP Version 2, define RIPv1 and RIPv2. RIPv2 is the most advanced version of RIP implemented, available, and used today in Cisco router implementations.

NOTE

The Cisco IOS Software supports both RIPv1 and RIPv2. However, configuring RIPv1 or RIPv2 with IPv4 on Cisco is beyond the scope of this book.


Routing Information Protocol next generation (RIPng) is the counterpart of RIPv2, but for IPv6. As defined in RFC 2080, RIPng for IPv6, RIPng has most of the same capabilities of RIPv2:

  • Distance vector— RIPng is a distance vector protocol based on the Bellman-Ford algorithm.

  • Radius of operation— Like RIP, RIPng is limited to a radius of 15 hops.

  • UDP-based protocol— RIPng uses UDP datagrams to send and receive routing information.

  • Broadcast information— Periodic broadcasts can be sent using multicast addresses to reduce traffic on nodes that are not listening to RIP messages.

Because IPv6 represents a new protocol to support, RIPng has been updated to handle it. Here are the main updates added in RIPng:

  • Destination prefix— Destination prefixes are based on 128-bit instead of 32-bit (as in IPv4).

  • Next-hop address— Next-hop addresses are based on 128-bit instead of 32-bit (as in IPv4).

  • Transport— RIPng messages are sent over IPv6 packets.

  • UDP port number— The standard UDP port number for IPv6 is 521 instead of 520, as in IPv4. This UDP port sends and receives routing information between RIPng routers.

  • Link-local address— RIPng updates are sent to adjacent RIPng routers using the link-local address FE80::/10 as the source address.

  • Multicast address— The standard multicast address used with RIPng is FF02::9, instead of 224.0.0.9 in IPv4. The FF02::9 represents the all-RIP-routers multicast address on the link-local scope.

Enabling RIPng on Cisco

RIPng was the first IGP supported in the Cisco IOS Software technology. The Cisco IOS Software technology supports up to four RIPng processes simultaneously. The ipv6 router rip command defines a RIPng process on the router and is the first step used to enable a RIPng process. The tag argument refers to a short string that identifies a unique RIPng process. The ipv6 router rip command is equivalent to the router rip command in IPv4. The syntax for this command is as follows:

Router(config)#ipv6 router rip
								tag
							

The ipv6 router rip command is used on a global basis.

Configuring RIPng

As soon as the RIPng process is defined on the router, you have to enable RIPng on the interfaces using the command ipv6 rip tag enable, as shown in Table 4-6. Table 4-6 lists the other subcommands used to generate a default IPv6 route in RIPng and shows how to summarize routes.

Table 4-6. ipv6 rip tag Subcommands
CommandDescription
enableEnables RIPng on an interface.
default-information originateGenerates a default IPv6 route (::/0) in RIPng and sends it in RIP updates.
default-information onlyGenerates a default IPv6 route (::/0) in RIP. This suppresses the sending of any other IPv6 routes except the default IPv6 route.
summary-address ipv6-prefix/prefix-lengthSummarizes the IPv6 routes. When the first length bits of a route match the statement, the statement's prefix is advertised instead. In this case, multiple routes are replaced by a single route whose metric is the lowest metric of the multiple routes. This command may be used multiple times.

These parameters are used on an interface basis.

NOTE

It is possible to enable RIPng on one of the router's unnumbered tunnel interfaces. However, RIPng must be enabled on both the tunnel and the physical interfaces using ipv6 rip tag enable. In this context, the tunnel interface uses the source IPv6 address of the physical interface.


Figure 4-6 illustrates a network with four routers using RIPng as the routing protocol. The RIPng protocol, like any IGP, is used in the network topology to propagate the prefixes of all subnets. Router R3 is connected to the Internet-IPv6. On Router R3's FastEthernet 0/0 and FastEthernet 0/1 interfaces, the default IPv6 route is advertised by RIPng with the origin of Router R3.

Figure 4-6. Router R3 Advertising the Default IPv6 Route with the Origin of Router R3


Example 4-10 presents the configuration applied on Router R3 in Figure 4-6. First, the ipv6 router rip RIPNGR3 command defines the RIPng process. The unicast IPv6 addresses 2001:410:ffff:1::1/64 and 2001:410:ffff:2::1/64 are assigned to interface fastethernet0/1 and fastethernet0/0. Then, the command ipv6 rip RIPNGR3 enable is applied on both interfaces, which enables RIPng. Finally, the command ipv6 rip default-information originate advertises the default IPv6 route with the origin of Router R3.

Example 4-10. Enabling RIPng in Router R3 with the Advertisement of the Default Route
RouterR3#configure terminal
RouterR3(config)#ipv6 router rip RIPNGR3
RouterR3(config-rtr)#int fastethernet0/1
RouterR3(config-if)#ipv6 address 2001:410:ffff:1::1/64
RouterR3(config-if)#ipv6 rip RIPNGR3 enable
RouterR3(config-if)#ipv6 rip default-information originate
RouterR3(config-if)#int fastethernet0/0
RouterR3(config-if)#ipv6 address 2001:410:ffff:2::1/64
RouterR3(config-if)#ipv6 rip RIPNGR3 enable
RouterR3(config-if)#ipv6 rip default-information originate
RouterR3(config-if)#exit
RouterR3(config)#ipv6 route ::/0 ethernet0
								

Tuning the RIPng Process

This section covers the parameters you can use to tune the RIPng process. The parameters listed in Table 4-7 are available in the router subcommand mode using the ipv6 router rip command. After you enter the ipv6 router rip command, you should see the router prompt (router-rtr). These parameters are the same as the ones available in the router rip subcommand mode in IPv4.

Table 4-7. RIPng Router Commands
CommandDescription
Router(config-rtr)#distance distanceDefines the administrative distance for a RIPng process. If two RIP processes attempt to insert the same IPv6 route into the same routing table, the route with the lower administrative distance takes precedence. The default value is 120.
Router(config-rtr)#distribute-list prefix-list pfx-name {in | out} [interface]Applies an IPv6 access list to RIPng routing updates received or sent on an interface. If no interface is specified, the IPv6 access list is applied to all interfaces on the router.
Router(config-rtr)#metric-offset numberSets the increment to a new value between 1 and 16. By default, the RIPng metric is incremented by 1 before being entered in the routing table.
Router(config-rtr)#poison-reversePerforms poison-reverse processing of updates. Poison reverse causes the advertisement of an unreachable metric when RIPng advertises network IPv6 prefixes on interfaces from which it learned them. If both split horizon and poison reverse are enabled, only split-horizon processing occurs. Poison-reverse is turned off by default.
Router(config-rtr)#split-horizonPerforms split-horizon processing of updates. Split horizon suppresses the advertisement of network IPv6 prefixes on interfaces from which RIPng learned them.
Router(config-rtr)#port udp-port multicast-group multicast-addressDefines a different UDP port number and multicast address than the default values. By default, the standardized UDP port 521 and RIP's multicast address FF02::9 are used by the RIPng processes.
Router(config-rtr)#timers update expire holddown garbage-collectConfigures the RIPng routing timers. The update parameter defines the periodic updates interval. The default update value is 30 seconds. expire is a timeout parameter that marks as unreachable network prefixes not heard after expire seconds. The default expire value is 180 seconds. Information about unreachable network prefixes is ignored for a further holddown seconds. The 0 value, the default, is used to not use holddown. The garbage-collect parameter deletes an expired entry in the RIPng routing table. The removal is done garbage-collect seconds after either the expiration or holddown termination. The default garbage-collect value is 120.
Router(config-rtr)#redistribute {bgp | connected | isis | ospf | rip | static} [metric metric-value] [level-1 | level-1-2 | level-2] [route-map map-tag]Advertises routes learned from other protocols, such as bgp, connected, isis, ospf, rip, and static. Refer to the following section to get detailed information about the redistribute command.
Router(config-rtr)#exitExits the RIPng configuration mode.

Redistributing IPv6 Routes into RIPng

The redistribution of IPv6 routes into RIPng is similar to the equivalent process in IPv4. BGP4+, IS-IS for IPv6, OSPFv3, and static routes may be redistributed into RIPng. The following section presents commands and examples of redistributing IPv6 routes into RIPng. The redistribution of IPv6 routes with RIPng is performed using the redistribute command in the ipv6 router rip subcommand mode. This command is used in the same manner as the IPv4 redistribute command with RIPv2. The syntax for the redistribute command is as follows:

Router(config-rtr)#redistribute {bgp | connected | isis | ospf | rip | static}

Redistributing Static IPv6 Routes into RIPng

You may supply optional parameters such as metric and route-map with the redistribute static command. A new metric value may be forced for the static IPv6 routes redistributed instead of the default metric value of 1 for routes redistributed into RIPng. Then, a route-map may be used to filter routes against a routing policy. The syntax for the redistribute static command in RIPng is as follows:

Router(config-rtr)#redistribute static [metric
									metric-value] [route-map
									map-tag]

The RIPng configuration in Example 4-11 shows the redistribute static command used to inject static IPv6 routes into RIPng.

Example 4-11. Redistributing Static IPv6 Routes into RIPng
RouterR1#configure terminal
RouterR1(config)#ipv6 router rip RIPNGR1
									RouterR1(config-rtr)#redistribute static
								

Redistributing BGP4+ into RIPng

The redistribute bgp command defines the redistribution of BGP4+ routes into RIPng. The process argument is the AS number. The optional metric parameter identifies a new metric value associated with BGP4+ routes advertised into RIPng. A route-map may be used optionally to filter incoming IPv6 routes from the source protocol BGP4+ to RIPng. The syntax for the redistribute bgp command in RIPng is as follows:

Router(config-rtr)#redistribute bgp
									process [metric
									metric-value] [route-map
									map-tag]

The RIPng configuration in Example 4-12 shows the redistribute bgp command used to inject BGP4+ routes into RIPng. The BGP4+ route 2001:420:ffff::/48 is injected into RIPng. Refer to the section “BGP4+ for IPv6” for detailed information about the configuration presented here.

Example 4-12. Redistributing BGP4+ Routes into RIPng
RouterR1#configure terminal
RouterR1(config)#router bgp 65001
RouterR1(config-router)#no bgp default ipv4-unicast
RouterR1(config-router)#bgp router-id 1.1.1.1
RouterR1(config-router)#neighbor 3ffe:b00:ffff:2::2 remote-as 65002
RouterR1(config-router)#address-family ipv6
RouterR1(config-router-af)#neighbor 3ffe:b00:ffff:2::2 activate
RouterR1(config-router-af)#network 2001:420:ffff::/48
RouterR1(config-router-af)#exit-address-family
RouterR1(config-router)#exit
RouterR1(config)#ipv6 router rip RIPNGR1
									RouterR1(config-rtr)#redistribute bgp 65001
								

Redistributing IS-IS for IPv6 into RIPng

The redistribute isis command defines the redistribution of IS-IS for IPv6 routes into RIPng. The process argument is the IS-IS process on the router. The optional metric parameter identifies a new metric value associated with IS-IS for IPv6 routes advertised into RIPng. The level-1, level-2, and level-1-2 keywords specify the level of IS-IS routes that is injected into RIPng from IS-IS. A route-map may be used optionally to filter incoming IPv6 routes from the source protocol IS-IS to RIPng. The syntax for the redistribute isis command is as follows:

Router(config-rtr)#redistribute isis
									process [metric
									metric-value] {level-1 |
  level-2 | level-1-2} [route-map
									map-tag]
								

Managing RIPng

As shown in Table 4-8, you can display the status, the RIPng database, and the next-hop addresses of the RIPng process using the show ipv6 rip command. The show ipv6 rip command is equivalent to the show rip command in IPv4.

Table 4-8. show ipv6 rip Command
CommandDescription
show ipv6 ripDisplays the status of the various RIPng processes.
show ipv6 rip databaseDisplays the RIPng database.
show ipv6 rip next-hopsDisplays the RIPng next hops.

You can remove all entries from the RIPng database using the clear ipv6 rip command, the syntax for which is as follows:

Router#clear ipv6 rip [name]

The command debug ipv6 rip displays debug information related to the RIPng routing protocol. This command displays RIPng packets sent and received on all interfaces where RIPng is enabled. The debug ipv6 rip command is equivalent to the debug ip rip command in IPv4. The syntax is as follows:

Router#debug ipv6 rip
							

To display RIPng packets sent and received on a specific interface, use the interface parameter:

Router#debug ipv6 rip
								interface
							

NOTE

When the debug ipv6 rip command is used on a busy network, it can seriously affect the router's performance.


IS-IS for IPv6

ISO/EIC 10589, Intermediate System to Intermediate System, is the basic specification that defines the IS-IS intradomain routing exchange protocol for Connectionless Network Service (CLNS) traffic. RFC 1195, Use of OSI IS-IS for Routing in TCP/IP and Dual Environments, is the most specific standard of IS-IS for IPv4. IS-IS for IPv4 is also known in Cisco environments as integrated IS-IS. The IS-IS protocol runs on top of the data link layer and requires Connectionless Network Protocol (CLNP) as defined in the ISO 8473 specification. CLNP uses NSAP addresses.

NOTE

The Cisco IOS Software supports IS-IS for IPv4. However, configuring IS-IS for IPv4 on Cisco is beyond the scope of this book.


IPv6 is now supported by the IS-IS protocol. The IETF draft-ietf-isis-ipv6-05.txt “Routing IPv6 with IS-IS” defines the IPv6 support in the IS-IS protocol. Because the IPv6 protocol represents a new address family to support, this section presents the updates added in the IS-IS protocol to support IPv6. The updates added to the protocol specified in the IETF draft-ietf-isis-ipv6-05.txt refer to IS-IS's mechanisms, as described in RFC 1195.

The updates are focused on the two new Type-Length Values (TLVs), which were added to carry information related to the IPv6 routing. The TLV is router information encoded in variable-length fields within the Link State Packets (LSPs). The new TLVs added are as follows:

  • IPv6 Reachability— This new TLV describes the network reachability such as the IPv6 routing prefix, metric information, and some option bits. The option bits indicate the advertisement of the IPv6 prefix from a higher level, distribution of the prefix from other routing protocols (redistribution), and the existence of sub-TLVs. The decimal value assigned to the IPv6 Reachability TLV is 236 (hex 0xEC). This IPv6 Reachability TLV is equivalent to the IP Internal Reachability and IP External Reachability Information described in RFC 1195.

  • IPv6 Interface Address— This TLV contains an IPv6 interface address (128-bit) instead of an IPv4 interface address (32-bit). This IPv6 Interface Address is equivalent to the IP Interface Address described in RFC 1195. The decimal value assigned to the IPv6 Reachability TLV is 232 (hex 0xE8). For IS HELLO PDUs, this TLV must contain the link-local address (FE80::/10). However, for the LSP, the TLV must contain the non-link-local address.

A new Network Layer Protocol Identifier (NLPID) has also been defined, allowing IS-IS routers with IPv6 support to advertise packets using the decimal value 142 (hex 0x8E) for IPv6 packets. The NLPID is an 8-bit field identifying the network layer. Different NLPID values are used for IPv4 and OSI.

IS-IS Network Design with IPv6

The domain in the IS-IS context is equivalent to the AS in BGP. The IS-IS domain is based on a two-level structure: level 1 and level 2. As in IPv4, any IS-IS router with IPv6 support can act as the following:

  • Level-1 (L1) router— Responsible for intra-area IPv6 routing

  • Level-2 (L2) router— Responsible for interarea IPv6 routing

  • Level-1-2 (L1/L2) router— Responsible for both IPv6 intra-area and interarea routing

Before describing the IS-IS command sets for IPv6, the following section presents the considerations to keep in mind during the design of your IS-IS network with the IPv6 protocol.

Single SPF Restrictions

This section presents the restrictions of IS-IS network design when the IPv6 protocol is enabled concurrently with IPv4. Within an IS-IS area, a single SPF runs on each level for OSI, IPv4, and IPv6. This means that all IS-IS routers in a single IS-IS area must run the same set of protocols.

More specifically, the following sections describe these topics:

  • IS-IS adjacency router considerations for IPv6— You can design three possible architectures of IS-IS adjacency routers in a single IS-IS area—IPv4-only IS-IS, IPv6-only IS-IS, and IPv4-IPv6 IS-IS (in which both protocols are enabled on all IS-IS routers). However, the section describes specific considerations about IS-IS adjacency that must be taken when both IPv4 and IPv6 are enabled gradually on IPv4-only IS-IS routers.

  • Level-2 router configuration for IPv6— Level-2 IS-IS routers are responsible for intrarouting. Level-2 IS-IS routers must be contiguous with the same protocol sets. Otherwise, routing black holes result. The section presents the contiguous architectures for Level-2 routers when IPv6 is enabled.

  • Multitopology for IPv6— An alternative to the restrictions of the IS-IS network design when both IPv4 and IPv6 are enabled is to implement a separate SPF algorithm for each address family. In this case, each protocol may have a separate topology.

IS-IS Adjacency Router Considerations

Because the IS-IS protocol is a link-state protocol, adjacency routers exchange network information on the same links. Within an IPv4-only network, the IS-IS protocol can be enabled on all adjacency routers without any problem. This rule is also true when IS-IS is enabled on an IPv6-only network.

However, special care must be taken when both protocols are enabled on all adjacency IS-IS routers. In this specific case, the IS-IS protocol must be enabled with both protocols on all adjacency routers at the same time. Otherwise, IS-IS routers drop adjacencies with all their IS-IS IPv4 neighbors. In fact, when the adjacency-check feature is enabled on Level-1 or Level-1-2 IS-IS routers, the IS-IS protocol checks the hello messages from its IS-IS neighbors and refuses to form an adjacency with a neighbor that is using a different protocol set.

The transition of your IPv4-only IS-IS routers toward IPv6-IPv4 IS-IS routers is very critical. If the adjacency check is not disabled during the transition, the IPv4-only IS-IS routers refuse to form an adjacency with IPv6-IPv4 IS-IS routers. Thus, the adjacencies are dropped. This is a very important consideration to keep in mind.

NOTE

In IS-IS's address-family ipv6 subcommand mode, the no adjacency-check command is specially designed to maintain the adjacencies when you enable IPv4-IPv6 IS-IS on each router in turn during the transition from IPv4-only IS-IS routers. When the no adjacency-check is enabled, this prevents IS-IS routers using different protocol sets from performing the hello check and dropping the adjacencies. After the successful transition, when all IS-IS routers support both protocols simultaneously, the no adjacency-check command can be removed. The no adjacency-check command is described in detail later in this chapter.


Here are the possible architectures of IS-IS adjacency routers in a single area:

  • IPv4-only— The IS-IS protocol in the IS-IS area is enabled only with IPv4 on all adjacency IS-IS routers.

  • IPv6-only— The IS-IS protocol in the IS-IS area is enabled only with IPv6 on all adjacency IS-IS routers.

  • IPv4-IPv6— The IS-IS protocol in the IS-IS area is enabled with IPv6 and IPv4 on all adjacency IS-IS routers. However, during the transition from IPv4-only IS-IS routers to IPv4-IPv6 IS-IS routers, the no adjacency-check command must be enabled. Otherwise, adjacencies between the IS-IS using different protocol sets will be dropped.

Figure 4-7 shows examples of IS-IS network topologies with IPv4 and IPv6. Scenario A represents a correct topology, in which three IS-IS routers are enabled with IPv4 only within an IS-IS area. Scenario B illustrates a correct architecture in which three IS-IS routers are enabled with IPv6 only. Scenario C is an incorrect topology in which one IS-IS router is IPv6-only, and the others are IPv4-only. In this example, the IS-IS router enabled on IPv4 only drops adjacency information. Finally, scenario D shows another correct architecture in which all IS-IS routers are enabled with both IPv4 and IPv6 within the IS-IS area.

Figure 4-7. Examples of IS-IS Network Topologies in Domains


Level-2 Router Considerations

In any IS-IS network design, all level-2 routers that are responsible for interarea routing must be contiguous. Therefore, IS-IS level-2 routers must be contiguous for IPv6-only, IPv4-only, or both IPv6 and IPv4. Otherwise, a routing black hole results. This is another consideration to keep in mind when you design IS-IS networks based on both IPv4 and IPv6.

NOTE

A black hole is caused when you have an IPv4-only IS-IS router on the shortest path for an IPv6 route. Routers at the edge send packets toward the IPv4-only IS-IS router, but the routers that are adjacent to the IPv4-only IS-IS router do not install the route because the next hop does not have an IPv6 address.


Figure 4-8 illustrates this concept. Scenario A shows three IS-IS areas connected with IS-IS level-2 routers. This scenario is wrong because the level-2 IS-IS router in IS-IS Area B is not enabled with IPv6. Therefore, this situation breaks the contiguity for the IPv6 protocol. However, scenario B presents a correct IS-IS architecture in which all level-2 IS-IS routers are contiguous for both IPv4 and IPv6.

Figure 4-8. Examples of Contiguous and Noncontiguous Level-2 IS-IS Routers for IPv6


Multitopology IS-IS for IPv6

To allow more flexibility for the design of IPv6 networks with IS-IS, Cisco added a multitopology feature in its IPv6 implementation of IS-IS. This new feature removes the limitation of having all IS-IS routers of a single area run the exact same set of protocols.

NOTE

The multitopology IS-IS feature for IPv6 will be available in a future Cisco IOS Software release.


Enabling IS-IS on Cisco

The IPv6-supported IS-IS protocol is available in Cisco IOS Software versions 12.2(8)T, 12.0(21)ST on the Cisco 12000 series, and 12.2(9)S. The same router isis command in IPv4 defines the IS-IS process on the router. It defines the IS-IS process on the router. The router isis command's syntax is as follows:

Router(config)#router isis [tag]

The tag parameter specifies the name of a process.

The router isis command is used on a global basis.

Configuring IS-IS for IPv6

After the IS-IS routing process is defined on the router, IS-IS can be configured to use the specific attributes of the IPv6 protocol. As with BGP for IPv6, the IPv6 attributes to be configured in the IS-IS configuration are applied under the address-family ipv6 subcommand mode of the IS-IS router (in the Router(config-router-af)# path). Table 4-9 presents the commands available in this subcommand mode to configure IS-IS for IPv6.

Table 4-9. address-family ipv6 Subcommand Mode of IS-IS
CommandDescription
#address-family ipv6 [unicast]Places the router in the address-family ipv6 configuration mode. As with BGP4+, the unicast keyword is optional.
#distance 1-254The default administrative distance for IS-IS is 115. This command sets a new administrative distance for IS-IS.
#default-information originate [route-map name]Generates a default IPv6 route (::/0) into IS-IS. This command is the same as the existing default-information command in IPv4.
#maximum-paths 1-4Defines the maximum number of paths allowed for an IPv6 route learned through IS-IS.
#redistribute {BGP | OSPF | RIP | static} [metric metric-value] [metric-type {internal | external}] [level-1 | level-1-2 | level-2] [route-map-name]Redistributes IPv6 routes learned from other IPv6 routing protocols such as BGP, OSPF, RIP, and static, into IS-IS. A route map may be applied to this command to filter attributes of the incoming routes. This command is the same as the redistribute command in IPv4.
#redistribute isis {level-1 | level-2} into {level-1 | level-2} distribute-list prefix-list-nameRedistributes the IPv6 routes of the IS-IS routing table between the IS-IS areas. A prefix list can be applied to filter the IPv6 routes to be redistributed between the areas. This command is the same as the redistribute isis command in IPv4.
#no adjacency-checkDuring the transition from IPv4-only IS-IS routers to IPv4-IPv6 IS-IS routers in a network, the no adjacency-check command maintains the adjacencies between IS-IS routers using different protocol sets. The no adjacency-check command prevents IS-IS routers using different protocol sets from performing the hello check and dropping the adjacencies. This command must be used only during the transition. After the transition, when all IS-IS routers are supporting both IPv4 and IPv6, the no adjacency-check can be removed.
#summary-prefix ipv6-prefix/prefix-length [level-1 | level-2 | level-1-2]Configures IPv6 summary prefixes. The summary IPv6 prefix, the prefix length, and the IS-IS level must be specified as parameters.
#exit-address-familyLeaves the address-family ipv6 configuration mode and returns to the IS-IS router configuration mode.

Configuring the Network Entity Title IS-IS

After you have properly configured the specific attributes of IPv6, the next step is to identify the router for IS-IS by assigning to it an IS-IS Network Entity Title (NET) address. The SPF calculations rely on the IS-IS NET address to identify the routers. The IS-IS NET address is applied in the IS-IS router configuration mode. Use the net command to assign an IS-IS NET address to the routing process:

Router(config-router)#net
									network-entity-title
								

This is the same command as in IPv4.

Enabling IS-IS on Interfaces

The last step to complete the IS-IS configuration for IPv6 on the router is to enable IS-IS on the router's interfaces. After the IPv6 address has been assigned to the interface, the ipv6 router isis command starts the IS-IS IPv6 process on that interface. Finally, as with IS-IS for IPv4, the interface's adjacency type can be specified on an interface basis. Table 4-10 shows the commands used to perform these tasks.

Table 4-10. Starting IS-IS for IPv6
CommandDescription
Router(config-if)#ipv6 address ipv6-address/prefix-lengthAssigns a static IPv6 address to the network interface.
Example 1 Router(config-if)#ipv6 address 3ffe:b00:ffff:1::1/64Assigns the static IPv6 address 3ffe:b00:ffff:1::1/64 to the network interface.
Router(config-if)#ipv6 router isisStarts the IS-IS for IPv6 routing process on an interface.
Example 2 Router(config-if)#isis circuit-type level-2-onlyConfigures the interface as a level-2-only IS-IS interface. This is the same command as in IPv4.
Router(config-if)#isis circuit-type {level-1 | level-1-2 | level-2-only}Configures the type of adjacency on an interface. This is the same command as in IPv4.

NOTE

The type of adjacency can also be configured globally on the router.


Figure 4-9 shows a network architecture in which the IS-IS areas 49.0001 and 49.0002 are connected through level-2 IS-IS Routers R1 and R3. IS-IS support for IPv6 only is enabled on both routers. The level-2 IS-IS adjacency is configured on interface FastEthernet0/0 of Router R1 and on interface Ethernet0 of Router R3. Static IPv6 addresses within the prefix 2001:410:ffff:1::/64 have been assigned to these interfaces.

Figure 4-9. IS-IS Areas Interconnected Through IS-IS IPv6-Only Routers


Example 4-13 shows the IS-IS configuration for IPv6 applied on Router R1 in Figure 4-9. As discussed previously, the IS-IS process is defined on the router using the router isis command. Then, the redistribute static command applied in the address-family ipv6 subcommand mode redistributes the static IPv6 routes known on Router R1 into IS-IS for the IPv6 routing table. The net 49.0001.1921.6801.0001.00 command assigns the IS-IS NET address to the IS-IS routing process. On the FastEthernet0/0 interface, the ipv6 address 2001:410:ffff:1::1/64 command represents the assignment of static IPv6. Finally, the IS-IS for IPv6 process is started on the interface FastEthernet0/1 using the command ipv6 router isis. The command isis circuit-type level-2-only sets that interface as level-2 only.

Example 4-13. Enabling IS-IS for IPv6 in Router R1
RouterR1#configure terminal
RouterR1(config)#router isis
RouterR1(config-router)#address-family ipv6
RouterR1(config-router-af)#redistribute static
RouterR1(config-router-af)#exit-address-family
RouterR1(config-router)#net 49.0001.1921.6801.0001.00
RouterR1(config-router)#interface fastethernet0/0
RouterR1(config-if)#ipv6 address 2001:410:ffff:1::1/64
RouterR1(config-if)#ipv6 router isis
RouterR1(config-if)#isis circuit-type level-2-only
RouterR1(config-if)#exit
								

A similar configuration is applied on Router R3, except that the IPv6 address assigned to the Ethernet0 interface is 2001:410:ffff:1::2/64 and the IS-IS area is different. This is a simple example. Additional commands might be required to fine-tune the IS-IS configuration.

Configuring IS-IS for IPv6 Over a GRE Tunnel

Because the IS-IS protocol runs on top of the data link layer (link-state protocol) and requires CLNP, IS-IS for IPv6 cannot be used by distant IPv6 networks connected through a configured tunnel.

NOTE

The configured tunnel is a point-to-point tunnel assigned statically between two nodes over IPv4 that have a dual stack (IPv4 and IPv6 stacks simultaneously). The configured tunnel encapsulates IPv6 packets over IPv4 packets. Then the encapsulated packets are forwarded between the dual-stack nodes using the IPv4 routing domains at the transport layer. At each side of the configured tunnel, IPv4 and IPv6 addresses must be assigned to the tunnel interfaces. Cisco IOS Software supports the configured tunnel. The configured tunnel is discussed in detail in Chapter 5.


IS-IS for IPv6 cannot be used over a configured tunnel (an IPv6-over-IPv4 tunnel) because IS-IS uses CLNP. However, IS-IS for IPv6 can be used by IPv6 networks separated by IPv4 routing domains if the IS-IS for IPv6 routers are configured with a GRE tunnel to carry the IPv6 packets inside a GRE IPv4 tunnel.

NOTE

Like the configured tunnel, the GRE tunnel must be configured statically between routers to allow the transport of IPv6 packets over IPv4 routing domains.


Example 4-14 shows the configuration of a GRE tunnel and IS-IS for IPv6 on a router. This configuration shows that Router R9 has the IPv6 address 201:410:ffff:1::1 configured on interface tunnel0 and has IS-IS for IPv6 enabled on this interface using the ipv6 router isis command.

Example 4-14. Configuring a GRE Tunnel for IS-IS IPv6
RouterR9#configure terminal
RouterR9(config)#router isis
RouterR9(config-router)#net 49.0001.1921.6801.0001.00
RouterR9(config-router)#interface tunnel0
RouterR9(config-if)#ipv6 address 2001:410:ffff:1::1/64
RouterR9(config-if)#tunnel source ethernet0
RouterR9(config-if)#tunnel destination 132.214.1.3
RouterR9(config-if)#tunnel mode gre ipv6
RouterR9(config-if)#ipv6 router isis
RouterR1(config-if)#exit
								

NOTE

The configuration of GRE tunnels with IPv6 is described in detail in Chapter 5.


Redistributing IPv6 Routes into IS-IS

Redistributing IPv6 routes into IS-IS for IPv6 is similar to this task in IPv4. RIPng, BGP4+, OSPF, static routes, and even IPv6 routes between level 1 (L1) and level 2 (L2) can be redistributed into IS-IS for IPv6. The following section presents commands for and examples of redistributing IPv6 routes into IS-IS.

As with BGP4+, the redistribution of IPv6 routes with IS-IS for IPv6 is performed in the address-family ipv6 subcommand mode using the redistribute command. This command is used in the same manner as the IPv4 redistribute command. The syntax for the redistribute command in the address-family ipv6 subcommand mode is as follows:

Router(config-router-af)#redistribute {bgp | isis | ospf | rip | static}

Redistributing Static IPv6 Routes into IS-IS for IPv6

The redistribute static command is used in the address-family ipv6 subcommand mode to define the redistribution of static routes into IS-IS for IPv6. The level-1, level-2, and level-1-2 keywords specify at what level the static routes are injected into IS-IS. The metric-type argument identifies the IS-IS metric associated with routes advertised into IS-IS: internal means an IS-IS metric less than 63 (the default), and external is an IS-IS metric less than 128 but greater than 64. The optional metric parameter identifies a new metric value associated with static routes advertised into IS-IS. Finally, a route-map may be used optionally to filter static IPv6 routes. The syntax for the redistribute static command in the address-family ipv6 subcommand mode is as follows:

Router(config-router-af)#redistribute static {level-1 | level-2 | level-1-2}
  [metric-type {external | internal}] [metric
									metric-value] [route-map
									map-tag]

The IS-IS configuration in Example 4-15 shows the redistribute static command in the address-family ipv6 subcommand mode, which injects static IPv6 routes into IS-IS.

Example 4-15. Redistributing Static IPv6 Routes into IS-IS for IPv6
RouterR1#configure terminal
RouterR1(config)#router isis
RouterR1(config-router)#address-family ipv6
									RouterR1(config-router-af)#redistribute static
								

Redistributing BGP4+ into IS-IS for IPv6

The redistribute bgp command is used in the address-family ipv6 subcommand mode to define the redistribution of BGP4+ routes into IS-IS for IPv6. The process argument is the AS number. The level-1, level-2, and level-1-2 keywords specify at what level the routes are injected into IS-IS from BGP4+ (the default is level-2). The metric-type argument identifies the IS-IS metric associated with routes advertised into IS-IS: internal means an IS-IS metric less than 63 (the default), and external is an IS-IS metric less than 128 but greater than 64. The optional metric parameter identifies a new metric value associated with BGP4+ routes advertised into IS-IS. A route-map may be used optionally to filter incoming IPv6 routes from the source protocol BGP4+ to IS-IS for IPv6. The syntax for the redistribute bgp command in the address-family ipv6 subcommand mode is as follows:

Router(config-router-af)#redistribute bgp
									process {level-1 | level-2 | level-1-2}
  [metric-type {external | internal}] [metric
									metric-value] [route-map
									map-tag]

The IS-IS configuration in Example 4-16 shows the redistribute bgp command used in the address-family ipv6 subcommand mode to inject BGP4+ routes into IS-IS. The BGP4+ route 2001:420:ffff::/48 is injected into IS-IS for IPv6 as level-1 routes. The metric-type of these routes is external. Refer to the section “BGP4+ for IPv6” for detailed information about the BGP4+ configuration.

Example 4-16. Redistributing BGP4+ Routes into IS-IS for IPv6
RouterR1#configure terminal
RouterR1(config)#router bgp 65001
RouterR1(config-router)#no bgp default ipv4-unicast
RouterR1(config-router)#bgp router-id 1.1.1.1
RouterR1(config-router)#neighbor 3ffe:b00:ffff:2::2 remote-as 65002
RouterR1(config-router)#address-family ipv6
RouterR1(config-router-af)#neighbor 3ffe:b00:ffff:2::2 activate
RouterR1(config-router-af)#network 2001:420:ffff::/48
RouterR1(config-router-af)#exit-address-family
RouterR1(config-router)#exit
RouterR1(config)#router isis
RouterR1(config-router)#address-family ipv6
									RouterR1(config-router-af)#redistribute bgp 65001 level-1 metric-type external
								

Redistributing RIPng into IS-IS for IPv6

The redistribute rip command is used in the address-family ipv6 subcommand mode to define the redistribution of RIPng routes into IS-IS for IPv6. The process argument is the RIPng process. The optional metric parameter identifies a new metric value associated with RIPng routes advertised into IS-IS. The level-1, level-2, and level-1-2 keywords specify at what level the routes are injected into IS-IS from RIPng. The metric-type argument identifies the IS-IS metric associated with routes advertised into IS-IS: internal means an IS-IS metric less than 63 (the default), and external is an IS-IS metric less than 128 but greater than 64. Finally, a route-map may be used optionally to filter incoming IPv6 routes from the source protocol RIPng to IS-IS for IPv6. The syntax for the redistribute rip command in the address-family ipv6 subcommand mode is as follows:

Router(config-router-af)#redistribute rip
									process {level-1 | level-2 | level-1-2}
  [metric-type {external | internal}] [metric
									metric-value] [route-map
									map-tag]

The IS-IS configuration in Example 4-17 shows the redistribute rip command used in the address-family ipv6 subcommand mode of IS-IS to inject RIPng routes into IS-IS level 1. The 2001:410:ffff:1::/64 route is advertised into IS-IS level 1. Refer to the section “RIPng for IPv6” for detailed information about this configuration.

Example 4-17. Redistributing RIPng Routes into IS-IS for IPv6
RouterR1#configure terminal
RouterR1(config)#ipv6 router rip RIPNGR3
RouterR1(config-rtr)#interface fastethernet0/1
RouterR1(config-if)#ipv6 address 2001:410:ffff:1::1/64
RouterR1(config-if)#ipv6 rip RIPNGR3 enable
RouterR1(config-if)#exit
RouterR1(config)#router isis
RouterR1(config-router)#address-family ipv6
									RouterR1(config-router-af)#redistribute rip RIPNGR3 level-1
								

Redistributing IS-IS into IS-IS

The redistribute isis command is used in the address-family ipv6 subcommand mode to define the redistribution between IS-IS level 1 and level 2. The level-1 and level-2 keywords specify at what source level the routes are injected into the destination level. By default, the IS-IS level-1 routes are automatically redistributed into IS-IS level 2. The into argument is an operator. A distribute-list may be used optionally with IS-IS to control the sending of IS-IS messages to a specific interface. The syntax for the redistribute isis command in the address-family ipv6 subcommand mode is as follows:

Router(config-router-af)#redistribute isis {level-1 | level-2} into {level-1 |
  level-2} [distribute-list
									prefix-list-name]

The IS-IS configuration in Example 4-18 shows the redistribute isis command used in the address-family ipv6 subcommand mode to inject IS-IS level-2 routes into IS-IS level 1.

Example 4-18. Redistributing IS-IS Level-2 Routes into IS-IS Level 1
RouterR1#configure terminal
RouterR1(config)#router isis
RouterR1(config-router)#address-family ipv6
									RouterR1(config-router-af)#redistribute isis level-2 into level-1
								

Verifying and Managing IS-IS for IPv6

You can display IPv6 information related to IS-IS for IPv6 using the show isis command. This command is available for both IPv4 and IPv6. Table 4-11 presents the different command options and parameters you can use with the show isis command.

Table 4-11. show isis Command Parameters
Command ParameterDescription
show isis database [detail | level-1 | level-2]Displays the contents of the IS-IS link-state database. This is the same command as in IPv4.
show isis topologyShows a list of all connected routers in all IS-IS areas. This is the same command as in IPv4.
show isis routeDisplays the IS-IS level-1 routing table only. This is the same command as in IPv4.
show ipv6 protocols [summary]Shows the parameters and current state of the IPv6 routing protocol.
show ipv6 route is-isShows only the IPv6 IS-IS routes.

It is possible to reset the IS-IS routing using the clear isis command. It is available for both IPv4 and IPv6. The syntax of clear isis is as follows:

Router#clear isis *
							

Use the clear isis command to refresh the link-state database and recalculate all routes. To refresh the link-state database and recalculate all routes related to the IS-IS tag specified, use the following:

Router#clear isis [* | tag]

The debug isis command can be used to display debug information and events related to the adjacency packets related to the IS-IS routing protocol. This command is available for both IPv4 and IPv6. The syntax is as follows:

Router#debug isis adj-packets
							

To display events related to IS-IS update packets, use the following:

Router#debug isis update-packets
							

OSPFv3 for IPv6

RFC 2328, OSPF Version 2, is the latest revision document describing version 2 of OSPF. Version 2 is the most advanced version of OSPF for IPv4 and is mainly used today in Cisco router implementations.

NOTE

The Cisco IOS Software supports OSPFv2. However, the configuration of OSPFv2 for IPv4 on Cisco routers is beyond the scope of this book.


OSPF version 3 is defined in RFC 2740, OSPF for IPv6. It is the counterpart of OSPFv2 for the IPv6 protocol. It is named OSPFv3 because the version field in RFC 2740 is set to 3. The OSPFv3 specification is mainly based on OSPFv2, but with some enhancements. Adding IPv6 support in the OSPFv2 protocol required important rewrites of the code to remove the IPv4 dependencies, such as the multicast IPv4 addresses 224.0.0.5 and 224.0.0.6, which are not useful in IPv6. After having been updated to support IPv6, OSPFv3 can distribute IPv6 prefixes and run natively over IPv6. Both OSPFv2 and OSPFv3 can be used concurrently, because each address family has a separate SPF.

OSPFv3 has some similarities to OSPFv2:

  • OSPFv3 uses the same basic packet types as OSPFv2 such as hello, DBD (also called DDP, database description packets), LSR (link-state request), LSU (link-state update), and LSA (link-state advertisement).

  • Mechanisms for neighbor discovery and adjacency formation are identical.

  • Operations of OSPFv3 over the RFC-compliant nonbroadcast multiaccess (NBMA) and point-to-multipoint topology modes are supported. OSPFv3 also supports the other modes from Cisco such as point-to-point and broadcast including the interface.

  • LSA flooding and aging are the same for both OSPFv2 and OSPFv3.

The main differences between OSPFv3 and OSPFv2 are as follows:

  • OSPFv3 runs over a link— The network statement in the router subcommand mode of OSPFv2 is replaced by an OSPFv3 command to apply to the interface configuration. It is possible to have multiple instances per link.

  • Router ID— This 32-bit number indicates that the router is not IPv6-specific. The router ID number is still based on 32-bit. This router ID identifies the OSPFv3 router. As for BGP4+, when no IPv4 address is configured, a router ID must be set.

  • Link ID— This 32-bit number indicates that the links are not IPv6-specific. The link ID number is still based on 32-bit.

  • Link-local address— OSPFv3 uses IPv6's link-local addresses to identify the OSPFv3 adjacency neighbors.

  • New LSA types— The Link-LSA and Intra-Area-Prefix-LSA types are added in OSPFv3:

    - Link-LSA (LSA type 0x0008)— There is one Link-LSA per link. This new type provides the router's link-local address and lists all IPv6 prefixes attached to the link.

    - Intra-Area-Prefix-LSA (LSA type 0x2009)— There are multiple LSAs with different link-state IDs. The area flooding scope can be an associated prefix with the transit network referencing a Network-LSA, or it can be an associated prefix with a router or a stub referencing a Router-LSA.

  • Transport— OSPFv3 messages are sent over IPv6 datagrams, allowing the configuration across IPv6-over-IPv4 tunnels.

  • Multicast address— Two standard multicast addresses are used with OSPFv3:

    - FF02::5— Represents all SPF routers on the link-local scope. This multicast address is equivalent to 224.0.0.5 in OSPFv2.

    - FF02::6— Represents all Designated Router (DR) routers on the link-local scope. This multicast address is equivalent to 224.0.0.6 in OSPFv2.

  • Security— OSPFv3 uses Authentication Headers (IPSec AH) and Encapsulating Security Payload (IPSec ESP) extension headers as an authentication mechanism instead of the variety of authentication schemes and procedures defined in OSPFv2. The OSPFv3 implementation in the Cisco IOS Software supports IPSec.

NOTE

Although this section presented an overview of the similarities and differences between OSPFv3 and OSPFv2, it is recommended that you read the complete specification in RFC 2740, OSPF for IPv6.


Configuring OSPFv3 on Cisco

Configuring OSPFv3 on Cisco is very similar to configuring it on OSPFv2, because it is a matter of prefixing the existing interface and commands with “ipv6.” However, keep in mind two important changes from the OSPFv2 configuration:

  • network area command— The way to identify IPv6 networks that are part of the OSPFv3 network is different than with the OSPFv2 configuration. The network area command in OSPFv2 is replaced by a configuration in which interfaces are directly configured to specify that IPv6 networks are part of the OSPFv3 network. Table 4-12 shows you how to identify networks that are part of OSPFv3.

    Table 4-12. ipv6 router ospf Command
    CommandDescription
    Step 1 Router(config)#ipv6 router ospf process-idEnables an OSPFv3 process on the router. The process-id parameter identifies a unique OSPFv3 process. This command is used on a global basis.
    Example Router(config)#ipv6 router ospf 100Enables the OSPFv3 process number 100 on the router.
    Step 2 Router(config-router)#router-id ipv4-addressFor an IPv6-only OSPF router, a router-id parameter must be defined in the OSPFv3 configuration as an IPv4 address using the router-id ipv4-address command. You can use any IPv4 address as the value.
    Example Router(config-router)#router-id 10.1.1.3Defines the router-id value as 10.1.1.3.
    Step 3 Router(config-router)#area area-id range ipv6-prefix/prefix-lengthSummarizes IPv6 routes that match the ipv6-prefix/prefix-length parameters.
    Example Router(config-router)#area 1 range 2001:410:ffff::/48Configures an area range that summarizes IPv6 routes matching the 2001:410:ffff::/48 prefix.
    Step 4 Router(config-router)#interface interface-idEnters the interface configuration mode.
    Step 5 Router(config-if)#ipv6 address pv6-address/prefix-lengthAssigns a static IPv6 address to the network interface.
    Example Router(config-if)#ipv6 address 2001:410:ffff:1::1/64Assigns the static IPv6 address 2001:410:ffff:1::1/64 to the network interface.
    Step 6 Router(config-if)#ipv6 ospf process-id area area-idIdentifies the IPv6 prefix assigned to this interface as part of the OSPFv3 network. This command replaces the network area command used with OSPFv2.
    Example Router(config-if)#ipv6 ospf 100 area 1Identifies the IPv6 prefix 2001:410:ffff:1::/64 as part of area 1 in the OSPFv3 process 100.

  • Native IPv6 router mode— The configuration of OSPFv3 is not a subcommand mode of the router ospf command (OSPFv2 configuration). With other routing protocols, such as BGP4+ and IS-IS for IPv6, you can place the router in the address-family ipv6 configuration subcommand mode to enable IPv6-specific parameters.

NOTE

OSPFv3 is the latest IPv6 IGP added to the Cisco IOS Software. However, currently OSPFv3 is less proven than RIPng and IS-IS over IPv6. Also, this section is based on OSPFv3's beta implementation. OSPFv3 commands and parameters used in this chapter might differ from a recent Cisco IOS Software release you downloaded.


The ipv6 router ospf command presented in Step 1 of Table 4-12 enables an OSPFv3 process on the router. The process-id is a numeric value local to the router that uniquely identifies an OSPFv3 process. Similar to IPv4, you can run multiple OSPFv3 processes on the same router. Table 4-12 describes enabling an OSPFv3 process and configuring this routing protocol with IPv6.

NOTE

Having multiple OSPFv3 processes on the same router is not recommended because it creates multiple databases, which causes more overhead.


Figure 4-10 illustrates a network topology in which Routers R1 and R3 interconnect multiple OSPFv3 areas. Router R1 from OSPF area 1 is interconnected to backbone area 0 using the FastEthernet 0/0 interface. The IPv6 prefix used on OSPF area 1 is 2001:410:ffff:1::/64, and the prefix in use on the backbone is 3ffe:b00:ffff:1::/64. Figure 4-10 also illustrates the aggregatable global unicast IPv6 addresses assigned to the routers' interfaces.

Figure 4-10. Multiple OSPFv3 Area Configurations


Example 4-19 presents the OSPFv3 configuration applied on Router R1 in Figure 4-10. Th ipv6 router ospf 100 command configures the OSPFv3 process 100 on the router. The command area 1 range 2001:410:ffff::/48 configures the range of area 1 within the prefix 2001:410:ffff::/48. The IPv6 addresses 2001:410:ffff:1::1/64 and 3ffe:b00:ffff:1::2 are assigned to interfaces FE0/1 and FE0/0, respectively. In the FE0/0 interface configuration mode, the command ipv6 ospf 100 area 1 identifies the prefix 2001:410:ffff:1::/64 as part of area 1 for the OSPFv3 process 100. Because the FE0/0 interface is adjacent to backbone area 0, the command ipv6 ospf 100 area 0 applied on that interface identifies that the prefix 3ffe:b00:ffff:1::/64 is part of area 0.

Example 4-19. Configuring OSPFv3 in Router R1
RouterR1#configure terminal
RouterR1(config)#ipv6 router ospf 100
RouterR1(config-router)#router-id 10.1.1.3
RouterR1(config-router)#area 1 range 2001:410:ffff::/48
RouterR1(config-router)#int FE0/1
RouterR1(config-if)#ipv6 address 2001:410:ffff:1::1/64
RouterR1(config-if)#ipv6 ospf 100 area 1
RouterR1(config-if)#int FE0/0
RouterR1(config-if)#ipv6 address 3ffe:b00:ffff:1::2/64
RouterR1(config-if)#ipv6 ospf 100 area 0
RouterR1(config-if)#exit
							

A similar configuration is also applied on Router R3, except that the area is 0 in this case.

NOTE

Example 4-19 is a simple example of how to configure OSPFv3 on Cisco. However, because the configuration of OSPFv3 on Cisco is very similar to OSPFv2 (you just add “ipv6” to the OSPFv2 commands in most cases), if you have experience with OSPFv2, you should be able to configure advanced IPv6 routing infrastructures using OSPFv3.


Redistributing IPv6 Routes into OSPFv3

Redistributing IPv6 routes into OSPFv3 is similar to this task in IPv4. BGP4+, RIPng, IS-IS for IPv6, and static routes can be redistributed into OSPFv3. The following section is an overview of the command used to redistribute routes into OSPFv3. Redistributing IPv6 with OSPFv3 is performed in the ipv6 router ospf subcommand mode using the redistribute command. The syntax for the redistribute command with OSPFv3 is as follows:

Router(config-router)#redistribute {bgp | isis | rip | static}

NOTE

The redistribute command in OSPFv3 is similar to the one in OSPFv2. Refer to the Cisco website for detailed information on IPv6 route redistribution between OSPFv3 and the other protocols.


Verifying and Managing OSPFv3

You can display IPv6 information related to the OSPFv3 protocol using the show ipv6 ospf command. Its parameters and options are described in Table 4-13.

Table 4-13. show ipv6 ospf Command Parameters
Command ParameterDescription
ospf [process-id]Displays information about an OSPFv3 process configured on the router.
ospf databaseDisplays the contents of the topological database maintained by the router.
ospf [process-id] database linkDisplays the new Link-LSA type added in OSPFv3.
ospf [process-id] database prefixDisplays the new Intra-Area-Prefix-LSA type added in OSPFv3.
route ospfDisplays all IPv6 routes learned by the router through OSPFv3.

You can reset the IPv6 OSPFv3 routing table using the clear ipv6 ospf command, the syntax for which is as follows:

Router#clear ipv6 ospf [process-id]

EIGRP for IPv6

IPv6 currently does not support EIGRP. However, the Cisco IOS Software IPv6 road map is considering an IPv6 add-on for EIGRP in a future Cisco IOS Software release.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.143.214.56