FRR BGP协议分析15 -- 路由策略

路由策略的实现分为两个步骤:

  1. 定义规则:定义将要实施路由策略的路由信息的特征,即定义一组匹配规则。可以用路由信息中的不同属性作为匹配依据进行设置,如目的地址、发布路由信息的路由器地址等。
  2. 应用规则:将匹配规则应用于路由的发布、接收和引入等过程的路由策略中。

过滤器

路由策略的核心内容是过滤器,通过使用过滤器,可以定义一组匹配规则。提供了以下几种过滤器供路由策略使用。

FRR BGP协议分析15 -- 路由策略_第1张图片

其中,ACL、地址前缀列表、AS路径过滤器、团体属性过滤器、扩展团体属性过滤器和RD属性过滤器只能对路由进行过滤,不能修改通过过滤的路由的属性。而Route-Policy是一种综合过滤器,它可以使用ACL、地址前缀列表、AS路径过滤器、团体属性过滤器、扩展团体属性过滤器和RD属性过滤器这六种过滤器作为匹配条件来对路由进行过滤,并且可以修改通过过滤的路由的属性。下面对过滤器一一介绍。

访问控制列表(ACL)

访问控制列表ACL(Access Control List)是一系列过滤规则的集合,可以称之为规则组。在每个规则组中,所有过滤规则是具有前后顺序的。用户在定义过滤规则时,根据报文的入接口、源或目的地址、协议类型、源或目的端口号等属性描述过滤规则,同时指定了拒绝或接收报文。之后,系统根据过滤规则对到达路由器的报文进行分类,并判断报文被拒绝或者接收。

ACL本身只是一组规则的集合,它只是通过过滤规则对报文进行了分类,因此ACL需要与路由策略配合使用,才能实现过滤报文的功能。

ACL包括针对IPv4路由的ACL和针对IPv6路由的ACL。按照ACL用途,ACL可以分为3种类型:基于接口的ACL(Interface-based ACL)、基本ACL(Basic ACL)和高级ACL(Advanced ACL)。用户在ACL中指定IP地址和子网范围,用于匹配路由信息的源地址、目的网段地址或下一跳地址。

在网络设备中(可以是接入设备、核心设备等)部署ACL特性,可以保障网络的安全性与稳定性。例如:

  • 防止对网络的攻击,例如防止针对IP报文、TCP报文、ICMP(Internet Control Message Protocol)报文的攻击。
  • 对网络访问行为进行控制,例如控制企业网中内网和外网的通信,用户访问特定网络资源,特定时间段内允许对网络的访问。
  • 限制网络流量和提高网络性能,例如限定网络上行、下行流量的带宽,对用户申请的带宽进行收费,保证高带宽网络资源的充分利用。

地址前缀列表(IP-Prefix List)

地址前缀列表是一种包含一组路由信息过滤规则的过滤器,用户可以在规则中定义前缀和掩码范围,用于匹配路由信息的目的网段地址或下一跳地址。地址前缀列表可以应用在各种动态路由协议中,对路由协议发布和接收的路由信息进行过滤。

地址前缀列表和ACL相比,配置简单,应用灵活。但是当需要过滤的路由数量较大,且没有相同的前缀时,配置地址前缀列表会比较繁琐。

地址前缀列表包括针对IPv4路由的IPv4地址前缀列表和针对IPv6路由的IPv6地址前缀列表,IPv6地址前缀列表与IPv4地址前缀列表的实现相同。地址前缀列表进行匹配的依据有两个:掩码长度和掩码范围。

  • 掩码长度:地址前缀列表匹配的对象是IP地址前缀,前缀由IP地址和掩码长度共同定义。例如,10.1.1.1/16这条路由,掩码长度是16,这个地址的有效前缀为16位,即10.1.0.0。
  • 掩码范围:对于前缀相同,掩码不同的路由,可以指定待匹配的前缀掩码长度范围来实现精确匹配或者在一定掩码长度范围内匹配。

团体属性过滤器(Community-Filter)

团体属性过滤器是一组针对BGP路由的团体属性进行过滤的规则。在BGP的路由信息中,携带有团体属性(Community),团体属性是一组有相同特征的目的地址的集合,因此基于团体属性定义一些过滤规则,就可以实现对BGP路由信息的过滤。

除了使用公认的团体属性外,用户还可以自行定义数字型的团体属性。团体属性过滤器的匹配条件可以使用团体号或者正则表达式。

扩展团体属性过滤器(Extcommunity-Filter)

扩展团体属性过滤器是一组针对BGP的扩展团体属性进行过滤的规则。BGP的扩展团体属性常用的有如下几种:

  • VPN-Target扩展团体属性:VPN Target属性主要用来控制VPN实例之间的路由学习,实现不同VPN实例之间的隔离。VPN Target属性分为出方向和入方向,PE在发布VPNv4(Virtual Private Network version 4)或VPNv6(Virtual Private Network version 6)路由到远端的MP-BGP(Multi-protocol Extensions for Border Gateway Protocol)对等体时,会携带出方向VPN Target属性。远端MP-BGP对等体收到VPNv4或VPNv6路由后,会根据本地VPN实例的入方向VPN Target属性是否与路由所携带的VPN Target匹配,来决定哪些路由能被复制到本地VPN实例的路由表中。

  • SoO(Source of Origin)扩展团体属性:VPN某站点(Site)有多个CE接入不同的PE时,从CE发往PE的路由可能经过VPN骨干网又回到了该站点,这样很可能会引起VPN站点内路由循环。此时,针对VPN站点配置SoO属性可以区分来自不同VPN站点的路由,避免路由循环。

VPN-Target扩展团体属性和SoO扩展团体属性在格式上是一致的。扩展团体属性过滤器的匹配条件可以使用扩展团体号或者正则表达式。

RD属性过滤器(Route Distinguisher-Filter)

RD属性过滤器是一组针对VPN路由的RD属性进行过滤的规则。VPN实例通过路由标识符RD(Route Distinguisher)实现地址空间独立,区分使用相同地址空间的IPv4和IPv6前缀。RD属性过滤器针对不同RD指定匹配条件

Route-Policy

Route-Policy是一种比较复杂的过滤器,它不仅可以匹配给定路由信息的某些属性,还可以在条件满足时改变路由信息的属性。Route-Policy可以使用前面6种过滤器定义自己的匹配规则。

你可能感兴趣的:(FRR)