目录
BGP路径属性定义
路径属性:Path attributes,作用于类似于metrice,用于度量BGP的路由劣势(用来进行选路)
分类
公认遵属性:所有的BGP的update消息都要包含该属性
- AS路径(AS-path)
- 下一跳(next-hop)
- 起源(Origin)
公认自觉属性:该属性是可选可不选的,但是所有的BGP进程都能识别。 BGP设备发送的update报文可携带也可不携带,但应该都能识别。
- 本地优先级
可选传递属性:即使BGP进程不能识别该属性,也会继续传递下去。 BGP设备不能识别,但可以继续转发。
- 团体属性
可选非传递属性:如果BGP进程不能识别该属于,可以忽略这条update,并且不传递下去。 BGP设备不能识别,并且也不能转发的,也就是丢弃。
- MED
BGP选路原则
- 如果此路由的下一跳不可达,忽略此路由。
- Preferred-Value值数值越高越优先,华为私有属性,仅本地有意义。
- Local-Preference值最高的路由优先。
- 聚合路由优先于非聚合路由。
- 本地手动聚合路由的优先级高于本地自动聚合的路由。
- 本地通过Network命令引入的路由的优先级高于本地通过import-route命令引入的路由。
- AS-path的长度最短的路径优先。
- 比较Origin属性,IGP优于EGP,EGP优于Incomplete。
- 选择MED较小的路由。
- EBGP路由优于IBGP路由。
- BGP优于选择到BGP下一跳的度量值最低的路径。
当以上全部相同,则为等价路由,可以负载分担(注意:AS-Path必须一致,当负载分担时,以下3条原则无效)
12.比较Cluster- List长度,短者优先。
13.比较Originator-ID(如果没有Originator-ID,则用Router-ID比较),选择数值较小的路径。
14.比较对等体的IP地址,选择IP地址数值最小的路径。
BGP属性性选路配置
(共12种方法,3种方法常用)
- 根据local-prefernce控制选路(越大越优)
- 为公认自觉属性,用于告诉AS中的路由器,哪条路径是离开AS的首条路径。
- Local Preference属性只能在IBGP对等体间传递(除非做了策略否则Local-Preference值在IBGP对等体间传递过程中不会丢失),而不能在EBGP对等体间传递,如果在EBGP对等体间收到的路由的路径属性中携带了Local-Preference,则会触发Notifaction报文,造成会话中断。
- 但是可以在AS边界路由器上使用Import方向的策略来修改Local-Preference属性值。也就是在收到路由之后,在本地为路由赋予Local-Preference.
route-policy X permit node 10-- ### 创立名为X的路由策略,其中node 10是固定格式,不用管。(X:名字)
apply local-preference 123-- ### 设置本地优先级为666
quit -- ### 离开当前路由策略返回系统视图
BGP 200-- ### 进入本AS的BGP中
peer 4.4.4.4 route-policy X export-- ### 对R3上对AR4执行出站方向配置此路由策略,使得收到对方通告的路由后,把它的local-preference改成666,让AR4优先通告AR3
reset bgp all -- ### 重启BGP(用户视图下)
refresh bgp all export /import -- ### 重启bgp所有的出站、进站规则
2.使用AS-PATH属性控制选路(越小越优先)
- 公认比遵属性,是前往目标网络的路由经过的AS号列表
- 作用:确保路由在EBGP对等体之间无环:另外也作为路由优选的衡量标准之一
- 路由在被通告给EBGP对等体时,路由器会在该路由的AS-Path中追加上本地的AS号:路由被通告给IBGP对等体时,AS-Path不会发生改变
1、使用route-policy修改BGP路由的AS-path
apply as-path xxx additive --- ###在已有AS-path基础上追加XXX
apply as-path xxx overwrite --- ###将已有的AS-path替换成xxx
apply as-path none overwrite --- ###清空路由器的AS-path属性
route-policy as permit node 10
apply as-path 123 123 123 additive--- ##3在已有AS-path基础上追加
quit
bgp 200
peer 1.1.1.1 route-policy as expoort--- ###在AR3对AR4执行出口方向上的路由策略
在系统视图下:
reset bgp all --- ##3重启BGP(用户视图下)
refresh bgp all export /import --- ###重启bgp所有的出站、进站规则
3.通过MED属性控制选路(越小越优)
- 可选非传递属性,是一种度量值
- 一般情况下,BGP设备只比较来自同一AS(不同对等体)的路由的MED的属性值。可以通过配置命令来允许BGP比较来自不同AS的路由的MED值,执行compare-different-med命令后,系统将比较来自不同AS中的对等体路由的MED值
route-policy med permit node 10
apply cost +500 --- ###因为med无对应的,此外med又是一种度量值,因此使用cost来代替
quit
bgp 200
peer 1.1.1.1 route-policy med export
<>reset bgp all
<> refresh bgp all export /import
display bgp routing-table--- ###查BGP的路由表
display bgp routing-table--- ###查看详细情况
BGP路由聚合
方案1:(创建静态汇总路由)
ip route-static 192.168.0.0 255.225.255.255.0 NULL0
net 192.168.0.0 255.255.255.0 --- ###宣告这个网段(将静态的路由器宣告出去,因为这个网段在路由表中不存在,得假如ULL0才能在bgp中使用,因而得宣告)
方案2:
aggregate 192.168.0.0 255.255.255.0 detail-suppressed as-set
使用手动链路聚合aggregate ,detail-suppressed as-set是抑制路由明细通告。
增加as-set 关键字后,该汇总路由将继承明细路由的路径属性,对其中明细路由有AS-path属性可起到汇总路由防环作用。