目录
一:BGP路径选择-Next Hop
原理概述
当一台 BGP 路由器中存在多条去往同一目标网络的 BGP 路由时, BGP 协议会对这些 BGP 路由的属性进行比较,以确定出去往该目标网络的最优 BGP 路由,然后将该最优 BGP 路由与去往同一目标网络的其他协议路由进行比较,从而决定是否将该最优 BGP 路由放进 IP 路由表中。 BGP 路由属性的比较顺序为 Preferred Value 属性、 Local Preference 属性、路由生成方式、 AS _ Path 属性、 Origin 属性、 MED 属性、 BGP 对等体类型等,如果前面这些属性都完全相同或在比较选择的过程中可被忽略,则将比较路由的Next Hop属性。
Next Hop 属性记录了去往目标网络所对应的下一跳 IP 地址。 BGP 在比较 Next Hop 属性时,会优选去往 Next Hop 属性中 IP 地址的 IGP 开销最小的路由。需要注意的是,如果一条 BGP 路由的 Next Hop 属性中的 IP 地址不可达,则该条路由在 BGP 路由表中不会被标记为可用路由,从而也就根本无法参与 BGP 路由协议的选路过程。
BGP 路由器在发布路由给 EBGP 对等体时,该路由的 Next Hop 的 IP 地址会被自动修改,但发布路由给 IBGP 对等体时, Next Hop 的 IP 地址不会被自动修改。为了满足不同网络环境的需求,当路由器发布路由给 IBGP 对等体时,也可以手动修改 Next Hop 的 IP 地址。
实验目的
理解 Next Hop 属性的概念与作用
掌握修改 Next Hop 属性的方法
理解 Next Hop 属性对 BGP 路由协议选路的影响
实验内容
实验拓扑如下图所示。R1属于 AS 100,R2、R3和R4属于 AS 200。R1的 Loopback 1接口模拟客户所在的网络,R4的 Loopback 1接口模拟目标服务器所在的网络。所有的路由器都运行 BGP ,同时R2、R3和R4还运行 OSPF 。R1与R2和R3之间的 EBGP 邻居关系采用直连物理接口来建立,R2、R3、R4之间的 IBGP 邻居关系采用 Loopback 0接口来建立。最终的目标是实现 AS 100的客户与 AS 200的服务器能够进行正常通信,并且不能出现非对称路由的现象。
实验拓扑
1.基本配置
根据拓扑图进行相应的基本配置,并使用ping命令检测R1与R2之间的连通性。
其余直连网段的连通性测试过程在此省略。
2.IGP和BGP路由协议配置
在AS 200中的路由器上配置OSPF协议,所有路由器都属于区域0,每台路由器都使用LoopBack 0接口的IP地址作为Router-ID。
[r2]ospf 1 router-id 10.0.2.2
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255
[r2-ospf-1-area-0.0.0.0]network 10.0.2.2 0.0.0.0[r3]ospf 1 router-id 10.0.3.3
[r3-ospf-1]area 0
[r3-ospf-1-area-0.0.0.0]network 10.0.34.0 0.0.0.255
[r3-ospf-1-area-0.0.0.0]network 10.0.3.3 0.0.0.0[r4]ospf 1 router-id 10.0.4.4
[r4-ospf-1]area 0
[r4-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255[r4-ospf-1-area-0.0.0.0]network 10.0.34.0 0.0.0.255
[r4-ospf-1-area-0.0.0.0]network 10.0.4.4 0.0.0.0
[r4-ospf-1-area-0.0.0.0]network 10.0.100.4 0.0.0.0
配置完成后,在R4上查看OSPF邻居关系。
可以看到,邻居状态都为Full,表明R4与R2和R3均已成功建立了OSPF邻居关系。
下面进行BGP路由协议的配置。
[r1]bgp 100
[r1-bgp]router-id 10.0.1.1
[r1-bgp]peer 10.0.12.2 as-number 200
[r1-bgp]peer 10.0.13.3 as-number 200
[r1-bgp]network 10.0.100.1 255.255.255.255[r2]bgp 200
[r2-bgp]router-id 10.0.2.2
[r2-bgp]peer 10.0.12.1 as-number 100
[r2-bgp]peer 10.0.3.3 as-number 200
[r2-bgp]peer 10.0.3.3 connect-interface loopback 0
[r2-bgp]peer 10.0.4.4 as-number 200
[r2-bgp]peer 10.0.4.4 connect-interface loopback 0[r3]bgp 200
[r3-bgp]router-id 10.0.3.3
[r3-bgp]peer 10.0.13.1 as-number 100
[r3-bgp]peer 10.0.2.2 as-number 200
[r3-bgp]peer 10.0.2.2 connect-interface loopback 0
[r3-bgp]peer 10.0.4.4 as-number 200
[r3-bgp]peer 10.0.4.4 connect-interface loopback 0[r4]bgp 200
[r4-bgp]router-id 10.0.4.4
[r4-bgp]peer 10.0.2.2 as-number 200
[r4-bgp]peer 10.0.2.2 connect-interface loopback 0
[r4-bgp]peer 10.0.3.3 as-number 200
[r4-bgp]peer 10.0.3.3 connect-int