BGP高级特性

2024-02-28 21:06:42 浏览数 (2)

[TOC]

BGP高级特性

BGP拥有更加灵活的路由控制能力,每一条BGP路由都可以携带多个路径属性,针对其属性也有特有的路由匹配工具,包括:AS_Path Filter和Community Filter

根据实际组网需求,可以实施路由策略,控制路由的接收和发布

  • BGP路由控制的原理与配置
  • 常用的BGP高级特性,包括:ORF、对等体组、安全特性
  • BGP路由反射器的组网部署方式

BGP路由控制

BGP路由控制概述
  • BGP路由控制一般通过路由策略实现,即通过路由匹配工具匹配特定路由,再通过路由策略工具对路由的发布和接收进行控制。
    • 路由匹配工具:ACL [ 访问控制列表 ],IP Prefix List [地址前缀列表],AS_Path Filter[AS路径过滤器],Community Filter [团体属性过滤器]
    • 路由策略工具:Filter-Policy和Route-Policy
  • BGP路由控制通常影响的属性包括:AS_Path属性和Community属性等。
路由匹配工具:AS_Path Filter

AS_Path Filter是将BGP中的AS_Path属性作为匹配条件的过滤器,利用BGP路由携带的AS_Path列表对路由进行过滤

在不希望接收某些AS的路由时,可以利用AS_Path Filter对携带这些AS号的路由进行过滤,从而实现拒绝某些路由。

  • AS_Path属性是BGP的公认必遵属性,所有的BGP路由都必须携带。记录了BGP路由在传递过程中所经过的所有AS的号码
  • AS_Path属性值可以是0个、1个或多个AS号码的集合

在使用中可以通过正则表达式,来匹配路由的AS_Path

AS_Path Filter的基础配置命令:

1、创建AS_Path Filter

代码语言:javascript复制
[Huawei] ip as-path-filter { as-path-filter-number | as-path-filter-name } { deny | permit } regular-expression
#	AS_Path Filter使用正则表达式来定义匹配规则
#	AS_Path Filter的默认行为是deny
	-as-path-filter-number:指定的AS路径过滤器号,取值范围1~256
	-as-path-filter-name:指定的AS路径过滤器名称
	-deny:指定AS路径过滤器的匹配模式为拒绝
	-permit:指定AS路径过滤器的匹配模式为允许
	-regular-expression:指定AS路径正则表达式。字符串形式,支持空格,取值范围是1~255个字符
`AS路径过滤器的默认行为是deny,即路由如果没有在某一次过滤中被permit则最终不能通过该过滤器的过滤。如果一个过滤器中的所有过滤规则都是deny,则没有路由能通过该过滤器的过滤,这种情况下需要在多次(或一次)deny之后设置一次permit,允许其余所有路由通过过滤器的过滤`

2、应用AS_Path Filter

代码语言:javascript复制
#	在BGP地址族视图下,对BGP路由信息应用路由策略时,基于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 }
#	在Route-Policy视图下,创建一个基于AS_Path Filter的匹配规则
[Huawei-route-policy] if-match as-path-filter { as-path-filter-number | as-path-filter-name }

3、查看AS_Path Filter相关信息

代码语言:javascript复制
#	查看AS_Path Filter。
[Huawei]	display ip as-path-filter 1
#	显示BGP表中所有AS_Path被该正则表达式匹配的路由。
[Huawei]	display bgp routing-table regular-expression 
路由匹配工具:Community Filter

Community Filter与Community属性配合使用,可以在不便使用IP Prefix List和AS_Path Filter时,降低路由管理难度。

  • 团体属性过滤器有两种类型:
    • 基本Community Filter,匹配团体号或公认Community属性
    • 高级Community Filter,使用正则表达式匹配团体号

Community属性为可选过渡属性,可以标识具有相同特征的路由,而不用考虑零散路由前缀和繁多的AS号。即可以将某些路由分配特定的Community属性值,之后就可以基于Community值而不是网络号/掩码来匹配路由并执行相应的路由策略

