PS:本篇仅挑选作者认为重要的模块,并不全面仅供复习参考,具体请自行查阅相关书籍。设有H3CNE-H3CTE学习博客专栏,敬请关注。
聚合:
BGP支持自动聚合和手动聚合
BGP自动聚合:把IGP路由引入BGP的时候,自动按照ABC自然分类的网络号聚合子网
H3C设备的BGP协议默认关闭自动聚合
BGP手动聚合:
aggregate ip-address { mask | mask-length } [ as-set | attribute-policy route-policy-name | detail-suppressed | origin-policy route-policy-name | suppress-policy route-policy-name ]
#bgp XXXX
address-family ipv4 unicast
aggregate X.X.X.X y //可以在任意设备上配置!!!
10.1.1.0/24 AS100 AS200 AS300 AS400
10.1.2.0/24 ----------RT1----------RT2-----------RT3------------RT4
10.1.3.0/24 RT3上聚合子网路由:aggregate 10.1.0.0 16
10.1.x.0/24 RT3向RT4宣告的路由中,既有聚合路由,也有子网路由
若加入detail-suppressed,则抑制子网路由,子网路由不往前宣告
RT4中收到的RT3的聚合路由的AS-path值是多少?
观察RT1和RT2是否可以学习到聚合路由?
自己动手做实验!!!
AS内,IBGP邻居之间存在“水平分割规则”
A-----iBGP------B-------iBGP-------C
B收到的BGP路由不会给C
可能导致设备路由不完整,要么就全联接,但是会造成大量的链路连接,浪费,解决方案:
1.路由反射方案:
A-----iBGP------B-------iBGP-------C
设备角色: 客户 反射器 非客户
反射方案中的BGP路由传递规则:
客户----------》》反射器-----------》》客户+非客户
非客户--------》》反射器------------》》客户
配置只需要在中间B设备上配置即可
配置命令:B是反射器,A和C是B的客户
配置将本机作为路由反射器,并将对等体/对等体组作为路由反射器的客户:
[Router-bgp-ipv4]peer { group-name | ip-address } reflect-client
命令含义:B是反射器,A和C是B的客户:
为了避免反射器的单点故障,使用双RR(反射器)冗余方案:
可能的问题:客户RTC给反射器1的内容,反射器1给反射器2,反射器2又反射给RTC,造成路由环路
解决方案:依靠"集群列表属性",防止RR间的环路
每个RR会自动生成集群ID,BGP路由每经过一个RR,会把该RR的集群ID记录到"集群列表"属性中去
RR收到BGP路由发现集群列表属性中记录的某个集群ID和自己的一致,丢弃BGP路由
因此认为的将双RR设置同意集群ID可解决上述问题
2.联盟:confederation
一个大的共有AS内细分更多更小的私有子AS
AS号范围:1-65535,64512-65535(私有AS号)
用的非常少,主要是了解概念和原理
BGP路由衰减:
用来解决路由震荡(路由在路由表中频发的出现和消失)的问题。
配置命令:
[Router-bgp-ipv4] dampening [ half-life-reachable half-life-unreachable reuse suppress ceiling | route-policy route-policy-name ]
该命令规定:路由每震荡一次,惩罚值固定加1000
假设BGP路由每10s震荡一次
(1)开启BGP衰减技术后,惩罚值从0开始递增,主要看half-life-reachable(若为30s)和ceiling参数(10000)
30s后,惩罚值为1500:(1000+1000+1000)*1/2;
多出口BGP网络:
三种部署方式:
1.ISP边界路由器只发布缺省路由到企业网
2.ISP边界路由器发布缺省路由及部分明细路由到企业网
3.ISP边界路由器发布所有的Internet路由到企业网