路由策略:网络控制的隐形指挥官

1 路由策略简介

路由策略是网络控制平面的基石,它是一种通过预先定义的规则,来过滤、修改、选择或管理路由信息(路由条目)的工具。

其核心目标是影响路由表的内容和路由信息的传播,从而实现对网络流量的间接、智能控制。

简单来说,路由策略作用于路由信息本身,而策略路由作用于数据包转发路径

下图清晰地展示了路由策略在网络中的工作位置、核心功能模块及其处理流程:

2 路由策略的实现

2.1核心作用与目标

路由策略主要用于实现以下目的:

  1. 路由过滤决定哪些路由可以被学习(Import)或发布(Export)。

场景只允许特定的业务网段路由在内部传播,或防止某些路由泄露给邻居AS

  1. 路由属性修改在路由被学习或发布前,修改其属性,以影响后续的路径选择。

场景BGP中,为从特定邻居学来的路由设置更高的LOCAL_PREF,使其成为优选出口;或设置MED来影响入站流量。

  1. 路由引入控制在不同路由协议间(如OSPFBGP互引)重分发路由时,进行精细化的过滤和标记,防止路由环路和次优路径。
  2. 路由决策影响通过上述过滤和修改,最终影响路由器的路由表,从而间接地引导流量。

2.2核心组件

一个典型的、功能强大的路由策略由以下几部分逻辑构成:

  1. 匹配条件

定义需要被策略处理的路由特征。常用工具包括:

  1. 访问控制列表匹配路由前缀和掩码。
  2. 前缀列表更灵活、更专业地匹配IP前缀和掩码长度范围。
  3. AS路径访问列表BGP中,匹配路由的AS_PATH属性。
  4. 团体属性列表BGP中,匹配路由的COMMUNITY属性。
  5. Tag匹配路由的标记(常用于协议间重分发防环)。
  1. 执行动作

定义对匹配路由执行的操作,主要是:

  1. 允许允许该路由通过或引入,并可选择性地修改其属性。
  2. 拒绝过滤掉该路由,不允许其通过或引入。
  1. 策略节点
  1. 将匹配条件与执行动作组合起来,形成一个基本的策略单元,称为节点
  2. 节点有序号,策略按节点序号从小到大依次执行。
  3. 采用首次匹配原则:一旦路由匹配了某个节点的条件,就执行该节点的动作,并结束策略处理。

2.3工作流程

  1. 策略调用管理员在路由协议的特定位置(如BGPpeer x.x.x.x route-policy XXX import)调用定义好的路由策略。
  2. 顺序匹配当路由信息流经该调用点时,策略开始工作。从序号最小的节点开始,将路由的特征与节点的匹配条件进行比对。
  3. 执行与结束
  1. 若路由匹配当前节点条件,则执行该节点的动作(允许/拒绝)。若动作为允许,还可附加修改属性的操作。无论动作是允许还是拒绝,策略处理一般到此结束
  2. 若路由不匹配当前节点条件,则继续尝试匹配下一个节点。
  1. 默认行为如果路由没有匹配任何节点,则执行该路由策略的默认动作。默认动作通常是permit(允许所有未匹配的路由通过),但也可以配置为deny

3 路由策略与策略路由的区别

这是两个最易混淆的概念,请务必区分:

特性

路由策略

策略路由

作用对象

路由信息(控制平面)

数据包(转发平面)

工作层面

三层,影响路由表生成

三层/四层,影响单个报文转发

核心目标

控制路由的学习、发布和属性

控制数据包的转发路径

决策依据

路由前缀、AS路径、团体属性等

IP、目的IP、协议、端口、包长等

配置位置

路由协议配置视图(如BGP/OSPF

接口视图或全局

结果影响

间接影响流量路径(通过改变路由表)

直接决定流量出口

一个生动的比喻

  1. 路由策略像公司的邮件分发规则(如:所有来自财务部的邮件,标记为高优先级并转发给管理层)。它处理的是邮件这个信息本身。
  2. 策略路由像快递公司的特殊配送路线(如:所有寄往A区的包裹,无论地址如何,今天全部走北线公路)。它处理的是每个包裹的运送路径。