目录
BGP其它特性
邻居按需发布路由(ORF)
BGP对等体组(Peer Group)
BGP安全性
4字节AS号
相关概念
两种过渡属性
4字节AS号的格式
4字节AS号建立邻居
4字节AS号路由传递
配置命令
BGP防环机制
BGP其它特性
邻居按需发布路由(ORF)
基本原理
如果设备希望只接受自己需要的路由,可以通过配置BGP基于前缀的ORF(Outbound Route Filters出口路由过滤器),ORF通过BGP Refresh报文告诉对等体我只需要X.X.X.X的路由,对等体收到后,就只会给设备发送X.X.X.X的路由
ORF与Router-policy的区别
ORF: ???????我直接告诉对端需要的路由,对端只给我发送这条路由
Router-policy:对端把所有的路由都发给我,我自己过滤出我想要的路由
优点
避免了本端设备接收大量无用路由,降低了链路带宽的占用率
配置命令(一端配置接口ORF,一端配置发送ORF)
通过IP-Prefix定义自己需要哪些路由,并对指定邻居调用
系统视图:Ip ip-prefix 123 permit 1.1.1.1 32?? 匹配1.1.1.1/32路由
BGP视图:peer 10.0.0.1 ip-prefix 123 import/export
????????Import? 对自己对等体10.0.0.1接收的路由通过前缀列表过滤
????????Export? 对自己对等体10.0.0.1发布的路由通过前缀列表过滤
配置ORF的发送与接收
BGP视图:peer 10.0.0.1 capability-advertise orf ip-prefix 123 [both/receive/send]
????????Both: ?对自己对等体10.0.0.1发送和接收ORF报文
????????Receive:对自己对等体10.0.0.1只接收其发送的ORF报文
????????Send: ?对自己对等体10.0.0.1只向其报文
BGP对等体组(Peer Group)
对等体组是一些具有某些相同策略的对等体的集合
将一个对等体加入对等体组中时,该对等体将会获得与所在对等体相同的配置
当对等体组的配置改变之后,组成员的配置也相应改变
对等体组中的单个对等体也可以单独配置自己的发布路由与接收路由的策略
配置命令(Bgp视图下配置)
创建对等体组
Group? [name]? [external/internal]
Name:对等体组的名称
External:创建EBGP对等体组
Internal:创建IBGP对等体组
为对等体组Name配置AS号
Peer [name] as-number [as-number]
当为IBGP对等体组时,不需要做此配置
当为EBGP对等体时,需要做此配置(AS号为对端AS号)
将对等体IP加入到对等体组Name
Peer? [ip]? group? [name]
为对等体组Name指定发送BGP报文的源接口,并指定发起连接时使用的源地址
Peer [name] connect-interface [接口] [源地址]
配置完成后,对对等体Name的操作就相当于直接对Peer [ip]的操作
A-R1上配置IBGP对等体组实例
?
Bgp 100
?peer Group1 internal???????? 创建IBGP对等体组Group1
?peer 10.0.12.2 group Group1? 将对等体10.0.12.2加入对等体组
?peer 10.0.13.3 group Group1? 将对等体10.0.13.3加入对等体组
?peer Group1 connect-interface Loopback 0? 配置对等体组的源接口与源IP地址
A-R2和A-R3与A-R1的1.1.1.1建立IBGP邻居
等同于
Bgp 100
peer 10.0.12.2 as-number 100
peer 10.0.13.3 as-number 100
peer 10.0.12.2 connect-interface Loopback 0
peer 10.0.13.3 connect-interface Loopback 0
AR1上配置EBGP对等体组实例
?
Bgp 100
?peer Group2 external?????????? 创建EBGP对等体组Group2
?peer Group2 as-number 200??? ?配置对等体组的AS号为200
?peer 10.0.12.2 group Group2???? 将对等体10.0.12.2加入到对等体组
?peer 10.0.13.3 group Group2???? 将对等体10.0.13.3加入到对等体组
?peer Group2 ebgp-max-hop 2??? 配置对等体组的Ebgp跳数为2
?peer Group2 connect-interface LoopBack0 1.1.1.1? 配置对等体组的源接口和源地址
AR2和AR3与AR1的1.1.1.1建立EBGP邻居
等同于
peer 10.0.12.2 as-number 200
peer 10.0.13.3 as-number 200
peer 10.0.12.2 ebgp-max-hop 2
peer 10.0.13.3 ebgp-max-hop 2
peer 10.0.12.2 connect-interface LoopBack0 1.1.1.1
peer 10.0.13.3 connect-interface LoopBack0 1.1.1.1
BGP安全性
常见的BGP攻击:建立非法的BGP邻居、发送大量非法的BGP报文
通过BGP认证和GTSM两个方法来保证BGP对等体之间的交互安全
BGP认证
可以在建立TCP连接时使用MD5值进行MD5认证,确保TCP连接安全建立
也可以在建立TCP连接时使用Keychain认证
MD5方式和Keychaiin方式互斥
GTSM
检测IP报文头中的TTL值,检查此值是否在设置的TTL的有效范围中,对不在有效范围中的报文进行丢弃
避免网络攻击者模拟合法BGP报文攻击设备
配置命令
BGP视图
使能建立TCP连接时进行MD5认证
Peer [ip-address] password cipher [password]
Bgp视图
使能GTSM功能,并设置TTL跳数值(缺省是255)
Peer [ip-address] valid-ttl-hops [hops]? 需要在对等体之间都配置
TTL的范围=[256-设置的hps值 ,255? ]
例如:如果两台BGP对等体直连,就可以设置TTL范围为[255,255]
系统视图
设置未匹配GTSM策略的报文的缺省动作(默认为可以通过过滤)
Gtsm default-action [drop/pass]?
在丢弃GTSM报文时记录LOG信息
Gtsm log drop-packet all
4字节AS号
相比于2字节AS号,范围更大。由1~65535扩展到1~4294967295
支持4字节AS号的BGP设备兼容仅支持2字节AS号的BGP设备
相关概念
Speaker(发言者)
发送BGP消息的路由器称为BGP Speaker
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连接
两种过渡属性
通过定义两种可选过渡属性AS4_Path和AS4_Aggregator来辅助Old Speaker传递4字节AS信息
AS4_Path(0x11):用来辅助AS_Path属性传递4字节AS号信息
AS4_Aggregator(0x12):用于辅助Aggregator属性传递4字节AS号信息
4字节AS号的格式
整数形式:1~4294967295
点分形式:x.y形式
整数形式与点分形式的对应关系
整数形式4字节AS号=x*65536+y
即2.3对应 2*65536+3=131075
4字节AS号建立邻居
BGP通过Open报文进行参数协商,建立邻居
如何在Open报文体现自身支持4字节AS号
通过在Open报文中定义了新的可扩展字段0x41来代表本端支持4字节扩展能力
Open报文需要携带自身的AS号,对于4字节AS号如何携带
Open消息头的My AS字段只有2字节,无法填充4自己的AS号
因此New Speaker在发送Open消息时,会将My AS字段填充为23456(过渡AS号)
将自己实际的AS号填充在可选能力字段0x41中
邻居建立过程
对于Old Speak,不支持4AS能力,会认为对方为2字节AS号23456,进行协商,建立邻居,建立Old Session。
对于New Speak,支持4AS能力,会从Open报文的可选字段中提取出对端4AS号,进行协商,建立邻居,建立New Session。
4字节AS号路由传递
通过Update报文携带4字节AS号,进行路由传递
对于支持4字节AS号的New Speaker,4字节如何传递
4字节AS号存放在AS_Path中,直接识别
对于不支持4字节AS号的Old Speaker,4字节AS号如何传递
通过AS4_Path属性携带4字节AS号
通过AS_Path属性携带过渡AS号(23456)
路由传递过程
当New向Old发送Update消息时,会将大于65535的AS号信息通过AS4_Path属性辅助AS_path属性传递4字节AS号信息(对于Old Speaker来说,AS4_Path属性是透明的,只能识别出过渡AS号23456)
当New 从Old收到带有AS4_path属性的Update报文时,会根据AS4_Path属性和AS_Path属性重新计算出真正的AS_Path属性
配置命令
Bgp [1.1]? 配置4字节为1.1的AS号
?Peer [2.2.2.2] as-number [1.1]?? 与2.2.2.2建立BGP邻居
BGP防环机制
同一AS内通过水平分割防环
AS间通过AS_Path防环
RR---通过orifinator-id和Cluster-list防环
通过将路由聚合指向Null0防环
默认情况下不会将IBGP路由重新发布到IGP中
|