BGP高级特性

一、BGP路由控制

概述

1. BGP路由控制概述

BGP路由控制包括控制路由的发布和接收。
BGP路由控制一般通过路由策略实现,即通过路由匹配工具匹配特定路由,再通过路由策略工具对路由的发布和接收进行控制。
  路由匹配工具:ACL、IP Prefix List、AS_Path Filter、Community Filter(团体属性过滤器)等。
  路由策略工具:Filter-Policy和Route-Policy。
BGP路由控制通常影响的属性包括:AS_Path属性和Community属性等。

2. 正则表达式

正则表达式是按照一定的模板来匹配字符串的公式,由普通字符(例如字符a到z)和特殊字符组成。

功能:
  检查字符串中符合某个规则的子字符串,并可以获取该子字符串。
  根据匹配规则对字符串进行替换操作。

普通字符:匹配的对象是普通字符本身。
  包括所有的大写和小写字母、数字、标点符号以及一些特殊符号。

特殊字符:配合普通字符匹配复杂或特殊的字符串组合。
  作用:
      位于普通字符之前或之后用来限制或扩充普通字符的独立控制字符或占位符。
      用来描述它前面的字符的重复使用方式。
      限定一个完整的范围。

AS_Path Filter

1. 概述

AS_Path Filter是将BGP中的AS_Path属性作为匹配条件的过滤器,利用BGP路由携带的AS_Path列表对路由进行过滤。
AS_Path属性是BGP的公认必遵属性,所有的BGP路由都必须携带该属性。这个属性记录了BGP路由在传递过程中所经过的所有AS的号码。
AS_Path属性值可以是0个、1个或多个AS号码的集合。

2. 使用正则表达式匹配AS_Path

3. 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 }
 [Huawei-route-policy] if-match as-path-filter { as-path-filter-number | as-path-filter-name }

4. AS_Path Filter的配置举例(BGP_AS_Path_Filter)

Community Filter

1. Community Filter概述

Community Filter与Community属性配合使用,可以在不便使用IP Prefix List和AS_Path Filter时,降低路由管理难度。
 团体属性过滤器有两种类型:
  基本Community Filter。匹配团体号或公认Community属性。
  高级Community Filter。使用正则表达式匹配团体号。

2. Community属性

公认Community属性
   Internet:缺省、向任何对等体发送该路由
   No_Advertise:不向任何对等体发送该路由
   No_Export:不向AS外发送该路由
   No_Export_Subconfed:不向AS外发送该路由,也不向联盟内其它子AS发布此路由

Community属性格式
 一个Community属性值的长度为32bit,可使用两种形式呈现:
  十进制整数格式。
  AA:NN格式,其中AA表示AS号,NN是自定义的编号。

3. 设置Community的基础配置命令

在路由策略中,设置路由的Community属性值
 [Huawei-route-policy] apply community { community-number | aa:nn | internet | no-advertise | no-export | no-export-subconfed } [ additive ]

将团体属性发布给对等体(组)
 [Huawei-bgp-af-ipv4] peer { group-name | ipv4-address | ipv6-address } advertise-community

4. Community Filter的基础配置命令

创建基本Community Filter
 [Huawei] ip community-filter { basic comm-filter-name | basic-comm-filter-num } { permit | deny } [ community-number | aa:nn | internet | no-export-subconfed | no-advertise | no-export ]
 基本Community Filter编号范围:1~99。

创建高级Community Filter
 [Huawei] ip community-filter { advanced comm-filter-name | adv-comm-filter-num } { permit | deny } regular-expression
 高级Community Filter编号范围:100~199。在高级Community Filter中可以指定正则表达式作为匹配条件。

应用Community Filter
 [Huawei-route-policy] if-match community-filter { basic-comm-filter-num [ whole-match ] | adv-comm-filter-num }
 [Huawei-route-policy] if-match community-filter comm-filter-name [ whole-match ]

二、BGP特性介绍

(一)ORF

1. 邻居按需发布路由

作用:
     BGP基于前缀的ORF能力,能将本端设备配置的基于前缀的入口策略通过路由刷新报文发送给BGP邻居。BGP邻居根据这些策略(刷新报文中)构造出口策略,在路由发送时对路由进行过滤。
优点:
     这样不仅避免了本端设备接收大量无用的路由,降低了本端设备的CPU使用率;
     有效减少了BGP邻居的配置工作,降低了链路带宽的占用率。

2. ORF的基础配置命令

配置对等体(组)基于IP地址前缀列表的路由过滤策略
 [Huawei-bgp-af-ipv4] peer { group-name | ipv4-address } ip-prefix ip-prefix-name { import | export }
