RIPng Important Points

  • RIPng is described in RFC 2080.
  • The RIPng process maintains a local database. RIPng tries to insert the best route from its local database into the IPv6 routing information base (RIB) for IPv6. The non-best route remains in RIPng Database.
  • Administrative distance (AD) and Metric, update time (30Sec), hold-down time (180 sec) parameters remain the same. i.e. 120 and Hop count. A node that is 16 hops away will be unreachable.
  • RIPng runs on top of UDP Port 521. 
  • RIP routing processes have names and that they have to be enabled on each interface.
  • Multicast address used by RIPng is FF02::9
  • RIPng uses the link-local address that enables a node to communicate with other nodes on the link and can be used to further configure the node.  See the debug message logs in this blog ahead
  • IPv6 unicast-routing is not enabled by default and must be configured specifically in global config mode.
             R1(config)#ipv6 unicast-routing
  • Configuring RIPng
        R1(config)#int f0/0
        R1(config-if)#ipv6 rip RIP-Domain enable

       The above command will not be accepted if "ipv6 unicast-routing" is not configured.

       R2(config-if)#ipv6 rip RIP-Domain enable
       % IPv6 routing not enabled

       R1(config-if)#exit
       R1(config)#ipv6 unicast-routing
       R1(config)#int f0/0
       R1(config-if)#ipv6 rip RIP-Domain enable
       R1(config-if)#

       R2(config)#ipv6 router rip RIP-Domain
       R2(config-rtr)#maximum-paths 2


        R1#show ipv6 rip database
        RIP process "RIP-Domain", local RIB
        2001:1111:A::/64, metric 2
        FastEthernet0/0/FE80::C802:7FF:FE3C:0, expires in 166 secs

        R1#show ipv6 route  rip
        IPv6 Routing Table - default - 7 entries

        R   2001:2:2::2/128 [120/2]
        via FE80::C802:7FF:FE3C:0, FastEthernet0/0  >>> reachable via Link-Local Address (of R2)


  • Enabling RIPng Debugging for troubleshooting:
          R1#debug ipv6 rip
          RIP Routing Protocol debugging is on

       *Nov 17 16:09:05.234: RIPng: Packet waiting
  *Nov 17 16:09:05.234: RIPng: response received from FE80::C801:2FFF:FE2C:0 on                    FastEthernet0/0 for RIP-Domain
     *Nov 17 16:09:05.234:        src=FE80::C801:2FFF:FE2C:0 (FastEthernet0/0)
     *Nov 17 16:09:05.234:        dst=FF02::9

     R1#sh ipv6 rip
     RIP process "RIP-Domain", port 521, multicast-group FF02::9, pid 262
     The administrative distance is 120. Maximum paths is 2
     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 72, trigger updates 2
     Full Advertisement 0, Delayed Events 0
     Interfaces:
    Loopback0
    FastEthernet0/0

  •  RIPng Redistribution:
In RIPng multiple instances exchange routing information with each other if they use the same multicast group and UDP port number. In order to keep routing information for multiple instances separate, you need to configure each RIPng instance to use a different port. You can keep the default multicast group:

R1(config)# ipv6 router rip ABC1
R1(config-rtr)# port 2000 multicast-group ff02::9
!
R1(config)# ipv6 router rip ABC2
R1(config-rtr)# port 2001 multicast-group ff02::9

You need to do this on all routers in the RIP process. If you need to share routes between the two different RIP instances (ABC1 and ABC2), you can control the redistribution by configuring it on the desired routers. Redistribution of routes can be further controlled by adding a Route-Map in redistribution command. With a route-map you can set the seed metric for specific routes, or filter routes that should not be redistributed(analogous to IPv4). The command to redistribute RIPng instance ABC2 routes into instance ABC1 is as below:

R1(config)# ipv6 router rip ABC1
R1(config-rtr)# redistribute rip ABC2 route-map Filter_Routes

Command to redistribute any other protocol into RIPng (say OSPF)

Topology R1----RIPng----R2----OSPFv3----R3

  R2(config)#ipv6 router rip ABC1
  R2(config-rtr)#redistribute ospf 10 metric 1 include-connected