BGP高级特性
路由控制
As-Path-filter
随着网络规模扩大,路由条目增加,对于路由管理的难度和繁琐程度逐渐增长,而BGP拥有多种路径属性,也为路由控制提供了一种新思路,利用As-path-filter实现过滤某些路由
配置案例
通过部署使得R3学不到AS100始发路由
配置完bgp完整路由
对R3限制使其学不到R1始发的路由
[R2]ip as-path-filter 1 deny _100$
[R2]ip as-path-filter 1 permit .*
[R2]bgp 200
[R2-bgp]peer 10.0.23.3 as-path-filter 1 export
经过过滤的路由
community-filter
通过community-filter实现路由过滤,改过滤器分为基本和高级,编号1-99为基本,只能指定要放行或拒绝的团体名或团体属性,而编号为100-199为高级,可以使用正则表达式进行匹配,该过滤器需要使用路由策略进行调用实现效果
配置案例
现决定将10.0.1.0打上1:1,10.0.2.0打上1:2,通过团体过滤通过给R4,实现R4上没有1:1的路由信息
计划在R1上将10.0.1.0打上1:1,10.0.2.0打上1:2
先将相关路由打上团体标签
[R1]ip ip-prefix 1 permit 10.0.1.0 24
[R1]ip ip-prefix 2 permit 10.0.2.0 24
[R1]route-policy com permit node 10
Info: New Sequence of this List.
[R1-route-policy]if-match ip-prefix 1
[R1-route-policy]app community 1:1
[R1-route-policy]route-policy com permit node 20
Info: New Sequence of this List.
[R1-route-policy]if-match ip-prefix 2
[R1-route-policy]apply community 1:2
[R1-route-policy]route-policy com permit node 30[R1-bgp]peer 10.0.12.2 route-policy com export
[R1-bgp]peer 10.0.12.2 advertise-community
启用团体过滤
[R2]ip community-filter 1 permit 1:1//用过滤器匹配流量[R2]route-policy com deny node 10
Info: New Sequence of this List.
[R2-route-policy]if-match community-filter 1
[R2]route-policy com permit node 20
Info: New Sequence of this List.
//用路由策略拦截路由
[R2-route-policy]bgp 200
[R2-bgp]peer 10.0.24.4 route-policy com export
在R4上查看路由表发现没有10.0.1.0网段信息
查看详情能看到10.0.2.0被打上1:2的团体
ORF
由于设备在入方向做了相关的路由策略,导致部分路由并不是本机所需要的,但对端仍然会继续发送从而浪费带宽,为节省带宽先采用基于前缀的ORF(Outbound Route Filters,出口路由过滤器)以实现邻居按需求发布路由
配置案例
现在上图基础上在R2上添加10.0.222.0网段并在R4和R2上开启ORF功能,实现R4路由表没有10.0.222.0网段
配置前缀列表匹配相关路由
[R4]ip ip-prefix 22 permit 10.0.22.0 24
[R4]bgp 400
[R4-bgp]peer 10.0.24.2 ip-prefix 22 import
[R4-bgp]peer 10.0.24.2 capability-advertise orf ip-prefix send [R2-bgp]peer 10.0.24.4 capability-advertise orf ip-prefix receive
在R2路由表上能够看到全部完整路由但R4上没有10.0.222.0的路由
便捷管理与安全
peer组
类似接口组,将邻居加入group,方便管理与调用
[Huawei-bgp] group group-name [ external | internal ]
[Huawei-bgp] peer group-name as-number { as-number-plain | as-number-dot }
[Huawei-bgp] peer { ipv4-address | ipv6-address } group group-name
[Huawei-bgp] peer group-name connect-interface interface-type interface-number [ ipv4-source-address ]
认证
为了防止BGP非法邻居建立采用认证,认证可分为Md5和key-chain两种
[Huawei-bgp] peer { group-name | ipv4-address | ipv6-address } password { cipher cipher-password | simple simple-password }
cipher和simple仅代表在设备中显示密码为密文或明文
[Huawei-bgp] peer { group-name | ipv4-address | ipv6-address } keychain keychain-name
GTSM
为了防止攻击者发送大量伪造BGP报文,影响设备性能采用GTSM(Generalized TTL Security Mechanism,通用TTL安全保护机制)
[Huawei-bgp] peer { group-name | ipv4-address | ipv6-address } valid-ttl-hops [ hops ]
hops即最大跳数范围
[Huawei] gtsm default-action { drop | pass }
默认行为,丢弃或放行
[Huawei] gtsm log drop-packet all
开启日志
4字节AS号
2字节AS号无法满足需求,4字节AS号采用x.y标识
相关概念
当AS号超过2字节时,会在报文头部填充23456以标识启用4字节的AS号,且在其可选项中填写真实的AS号
在New Speaker之间的Update消息中,AS_Path属性里的AS号按照4字节进行编码,而Old Speaker的Update消息中AS_Path属性的AS号是按照2字节编码的
RR组网
多集群RR组网
能有效减少邻居搭建数量,便于管理和故障定位
提高网络可靠性,但可能会出现路由重复通告,占用带宽较多
单集群RR组网
能有效减少重复路由通告,具有一定的防环效果,但对于链路冗余设置较弱,可能出现有链路能到但没有路由的情况
总结
BGP的多种路径属性给路由控制提供了新的思路,对于带宽浪费也可使用ORF解决