使能BGP对等体(组)基于地址前缀的ORF功能。
 [Huawei-bgp] peer { group-name | ipv4-address } capability-advertise orf [ non-standard-compatible ] ip-prefix { both | receive | send } [ standard-match ]
 注意:ORF功能需要对等体两端同时开启。

(二)对等体组

1. BGP对等体组

对等体组(Peer Group)是一些具有某些相同策略的对等体的集合。
特点:当一个对等体加入对等体组中时,该对等体将获得与所在对等体组相同的配置。当对等体组的配置改变时,组内成员的配置也相应改变。
优点:利用对等体组可以简化配置。

2. BGP对等体组的基础配置命令

创建对等体组
 [Huawei-bgp] group group-name [ external | internal ]
     external:表示创建EBGP对等体组。
     internal:表示创建IBGP对等体组。

(可选)为指定的对等体组配置AS号
 [Huawei-bgp] peer group-name as-number { as-number-plain | as-number-dot }

将对等体加入对等体组
 [Huawei-bgp] peer { ipv4-address | ipv6-address } group group-name

指定发送BGP报文的源接口,并指定发起连接时使用的源地址
 [Huawei-bgp] peer group-name connect-interface interface-type interface-number [ ipv4-source-address ]

(三)安全特性

1. BGP安全性

常见BGP攻击主要有两种:
  建立非法BGP邻居关系,通告非法路由条目,干扰正常路由表
  发送大量非法BGP报文,路由器收到以上送CPU,导致CPU利用率升高

保证BGP对等体间的交互安全的方法:BGP认证和GTSM(Generalized TTL Security Mechanism,通用TTL安全保护机制)

2. BGP认证

BGP认证分为MD5认证和Keychain认证
  MD5认证
   BGP使用TCP作为传输层协议,为提高BGP的安全性,可以在建立TCP连接时进行MD5认证。BGP的MD5认证只是为TCP连接设置MD5认证密码,由TCP完成认证。
  Keychain认证
   BGP对等体两端必须都配置针对使用TCP连接的应用程序的Keychain认证,且配置的Keychain必须使用相同的加密算法和密码,才能正常建立TCP连接,交互BGP消息。

 优缺点:
  MD5算法配置简单,配置后生成单一密码,需要人为干预才可以更换密码。
  Keychain具有一组密码,可以根据配置自动切换,但是配置过程较为复杂,适用于对安全性能要求比较高的网络。

注意:BGP的MD5认证与BGP的Keychain认证互斥。

3. BGP的GTSM

BGP的GTSM功能检测IP报文头中的TTL(Time-to-Live)值是否在一个预先设置好的特定范围内,
并对不符合TTL值范围的报文进行丢弃,这样就避免了网络攻击者模拟“合法”BGP报文攻击设备。

4. BGP认证的基础配置命令

配置BGP对等体在建立TCP连接时对BGP消息进行MD5认证
 [Huawei-bgp] peer { group-name | ipv4-address | ipv6-address } password { cipher cipher-password | simple simple-password }

配置BGP对等体在建立TCP连接时的Keychain认证
 [Huawei-bgp] peer { group-name | ipv4-address | ipv6-address } keychain keychain-name

5. GTSM功能的基础配置命令

在BGP对等体(组)上应用GTSM功能
 [Huawei-bgp] peer { group-name | ipv4-address | ipv6-address } valid-ttl-hops [ hops ]

(可选)设置未匹配GTSM策略的报文的缺省动作
 [Huawei] gtsm default-action { drop | pass }

 缺省情况下,未匹配GTSM策略的报文可以通过过滤

(可选)打开单板的LOG信息开关,在单板GTSM丢弃报文时记录LOG信息
 [Huawei] gtsm log drop-packet all

6. GTSM配置举例(BGP_GTSM_Base)

(四)4字节AS号

1. 相关概念

Speaker(发言者):发送BGP消息的路由器称为BGP Speaker,它接收或产生新的路由信息,并发布给其它BGP Speaker。
Peer(对等体):相互交换消息的BGP Speaker之间互称Peer。
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连接。

2. 4字节AS号

是将AS号的编码范围由2字节扩大为4字节,
并通过定义新的能力码和新的可选过渡属性来协商4字节AS号能力和传递4字节AS号信息,
使New Speaker之间、New Speaker和2字节AS号的Old Speaker之间能够进行通信。

3. 两种形式:

[R1]bgp ?
  INTEGER<1-4294967295>            //整数形式,取值范围:1-4294967295
  STRING<3-11>                     //点分形式,格式:x.y (x,y取值范围:0-65535)                              
  整数形式和点分形式换算关系:整数形式AS号 = x * 65536 + y

