文章目录
- 一、联邦
- 1、联邦的配置:
- 2、缺点:
- 二、BGP的选路原则
- 1、BGP选路的前提条件:丢弃所有不可用的信息
- 2、原则:
- 1、优选PV值最大的路由
- 修改方法:
- 2、优选LP属性最大值的路由
- 修改方法:
- 3、自己始发的路由优先级高于对等体处学来的,自己始发的方法也存在多种,它们优先级为手工聚合 > 自动聚合 > network > import
- 4、优选AS_PATH属性最短的路由
- AS_PATH属性进行选路时,需要注意以下两点:
- 修改方法:
- 5、优选origin属性的路由
- 控制选路的方法:
- 6、优选MED属性值较小的路由
- 干涉选路的方法:
一、联邦
思想:
将同一个AS当中的IBGP对等体关系改变为EBGP对等体关系,通过这种方式来打破IBGP的水平分割。这就需要将不同的IBGP对等体关系划分到不同的成员AS当中,成员AS之间建立的EBGP对等体关系是一种特殊的EBGP对等体关系,他们之间仅遵循EBGP对等体的传递性,而从传递的内容角度看。依然遵循AS-BY-AS规则,因为从宏观看,他们依然处于AS当中。
//假如有个AS区域,有一个网段信息需要从R1发送到R4,R1可以到达R2,但是该信息因为环路问题不能从R2传递到R3,如果运用联邦的话,我们可以将这个AS区域划分为两个AS区域,R1和R2为AS1,R3和R4为AS2,两个AS区域之间通过EBGP传递信息,而不是IBGP传递信息,这样就可以避免了环路产生。(类似于AS_PATH)
联邦的做法也相当于打破了IBGP水平分割,则可能出现环路问题,则需要考虑防环。防环方法可以直接借鉴EBGP水平分割,在AS_PATH属性当中添加AS号来防止产生环回。
注意,为了区分成员AS和正常的AS,成员AS号将使用小括号括起来。
1、联邦的配置:
[r1-bgp]peer 12.0.0.2 as-number 2--------R1建邻,选用大号AS 2
[r2]bgp 64512 --------联邦成员启动bgp进程,运用小号(65412)来启动
[r2-bgp]confederation id 2 -----------声明联邦成员的大号是AS2
[r2-bgp]peer 3.3.3.3 as-number 64512--------联邦成员之间建立IBGP对等体关系需要使用小号建立
[r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0-----更改连接接口
[r3-bgp]confederation id 2 -----------声明联邦成员的大号是AS2
[r3-bgp]confederation peer-as 64513---------在需要建立联邦的EBGP对等体的设备上需要声明建邻的成员AS号
[r3-bgp]peer 4.4.4.4 as-number 64513--------联邦成员之间建立IBGP对等体关系需要使用小号建立
[r3-bgp]peer 4.4.4.4 connect-interface LoopBack 0-----更改连接接口
[r3-bgp]peer 4.4.4.4 ebgp-max-hop ---------因为联邦的EBGP对等体关系之间需要遵循EBGP对等体的传递性,所以,其TTL值默认为1,在非直连建邻时,需要将TTL修改才能建邻
2、缺点:
联邦成员之间只能有两台设备,如果想要多台设备之间使用联邦,我们可以在多台设备之间配置反射器,利用反射器原理,就可以完成。
二、BGP的选路原则
1、BGP选路的前提条件:丢弃所有不可用的信息
2、原则:
1、优选PV值最大的路由
PV值是华为的私有属性,可以理解为是权重,权重越大,其优先级越高,又因为它是所有选路原则中的第一条原则。所以,该属性是本设备上选路最方便的一个属性--------PV属性只能在本设备上生效,所以不能传递给任何BGP对等体。
修改方法:
方法一:全局修改
[r4-bgp]peer 3.3.3.3 preferred-value ?
INTEGER<0-65535> Preference value
[r4-bgp]peer 3.3.3.3 preferred-value 100
负载分担------即让不同的流量走不同的电路,分担单一线路的压力
方法二:精细化控制
step:
1、抓取流量
[r4]ip ip-prefix pv permit 10.0.0.0 24
2、路由策略
[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]q
[r4]
[r4]route-policy PV permit node 20--------注意,必须配置空列表放通剩余所有流量
3、在BGP中调用路由策略
[r4-bgp]peer 3.3.3.3 route-policy PV import
2、优选LP属性最大值的路由
LP-----本地优先级------默认值为100,越大越优,这个属性可以在IBGP对等体之间传递,所以,它是AS内部选路最常用的属性,路由信息在传递给IBGP对等体时将不携带这个LP属性。
可以通过修改LP值来影响选路
修改方法:
方法一:进行全局修改
[r3-bgp]default local-preference 200----------R3之后的对等体的路由LP属性都将被修改为200
方法二:精细化控制
step:
1、抓取流量
[r3]ip ip-prefix Ip permit 10.0.0.0 24
2、路由策略
[r4]route-policy Ip permit node 10
[r4-route-policy]if-match ip-prefix Ip
[r4-route-policy]apply local-preference 300
[r4-route-policy]q
[r4]
[r4]route-policy Ip permit node 20--------注意,必须配置空列表放通剩余所有流量
3、在BGP中调用路由策略
[r3-bgp]peer 4.4.4.4 route-policy Ip export
3、自己始发的路由优先级高于对等体处学来的,自己始发的方法也存在多种,它们优先级为手工聚合 > 自动聚合 > network > import
4、优选AS_PATH属性最短的路由
AS_PATH属性进行选路时,需要注意以下两点:
1、我们在进行路由聚合时,如果激活AS_PATH关键字之后,将不同的AS明细路由进行聚合,则我们将在AS_PATH属性中携带所有明细的AS号,并且用大括号括起来,在进行选路比较时,大括号内容当作一个AS号来看待。
2、在联邦时,联邦内部也需要使用AS_PATH来进行防环,我们需要使用小括号将AS号括起来,在进行选路比较时,将不计算小括号里的内容。
修改方法:
方法一:在R1的出方向修改AS_PATH属性
step:
1、抓取流量
[r1]ip ip-prefix as permit 10.0.0.0 24
2、路由策略
[r1]route-policy as permit node 10
[r1-route-policy]if-match ip-prefix as
[r1-route-policy]apply as-path 11 22 33?
INTEGER<1-4294967295> AS number in asplain format (number<1-4294967295>)
[r1-route-policy]apply as-path 11 22 33 additive -------建议添加使用,因为AS_PATH属性主要任务用来防止环路,将原有属性覆盖可能导致路由回环,造成环路产生。
[r1]route-policy Ip permit node 20--------注意,必须配置空列表放通剩余所有流量
3、在BGP中调用路由策略
[r1-bgp]peer 12.0.0.2 route-policy as export
出方向:
.*>I 10.0.0.0/24 3.3.3.3 0 100 0 1i
*I 2.2.2.2 0 100 0 1 11 22 33
入方向(从AS1出发就已经携带了):
*> 10.0.0.0/24 12.0.0.1 0 0 11 22 33 1
[r2-route-policy]apply as-path 1 1 1 1 additive
-------建议在AS_PATH属性中添加真实离开的AS的AS号,因为AS_PATH属性本身具有防环作用,添加AS号可能导致路由无法发送到对应的AS当中,影响路由的传递。AS_PATH属性在进行选路时,仅关注AS号长短,不关注内容。
5、优选origin属性的路由
Ogn-----起源码-----I, e , ?—用来标识路由条目的起源
I------代表该路由信息起源于IGP协议(不局限于IGP协议,包括静态,直连),
代表该路由条目起源于AS内部--------通过network发布出来的路由信息起源码为I
E-----代表该路由信息起源于EGP协议-------EGP指的是BGP之前使用的外部网关协议
?----通过除了以上两种方式学习到的路由,包括重发布导入的起源码都是问号
控制选路的方法:
1、抓取流量
[r2]ip ip-prefix ogn permit 10.0.0.0 24
2、路由策略
[r2]route-policy ogn permit node 10
[r2-route-policy]if-match ip-prefix ogn
[r2-route-policy]apply origin ?
egp Remote EGP
igp Local IGP
incomplete Unknown heritage
[r2-route-policy]apply origin incomplete
[r2-route-policy]q
[r2]route-policy ogn permit node 20-------放空列表
[r2-route-policy]q
[r2]
3、BGP进程调用
[r2-bgp]peer 12.0.0.1 route-policy ogn import
6、优选MED属性值较小的路由
MED-----多出口鉴别属性-----MED值默认初始值并不是0,而是继承了路由表中该路由条目的开销值
,反应到达目标网段存在本AS内部的开销大小,通过这个参数,别的AS流量在进入本AS时将可以选择开销较小的入口进入。
通过修改MED属性值,我们也可以影响其他的AS流量流入本地AS的路径。
若本地通过IBGP对等体学习到一条BGP路由,其中存在MED值,之后,需要将这条路由再传递给本地EBGP对等体,则他将不再携带这个MED值,这种设置将可能造成选路不佳的情况。
所以,若在多组边界设备需要将路由发送给EBGP对等体关系时,需要将所有的路由信息都发布。(每台设备都要发布)
干涉选路的方法:
1、抓取流量----在R2上配置,影响R1的选路
[r2]ip ip-prefix med permit 4.4.4.0 24
2、路由策略
[r2]route-policy med permit node 10
[r2-route-policy]if-match ip-prefix med
[r2-route-policy]apply cost 10
[r2-route-policy]q
[r2]route-policy med permit node 20-------放空列表
[r2-route-policy]q
[r2]
3、BGP进程调用
[r2-bgp]peer 12.0.0.1 route-policy med export
注意:MED值影响的是别的AS的流量通过多个出口进入到本AS内部,如果流入的不是同一个AS,即收到的路由条目中AS_PATH属性最左边的AS号不同,则将不比较第六条,直接比较第7条
[r4]ping -r -a 4.4.4.4 1.1.1.1-------可以记录流量流动的全过程