Routing

Expand all | Collapse all

Why is the default route in the default Martian table?

  • 1.  Why is the default route in the default Martian table?

     
    Posted 02-27-2021 06:49
    Hi.

    Here is the default Martian table:
    [edit]
    jcluser@vMX-addr-0# run show route martians table inet.0

    inet.0:
    0.0.0.0/0 exact -- allowed
    0.0.0.0/8 orlonger -- disallowed
    127.0.0.0/8 orlonger -- allowed
    192.0.0.0/24 orlonger -- disallowed
    240.0.0.0/4 orlonger -- disallowed
    224.0.0.0/4 exact -- disallowed
    224.0.0.0/24 exact -- disallowed
    225.0.0.0/8 exact -- disallowed

    Why is the default route '0.0.0.0/0 exact' mentioned as allowed instead of just being absent from the list?

    I was told that the reason is so that it is not disallowed by the entry below it. Is that true? Is  '0.0.0.0/0 exact' included under '0.0.0.0/8 orlonger' ?

    Thanks,
    Deepak


  • 2.  RE: Why is the default route in the default Martian table?

     
    Posted 03-01-2021 09:12
    That is correct.   0/8 or longer matches any route with the first octet = 0 and a subnet mask of 8 bit or longer.  So if the router receives a update for say 0.0.0.0/8 or 0.0.0.0/16 the update is rejected. 

    However, you don't want an actual default route 0.0.0.0/0 to be rejected. 

    Regards, 

    ------------------------------
    Yasmin Lara
    Juniper Ambassador
    JNCIE-SP, JNCIE-ENT, JNCIE-DC, JNCIE-SEC
    JNCDS-DC, JNCIA-DevOps, JNCIP-CLOUD, CCNP-ENT
    ------------------------------



  • 3.  RE: Why is the default route in the default Martian table?

     
    Posted 03-01-2021 11:24
    Hi Lara.

    But why can't the default route simply be absent from the martian list instead of being present, but marked as 'allowed'?

    For example, I don't want to reject prefix 100.100.100/24 either, but I don't need that prefix mentioned in the martian list as "100.100.100.0/24 exact---allowed".
    Why does this not apply to 0.0.0.0/0 ?

    Thanks,
    Deepak


  • 4.  RE: Why is the default route in the default Martian table?

     
    Posted 03-01-2021 12:48
    You know what?  As I was thinking of a different way to explain it I wrote this: 


    That's when I saw the reason for your question!   

    0/8 orlonger does NOT include 0.0.0.0/0.  So, as you said, simply leaving 0.0.0.0/0 out of the list should be sufficient, as it is for any other prefix.

    My guess is that Juniper added 0.0.0.0/0 and explicitly allowed it to make it clear to people that the actual default route is NOT consider a martian.   A lot of people get confused with 0.0.0.0/8 or any other mask value. They would look at the output of the show route martian command and think the default is rejected. 

    Regards,  


    ------------------------------
    Yasmin Lara
    Juniper Ambassador
    JNCIE-SP, JNCIE-ENT, JNCIE-DC, JNCIE-SEC
    JNCDS-DC, JNCIA-DevOps, JNCIP-CLOUD, CCNP-ENT
    ------------------------------