BGP高级特性——ORF、GTSM、4字节AS号

目录

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中


版权声明:本文为m0_49864110原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。