Junos BGP 物理下一跳

网络工程 bgp 杜松 瞻博网络 下一跳
2021-07-08 21:34:59

对于这个简单的测试,VJX 0,1,3 被设置为 RR,我想知道为什么即使物理下一跳发生变化,链接 p5 总是首选,而下一跳的 IGP 路径不是通过 p5。 ..

在此处输入图片说明


下面的基线展示了 VJX4 有 3 条相等的 iBGP 路径到 77/22,其中 172.65.65.11 – VJX1 是当前的首选路径

root@VJX4> show route 77/22 

inet.0: 17 destinations, 19 routes (17 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

77.0.0.0/22        *[BGP/170] 04:43:01, MED 999, localpref 100, from 172.16.65.10
                      AS path: I, validation-state: unverified
                      to 10.0.0.10 via ge-0/0/1.0 (P3)
                      to 10.0.0.8 via ge-0/0/2.0 (P4)
                    > to 10.0.0.12 via ge-0/0/3.0 (P5) 
                    [BGP/170] 23:35:18, MED 999, localpref 100, from 172.16.65.11
                      AS path: I, validation-state: unverified
                      to 10.0.0.10 via ge-0/0/1.0 (P3)
                      to 10.0.0.8 via ge-0/0/2.0 (P4)
                    > to 10.0.0.12 via ge-0/0/3.0 (p5) 
                    [BGP/170] 04:43:06, MED 999, localpref 100, from 172.16.65.13
                      AS path: I, validation-state: unverified
                      to 10.0.0.10 via ge-0/0/1.0 (P3)
                      to 10.0.0.8 via ge-0/0/2.0 (P4)
                    > to 10.0.0.12 via ge-0/0/3.0 (p5)

root@VJX4> show route 77/22 extensive 

inet.0: 17 destinations, 19 routes (17 active, 0 holddown, 0 hidden)
77.0.0.0/22 (3 entries, 1 announced)
TSI:
KRT in-kernel 77.0.0.0/22 -> {indirect(262143)}
        *BGP    Preference: 170/-101
                Next hop type: Indirect
                Address: 0x92a8698
                Next-hop reference count: 5
                Source: 172.16.65.10
                Next hop type: Router, Next hop index: 262144
                Next hop: 10.0.0.10 via ge-0/0/1.0 (P3)
                Session Id: 0x1
                Next hop: 10.0.0.8 via ge-0/0/2.0 (P4)
                Session Id: 0x3
                Next hop: 10.0.0.12 via ge-0/0/3.0, selected (P5)
                Session Id: 0x5
                Protocol next hop: 172.16.65.12
                Indirect next hop: 94ec000 262143 INH Session ID: 0x4
                State: <Active Int Ext>
                Local AS:  1234 Peer AS:  1234
                Age: 4:43:14    Metric: 999     Metric2: 20 
                Validation State: unverified 
                Task: BGP_1234.172.16.65.10+56241
                Announcement bits (2): 0-KRT 4-Resolve tree 4 
                AS path: I (Originator)
                Cluster list:  0.0.0.0
                Originator ID: 172.16.65.12
                Accepted
                Localpref: 100
                Router ID: 172.16.65.10
                Indirect next hops: 1
                        Protocol next hop: 172.16.65.12 Metric: 20
                        Indirect next hop: 94ec000 262143 INH Session ID: 0x4
                        Indirect path forwarding next hops: 3
                                Next hop type: Router
                                Next hop: 10.0.0.10 via ge-0/0/1.0 (P3)
                                Session Id: 0x1
                                Next hop: 10.0.0.8 via ge-0/0/2.0 (P4)
                                Session Id: 0x3
                                Next hop: 10.0.0.12 via ge-0/0/3.0 (P5)
                                Session Id: 0x5
                        172.16.65.12/32 Originating RIB: inet.0
                          Metric: 20                      Node path count: 1
                          Forwarding nexthops: 3
                                Nexthop: 10.0.0.10 via ge-0/0/1.0 (P3)
         BGP    Preference: 170/-101
                Next hop type: Indirect
                Address: 0x92a8698
                Next-hop reference count: 5
                Source: 172.16.65.11
                Next hop type: Router, Next hop index: 262144
                Next hop: 10.0.0.10 via ge-0/0/1.0 (P3)
                Session Id: 0x1
                Next hop: 10.0.0.8 via ge-0/0/2.0 (P4)
                Session Id: 0x3
                Next hop: 10.0.0.12 via ge-0/0/3.0, selected ( P5 ) 
                Session Id: 0x5
                Protocol next hop: 172.16.65.12
                Indirect next hop: 94ec000 262143 INH Session ID: 0x4
                State: <NotBest Int Ext>
                Inactive reason: Not Best in its group - Update source
                Local AS:  1234 Peer AS:  1234
                Age: 23:35:31   Metric: 999     Metric2: 20 
                Validation State: unverified 
                Task: BGP_1234.172.16.65.11+60823
                AS path: I (Originator)
                Cluster list:  1.1.1.1
                Originator ID: 172.16.65.12
                Accepted
                Localpref: 100
                Router ID: 172.16.65.11
                Indirect next hops: 1
                        Protocol next hop: 172.16.65.12 Metric: 20
                        Indirect next hop: 94ec000 262143 INH Session ID: 0x4
                        Indirect path forwarding next hops: 3
                                Next hop type: Router
                                Next hop: 10.0.0.10 via ge-0/0/1.0 (P3)
                                Session Id: 0x1
                                Next hop: 10.0.0.8 via ge-0/0/2.0 (P4)
                                Session Id: 0x3
                                Next hop: 10.0.0.12 via ge-0/0/3.0 (P5)
                                Session Id: 0x5
                        172.16.65.12/32 Originating RIB: inet.0
                          Metric: 20                      Node path count: 1
                          Forwarding nexthops: 3
                                Nexthop: 10.0.0.10 via ge-0/0/1.0
         BGP    Preference: 170/-101
                Next hop type: Indirect
                Address: 0x92a8698
                Next-hop reference count: 5
                Source: 172.16.65.13
                Next hop type: Router, Next hop index: 262144
                Next hop: 10.0.0.10 via ge-0/0/1.0 (P3)
                Session Id: 0x1
                Next hop: 10.0.0.8 via ge-0/0/2.0 (P4)
                Session Id: 0x3
                Next hop: 10.0.0.12 via ge-0/0/3.0, selected (P5)
                Session Id: 0x5
                Protocol next hop: 172.16.65.12
                Indirect next hop: 94ec000 262143 INH Session ID: 0x4
                State: <NotBest Int Ext>
                Inactive reason: Not Best in its group - Update source
                Local AS:  1234 Peer AS:  1234
                Age: 4:43:19    Metric: 999     Metric2: 20 
                Validation State: unverified 
                Task: BGP_1234.172.16.65.13+52655
                AS path: I (Originator)
                Cluster list:  3.3.3.3
                Originator ID: 172.16.65.12
                Accepted
                Localpref: 100
                Router ID: 172.16.65.13
                Indirect next hops: 1
                        Protocol next hop: 172.16.65.12 Metric: 20
                        Indirect next hop: 94ec000 262143 INH Session ID: 0x4
                        Indirect path forwarding next hops: 3
                                Next hop type: Router
                                Next hop: 10.0.0.10 via ge-0/0/1.0 (P3)
                                Session Id: 0x1
                                Next hop: 10.0.0.8 via ge-0/0/2.0 (P4)
                                Session Id: 0x3
                                Next hop: 10.0.0.12 via ge-0/0/3.0 (P5)
                                Session Id: 0x5
                        172.16.65.12/32 Originating RIB: inet.0
                          Metric: 20                      Node path count: 1
                          Forwarding nexthops: 3
                                Nexthop: 10.0.0.10 via ge-0/0/1.0 (P3)

root@VJX4> show route 172.16.65.10 

inet.0: 17 destinations, 19 routes (17 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

172.16.65.10/32    *[IS-IS/18] 04:45:50, metric 10
                    > to 10.0.0.8 via ge-0/0/2.0 (P4)

root@VJX4> show route 172.16.65.12    

inet.0: 17 destinations, 19 routes (17 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

172.16.65.12/32    *[IS-IS/18] 04:45:59, metric 20
                    > to 10.0.0.10 via ge-0/0/1.0 (P3)
                      to 10.0.0.8 via ge-0/0/2.0 (P4)
                      to 10.0.0.12 via ge-0/0/3.0 (P5)
2个回答

查看JUNOS 路由选择过程,你会发现你最终在规则 9 处:

对于BGP,优先选择下一跳通过度量值最低的IGP路由解析的路径。

注意:如果在上一步之后执行 tie-break,则路径被视为 BGP 等价路径(并将用于转发)。考虑由启用多路径的 BGP 邻居获知的具有相同相邻 AS 的所有路径。BGP 多路径不适用于共享相同 MED 加 IGP 成本但 IGP 成本不同的路径。多路径路径选择基于 IGP 成本度量,即使两条路径具有相同的 MED-plus-IGP 成本。

JUNOS 的默认负载平衡是为一条 IGP 路径上的 BGP 路由设置下一跳,即为给定的 BGP 路由安装多个IGP 下一跳。如果您在 77/22 之外添加第二个前缀,您将看到它如何为它选择另一个下一跳,以便在每个前缀级别实现流量负载平衡。当您有很多前缀并且您的流量分布在所有或许多这些前缀上时,这很有效。但是,如果您只查看一个前缀,则无法实现任何流量负载平衡。

这种行为是可以改变的。如果您想安装所有 IGP 下一跳,您可以将负载平衡设置为每个数据包(这在大多数平台上确实不是这样,它是散列攻击的)。有关JUNOS 中负载平衡的进一步说明,请参阅此文档

确切地说,如何计算为给定的 BGP 路由选择哪个 IGP 下一跳比较棘手。我不知道它的内部工作原理,但我认为它是基于前缀的散列。

伙计,根据你放在这里的 conf,这个:

77.0.0.0/22        *[BGP/170] 04:43:01, MED 999, localpref 100, from 172.16.65.10
                      AS path: I, validation-state: unverified
                      to 10.0.0.10 via ge-0/0/1.0 (P3)
                      to 10.0.0.8 via ge-0/0/2.0 (P4)
                    > to 10.0.0.12 via ge-0/0/3.0 (P5) 

最好的路径是通过 p4 链接穿过 VJX0,而不是像你说的那样穿过 VJX1。另一方面,bgp 将这个设置为 BEST ROUTE,因为,所有参数对所有路由器都相同,重量,本地首选项,......但是,在 bgp 决策算法结束时,它采用 BGP 邻居的 LOWER 路由器 ID,优先选择环回地址。

172.16.65.10,是所有路由器的最低环回地址。此路径 (p4) 然后设置为最佳路线。