路径属性
-
公认属性----指所有BGP路由器都要求识别的路径属性
-
强制属性------在进行路由更新时,必须携带的属性
-
自由决定属性----在进行路由更新时,可以不携带的属性
-
-
可选属性----指不要求所有BGP路由器都能够识别的路径属性
-
传递属性----如果路由器无法识别该属性,也应该接收携带该属性的路由信息,并且在路由更新时,携带该属性。
-
非可传递属性----如果路由器无法识别该属性,那么在进行路由更新时,可以忽略该路径属性的传播
-
属性名 | 类型 |
---|---|
AS_Path | 公认强制 |
Origin | 公认强制 |
Aggregator | 可选传递 |
Atomic-Aggregate | 公认自由决定属性 |
起源ID | 可选非传递 |
簇列表 | 可选非传递 |
Next-hop | 公认强制 |
local-preference | 公认自由决定 |
preferred-value | 私有属性 |
MED | 可选非传递 |
社团属性 | 可选传递 |
BGP路由优选规则
PL LAO MEN-----漂亮老男人
任何一条BGP路由在参与优选之前都必须先经过检查。设备会检查BGP路由的下一跳属性是否可达,如果不可达,则BGP路由被视为不可用,该路由将无论如何不能被优选,也不会被设备使用或者通告给其他对等体。----------要求路由的优先级相同,默认的前提条件。
属性名 | 传播范围 | 默认值 | 评判标准 |
---|---|---|---|
PV | 不传递 | 0 | 越大越优 |
LP | AS内部 | 100 | 越大越优 |
AS_Path | BGP对等体之间 | 空列表 | 越少越优 |
OGN | BGP对等体之间 | 根据起源类型决定 | i>e>? |
MED | bgp对等体之间 | 默认继承全局路由表中的开销值 | 越小越优 |
Preferred-Value
PV值是华为的私有属性,默认值为0,可以理解为权重的概念,权重越大,则对应的路由信息的优先度越高。因为PV值是所有选路原则中的第一条规则,所以,该属性是本设备上选路最方便的属性。
该属性只能在本地生效,无法传递给任何BGP对等体。
方法一:全局修改
[r4]bgp 400
[r4-bgp]peer 10.1.34.3 preferred-value 6000方法二:精细化修改
[r4]ip ip-prefix PV permit 10.10.0.0 16[r4]route-policy PV permit node 10
[r4-route-policy]if-match ip-prefix PV
[r4-route-policy]apply preferred-value 100
[r4]route-policy PV permit node 20[r4-bgp]peer 10.1.34.3 route-policy PV import
Local_Preference
LP属性默认为100,该属性只能在IBGP对等体之间传递,而不能在EBGP对等体之间传递,如果路由在传递到本地时不携带LP属性,则BGP在进行路由优选时使用缺省值来计算,数值越大越优。
这条选路规则时AS内部优选路由的最佳选择。
方法一:全局修改
该属性在IBGP对等体之间存在传递性,故想要影响R4,就必须在R2或者R3上进行修改,后续传递的就是修改后的数值。
[r3]bgp 234
[r3-bgp]default local-preference 200
- 该命令只会影响本地向外发布的路由,而不会影响本地收到的路由
方法二:精细化修改
[r4]ip ip-prefix LP permit 10.11.0.0 16[r4]route-policy LP permit node 10
[r4-route-policy]if-match ip-prefix LP
[r4-route-policy]apply local-preference 200
[r4]route-policy LP permit node 20[r4-bgp]peer 3.3.3.3 route-policy LP import
AS_Path属性
一台路由器将BGP路由通告给自己的EBGP对等体时,会将本地的AS号插入到该路由原有AS_Path属性之前。
-
实现EBGP路由的环路避免
-
用于BGP路由优选决策
-
该属性越短,该路由越优。
-
在路由被创建时,该属性也会被创建,仅仅为一个空的列表。
-
{}----在路由聚合时产生
-
从防环--->{}中的每一个AS号都需要查看
-
从选路--->不管{}中存在多少AS号,仅当做一个来进行计算
-
-
()----联邦
-
选路--->忽略该括号中内容
-
方法一:在R1的出方向修改
[r1]ip ip-prefix AS permit 10.13.0.0 16[r1]route-policy AS permit node 10
[r1-route-policy]if-match ip-prefix AS
[r1-route-policy]apply as-path 11 22 33 overwrite
[r1]route-policy AS permit node 20[r1-bgp]peer 10.1.13.3 route-policy AS export
apply as-path none overwrite
- 代表将该属性变为空列表
参数说明:
-
additive
-
在原AS_Path属性的基础上添加配置的AS号
-
-
overwrite
-
直接覆盖原有AS_Path属性
-
该属性是BGP重要的工作组成,EBGP防环依赖于该属性,故一般不建议修改改属性,如果一定要修改,则建议添加或覆盖的AS号为曾经出现过的AS号,这样即加长了该属性,同时对网络的影响最小。
MED
MED的数值是由始发路由器继承IGP协议的Cost值而定的。该属性可以被传递给自己的EBGP对等体,也可以被传递给自己的IBGP对等体。
MED属性可以干扰其他人访问本地AS的流量走向。--->MED属性时BGP选路中唯一一个可以影响到其他AS的属性。---->传播范围:本地以及相邻的AS内部。
BGP规定,非本地始发的BGP路由信息,在传递给自己的EBGP对等体时,将MED值修改为0
所有的AS边界设备均需要进行路由信息的发布。
MED总结:
MED数值默认不为0,而是继承了路由表中该路由条目的开销值,所以,MED参数可以反映到达目标网段在本AS内部的开销大小,通过这个参数,别的AS的流量再进入本AS时可以选择开销较小的入口进入。通过修改改属性,可以影响其他AS的流量流入本AS的路径。
本地通过EBGP或者IBGP邻居学习到MED内容,之后将其传递给自己的EBGP对等体时,不再携带MED参数。因为可能会造成选路不佳。
注意:
MED值影响的事别的AS的流量通过多个出口进入到本AS内部,如果流入的不是同一个AS,即收到的路由条目中的AS_Path属性最左边的AS号不同,则将不比较第六条选路规则,直接比较第七条选路规则。
- 如果想通过MED进行干涉选路,需要保证前五条规则内容全相同(AS_Path属性的长度和内容和顺序也相同)
[r4-bgp]default med 100
- 全局修改方式
- 只能针对本地聚合路由或者重发布引入的路由信息生效,并且是传递给EBGP对等体时才会携带,不会影响本地MED数值
第十条优选规则中,有起源者ID,则比较起源者ID。若无,则比较RID数值。
BGP负载均衡--负载分担
形成负载分担的条件--->BGP路由优选规则的1至8条规则中需要比较的路径属性完成相同。
[r4-bgp]maximum load-balancing ?
INTEGER<1-8> Specify maximum equal cost routes
ebgp EBGP routes as equal cost route
ibgp IBGP routes as equal cost route
[r4-bgp]maximum load-balancing ebgp 2 ---修改BGP最大负载分担路由条目为2,默认情况为1。
如果携带了ebgp或者ibgp参数,则代表对某种方式学习到的路由进行负载分担,不携带参数则代表全局执行。
在实现负载均衡后,无论是否配置了next-hop-local命令,本地设备都会向自己的IBGP对等体发布路由时,将下一跳修改为本地地址
注意内容:当满足如下所有条件时,可以形成等价路由,从而形成负载均衡
-
原始下一跳不同
-
PV、LP相同
-
都是聚合路由或者都不是聚合路由。
-
起源吗相同、MED相同
-
都是EBGP路由或者都是IBGP路由
-
AS内部的IGP开销值相同
-
AS_Path完全相同----内容相同,顺序相同,长度相同。
[r4-bgp]load-balancing as-path-ignore
- 忽略在进行负载均衡配置时的AS_Path属性对比
BGP的路由过滤
需求:通过路由策略来完成,不让R2将172.16.1.0/24传递给R3
1、抓流量
[r2]ip ip-prefix aa permit 172.16.1.0 242、做策略
[r2]route-policy aa deny node 10
[r2-route-policy]if-match ip-prefix aa
[r2]route-policy aa permit node 203、调用
[r2-bgp]peer 10.1.23.3 route-policy aa export
- 需求:不让R3学习到172.16.2.0/24,使用前缀列表
[r3]ip ip-prefix aa deny 172.16.2.0 24
[r3]ip ip-prefix aa permit 0.0.0.0 0 less-equal 32
1、配置前缀列表
2、调用
[r3-bgp]peer 10.1.23.2 ip-prefix aa import
需求:通过filter-policy来完成,不让R2和R3学习172.16.3.0/24路由
1、配置ACL列表
[r2-acl-basic-2000]rule deny source 172.16.3.0 0
[r2-acl-basic-2000]rule permit source any2、调用
[r2-bgp]peer 10.1.12.1 filter-policy 2000 import
- 在BGP中使用过滤策略时,只能调用ACL列表,所以必须使用ACL列表来抓取流量