1.Origin(标记路由起源)
Origin属性用来定义路径信息的来源,标记一条路由是怎么成为BGP路由的
- IGP——通过路由始发AS的IGP得到的路由信息,如通过network命令注入BGP的路由,标识符为"i”
- EGP——通过EGP得到的路由信息,标识符为"e"
- Incomplete——通过其他方式学习到的路由信息,如通过import-route命令注入BGP的路由,标识符为"?"
三种路由的优先级:i优于e优于?
使用origin属性实现负载均衡
【1】使用前缀抓取需要修改属性的网段
[r4]ip ip-prefix o permit 1.1.1.0 24
【2】定制策略来进行修改,一定关注是否需要空表来允许其他路由通过
[r4]route-policy o permit node 10
[r4-route-policy]if-match ip-prefix o
[r4-route-policy]apply origin egp 2 此处配置的AS为对端邻居的AS号
[r4]route-policy o permit node 20
[r4-route-policy]q
【3】在协议中针对某个邻居调用
[r4]bgp 2
[r4-bgp]pe 3.3.3.3 route-policy o export
二、as-path自治路径
AS_ Path属性按矢量顺序记录某条路由从本地到目的地址所要经过的所有AS编号。
AS_ Path属性可以当做BGP选路的参考属性之一, 从EBGP对等体接收路由时,如果发现AS_ Path列表中有本AS号,则不接收该路由,从而避免了AS间的路由环路。
使用as-path实现负载均衡
【1】使用前缀抓取需要修改属性的网段
[r4]ip ip-prefix as permit 1.1.1.0 24
【2】定制策略来进行修改,一定关注是否需要空表来允许其他路由通过
[r4]route-policy as permit node 10
[r4-route-policy]if-match ip-prefix as
[r4-route-policy]apply as-path 1 1 additive
[r4-route-policy]q
[r4]route-policy as permit node 20
【3】可以在控制层面的入或出方向调用,但只能在ebgp邻居间操作;可干涉ebgp、ibgp关系选路;
[r4]bgp 2
[r4-bgp]pe 14.1.1.1 route-policy as import
三、next—hop 下一跳
到达路由的下一跳路由器ip地址,IBGP之间next-hop不变,为0的时候会修改为更新源地址,EBGP之间传路由next-hop修改为更新源地址
Next_ Hop属性记录了路由的下一跳信息。BGP的下一跳属性和IGP的有所不同,不一定就是邻居设备的IP地址。通常情况下, Next_ Hop属性遵循下面的规则:
- BGP Speaker将本地始发路由发布给IBGP对等体时,会把该路由信息的下一跳属性设置为本地与对端建立BGP邻居关系的接口地址。
- BGP Speaker在向EBGP对等体发布某条路由时 ,会把该路由信息的下一跳属性设 置为本地与对端建立BGP邻居关系的接口地址。
- BGP Speaker在向IBGP对等体发布从EBGP对等体学来的路由时,并不改变该路由信息的下-跳属性。
四、local-preference 本地优先级
Local_Preference属性表面BGP路由器的优先级,该值越大越优先。
传播范围 | 默认值 | 大优或小优 |
---|---|---|
IBGP邻居关系间 | 100 | 大 |
- 该属性仅在IBGP对等体之间有效,不通告给其他AS。
- 当BGP路由器通过不同的IBGP对等体得到目的地址相同但下一跳不同的多条路由时,将优先选择Local_Pref属性值较高的路由,缺省情况下该值为100。
使用本地优先级实现负载分担
【1】使用前缀抓取需要修改属性的网段
[r2]ip ip-prefix p permit 1.1.1.0 24
【2】定制策略来进行修改,一定关注是否需要空表来允许其他路由通过
[r2]route-policy p permit node 10
[r2-route-policy]if-match ip-prefix p
[r2-route-policy]apply local-preference 101
[r2-route-policy]q
[r2]route-policy p permit node 20
【3】调用时在控制层面的出或入向均可,但必须为IBGP邻居关系;
[r2]bgp 2
[r2-bgp]pe 3.3.3.3 route-policy p export
五、ATOMIC_Aggrehate
attribute-map 设置聚合后的路由添加明细
adviertise-map
六、Community
团体属性 为了更好的标识BGP路由,标识格式为X:Y
团体值的设置不能在EBGP之间,他的传递可以在IBGP之间也可以在ENGP之间设置必须在IBGP之间可以in 也可以out
传递设置:
neighbor 10.1.24.54 send-community both /standard //团体属性需要传递必须开启该指令
七、Aggregator
用来通告汇总路由的汇聚路由BGP-id(cisco私有)
方便寻找会汇总着
八、MED 多出口的鉴别属性
MED属性类似于IGP的代价值,用于AS间的路由选路。
BGP协议默认不存在cost;MED就是人为的利用路由器优选路径的规则—先比较管理距离(华为为优先级),若一直再比较度量值(华为为cost)
BGP协议在特定条件下携带本地到达目标的cost值;本地宣告(重发布)自己路由表中的路由后,将其传递给本地的ebgp邻居,将携带cost值;对于其他AS的设备学习到从同一个as传递过来的路由,优选MED最小的路径;常常用于AS1干涉AS2对AS1的选路;
管理员可以在控制层面传递路由的过程中,手工修改MDE;最常用于干涉ebgp选路;
- 当一个运行BGP的设备通过不同的EBGP对等体( EBGP对等体需属于同一AS
)得到目的地址相同但下一跳不同的多条路由时,在其它条件相同的情况下,将优先选择MED值较小者作为最佳路由。 - MED属性仅在相邻两个AS之间传递,收到此属性的AS一方不会再将其通告给任何其他第三方AS。MED属性可以手动配置,如果路由没有配置MED属性,
BGP选路时将该路由的MED值按缺省值0。
使用MDE属性实现负载均衡
【1】使用前缀抓取需要修改属性的网段
[r1]ip ip-prefix med permit 1.1.1.0 24
【2】定制策略来进行修改,一定关注是否需要空表来允许其他路由通过
[r1]route-policy med permit node 10
[r1-route-policy]if-match ip-prefix med
[r1-route-policy]apply cost 10
[r1-route-policy]q
[r1]route-policy med permit node 20
【3】在协议中针对某个邻居调用
[r1]bgp 1
[r1-bgp]pe 14.1.1.2 route-policy med export
小技巧:由于实际工程中,管理员只能在一个AS中配置,故无法通过查看BGP表来判断选路结果,可以通过扩展ping来解决
[r1]ping -r -a 1.1.1.1 3.3.3.3
九、Originator id
路由反射使用,是路由发起者产生的一个32比特的值。该值是本地路由发起者的RID,如果路由发起者从属性上看到自己RID,说明有环路就忽略
十、cluster list
路由反射器使用,是路由经过反射器簇id的一个序号,如果反射器在属性里看到自己的簇id就说明有环路,忽略。
十一、Weight 权重(Cisco私有)
适用于本地AS去外部AS时选路,适用于一台路由器,在多条路径下选路,无视邻居属性。本地产生的为32768,学习的为0.不能传递修改:
修改权重全局操作:
router bgp 2
neighbor 10.1.34.3 weight 1 修改该邻居所有传递过来的路由。
使用权重实现负载均衡
router bgp 2
neighbor 10.1.34.3 route-map a in 只针对某一个路由修改weght,只能用in方向。
ip prefix-list a permit 10.1.1.1/32
route-map a permit 10
match ip address prefix-list a
set weight 1
route-map a permit 20
weight的值修改只能影响本路由器,不能影响到其他路由器,意味着如果as只有一个出口路由器weight选路是适用的,但是有多个出口的路由器下不适用。
十二、Preference_Value 偏好值(华为私有)
传播范围 | 默认值 | 大优或小优 |
---|---|---|
不传播 | 0 | 大优 |
全局修改:
[r3-bgp]peer 2.2.2.2 preferred-value 1 本地从邻居2.2.2.2处学习到的所有路由优先值修改为1;
使用偏好值实现负载分担
负载分担:访问不同的目标网段时,让流量进入不同链路来进行通讯;将所有链路利用起来,而不是仅只用唯一链路通讯;
【1】使用前缀抓取需要修改属性的网段
[r3]ip ip-prefix w permit 1.1.1.0 24
【2】定制策略来进行修改,一定关注是否需要空表来允许其他路由通过
[r3]route-policy w permit node 10
[r3-route-policy]if-match ip-prefix w
[r3-route-policy]apply preferred-value 1
[r3-route-policy]q
[r3]route-policy w permit node 20
【3】因为该属性为私有不传递属性,故调用时,只能在控制层面的入向调用,来影响本地的BGP生成;
[r3]bgp 2
[r3-bgp]peer 2.2.2.2 route-policy w import
十三、BGP的社团属性 –BGP的扩展属性
默认大多数厂商的产品在BGP协议中不携带社团属性
例:控制传播范围的社团属性
[r1]route-policy com permit node 10
[r1-route-policy]apply community no-advertise 针对所有的流量修改属性
[r1]bgp 1 [r1-bgp]peer 12.1.1.2 route-policy com export
默认华为设备也不传递社团属性,故使用社团属性时,必须定义传递性
[r1-bgp]peer 12.1.1.2 advertise-community 逐跳行为,每台设备均需开启传递性
- no-advertise 接收到的条目中若存在该社团属性,将不再传递该路由
- no-export 接收到的条目若存在该社团属性,将不传递给下一个AS
- no-export-subconfed 接收到的条目若存在该社团属性,将不传递给下一个小AS
- 若网络没有小AS,仅存在大AS时no-export和no-export-subconfed作用一致