实验拓扑
查看R4的bgp路由表,发现到达10.10.10.10网段有两条路径,优选了下一跳为R2的路径。(R3上配置了next-hop-local,使其向R4通告路由的下一跳为自身ip地址。)
1.优选Preferred-Value属性值最大的路由。
通过在R4上修改R3通告路由的Preferred-value值,使其Preferred-value值大于R2通告的路由的Preferred-value值,从而使得R4去往10.10.10.10优选下一跳为R3的路径。
bgp 200
peer 3.3.3.3 preferred-value 100
表示对邻居3.3.3.3发来的BGP路由,都将其Preferred-value值改为100
由以上结果可知,R4优选Preferred-value值更大的下一跳为3.3.3.3(R3)的路由
2.优选Local_Preference属性值最大的路由。
在R4上对R3发过来的路由进行local-Preference值进行修改,使其大于从R2接收的路由
ip ip ip-prefix ww index 10 permit 10.10.10.10 32
route-policy loc permit node 10
if-match ip-prefix ww
apply local-preference 200
bgp 200
peer 3.3.3.3 route-policy loc import
由以下结果可知R4优选local-Preference值更大的下一跳为3.3.3.3(R3)的路由
3.本地始发的BGP路由优于从其他对等体学习到的路由,本地始发的路由优先级:优选手动聚合>自动聚合>network>import>从对等体学到的。
在R4上network 10.10.10.10进BGP,可见最后R4优选本地产生到10.10.10.10的路由,而不是从对等体学来的,从而验证本地始发的BGP路由优于从其他对等体学习到的路由。
在R4上创建10.10.1.1 /24、10.10.2.1/24的静态路由,并引入进BGP,在进行手动聚合
ip route-static 10.10.2.0 255.255.255.0 NULL0
ip route-static 10.10.1.0 255.255.255.0 NULL0
bgp 200
import-route static
summary automatic
自动聚合后,按照自然网段聚合出10.0.0.0/8的网络。
在R4上手动聚合后,判断BGP路由优选手动聚合还是自动聚合。
bgp 200
aggregate 10.0.0.0 255.0.0.0 detail-suppressed
此时根据BGP路由表不能判断,优选的是自动还是手动聚合。
此时可通过dis bgp routing-table 10.0.0.0,查看详细信息,发现有包含发起聚合路由的AS号及生成聚合路由的BGP通告者的RouterID ( 又称为Aggregator ID)。故可以判断此条路由是手动聚合的,故手动聚合优于自动聚合。
4.优选AS_Path属性值最短的路由。
在R4上通过路由策略将R2发过来的路由的as-path改长。注意不建议添加200,也不建议添加其他AS号,避免AS PATH防环机制对路由传递产生后续影响
ip ip-prefix ww index 10 permit 10.10.10.10 32
route-policy as-path permit node 10
if-match ip-prefix as-path
apply as-path 100 additive
bgp 200
peer 192.168.4.1 route-policy as-path import
可知R2传过来的路由as-path长度被改为了100 100,优选as-path短的,下一跳为R3的路由。
5.优选Origin属性最优的路由。Origin属性值按优先级从高到低的排列是:IGP、EGP及Incomplete。
可通过路由策略修改路由的起源属性,例如在R4上将来自R2路由的起源属性修改为e,看看会对路由优选的结果有什么影响。
ip ip-prefix ww index 10 permit 10.10.10.10 32
route-policy org permit node 10
if-match ip-prefix as-path
apply origin egp 100
bgp 200
peer 192.168.4.1 route-policy org import
由一下结果可知,来自R2路由的起源属性被修改为了e,路由优选起源属性为i的路由。
6.优选MED属性值最小的路由
在R4通过路由策略,将来自R2的med调大。
ip ip-prefix ww index 10 permit 10.10.10.10 32
route-policy med permit node 10
if-match ip-prefix med
apply cost 100
bgp 200
peer 192.168.4.1 route-policy med import
由以下可知,R4上来自R2的路由的med值被修改为了100,优选med值小的。
7.优选从EBGP对等体学来的路由(EBGP路由优先级高于IBGP路由)。
查看R2的bgp路由表:
在R4上面network进10.10.10.10/32,由上图可知,R2收到的R1发过来的路由as-path长度为0,为了不影响实验结果,在R2上将R1通告的路由as-path长度增加。
route-policy as-path permit node 10
if-match ip-prefix ww
apply as-path 100 additive
bgp 100
peer 1.1.1.1 route-policy as-path import
由下图可知,R2优选了,EBGP路由。
可以看到落选的原因是:not preferred for peer type
8.优选到Next_Hop的IGP度量值最小的路由。
R1去往10.0.45.0网段有两条路径,下一跳分别为R2和R3的自身ip地址,修改ospf cost为10,根据优选到IGP下一跳度量值最小的路由。故优选下一跳为R3的路由。
9.优选Cluster_List最短的路由
R2将收到R3通告的10.0.45.0/24路由和R1反射过来的路由,根据前八条选路规则,无法选出最优路径,则优选cluster-List最短的,由于R3直接通告路由给R2,cluster—List长度为0,小于R1反射的路由,故优选R3通告的路由。
10.优选Router ID(Orginator_ID)最小的设备通告的路由。
前九条规则相同的情况下,R1优选router id最小的设备通告的路由,即R2 。
11.优选具有最小IP地址的对等体通告的路由。
R1优选R2通告的路由,因为它想对与R1来说,对等体地址比10.0.3.3小。