路由交换网络专题 | 第三章 | BGP | 选路原则 | router-id选举 | BGP网段宣告方式 | 抑制路由
拓扑图
- 首先需要进行基础的一个配置。
(1)设备没有配置 BGP 的 router-ID,全部设备通过物理接口建立对等体后,AR4 收到的 AR1的路由是否存在问题。说明原因。
- 图上显示AR4收到AR1的路由,是优先学习到的路径(*>)
- 存在次优路径问题,就是不是最优的路径。根据BGP选路原则,图中最后是优选router-ID最小的设备进行选路通告;根据Router-id选举原则,因为最先配置的是环回接口,所以Router-id为环回接口,
138.1.0.1大于12.1.1.2
,所以说是AR2的router-id小,所以会走AR2,而不是直接从中间通告过来。- 如果我们将AR1的router-id改成1.1.1.1,次优路径问题可以解决吗?
[AR1]bgp 100 [AR1-bgp]router-id 1.1.1.1 Warning: Changing the parameter in this command resets the peer session. Continu e?[Y/N]:y // 设置router-id后邻居会重新建立
- 会改变路由传递路径:在AR4 上查看下一跳就变成了AR1
- 总结:在实际生产环境中,建议手动配置router-id。
(2)链路全部正常的情况下,AR1 优先选择从 AR4 收到 60.1.1.0/24 路由,原因是什么
- 这是正常的,根据选路原则第七条:优选从EBGP对等体学来的路由。从下面经过两个AS区域,从最上面会增加域内承载的流量。
(3)AR1 与 AR4 链路断开后,AR1 从 AR3 收到 60.1.1.0/24 的路由,是否正常。请说明原因。
- 此时使用shutdown命令断掉中间的线路G0/0/1,然后查看AR1-bgp路由表:
- 理论上说应该是从AR2过来,因为根据AS-PATH属性值最少的路由。但是是从AR3过来的路由,看见从AR4过来的路由并没有生效,路由前面并没有
*
号。- 问题原因:边界设备要对自己的IBGP对等体要配置一个下一跳本地(Next-hop-local)
[AR1-bgp]peer 12.1.1.2 next-hop-local [AR2-bgp]peer 12.1.1.1 next-hop-local // 都需要配置
- 配置完成后AR1路由表:已经可以从AR2学习到
(4)链路全部正常的情况下,需要 AR1 优先选择从 AR2 收到 60.1.1.0/24 路由,如何配置。
分析:需要影响选路原则,可以修改
preferred-value
的值注意:
Local_Preference-value
只能对IBGP对等体实行对等属性,对于EBGP调用是不生效的。[AR1]bgp 100 [AR1-bgp]peer 12.1.1.2 preferred-value 50 [AR1-bgp]peer 14.1.1.4 preferred-value 10
- 恢复所有链路正常后,查看BGP路由表,从AR2的路由就变为优先
(5)链路全部正常的情况下,需要 AR1 优先选择从 AR3 收到 60.1.1.0/24 路由,如何配置。
- 可以让上面AR1到AR4之间的AS_Path值长一点,改长一点。
[AR1]acl 2000 [AR1-acl-basic-2000]rule permit source 60.1.1.0 0.0.0.255 [AR1]route-policy 1 permit node 1 [AR1-route-policy]if-match acl 2000 [AR1-route-policy]apply as-path 500 600 additive // :增加他的AS号,这个是虚拟的,不存在的。 [AR1]route-policy 1 permit node 2 //:防止路由被过滤掉 [AR1]bgp 100 [AR1-bgp]peer 14.1.1.4 route-policy 1 import // :import接收来自对端路由 [AR1-bgp]peer 12.1.1.2 route-policy 1 import // :上面的路线也可以增长
(6)在 AR1 上配置路由聚合后,AR4 收到的聚合路由是否会携带 AS
[AR1-bgp]aggregate 138.1.0.0 16
- 会携带AS号。因为AS号放在AS列表中是在发出路由时,把自己的AS号加入到AS_path中;而AR4接收到了路由再做汇总,接收到的路由本身是带着AS 100 的,但是如果没有添
as-set
参数,就会把AS_path参数丢弃掉。
- 在AR4上做汇总是不会有AS号的,如下AR4路由表:
[AR4-bgp]aggregate 138.1.0.0 16 as-set :添加as-set将会携带聚合后的as号
(7)在 AR1 上配置路由聚合后,AR4 如何在收到聚合路由外,不再接收明细路由。
- 不在出现以上的明细路由。
[AR4]bgp 300 [AR4-bgp]aggregate 138.1.0.0 255.255.0.0 as-set detail-suppressed //: 后面参数是抑制出现明细路由。
s
就表示是抑制明细路由,AR4路由表如下:
- 在AR1设置抑制路由,再次查看AR4路由表(在AR1上做,AR2,AR3上的路由明细都会被抑制);只在AR4上做只会在抑制最优的一条
(8)一般情况下,建立 IBGP 对等体,建议使用环回口地址建立对等体。请说明使用环回口地址建立对等体需要哪些必须的配置。
- 有环回口。
- 保证底层路由正常通信。
- 环回口作更新源,要改更新源为环回接口。
peer 对端地址 connect-interface LoopBack 0
(9)BGP 设备的 router-id 的选举顺序是什么。
- **手动配置:**管理员可以手动配置Router ID,通过在路由器配置中输入router-id命令来指定。
- 高回环接口:如果没有手动配置Router ID,则路由器将选择具有最高IP地址的回环接口作为Router ID。
- 高物理接口:如果没有回环接口,则路由器将选择具有最高IP地址的物理接口作为Router ID。
(10)AR1 宣告 138 网段的路由时可以使用哪些方式。各有什么优势和不足。
- network :精确(直接可以不进行宣告),安全;但是工作比较繁琐。
- 路由引入:工作量小,不太安全,有些信息不太靠谱,比如不需要被公布的网段。