Network Bulls
www.networkbulls.com
Best Institute for CCNA CCNP CCSP CCIP CCIE Training in India
M-44, Old Dlf, Sector-14 Gurgaon, Haryana, India
Call: +91-9654672192
To support IPv6, all the IPv4 routing protocols had to go through varying degrees of
changes, with the most obvious being that each had to be changed to support longer addresses
and prefixes. The actual messages used to send and receive routing information
have changed in some cases, using IPv6 headers instead of IPv4 headers, and using IPv6
addresses in those headers. In particular, like their IPv4 versions, each IPv6 IGP uses IPv6
multicast addresses—for example, RIPng sends routing updates to the IPv6 destination
address FF02::9 instead of the old RIP-2 IPv4 224.0.0.9 address. Also, the routing protocols
typically advertise their link-local IP address as the next hop in a route.
Even with these changes, each IPv6 IGP has more similarities than differences compared
to their respective IPv4 cousins. For example, RIPng, based on RIP-2, is still a Distance
Vector protocol, with hop count as the metric and 15 hops as the longest valid route (16 is
infinity). OSPF Version 3 (OSPFv3), created specifically to support IPv6, uses Link State
logic like OSPFv2, uses cost as the metric, and retains the LSA types–but there are some
changes to how the LSAs work. However, most of the core OSPF operational concepts remain
the same.
Table 17-2 lists the IPv6 routing protocols and their new RFCs (as appropriate).
This chapter examines the three IGPs, the redistribution between the IGPs, and static
IPv6 routes.
RIP Next Generation (RIPng)
Routing Information Protocol (RIP) began life as one of the earliest efforts in the field of
dynamic IP routing protocols. It eventually became the first dynamic routing protocol for
the emerging IP protocol back in the 1970s. Later, in the mid-1990s, the RIP Version 2
(RIP-2) specifications enhanced RIP, with the original version becoming known as RIP
Version 1, or simply RIP-1.
Also in the mid-1990s, the process of defining IPv6 was drawing toward completion, at
least for the original IPv6 standards. To support IPv6, the IETF committees defined a new
version of RIP to support IPv6. But rather than number this updated flavor of RIP as RIP
Version 3, the creators chose to number this new protocol as version 1, treating it like a
new protocol. However, no one bothered to put “version 1” in the name, simply calling it
Table 17-2 Updates to Routing Protocols for IPv6
Routing Protocol Full Name RFC
RIPng RIP Next Generation 2080
OSPFv3 OSPF Version 3 5340
MP-BGP4 Multiprotocol BGP-4 4760
EIGRP for IPv6 EIGRP for IPv6 Proprietary
www.CareerCert.info
574 CCNP ROUTE 642-902 Official Certification Guide
Table 17-3 Comparing RIP-2 to RIPng
Feature RIP-2 RIPng
Advertises routes for... IPv4 IPv6
RIP messages use these Layer 3/4 protocols IPv4, UDP IPv6, UDP
UDP Port 520 521
Use Distance Vector Yes Yes
Default Administrative distance 120 120
Supports VLSM Yes Yes
Can perform automatic summarization Yes N/A
Uses Split Horizon Yes Yes
Uses Poison Reverse Yes Yes
30 second periodic full updates Yes Yes
Uses triggered updates Yes Yes
Uses Hop Count metric Yes Yes
Metric meaning infinity 16 16
Supports route tags Yes Yes
Multicast Update destination 224.0.0.9 FF02::9
Authentication RIP-specific uses IPv6 AH/ESP
Key
Topic
RIP Next Generation (RIPng), or even simply RIP. To date, no new version of RIPng has
been defined, making the original RIPng still the most recent version of the protocol.
Note: For you Star Trek TV show fans, yes, the name in part came from “Star Trek: The
Next Generation.”
RIPng–Theory and Comparisons to RIP-2
The RIPng RFC states that the protocol uses many of the same concepts and conventions
as the original RIP-1 specification, also drawing on some RIP-2 concepts. However, knowing
that many of you might not remember a lot of details about RIP-2, particularly because
RIP-2 is included in the CCNA certification rather than CCNP, Table 17-3 lists a
variety of facts about RIP-2 and RIPng.
The overall operation of RIPng closely matches RIP-2. In both, routers send periodic full
updates with all routes, except for routes omitted due to Split Horizon rules. No neighbor
relationships occur; the continuing periodic Updates, on a slightly-variable 30 second period,
also serve the purpose of confirming that the neighboring router still works. The
www.CareerCert.info
Chapter 17: IPv6 Routing Protocols and Redistribution 575
metrics work exactly the same. When a router ceases to see a route in received updates,
ceases to receive updates, or receives a poisoned (metric 16) route, it reacts to converge,
but relatively slowly compared to EIGRP and OSPF.
Some differences relate specifically to IPv6. First, the messages themselves list IPv6 prefixes/
lengths, rather than subnet/mask. In RIP-1 and RIP-2, RIP encapsulated RIP Update
messages inside an IPv4 and UDP header; with IPv6, the encapsulation uses IPv6 packets,
again with a UDP header. Some small differences in the Update message format exist as
well, with the most obvious difference being that the updates list IPv6 prefixes and prefix
lengths.
The last difference of note is that because IPv6 supports authentication using the IPsec
Authentication Header (AH), RIPng does not natively support authentication, instead relying
on IPsec.
Configuring RIPng
RIPng uses a new command style for the basic configuration, but most of the optional
features and verification commands look much like the commands used for RIP for IPv4.
This section first takes a look at the basic RIPng configuration, accepting as many defaults
as possible.
The big difference between RIP-2 and RIPng configuration is that RIPng discards the ageold
RIP network command in deference to the ipv6 rip name enable interface subcommand,
which enables RIPng on the interface. Another difference relates to the routing of
IPv4 and IPv6: IOS routes IPv4 by default (due to a default global configuration command
of ip routing), but IOS does not route IPv6 by default (a default of no ipv6 unicast routing).
Finally, RIPng allows multiple RIPng processes on a single router, so IOS requires
that each RIPng process is given a text name that identifies each RIPng process for that
one router–another difference compared to RIP-2.
The following list shows the basic configuration steps for RIPng, including steps to enable
IPv6 routing and enabling IPv6 on the interfaces.
Step 1. Enable IPv6 routing with the ipv6 unicast-routing global command.
Step 2. Enable RIPng using the ipv6 router rip name global configuration command.
The name must be unique on a router but does not need to match neighboring
routers.
Step 3. Enable IPv6 on the interface, typically with one of these two methods:
Configure an IPv6 unicast address on each interface using the ipv6
address address/prefix-length [eui-64] interface command.
Configure the ipv6 enable command, which enables IPv6 and causes the
router to derive its link local address.
Step 4. Enable RIP on the interface with the ipv6 rip name enable interface subcommand
(where the name matches the ipv6 router rip name global configuration
command).
Key
Topic
www.CareerCert.info
576 CCNP ROUTE 642-902 Official Certification Guide
Note: For a complete discussion of options for enabling IPv6 on an interface, as mentioned
at Step 3, refer to Chapter 16’s Table 16-11.
The list includes just a few straightforward configuration commands, but a few subtle interactions
also exist. The list shows steps related directly to RIPng (Steps 2 and 4), plus
other steps related to making IPv6 itself work (Steps 1 and 3). The list also pairs two sets
of dependent steps with each other, as follows:
■ Step 2 relies on Step 1 because IOS rejects the command at Step 2 (ipv6 router rip
name) if the command at Step 1 (ipv6 unicast-routing) has been omitted.
■ Step 4 relies on Step 3 because IOS rejects the command at Step 4 if IPv6 has yet
been enabled on the interface, either statically as mentioned at Step 3 or with one of
the other methods listed in Chapter 16’s Table 16-11.
Finally, note that although the ipv6 rip process-name enable interface subcommand (Step
4) refers to the process name configured at Step 2 (the ipv6 router rip process-name
command), IOS creates the RIP process in reaction to the ipv6 rip process-name enable
interface subcommand if that RIPng process name does not yet exist. In other words, if
you followed the previous steps in order, but forgot to do Step 2, the command at Step 4
causes IOS to automatically create the command at Step 2.
As with RIP-1 and RIP-2, for any interface on which RIPng has been enabled, the RIP
process does three main actions. First, it starts sending RIP updates on that interface. It
also starts processing any RIP updates received on that interface. Finally, it advertises
about the connected routes on that interface. In particular, because IPv6 allows the configuration
of multiple IPv6 unicast addresses on an interface, RIP advertises about most
IPv6 unicast prefixes associated with the interface. The notable exceptions are that RIP
does not advertise about any link local addresses, nor does RIP advertise about the local
host routes–routes with a /128 prefix length–created for each interface IPv6 address. In
short, RIP advertises all routable subnets associated with the interface.
Figure 17-1 shows a sample internetwork with IPv6 global unicast IPv6 subnets shown.
The sample internetwork uses addressing values that are both memorable and make for
shorter IPv6 addresses when abbreviated. All the subnets use /64 prefix length, with quartets
2, 3, and 4 composed of all 0 values. The interface ID portion of each address uses all
hex 0’s in the first three quartets (quartets 5, 6, and 7 in the overall address), with the final
digit in the final quartet used to identify each router. This last digit matches the name of
each router in most cases.
For example, all R1’s IPv6 addresses’ last four octets are 0000:0000:0000:0001. R1’s
S0/0/0.3 subinterface, which connects with a PVC to Router R3, uses a prefix of
2003:0000:0000:0000::/64, making the entire IPv6 address on this interface, when abbreviated,
2003::1/64–a convenient value for sifting through all the output in the upcoming
examples.
Example 17-1 shows the RIPng configuration on Router R1 in this design. The RIP process
name is fred.
www.CareerCert.info
Chapter 17: IPv6 Routing Protocols and Redistribution 577
R3
R4
R5
Fa0/0
Fa0/0
Fa0/0
S0/0.1
S0/0.2
S0/0/0.1
S0/0/0.2
S0/0/0.1
S0/0/0.2
Fa0/0
Fa0/1
Fa0/0.1
Fa0/0.1
Fa0/0
R2 Fa0/1
R1
Subnet 2013::/64
Subnet 2014::/64
Subnet 2015::/64
Subnet 2023::/64
Subnet 2024::/64
Subnet 2025::/64
Subnet 2034::/64
Subnet 2005::/64
Figure 17-1 Sample Internetwork for IPv6 Routing Protocol Configuration
Example 17-1 Configuring IPv6 Routing and Routing Protocols on R1
R1# show running-config
! The output is edited to remove lines not pertinent to this example.
! Next, step 1’s task: enable IPv6 routing
ipv6 unicast-routing
!
! Next, on 5 interfaces, steps 3 and 4: configuring an IPv6 address,
! and enable RIPng, process “fred”.
interface FastEthernet0/0.1
ipv6 address 2012::1/64
ipv6 rip fred enable
!
interface FastEthernet0/0.2
ipv6 address 2017::1/64
ipv6 rip fred enable
!
interface FastEthernet0/1.18
ipv6 address 2018::1/64
ipv6 rip fred enable
!
interface Serial0/0/0.3
ipv6 address 2013::1/64
www.CareerCert.info
578 CCNP ROUTE 642-902 Official Certification Guide
Table 17-4 Comparing Verification Commands: show ip and show ipv6
Function IPv4 IPv6
All routes ... route ... route
All RIP learned routes ... route rip ... route rip
Details on the routes for a specific prefix ... route subnet mask ... route prefix/length
Interfaces on which RIP is enabled ... protocols ... protocols
List of routing information sources ... protocols ... rip next-hops
Debug that displays sent and received Updates debug ip rip debug ipv6 rip
ipv6 rip fred enable
!
interface Serial0/0/0.4
ipv6 address 2014::1/64
ipv6 rip fred enable
!
interface Serial0/0/0.5
ipv6 address 2015::1/64
ipv6 rip fred enable
!
! Next, step 2’s task, creating the RIPng process named “fred”
ipv6 router rip fred
Verifying RIPng
The show commands related to RIPng have the same general kinds of information as seen
with RIP-2. However, some of the commands used to get to the same piece of information
differ, and of course, some obvious differences exist due to the different IPv6 address
structure. Table 17-4 lists a cross-reference comparing all commands related to RIP that
begin either show ip or show ipv6. It also lists the similar debug commands used to display
RIP routing information.
The most notable differences occur with the information seen with IPv4 in the show ip
protocols command. The show ip protocols command displays a wide variety of information
for IPv4 RIP, whereas the IPv6 commands spread the information over a couple of
different commands, as listed in Table 17-4. Example 17-2 shows a sampling of the commands,
taken from Router R3 in Figure 17-1. The explanatory comments are listed within
the example in this case. Note that Router R3 used a RIPng process name of barney.
www.CareerCert.info
Chapter 17: IPv6 Routing Protocols and Redistribution 579
Example 17-2 IPv6 RIPng show Commands
! On R3, process name “barney” has two current routes to reach the
! datacenter prefix 2099::/64.
R3# show ipv6 route 2099::/64
Routing entry for 2099::/64
Known via “rip barney”, distance 120, metric 3
Route count is 2/2, share count 0
Routing paths:
FE80::22FF:FE22:2222, Serial0/0/0.2
Last updated 00:27:12 ago
FE80::11FF:FE11:1111, Serial0/0/0.1
Last updated 00:27:10 ago
! Note that the next command lists only RIP-learned routes. It lists
! two next-hops for 2099::64. Note the next-hop information lists
! link-local addresses.
R3# show ipv6 route rip
IPv6 Routing Table - Default - 19 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, M - MIPv6, R - RIP, I1 - ISIS L1
I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP
EX - EIGRP external
O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
R 2005::/64 [120/3]
via FE80::11FF:FE11:1111, Serial0/0/0.1
via FE80::22FF:FE22:2222, Serial0/0/0.2
R 2012::/64 [120/2]
via FE80::11FF:FE11:1111, Serial0/0/0.1
via FE80::22FF:FE22:2222, Serial0/0/0.2
! lines omitted for brevity...
R 2099::/64 [120/3]
via FE80::22FF:FE22:2222, Serial0/0/0.2
via FE80::11FF:FE11:1111, Serial0/0/0.1
! Unlike show ip protocols, show ipv6 protocols displays little info.
R3# show ipv6 protocols
IPv6 Routing Protocol is “connected”
IPv6 Routing Protocol is “rip barney”
Interfaces:
Serial0/0/0.2
Serial0/0/0.1
FastEthernet0/0
www.CareerCert.info
580 CCNP ROUTE 642-902 Official Certification Guide
Redistribution:
None
! This command lists the timers displayed for RIP-2 with show ip protocols.
R3# show ipv6 rip
RIP process “barney”, port 521, multicast-group FF02::9, pid 258
Administrative distance is 120. Maximum paths is 16
Updates every 30 seconds, expire after 180
Holddown lasts 0 seconds, garbage collect after 120
Split horizon is on; poison reverse is off
Default routes are not generated
Periodic updates 57, trigger updates 10
Interfaces:
Serial0/0/0.2
Serial0/0/0.1
FastEthernet0/0
Redistribution:
None
! This command lists the equivalent of the information in the
! show ip protocols commands’ “Routing Information Sources” heading.
! Note the link local addresses are listed.
R3# show ipv6 rip next-hops
RIP process “barney”, Next Hops
FE80::11FF:FE11:1111/Serial0/0/0.1 [9 paths]
FE80::44FF:FE44:4444/FastEthernet0/0 [3 paths]
FE80::22FF:FE22:2222/Serial0/0/0.2 [9 paths]
Beyond the information emphasized in the comments inside the example, the next-hop
IPv6 addresses in the example need to be scrutinized. RIPng uses the link local IPv6 address
as the next-hop IP address. (Reminder: link local addresses begin with FE80.) The
show ipv6 route 2099::/64 and show ipv6 route commands early in the example, and the
show ipv6 rip next-hops command at the end of the example, all show next-hop IP addresses
that begin with FE80, confirming that RIP indeed uses link local addresses as
next-hop addresses.
To discover which routers use which link local addresses, and make it easier to work with
link local addresses, you have a couple of options. First, you can set the MAC address of
each LAN interface to something noticeable. For Example 17-2, the routers each used a
recognizable MAC: R1 used 0200.1111.1111, R2 used 0200.2222.2222, and so on. Alternatively,
you can just configure the link local address with the ipv6 address command, using
the link-local keyword at the end, and make each link local address be more
recognizable. Regardless, to find the router whose link local address is listed in the IPv6
routing table, the show cdp entry name command can be useful because it lists both the
IPv4 and IPv6 addresses, including the neighbor’s link local address.
No comments:
Post a Comment