EIGRP Null 0??

pham0329pham0329 Member Posts: 556
I'm having a hard time understanding this Null 0 concept and why it's there.

For example, R1 is connected to R2 through 172.16.1.0/24 and auto-summary is enabled
  • R1 has the 172.16.5.0/24 and 172.16.6.0/24 behind it
  • When R1 advertise these networks to R2, a summary route of 172.16.0.0/16 to Null 0 is also added to R2's routing table
Here's R2 routing table
172.16.0.0/16 is variably subnetted, 4 subnets, 2 masks
C 172.16.1.0/24 is directly connected, FastEthernet0/0
D 172.16.5.0/24 [90/409600] via 172.16.1.1, 00:00:02, FastEthernet0/0
D 172.16.6.0/24 [90/409600] via 172.16.1.1, 00:00:02, FastEthernet0/0
D 172.16.0.0/16 is a summary, 00:00:14, Null0
S* 0.0.0.0/0 [1/0] via 10.0.0.1
My question is why? The book says its to prevent R2 from forwarding traffic to its default route and to prevent loop. If I understand this correctly, if a packet comes in for the 172.16 network, and it's anything other than 172.16.1 or .5 or .6, it gets dropped. So if a packet destined for 172.16.7.1 comes in, it gets matched to the summary route to null 0, and is dropped. Is that right?

Comments

  • Forsaken_GAForsaken_GA Member Posts: 4,024
    pham0329 wrote: »
    I'm having a hard time understanding this Null 0 concept and why it's there.

    For example, R1 is connected to R2 through 172.16.1.0/24 and auto-summary is enabled
    • R1 has the 172.16.5.0/24 and 172.16.6.0/24 behind it
    • When R1 advertise these networks to R2, a summary route of 172.16.0.0/16 to Null 0 is also added to R2's routing table
    Here's R2 routing table
    My question is why? The book says its to prevent R2 from forwarding traffic to its default route and to prevent loop. If I understand this correctly, if a packet comes in for the 172.16 network, and it's anything other than 172.16.1 or .5 or .6, it gets dropped. So if a packet destined for 172.16.7.1 comes in, it gets matched to the summary route to null 0, and is dropped. Is that right?

    If you don't have the null route, it causes route feedback. You can see this easily demonstrated with RIP.

    So lets say router A advertises 192.168.0.0/16 to router B, which then advertises it to router C, which then advertises it back to router A.

    Without the null route, Router A would accept it's own summary route back in, install it in the routing table, and then advertise it back out. So the metrics would be increasing with every advertisement, until it reached infinity, and was withdrawn. Then it would start all over again.

    If Router A installs a route for the summary to null0, then that route is more preferred then the advertisement coming from Router C. So the loop hits a solid wall, and the network stabilizes.

    OSPF and BGP have similar properties, this is not unique to EIGRP. Really, it's only RIP that doesn't do this, and route feedback loops are incredibly easy to generate

    Now, to answer your last question, yes. With the null0 route in place, traffic that matches the summary, but not anything more specific, would be routed to null0, which means it's dropped. If the null0 route *wasn't* there, then it would match to the default and be routed to 10.0.0.1 instead, which might loop traffic, in addition to route feedback issues
  • pham0329pham0329 Member Posts: 556
    If you don't have the null route, it causes route feedback. You can see this easily demonstrated with RIP.

    So lets say router A advertises 192.168.0.0/16 to router B, which then advertises it to router C, which then advertises it back to router A.

    Without the null route, Router A would accept it's own summary route back in, install it in the routing table, and then advertise it back out. So the metrics would be increasing with every advertisement, until it reached infinity, and was withdrawn. Then it would start all over again.

    In that scenario, wouldn't Router A also advertise that route to Router C, and because of split horizon, Router C wouldn't be advertising that back to Router A, even if it receives the route from Router B?

    I'm just having a hard time putting together a scenario that the Null 0 would be useful for icon_cry.gif
  • Forsaken_GAForsaken_GA Member Posts: 4,024
    pham0329 wrote: »
    In that scenario, wouldn't Router A also advertise that route to Router C, and because of split horizon, Router C wouldn't be advertising that back to Router A, even if it receives the route from Router B?

    I'm just having a hard time putting together a scenario that the Null 0 would be useful for icon_cry.gif

    No, you're correct, it would, unless you did some filtering to not advertise the summary to Router C in this scenario. I'm mostly going for concept here :)

    In more general terms, if you're going to advertise a route to someone else, you need to have an exact match for that route in your routing table in order to keep things stabilized. Advertising a route you don't actually have leads to the possibility of route instability, looping traffic, or blackholed traffic.

    Think of it like walking into the bank, saying you have a million bucks in your account, and that you want to transfer that million bucks to another account, but no one checks to make sure that the account number you gave was actually yours. By the time the mistake gets noticed, god knows where that money went. So it goes with traffic.
  • pham0329pham0329 Member Posts: 556
    No, you're correct, it would, unless you did some filtering to not advertise the summary to Router C in this scenario. I'm mostly going for concept here :)

    Ha, I tried to work through some scenarios in which Null 0 would be useful before I made the thread, and while conceptually, it made sense, I couldn't find an example in which the concepts actually applies.
    In more general terms, if you're going to advertise a route to someone else, you need to have an exact match for that route in your routing table in order to keep things stabilized. Advertising a route you don't actually have leads to the possibility of route instability, looping traffic, or blackholed traffic.

    But that's the thing, I'm not advertising a route I don't have. I'm only advertising routes I do have....EIGRP is the one who's adding a route for the summary address!!
  • kryollakryolla Member Posts: 785
    pham0329 wrote: »
    Ha, I tried to work through some scenarios in which Null 0 would be useful before I made the thread, and while conceptually, it made sense, I couldn't find an example in which the concepts actually applies.



    But that's the thing, I'm not advertising a route I don't have. I'm only advertising routes I do have....EIGRP is the one who's adding a route for the summary address!!

    thats because you have auto summary turned on, if you advertise a summary out the interface you can choose whether you want the null route installed or not.
    Studying for CCIE and drinking Home Brew
  • pham0329pham0329 Member Posts: 556
    I reread the section on Null0, and it all makes sense now. It's amazing the difference one sentence can make. Before, I thought the Null0 interface was created on the router receiving the summary route, rather than the router sending the summary route. Whoops!

    I can now apply it to an example! Let me know if this is right...

    • R1 is connected to R2 via the 10.1.5.0 network and auto summary is on
    • R1 have the 192.168.200.0/30 and 192.168.200.4/30 networks behind it
    • When R1 advertises these network to R2, since it's going across a different major network, R1 summarize the networks back to its classful network of 192.168.200.0/24 before sending it to R2
    • R2 receives the update and installs 192.168.200.0/24 to its routing table
    • Now, suppose that R1 also has a default route of 0.0.0.0 to R2, if R1 receives a packet destined for 192.168.200.128, since there's no specific match, it gets matched to the default route and sent to R2
    • R2 receives the packet, looks in its routing table, and see the 192.168.200.0/24 network, and sends it to R1, causing a loop
    That's the situation the Null0 route is going to prevent. When R1 sends the summary route to R2, it also installs a summary route to its routing table, going to Null0. Now, when it receives a packet for 192.168.200.128, it gets matched to the summary route and gets dropped.
Sign In or Register to comment.