IPRAN中BGP的应用(中)

IPRAN中BGP的应用(中)

本文主要介绍在IPRAN网络中BGP应用的路由策略相关概念。

一、路由策略的作用

IP路由中,为了控制路由的发布和接收,我们需要使用某种规则对路由的发布做约束,使路由发布的结果能够和我们实际的规划和预期一致,也便于我们对路由增加可维护行,基于上述需求,我们在IP路由中引入了路由策略。

路由策略(Routing Policy)是为了改变网络流量所经过的途径。主要通过应用路由属性(包括可达性)来实现。

路由设备在发布和接收路由时应用这些策略,目的是通过修改路由属性而过滤路由。路由策略的使用丰富而且多样,实际使用方式不尽相同,目前路由策略的使用主要是根据方案的需求,通过修改路由属性,使路由发布符合预期目标。

  • 只接收或发布一部分满足条件的路由信息(类似于白名单或黑名单)。
  • 一种路由协议(如RIP)可能需要引入其它路由协议发现的路由信息,从而丰富自己的路由知识;路由设备在引入其它路由协议的路由信息时,可能需要只引入一部分满足条件的路由信息,并对所引入的路由信息的某些属性进行设置,以使其满足本协议的要求。

IP路由发布中,我们可以使用路由协议完成路由的发布,控制路由发布的实际路由,不过对很多等价的路由,我们对路由发布的控制会减弱,某些情况下靠路由协议的没有办法实现我们的预期。如下图所示:

区域A和区域B共用一个城域网络,如上图所示,区域B之间互相通信的时候,为了控制路由的发布,形成主备的路由,需要在对应的汇聚路由器上做路由策略,同时对端汇聚路由器也使用路由策略做配合,实现控制路由的目的。

路由策略的使用可以是在路由发布或者接收路由的时候,我们分别称之为出口策略或者是入口策略。

二、IPRAN的BGP应用中路由策略的使用

在IPRAN中,BGP的路由策略主要的使用设备在ASG、RR和RSG上,每个设备上路由策略的目的各有不同,如下图所示,以HVPN方案中TE隧道的IPRAN组网为例,说明设备上的策略使用情况。

  • 方案中,CSG发布明细路由给ASG,ASG发布默认路由给CSG,ASG和RSG之间的汇聚环全部发布明细路由,需要在ASG和RSG上过滤默认路由。
  • 同时为了保证业务的可靠行,需要在ASG和RSG上实现VPN FRR。

关于VPN FRR技术可参考之前的文章《VPN FRR技术》

三、路由策略使用方式

路由策略的使用方式如下:

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

应用规则的核心是使用过滤器,通过使用过滤器和定义的规则配合使用,实现通过路由策略改变路由发布属性的目的。

IPRAN中常用的过滤器包括:

  • 地址前缀列表(IP-Prefix List)
  • Route-Policy
过滤器 应用范围 匹配条件
地址前缀列表(IP-Prefix List) 各动态路由协议 源地址、目的地址、下一跳
Route-Policy 各动态路由协议 目的地址、下一跳、度量值、接口信息、路由类型、ACL、地址前缀列表、AS路径过滤器、团体属性过滤器、扩展团体属性过滤器和RD属性过滤器等。

四、过滤器

1、地址前缀列表

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

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

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

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

0.0.0.0为通配地址。当前缀为0.0.0.0时,可以在其后指定掩码以及掩码范围:

  • 若指定掩码长度,则表示具有该掩码的所有路由都被允许通过(Permit)或拒绝通过(Deny)。
  • 若指定掩码范围,则表示掩码长度范围内的所有路由都被允许通过或拒绝通过。

2、Route-Policy

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

(1)Route-Policy的组成

如下图所示,Route-Policy由节点号、匹配模式、if-match子句和apply子句这四个部分组成。

  • 节点号

    一个Route-Policy可以由多个节点(node)构成,节点号的指定方法与地址前缀列表的索引号相同。路由匹配Route-Policy时遵循以下两个规则:

    • 顺序匹配:在匹配过程中,系统按节点号从小到大的顺序依次检查各个表项,因此在指定节点号时,要注意符合期望的匹配顺序。
    • 唯一匹配:Route-Policy各节点号之间是“或”的关系,只要通过一个节点的匹配,就认为通过该过滤器,不再进行其它节点的匹配。
  • 匹配模式

    节点的匹配模式有两种:permitdeny

    • permit指定节点的匹配模式为允许。当路由项通过该节点的过滤后,将执行该节点的apply子句,不进入下一个节点;如果路由项没有通过该节点过滤,将进入下一个节点继续匹配。
    • deny指定节点的匹配模式为拒绝,这时apply子句不会被执行。当路由项满足该节点的所有if-match子句时,将被拒绝通过该节点,不进入下一个节点;如果路由项不满足该节点的if-match子句,将进入下一个节点继续匹配。

通常在多个deny节点后设置一个不含if-match子句和apply子句的Route-Policy,用于允许其它的路由通过。

  • if-match子句

    if-match子句定义一些匹配条件。

    Route-Policy的每一个节点可以含有多个if-match子句,也可以不含if-match子句。如果某个permit节点没有配置任何if-match子句,则该节点匹配所有的路由。

  • apply子句

    apply子句用来指定动作。路由通过Route-Policy过滤时,系统按照apply子句指定的动作对路由信息的一些属性进行设置。

    Route-Policy的每一个节点可以含有多个apply子句,也可以不含apply子句。如果只需要过滤路由,不需要设置路由的属性,则不使用apply子句。

(2)Route-Policy的匹配结果

路由匹配Route-Policy的最终结果要综合以下两点:

  • 节点的匹配模式(permitdeny
  • if-match子句(如引用的地址前缀列表或者访问控制列表)中包含的匹配条件(permitdeny

匹配的结果如下表所示:

IPRAN方案中设备默认所有未匹配的路由将被拒绝通过Route-Policy。如果Route-Policy中定义了一个以上的节点,应保证各节点中至少有一个节点的匹配模式是permit。因为Route-Policy用于路由信息过滤时:

  • 如果某路由信息没有通过任一节点,则认为该路由信息没有通过该Route-Policy。
  • 如果Route-Policy的所有节点都是deny模式,则没有路由信息能通过该Route-Policy。

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 xumeng32@126.com

文章标题:IPRAN中BGP的应用(中)

文章字数:2.4k

本文作者:F_numen

发布时间:2020-04-08, 20:40:37

最后更新:2020-04-08, 21:44:40

原始链接:https://netheroone.cn/archives/91eeef5e.html

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
/*baidu统计*/