Перейти к содержимому
Калькуляторы

Juniper generated route выбор nexthop'а

Добрый день

 

Есть топология r1 em0 <-> r2 em0 (em0 потому что эмуляция, а не настоящий juniper)

 

Не понимаю по какому принципу выбирается nexthop для generated route:

 

root@r2# run show route ::/0 exact extensive 

inet6.0: 11 destinations, 12 routes (11 active, 0 holddown, 0 hidden)
::/0 (1 entry, 1 announced)
TSI:
KRT in-kernel ::/0 -> {2000::1}
       *Aggregate Preference: 130
               Next hop type: Router, Next hop index: 548
               Address: 0x9334178
               Next-hop reference count: 4
               Next hop: 2000::1 via em0.10, selected
               State: <Active Int Ext>
               Local AS:    18 
               Age: 2:19:35 
               Task: Aggregate
               Announcement bits (1): 0-KRT 
               AS path: I
                               Flags: Generate	Depth: 0	Active
               Contributing Routes (3):
               	2001::/62 proto BGP
               	2a00:2::/63 proto BGP
               	2a00:2::1/128 proto BGP

 

Почему выбирается 2000::1 via em0.10 ?

 

root@r2# run show route 

inet6.0: 11 destinations, 12 routes (11 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

::/0               *[Aggregate/130] 02:20:22
                   > to 2000::1 via em0.10
2000::/127         *[Direct/0] 00:54:25
                   > via em0.10
2000::/128         *[Local/0] 00:54:25
                     Local via em0.10
2000:1::/127       *[Direct/0] 00:54:25
                   > via em0.20
2000:1::/128       *[Local/0] 00:54:25
                     Local via em0.20
2001::/62          *[bGP/170] 00:12:04, localpref 100
                     AS path: 196613 I
                   > to 2000::1 via em0.10
2a00:2::/63        *[bGP/170] 00:12:00, localpref 100
                     AS path: 196613 I
                   > to 2000:1::1 via em0.20
2a00:2::1/128      *[bGP/170] 00:12:00, localpref 100
                     AS path: 196613 I
                   > to 2000:1::1 via em0.20
fe80::/64          *[Direct/0] 00:54:25 
                   > via em0.10
                   [Direct/0] 00:54:25
                   > via em0.20
fe80::2ab:b100:ac4:7200/128
                  *[Local/0] 00:54:25
                     Local via em0.10
fe80::2ab:b100:14c4:7200/128
                  *[Local/0] 00:54:25
                     Local via em0.20

 

root@r2# show 
## Last changed: 2013-08-28 16:51:33 UTC
version 12.1R1.9;
system {
   host-name r2;
   root-authentication {
       encrypted-password "$1$62gr6sV1$U4Qu7LpE7lCCQJMYgJTMm1"; ## SECRET-DATA
   }
   syslog {
       user * {
           any emergency;
       }
       file messages {
           any notice;
           authorization info;
       }
       file interactive-commands {
           interactive-commands any;
       }
   }
}
interfaces {
   em0 {
       vlan-tagging;
       unit 10 {                       
           vlan-id 10;
           family inet6 {
               address 2000::0/127;
           }
       }
       unit 20 {
           vlan-id 20;
           family inet6 {
               address 2000:1::0/127;
           }
       }
   }
   em1 {
       disable;
   }
}
routing-options {
   rib inet6.0 {
       generate {
           route ::/0;
       }
   }
   router-id 1.1.1.2;                  
   autonomous-system 18;
}
protocols {
   bgp {
       group ext {
           type external;
           neighbor 2000::1 {
               peer-as 3.5;
           }
           neighbor 2000:1::1 {
               peer-as 3.5;
           }
       }
   }
}

[edit]

 

root@r1# show 
## Last changed: 2013-08-28 17:31:01 UTC
version 12.1R1.9;
system {
   host-name r1;
   root-authentication {
       encrypted-password "$1$lWW6LJkL$chJ5dkjYDoD1OZ6SpvQP0/"; ## SECRET-DATA
   }
   syslog {
       user * {
           any emergency;
       }
       file messages {
           any notice;
           authorization info;
       }
       file interactive-commands {
           interactive-commands any;
       }
   }
}
interfaces {
   em0 {
       vlan-tagging;
       unit 10 {                       
           vlan-id 10;
           family inet6 {
               address 2000::1/127;
           }
       }
       unit 20 {
           vlan-id 20;
           family inet6 {
               address 2000:1::1/127;
           }
       }
   }
   em1 {
       disable;
   }
   em4 {
       disable;
   }
   lo0 {
       unit 0 {
           family inet6 {
               address 2001::1/62;
               address 2a00:2::1/63 {  
                   preferred;
               }
           }
       }
   }
}
routing-options {
   rib inet6.0 {
       static {
           inactive: route 2001::0/64 reject;
       }
   }
   router-id 1.1.1.1;
   autonomous-system 3.5;
}
protocols {
   bgp {
       inactive: traceoptions {
           file bgp.log;
           flag all;
       }
       group ext {
           type external;              
           neighbor 2000::0 {
               export bgp-ext-1;
               peer-as 18;
           }
           neighbor 2000:1::0 {
               export bgp-ext-2;
               peer-as 18;
           }
       }
   }
}
policy-options {
   policy-statement bgp-ext-1 {
       term 1 {
           from {
               route-filter 2001::0/62 exact accept;
           }
       }
   }
   policy-statement bgp-ext-2 {
       term 1 {
           from {
               route-filter 2a00:2::/63 orlonger accept;
           }
       }
   }
}

[edit]

 

Если с r1 вместо 2001::/62 анонсировать 2001::/64, то всё равно nexthop-ом для v6-дефолта выбирается 2000::1 via em0.10

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вообще чтобы не иметь не очевидных next-hop'Ов лучше делать aggregate =)

Ну а generate от aggregate отличается тем, что в качестве next-hop'а подставляется тот next-hop, который указан у маршрута, на основе которого generate и сгенерирован.

Изменено пользователем triam

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вообще чтобы не иметь не очевидных next-hop'Ов лучше делать aggregate =)

 

мне нужно понять как оно работает...

 

Ну а generate от aggregate отличается тем, что в качестве next-hop'а подставляется тот next-hop, который указан у маршрута, на основе которого generate и сгенерирован.

 

В данном случае у ::/0 есть 3 contributing routes:

 

                        2001::/62 proto BGP

                        2a00:2::/63 proto BGP

                        2a00:2::1/128 proto BGP

 

Почему-то берётся nexthop маршрута 2001::/62. Это просто рандом или есть какой-то критерий?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Почему-то берётся nexthop маршрута 2001::/62. Это просто рандом или есть какой-то критерий?

 

http://www.juniper.net/us/en/training/certification/JNCIA_studyguide.pdf

 

page 123

 

Primary Contributing Route

Each generated route selects one of the contributing routes to be the primary contributing

route. This route is the contributor with the numerically smallest prefix.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

j@x

спасибо! вопрос снят

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Гость
Эта тема закрыта для публикации сообщений.