4. Open消息(bgp_4as_test1)

BGP的Open消息头是固定的,My AS Number将填充AS_Trans号23456,可选能力字段填写4AS Number。

5. 基本原理

不同的BGP Speaker之间通过Open消息向对端通告是否支持4AS能力,
能力协商完成后,New Speaker之间建立New Session,
New Speaker和Old Speaker之间建立Old Session。

6. 4字节AS号的路由信息传递

在New Speaker之间的Update消息中,AS_Path属性里的AS号按照4字节进行编码,
而Old Speaker的Update消息中AS_Path属性的AS号是按照2字节编码的。
  1. 配置举例(bgp_4as_base)

三、BGP路由反射器组网方式

1. 路由反射器

引入路由反射器,可以简化IBGP全互联的需求,也可以减轻网络和CPU的负担。
引入路由反射器之后存在3种角色:
  RR:允许把从IBGP对等体学到的路由反射到其他IBGP对等体的BGP设备,类似OSPF网络中的DR。
  Client:与RR形成反射邻居关系的IBGP设备。在AS内部客户机只需要与RR直连。
  Non-Client:既不是RR也不是客户机的IBGP设备。在AS内部非客户机与RR之间,以及所有的非客户机之间仍然必须建立全互联关系。
        将一台BGP路由器指定为RR的同时,还需要指定其Client。至于Client本身,无需做任何配置,它并不知晓网络中存在RR。
相关角色:
  Originator(始发者):在AS内部始发路由的设备。Originator_ID属性用于防止集群内产生路由环路。
  Cluster(集群):路由反射器及其客户机的集合。Cluster_List属性用于防止集群间产生路由环路。

当RR收到对等体发来的路由,首先使用BGP选路策略来选择最佳路由。在向IBGP邻居发布学习到的路由信息时,RR会按照一定规则来发布路由。

RR发布路由规则:
  从非客户机IBGP对等体学到的路由,发布给此RR的所有客户机。
  从客户机学到的路由,发布给此RR的所有非客户机和客户机。
  从EBGP对等体学到的路由,发布给所有的非客户机和客户机。

2. 常见组网:备份RR组网

为增加网络的可靠性,防止单点故障对网络造成影响,有时需要在一个集群中配置一个以上的RR,所有RR配置相同的Cluster ID。
转发路径上的路由器与所有RR均建立IBGP关系,任意一个RR均有完整的BGP路由。

3. 常见组网:多集群RR组网

一个AS中可以存在多个集群,各个集群的RR之间建立IBGP对等体
当RR所处的网络层相同时,可以将不同集群的RR全互联,形成同级RR。
当RR所处的网络层不同时,可以将较低网络层次的RR配成客户机,形成分级RR。
在实际的RR部署中,常用的是分级RR的场景。

4. 单集群问题

为了在基于RR的架构中提供所期望的冗余,正确的集群划分是非常重要的

5. 多集群设计

多集群设计不仅提供了针对链路失效的物理冗余,同时提供了针对客户机与RR之间的IBGP会话失效的逻辑冗余
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
BGP(Border Gateway Protocol)是一种用于在互联网中交换路由信息的协议。它具有以下特性和配置要点: 1. 路由选择:BGP使用路径向量算法来选择最佳的路由,并考虑了多种因素,如路径长度、AS(自治系统)路径、AS路径的稳定性等。 2. 可靠性:BGP具有高度可靠性,它可以检测并避免路由环路和循环路径,从而确保网络的稳定性。 3. 扩展性:BGP支持大规模的网络扩展,可以处理数以千计的网络前缀,并提供有效的路由汇聚功能。 4. 策略控制:BGP允许网络管理员通过配置策略来控制路由的选择和传播。这些策略可以基于不同的条件,如AS路径属性、前缀过滤、路由地图等。 5. 邻居关系建立:BGP通过建立邻居关系***以下是一些重要的要点: 1. 配置自治系统号码(ASN):每个网络都需要一个唯一的ASN。ASN是一个16位的数字,***可以使用基于密码的身份验证来增加安全性。 3. 配置网络前缀:将要宣告给BGP邻居的网络前缀通过配置路由策略和过滤器来定义。 4. 配置路由策略:可以使用各种条件和属性来配置BGP路由策略,如AS路径过滤、前缀列表、路由映射等。 5. 监控与故障排除:定期监控BGP邻居状态和路由更新,并使用合适的故障排除工具来解决问题。 请注意,BGP的详细配置可能会根据网络环境和设备厂商的不同而有所差异。建议参考相关设备的文档和厂商的最佳实践。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值