Community属性:

公认Community属性:

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

1、在路由策略中,设置路由的Community属性值

代码语言:javascript复制
[Huawei-route-policy] apply community { community-number | aa:nn | internet | no-advertise | no-export | no-export-subconfed } [ additive ]
	-community-number | aa:nn:指定团体属性中的团体号,community-number的取值范围是0~4294967295,aa和nn的取值范围都是0~65535
	-internet:表示可以向任何对等体发送匹配的路由。缺省情况下,所有的路由都属于Internet团体
	-no-advertise:表示不向任何对等体发送匹配的路由。收到具有此属性的路由后,不发布给任何其他的BGP对等体
	-no-export:表示不向AS外发送匹配的路由,但发布给其它子自治系统。即收到具有此属性的路由后,不能发布到本地AS之外
	-no-export-subconfed:表示不向AS外发送匹配的路由,也不发布给其它子自治系统,即收到具有此属性的路由后,不能发布给任何其他的子自治系统
	-additive:表示追加路由的团体属性

2、将团体属性发布给对等体[组]

代码语言:javascript复制
[Huawei-bgp-af-ipv4]peer { group-name | ipv4-address | ipv6-address } advertise-community
#	缺省情况下,BGP不将团体属性发布给任何对等体
Community Filter的基础配置命令

1、创建基本Community Filter

代码语言:javascript复制
[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中只能指定团体号或知名团体属性
	-basic-comm-filter-name:指定基本团体属性过滤器名称。取值范围是1~51个字符,且不能都是数字
	-basic-comm-filter-num:指定基本团体属性过滤器号。整数形式,取值范围1~99。
	-deny:指定团体属性过滤器的匹配模式为拒绝
	-permit:指定团体属性过滤器的匹配模式为允许
	-community-number:指定团体号。整数形式,取值范围0~4294967295
	-aa:nn:指定团体号。一条命令最多可以指定20个团体属性号。aa和nn都是整数形式,取值范围都是0~65535
	-internet:表示可以向任何对等体发送匹配的路由
	-no-export-subconfed:指定不向自治系统外部通告路由,如果使用了联盟,不会向联盟中的其他子自治系统通告路由
	-no-advertise:指定不通告给其他对等体
	-no-export:指定不向自治系统外部通告路由。如果使用了联盟,则不向联盟外部通告路由,但会通告给联盟中的其他子自治系统

2、创建高级Community Filter

代码语言:javascript复制
[Huawei] ip community-filter { advanced comm-filter-name | adv-comm-filter-num } { permit | deny } regular-expression
#	高级Community Filter编号范围:100~199,在高级Community Filter中可以指定正则表达式作为匹配条件
	-advanced-comm-filter-name:指定高级团体属性过滤器名称,取值范围是1~51个字符,且不能都是数字
	-adv-comm-filter-num:指定高级团体属性过滤器号,取值范围100~199。
	-regular-expression:指定团体属性正则表达式,取值范围是1~255。

3、应用Community Filter

代码语言:javascript复制
[Huawei-route-policy] if-match community-filter { basic-comm-filter-num [ whole-match ] | adv-comm-filter-num }
	-basic-comm-filter-num:指定基本团体属性过滤器号,取值范围是1~99
	-adv-comm-filter-num:指定高级团体属性过滤器号,取值范围是100~199
代码语言:javascript复制
[Huawei-route-policy] if-match community-filter comm-filter-name [ whole-match ]
	-comm-filter-name:指定团体属性过滤器名称,长度范围是1~51
	-whole-match:表示完全匹配,即所有的团体都必须出现。仅对基本团体属性过滤器生效

在Route-Policy视图下,创建一个基于Community Filter的匹配规则

BGP特性介绍

出口路由过滤器 ORF:

如果设备希望只接收自己需要的路由,但对端设备又无法针对每个与它连接的设备维护不同的出口策略,可以通过**配置BGP基于前缀的ORF [ 出口路由过滤器 ] **来满足两端设备的需求

BGP路由反射器组网方式

0 人点赞