Routing Notes: ODR

My CCIE basic notes are:

On-Demand Routing is a Cisco propriety way of propagating routes.  The comparison for me is RIP in that its timer driven, but has fewer features and the ones it has are about manipulating routers, timers and metrics (much like RIP).  The purpose is to propagate routes from a hub/s to connected stubs.  Its low overhead, and runs over CDP.  Only the hub/s runs the “Router ODR” process, and by default a spoke is a stub if it’s not running any routing protocol.  Cisco FAQs here. I’ve not dealt with this in a production network, and I would need a good technical reason to implement this rather than a simple routing protocol, or a static route.

Example

ODR_Capture

In my basic lab, R2 is the hub.  CDP is enabled on all 3 routers, and interfaces configured (with R3 Loopback shut down).  Below R1 and R3 have no routing configured.  R2 has a single line…

R1#show run | sec router
R3#show run | sec router
R2#show run | sec router
router odr

Now, CDP takes a while by default (this is changeable either as CDP or underr odr routing process)…

R1#show cdp
Global CDP information:
Sending CDP packets every 60 seconds
Sending a holdtime value of 180 seconds
Sending CDPv2 advertisements is enabled
R1#

Next, I’m going to show R1’s routing table, try pinging R3’s loopback and view the output of CDP and IP Routing …

R1#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
+ - replicated route, % - next hop override

Gateway of last resort is 10.1.2.2 to network 0.0.0.0

o* 0.0.0.0/0 [160/1] via 10.1.2.2, 00:00:51, FastEthernet0/0
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.1.2.0/24 is directly connected, FastEthernet0/0
L 10.1.2.1/32 is directly connected, FastEthernet0/0

R1#ping 3.3.3.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
UUUUU
Success rate is 0 percent (0/5)
R1#
R1#
*Aug 14 09:59:16.071: CDP-PA: Packet received from R2 on interface FastEthernet0/0
*Aug 14 09:59:16.075: **Entry  found in cache**
*Aug 14 09:59:16.075: RT: updating odr 0.0.0.0/0 (0x0):
    via 10.1.2.2 Fa0/0  1048578

Note the above default route pointing from R1 to R2 has an Administrative Distance of 160!   This is quite high, and is only preferred to EIGRP External (170) and iBGP routes (200).  So a route learnt by any other method would be preferred.

Finally, I’ll unshut R3 Loopback and ping from R1.

R3(config)#int lo 0
R3(config-if)#no shut
R3(config-if)#end

R1#ping 3.3.3.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
UUUUU <<<Not ready yet, awaiting CDP updates!
Success rate is 0 percent (0/5)
R1#
*Aug 14 10:01:54.615: CDP-PA: Packet received from R2 on interface FastEthernet0/0
*Aug 14 10:01:54.619: **Entry found in cache**
*Aug 14 10:01:54.619: RT: updating odr 0.0.0.0/0 (0x0):
via 10.1.2.2 Fa0/0 1048578

R1#ping 3.3.3.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 52/68/88 ms
R1#

 

Caveats:

Sub-interfaces have cdp disabled, and will need to be re-enabled.

ODR isn’t suitable to a transit router, only stub ones!

If you enable a routing protocol on a stub, it’s no longer a stub and ODR stops working.  Hubs can run routing protocols.

Multiple hubs can be run.

The documentation states ODR is not a routing protocol and thats probably important for an exam but …

  • Its called On-Demand Routing
  • Its given an Administrative distance
  • Prefixes are shared between devices dynamically
  • You can apply metrics to routes
  • Prefixes can be filtered.
  • Its configuration is done under a routing process within the CLI!

 

 

 

 

 

 

 

 

 

 

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s