redistribution practice on gns3/boson

sendalotsendalot Member Posts: 328
I've been practicing redistribution on gns3 and boson simulators.

If I'm redistributing between eigrp and rip (or ospf/isis whatever), do I just "redistribute {protocol}" on each respective routing protocols?

Then would you always use route-map to prevent loops in between?

Or would things just work?

Do I also have to define default metric for each routing protocol being redistributed? If I don't, would they not work?

Thanks.

Comments

  • lrblrb Member Posts: 526
    Redistribution is one of those topics that only gets easy the more you practice it. Each protocol behaves differently with redistribution the problem is that the metric inputs are not the same. For example, EIGRP metrics are in the hundreds of thousands to account for the different vectors (delay, bandwidth, and so forth) whereas RIP uses hop count and considers anything above 15 to be infinitely far away. Therefore your redistribution command has to account for this, and hence the fact that some protocols require you to configure a default metric (RIP, EIGRP) and some simply choose one for you if you don't override it (OSPF, ISIS). Redistribution into BGP is a little different as it can encode some of the metric inputs using extended communities (similar to route tagging) or by setting the MED attribute.

    In general, if you are only doing mutual redistribution at a single point it should be unlikely that you will get a routing loop. If you are doing mutual redistribution at multiple points than worst case you can get routing loops and best case you can get suboptimal routing.

    Best way to prevent this is to use route tagging but you can use other things like admin distance to do it too. I've mentioned this in my CCIE thread but my way of preventing routing loops is using the following set of route maps (using EIGRP<->OSPF as the example) on all redistributing routers.
    route-map OSPF->EIGRP deny 10
     match tag 90
    route-map OSPF->EIGRP permit 1000
     set tag 110
    
    route-map EIGRP->OSPF deny 10
     match tag 110
    route-map EIGRP->OSPF permit 1000
     set tag 90
    

    Then you apply the route maps as a parameter to the redistribution command for the routing protocol you are redistributing into.
    router eigrp CCIE
     address-fam ipv4 unicast as 100
      topology base
       redistribute ospf 100 route-map OSPF->EIGRP metric 10000 10 255 1 1500
    
    router ospfv3 
     address-family ipv4 unicast 
      redistribute eigrp 100 subnets route-map EIGRP->OSPF metric-type 1
    

    Whenever you redistribute protocol X into protocol Y, you block any routes tagged with the admin distance of protocol Y and for other routes (i.e. ones that do not have this tag) you tag the route with the admin distance of protocol X. If that route finds its way back to another redistribution point such that protocol Y is now being redistributing into protocol X, the route-map will deny the route from going back the other way because it sees a tag that it should deny. In this case, internal EIGRP has an admin distance of 90 and OSPF has an admin distance of 110 so when an EIGRP route is redistributed into OSPF, it is tagged with 90. When it finds its way back to another redistribution point, that router is configured to deny routes with a tag of 90 and therefore it won't get redistributed back.

    EIGRP has same safeguards to prevent against routing loops such as a higher default admin distance for external EIGRP routes however if someone has changed the default admin distance at one of the redistribution points this can be circumvented. Therefore when people tell you that if EIGRP is one of the redistributing protocols routing loops cannot occur, you can tell them that this is wrong :)
  • sendalotsendalot Member Posts: 328
    Thank you for this.

    So I take a routing protocol that requires a default-metric like eigrp and a protocol that doesn't require a default-metric like ospf, and mutually redistribute each other at Multiple points. If I don't care about routing loops, would they work the moment i enter "redistribute?"
    But then once I see they are redistributing, I can put route-map method like the one you described to prevent loops? if there are loops going on, would routes not show up on "show ip route?"

    Thank you again.
  • Dieg0MDieg0M Member Posts: 861
    Read my last blog on routing loops. It should answer most of your questions.
    Follow my CCDE journey at www.routingnull0.com
  • sendalotsendalot Member Posts: 328
    Dieg0M wrote: »
    Read my last blog on routing loops. It should answer most of your questions.

    Yep it clears it out. Thank you very much.
  • cjsavescjsaves Member Posts: 6 ■□□□□□□□□□
    I would always around "set" and "match" using route-map to be the best loop killer.
Sign In or Register to comment.