BGP高级特性
1.前言BGP高级特性,包括:ORF、对等体组、安全特性,还会介绍BGP路由反射器的组网部署方式
2.BGP路由控制
BGP路由控制包括控制路由的发布和接收
BGP路由控制一般通过路由策略实现,即通过路由匹配工具匹配特定路由,再通过路由策略工具对路由的发布和接收进行控制。
路由匹配工具:ACL(Access Control List,访问控制列表),IP Prefix List(地址前缀列表),AS_Path Filter(AS路径过滤器),Community Filter(团体属性过滤器)等。
路由策略工具:Filter-Policy和Route-Policy。
BGP路由控制通常影响的属性包括:AS_Path属性和Community属性等
2.1 路由匹配工具:AS_Path Filter
AS_Path Filter是将BGP中的AS_Path属性作为匹配条件的过滤器,利用BGP路由携带的AS_Path列表对路由进行过滤。
在不希望接收某些AS的路由时,可以利用AS_Path Filter对携带这些AS号的路由进行过滤,从而实现拒绝某些路由

AS_Path Filter的基础配置命令
创建AS_Path Filter
[Huawei] ip as-path-filter { as-path-filter-number | as-path-filter-name } { deny | permit } regular-expression
应用AS_Path Filter
[Huawei-bgp-af-ipv4] peer { group-name | ipv4-address | ipv6-address } as-path-filter { as-path-filter-number | as-path-filter-name } { import | export }
2.2 路由匹配工具:Community Filter
Community Filter与Community属性配合使用,可以在不便使用IP Prefix List和AS_Path Filter时,降低路由管理难度。

团体属性过滤器有两种类型:
基本Community Filter。匹配团体号或公认Community属性。
高级Community Filter。使用正则表达式匹配团体号
3.BGP特性
3.1 邻居按需发布路由
如果设备希望只接收自己需要的路由,但对端设备又无法针对每个与它连接的设备维护不同的出口策略。此时,可以通过配置BGP基于前缀的ORF(Outbound Route Filters,出口路由过滤器)来满足两端设备的需求
BGP基于前缀的ORF能力,能将本端设备配置的基于前缀的入口策略通过路由刷新报文发送给BGP邻居。BGP邻居根据这些策略(刷新报文中)构造出口策略,在路由发送时对路由进行过滤。
这样不仅避免了本端设备接收大量无用的路由,降低了本端设备的CPU使用率,还有效减少了BGP邻居的配置工作,降低了链路带宽的占用率。
3.2 BGP对等体组
对等体组(Peer Group)是一些具有某些相同策略的对等体的集合。当一个对等体加入对等体组中时,该对等体将获得与所在对等体组相同的配置。当对等体组的配置改变时,组内成员的配置也相应改变。
在大型BGP网络中,对等体的数量会很多,其中很多对等体具有相同的策略,在配置时会重复使用一些命令,利用对等体组可以简化配置
R2作为ASBR从EBGP邻居R1收到路由后,会向所有IBGP邻居(R3、R4、R5)发送。如果R2支持BGP对等体组功能,那么它的BGP转发性能将得到较大提升

完成R1的BGP基本配置
[R1] bgp 101
[R1-bgp] peer 10.1.12.2 as-number 102
[R1-bgp] network 10.1.1.1 32
完成R2的EBGP基本配置和IBGP对等体组基本配置
[R2] bgp 102
[R2-bgp] peer 10.1.12.1 as-number 101
[R2-bgp] group in internal
[R2-bgp] peer 10.1.3.3 group in
[R2-bgp] peer 10.1.4.4 group in
[R2-bgp] peer 10.1.5.5 group in
[R2-bgp] peer in connect-interface Loopback 0
完成R3的IBGP基本配置。
[R3] bgp 102
[R3-bgp] peer 10.1.2.2 as-number 102
[R3-bgp] peer 10.1.2.2 connect-interface Loopback 0
R4与R5的配置与R3相似,不再赘述。完成R2的EBGP基本配置和IBGP对等体组基本配置完成R1的BGP基本配置
查看R2的BGP对等体组信息
[R2]display bgp group in
4.BGP安全性
常见BGP攻击主要有两种:
建立非法BGP邻居关系,通告非法路由条目,干扰正常路由表。
发送大量非法BGP报文,路由器收到后上送CPU,导致CPU利用率升高

BGP使用认证和GTSM(Generalized TTL Security Mechanism,通用TTL安全保护机制)两个方法保证BGP对等体间的交互安全
A.BGP认证
BGP认证分为MD5认证和Keychain认证,对BGP对等体关系进行认证可以预防非法BGP邻居建立
1.MD5认证
BGP使用TCP作为传输层协议,为提高BGP的安全性,可以在建立TCP连接时进行MD5认证。BGP的MD5认证只是为TCP连接设置MD5认证密码,由TCP完成认证
2.Keychain认证
BGP对等体两端必须都配置针对使用TCP连接的应用程序的Keychain认证,且配置的Keychain必须使用相同的加密算法和密码,才能正常建立TCP连接,交互BGP消息
B.BGP的GTSM
BGP的GTSM功能检测IP报文头中的TTL(Time-to-Live)值是否在一个预先设置好的特定范围内,并对不符合TTL值范围的报文进行丢弃,这样就避免了网络攻击者模拟“合法”BGP报文攻击设备。
当攻击者模拟合法的BGP报文,对R2不断的发送非法报文进行攻击时,TTL值必然小于255。
如果R2使能BGP的GTSM功能,将IBGP对等体报文的TTL的有效范围设为[255,255],系统会对所有BGP报文的TTL值进行检查,丢弃TTL值小于255的攻击报文,从而避免了因网络攻击报文导致CPU占用率高的问题
5.路由反射器
引入路由反射器,可以简化IBGP全互联的需求,也可以减轻网络和CPU的负担。
引入路由反射器之后存在3种角色:
RR(Route Reflector): 路由反射器
Client:客户机
Non-Client:非客户机
RR会将学习的路由反射出去,从而使得IBGP路由在AS内传播无需建立IBGP全互联。
当RR收到对等体发来的路由,首先使用BGP选路策略来选择最佳路由。在向IBGP邻居发布学习到的路由信息时,RR会按照一定规则来发布路由

5.1 常见组网:备份RR组网
为增加网络的可靠性,防止单点故障对网络造成影响,有时需要在一个集群中配置一个以上的RR。
转发路径上的路由器与所有RR均建立IBGP关系,任意一个RR均有完整的BGP路由
RR1和RR2在同一个集群内,配置了相同的Cluster ID。
单级RR组网路由反射原理(图示以RR1的反射路径为例):
1.当客户机Client1从EBGP对等体接收到一条更新路由,它将通过IBGP向RR1和RR2通告这条路由。
2.RR1和RR2在接收到该更新路由后,将本地Cluster ID添加到Cluster List前面,然后向其他的客户机(Client2)反射,同时相互反射。
3.RR1和RR2在接收到该反射路由后,检查Cluster List,发现自己的Cluster ID已经包含在Cluster List中。于是RR1和RR2丢弃该更新路由,从而避免了路由环路。