路由控制
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标识 ### 相关概念 New Speaker:支持4字节AS号扩展能力的BGP Speaker Old Speaker:不支持4字节AS号扩展能力的BGP Speaker New Session:New Speaker之间建立的BGP连接 Old Session:New Speaker和Old Speaker之间或者Old Speaker之间建立的BGP连接  当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解决