对于IP网络工程师来说,路由策略的部署随处可见,无论在运营商IP网络还是在企业网中,路由策略的应用都是非常普遍的。同时,在网络规划中,路由策略的规划也是一个核心的内容。为了方便大家更好的掌握和应用路由策略,我们推出了路由策略这个专题,希望这个专题能够抛砖引玉引导各位一起讨论、共同学习。

1 路由策略概述

1.1 什么是路由策略?

我们讨论某个东西一般都回避不了这样一个问题:“XXX是什么?”这里我们也尝试对路由策略下一个定义,来回答:“路由策略是什么?”这个问题。

很多人会把路由策略等同于route-policy,也有人会可能会说filter-policy也,其实这些理解都有点不太准确。实际上,路由策略不是一个特定的技术,也不是一个特定的特性。

路由策略是通过一系列工具或方法对路由进行各种控制的“策略”。这种策略能够影响到路由产生、发布、选择等,进而影响报文的转发路径。这些工具包括ACL、route-policy、ip-prefix、filter-policy等,这些方法包括对路由进行过滤,设置路由的属性等。

1.2  路由策略各工具之间的调用关系

当讨论到路由策略的时候,我们经常会碰到很多种工具,比如ACL、route-policy、ip-prefix、filter-policy等等,不一一列举了。很多人都会被他们之间的调用关系搞昏了头,总感觉他们之间有说清道不明的关系。这里我们通过一张图来给大家介绍他们之间的关系。

图1 路由策略各工具之间的调用关系

如图1所示,我们把所有的工具划分成三类:

  • 条件工具:用于把需要的路由“抓取”出来。

  • 策略工具:用于把“抓取”出来的路由执行某个动作,比如允许、拒绝、修改属性值等。

  • 调用工具:用于将路由策略应用到某个具体的路由协议里面,使其生效。(欢迎关注公众号:IT青年1029)

调用工具中的filter-policy和peer又自带策略工具的功能,因此这两个东西又可以直接调用条件工具。其他的调用工具都必须通过route-policy来间接的调用条件工具。

需要注意peer不能调用ACL,可以调用其他的所有条件工具。

1.3路由策略有什么用?

在IP网络中,路由策略的用途主要包括两个方面:1)对路由信息进行过滤。2)修改路由的属性。详细请见表1:

作用 执行过程 结果
对路由信息进行过滤 如果某条路由符合XX条件,那么就接收这条路由;如果某条路由符合XX条件,那么就发布这条路由;如果某条路由符合XX条件,那么就引入这条路由 要不要这条路由?
修改路由的属性 如果某条路由符合XX条件,那么将这条路由的某个属性值修改为XXX 这条路由的某个属性值为XXX

表1 路由策略的作用

如果各位觉得这样介绍路由策略的作用还是有点抽象的话,没关系,下面我们再来个实际的例子来介绍一下你就明白了。通过路由策略对路由信息进行过滤

图1 通过路由策略对路由信息进行过滤

如图1所示,SwitchA属于双上行的组网结构,SwitchA会从SwitchB和SwitchC那里分别接收到路由。如果SwitchA仅希望接收来自SwitchB的路由,而不希望接收来自SwitchC的路由,此时应该怎么办呢?这种情况下就可以考虑在SwitchA上配置路由策略,允许来自SwitchB的路由,拒绝来自SwitchC的路由。通过路由策略修改路由的属性

图2 通过路由策略修改路由的属性

如图2所示,SwitchA也是双上行的网络结构,但是,由于SwitchB这边的链路稳定性更好一点,带宽更大一点,因此用户想用SwitchB这边的链路作为主用链路,SwitchC这边的链路作为备用链路,当主用链路故障的时候流量自动切换至备用链路。这种场景下,可以使用路由策略,将来自SwitchB这边的路由开销值调小,将来自SwitchC这边的路由开销值调大,这样流量就会自动选取SwitchB这边的链路作为主用链路,SwitchC这边的链路作为备用链路,实现路由的主备份。

2 路由策略和策略路由

2.1 路由策略和策略路由的区别

我在第一次接触路由策略和策略路由的时候也是抓耳挠腮,分不清楚,老觉得为什么协议的开发者给他们起这么容易混淆的名字,改一个名字不就不容易混淆了嘛!但是既然名字叫了这么多年了,各位虽然分不清楚,但已经耳熟了。虽然策略路由这个特性不作为本专题的讨论范畴,我们在这里也把这对孪生兄弟做一个对比分析,让大家不再混淆。

路由策略

路由策略的操作对象是路由信息。路由策略主要实现了路由过滤和路由属性设置等功能,它通过改变路由属性(包括可达性)来改变网络流量所经过的路径。

策略路由

策略路由的操作对象是数据包,在路由表已经产生的情况下,不按照路由表进行转发,而是根据需要,依照某种策略改变数据包转发路径。

所以这样可以看出,策略路由是在路由表之前起作用,如果报文匹配了策略路由,那么这个报文就不会再去查路由表了,而是直接按照策略路由的“指引”进行转发。所以策略路由是一个不太按照套路出牌的“家伙”,也正因为这样,策略路由的应用会更加灵活一点。

2.2 路由策略和策略路由对比分析

为了更加具体的对比路由策略和策略路由,我们通过表2对两者进行一个全方位的对比。

不同点 路由策略 策略路由
作用对象 路由信息 数据包
实现主体 控制平面:实现路由的过滤和属性值的修改 转发平面:保证数据包按指定的路径转发
是否改变转发流程 不改变转发流程 改变了数据包转发流程
过滤机制 基于ACL过滤、基于地址前缀列表、基于路由属性过滤、基于路由类型过滤、…… 基于ACL、流分类、流行为、流策略
应用主体 静态路由、直连路由、RIP/RIPng、OSPF/OSPFv3、 ISIS、BGP/BGP4+ 全局、vlan、接口下应用

表2 路由策略和策略路由对比分析

3 路由策略牛刀小试

上面在宏观上介绍了关于路由策略的一些基础知识,各位是不是还是觉得有点不过瘾?是不是还感觉不到路由策略究竟有什么洪荒之力?没关系,接下来我们来看一个通过路由策略实现路由过滤的举例,算作牛刀小试。这个举例中会涉及ACL、ip-prefix、route-policy、filter-policy等概念,我们会在后面几期的专题中详细展开介绍,各位就先了解一下路由策略究竟能干什么就行,先不要研究太深,以免走火入魔!

图3 通过路由策略实现路由过滤示例

如图3所示,运行OSPF协议的网络中,SwitchA从Internet网络接收路由,并为OSPF网络提供了Internet路由, 现在用户希望OSPF网络仅接收172.16.16.0/24、172.16.17.0/24和172.16.18.0/24这三条外部路由,其他的外部路由都不接收。

上述用户需求可以通过多种方式去实现,接下来我们给出两个比较常见的实现方式供各位参考。

下面的实验中我们通过在SwitchA中配置黑洞路由做为测试路由,在OSPF中引入静态路由来模拟从Internet网络接收路由。SwitchA上的关键配置如下:

#
ospf 1import-route staticarea 0.0.0.0network 192.168.1.0 0.0.0.255
#
ip route-static 172.16.16.0 255.255.255.0 NULL0
ip route-static 172.16.17.0 255.255.255.0 NULL0
ip route-static 172.16.18.0 255.255.255.0 NULL0
ip route-static 172.16.19.0 255.255.255.0 NULL0
ip route-static 172.16.20.0 255.255.255.0 NULL0
#

3.1 通过ACL+route-policy实现路由过滤

1、定义一个ACL 2000,用于匹配需要放行的路由。

[SwitchA] acl 2000
[SwitchA-acl-basic-2000] rule 5 permit source 172.16.16.0 0
[SwitchA-acl-basic-2000] rule 10 permit source 172.16.17.0 0
[SwitchA-acl-basic-2000] rule 15 permit source 172.16.18.0 0
[SwitchA-acl-basic-2000] quit

2、创建一个route-policy,名字叫RP,同时配置一个编号为10的节点,调用ACL2000。

[SwitchA] route-policy RP permit node 10
[SwitchA -route-policy] if-match acl 2000

3、在OSPF引入静态路由的时候调用这个route-policy

[SwitchA] ospf 1
[SwitchA-ospf-1] import-route static route-policy RP
[SwitchA-ospf-1] quit

由于route-policy默认隐含deny节点,因此172.16.19.0及172.16.20.0路由由于没有满足if-match语句,从而不被引入到OSPF中。(欢迎关注公众号:IT青年1029)

配置完上述路由策略以后SwitchB的路由表如下:

[SwitchB]display  ip routing-table Route Flags: R - relay, D - download to fib-----------------------------------------------------------------------------Routing Tables: PublicDestinations : 7        Routes : 7       Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface127.0.0.0/8    Direct  0    0           D   127.0.0.1       InLoopBack0127.0.0.1/32   Direct  0    0           D   127.0.0.1       InLoopBack0172.16.16.0/24  O_ASE   150  1           D   192.168.1.1     Vlanif10172.16.17.0/24  O_ASE   150  1           D   192.168.1.1     Vlanif10172.16.18.0/24  O_ASE   150  1           D   192.168.1.1     Vlanif10192.168.1.0/24  Direct  0    0           D   192.168.1.2     Vlanif10
192.168.1.2/32      Direct  0    0           D   127.0.0.1       Vlanif10

可以看到在SwitchA上配置完路由策略以后,SwitchB的IP路由表里面只有172.16.16.0/24、172.16.17.0/24和172.16.18.0/24这三条外部路由,其他的外部路由都没有了。

3.2 通过ip-prefix+filter-policy实现路由过滤

1、定义一个地址前缀列表,用于匹配需要放行的路由。

[SwitchA] ip ip-prefix huawei index 10 permit 172.16.16.0 24
[SwitchA] ip ip-prefix huawei index 20 permit 172.16.17.0 24
[SwitchA] ip ip-prefix huawei index 30 permit 172.16.18.0 24

2、在SwitchA的OSPF视图中,通过filter-policy对发布的路由进行过滤。

[SwitchA] ospf 1
[SwitchA -ospf-1] filter-policy ip-prefix huawei export
[SwitchA-ospf-1] quit

由于ip-prefix默认隐含deny节点,因此172.16.19.0及172.16.20.0路由由于不在ip-prefix允许的范围内,所以在SwitchA向SwitchB发布路由的时候,仅发布在ip-prefix允许的范围内的路由,其他的所有路由都不发布。(欢迎关注公众号:IT青年1029)

配置完上述配置以后SwitchB的路由表如下:

[SwitchB] display  ip routing-table Route Flags: R - relay, D - download to fib-----------------------------------------------------------------------------Routing Tables: PublicDestinations : 7        Routes : 7       Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0172.16.16.0/24  O_ASE   150  1           D   192.168.1.1     Vlanif10172.16.17.0/24  O_ASE   150  1           D   192.168.1.1     Vlanif10172.16.18.0/24  O_ASE   150  1           D   192.168.1.1     Vlanif10192.168.1.0/24  Direct  0    0           D   192.168.1.2     Vlanif10192.168.1.2/32  Direct  0    0           D   127.0.0.1       Vlanif10

可以看到在SwitchA上配置完路由filter-policy以后,SwitchB的IP路由表里面只有172.16.16.0/24、172.16.17.0/24和172.16.18.0/24这三条外部路由,其他的外部路由都没有了。

从实验结果来看,上述两种方法使用的工具和方法不同,但是结果是一样的。相信各位是不是已经看到路由策略确实不能直接等同于route-policy了吧?实际上,路由策略是一系列对路由进行控制的手段,路由策略的使用过程中可能是ACL、route-policy、ip-prefix、filter-policy等多个工具的不同组合,上述举例仅仅列举了其中两种比较常见的组合而已。在后面几期的专题中,我们会深入分析各种工具的使用方法,相信各位全部掌握这些工具之后就会对路由策略的使用做到游刃有余、随心所欲了。

来源:华为论坛交换机在江湖,样式编辑由 IT青年1029

什么是路由策略?路由策略和策略路由有什么区别? 如何配置路由策略?相关推荐

  1. 路由策略Routing Policy和策略路由PBR的区别

    这是面试的时候问道的一个问题,这里跟大家分享一下 路由策略(Routing Policy)是为了改变网络流量所经过的途径而修改路由信息的技术: PBR(policy-based-route)是一种依据 ...

  2. vue 安装element_vue实战开发007:vue引入Element-UI并配置路由

    今天准备使用Element-UI来写个项目测试下学习的功能,要在vue中引用Element-UI组件,我们需要先来安装下Element-UI,这里我们用VScode工具编写,这里使用 npm 的方式安 ...

  3. H3C S5500核心交换机策略路由调度流量到不同的路由设备

    场景描述: 一台华为AR系列路由器(图中R1),一台H3C MSR系列路由器, 一台H3C S5500 核心交换机. AR路由器接入WAN1和WAN2两条线路,H3C路由器接入WAN3线路无线网络专用 ...

  4. 网工路由基础(7)策略路由PBR

    欢迎关注微信公众号[厦门微思网络].www.xmws.cn专业IT认证培训19周年 主要课程:思科.华为.红帽.ORACLE.VMware.CISP.PMP等认证培训及考证 PBR(Policy Ba ...

  5. 配置SNAT实现共享上网: 搭建内外网案例环境 配置SNAT策略实现共享上网访问

    4.1 问题 本案例要求设置防火墙规则,允许位于局域网中的主机可以访问外网,主要包括下列服务: 搭建内外网案例环境 配置SNAT策略实现共享上网访问 4.2 步骤 实现此案例需要按照如下步骤进行. 步 ...

  6. 华为防火墙NAT配置与策略管理

    目录 NAT概述 NAT策略与安全策略 NAT处理报文的流程如下: 安全区域介绍 配置开始 区域访问规则 1.设置trust到untrust区域的NAT策略: 2.防火墙控制策略 3.防火墙配置服务器 ...

  7. 路由功能和路由协议【包括路由器各类介绍、静态路由、ad和metric、负载均衡】

    文章目录 路由器通过路由表转发数据 一.路由表内容 二.路由分组转发过程 路由器在网络中所扮演的角色 路由器说明 路由器和交换机的一些主要区别特征 路由器的硬件组成 路由器的两大功能介绍 路由表中路由 ...

  8. 华为防火墙:五种NAT类型以及配置NAT策略。

    NAT类型: 1. NAT NO-PAT .将源IP地址映射到公网IP地址上. .属于多对多的映射关系. .不会节约公网IP地址,但会保护内网IP地址. 2. NAPT . 将源IP地址和端口号映射到 ...

  9. 如何为服务器配置路由协议,服务器如何配置路由

    服务器如何配置路由 内容精选 换一换 对等连接创建完成后,两个VPC还是不能互通.以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因.如果解决完某 ...

最新文章

  1. Vscode----热门插件超实用插件汇总(史上最全)
  2. shell判定一个变量等于-n_Shell test命令:条件判断,检查某条件是否成立
  3. 如何对一个变量数据进行正则判定_生存分析数据中的BuckleyJamesMultipleRegression Model...
  4. 膝关节疾病时的股四头肌锻炼法及注意事项(图示)
  5. 《商务与经济统计》学习笔记(七)—各统计分布知识点归纳
  6. C++ 隐藏窗口在任务栏的显示
  7. python绘图颜色代码_Python绘图的颜色设置
  8. 必备知识:工业相机相关知识(初学者必备)
  9. DOM事件总结(事件处理程序的类型及浏览器的兼容性)
  10. vue 监听input停止输入后发送请求
  11. 第一章 行列式(知识点部分)
  12. Struts2+Hibernate+Spring+ZTree+Dtree 实现树形菜单
  13. 超市管理系统-2(数据库代码以及数据库逻辑)
  14. A计划:基础架构软件创业之道分享实录
  15. ORM是什么? ORM框架是什么?
  16. 根据结构体数组中某一数据项对结构体数组排序
  17. JavaScript,setTimeout的使用案例
  18. 《人月神话》一句话总结各章核心观点
  19. sas数据集怎么导出_SAS数据集和Excel的相互转换
  20. 【金融财经】金融市场一周简报(2017-11-03)

热门文章

  1. Development of Neural Network Models in Text Summarization - 4
  2. 荷兰国旗问题(Dutch National Flag Problem)
  3. java切割文件_Java实现按行分割大文件
  4. 操作系统练习题(有3个并发进程R,M,P,它们共享一个缓冲器B)
  5. 夏威夷-玩转欧胡岛和大岛
  6. 05【投资】成为富人的三个秘密
  7. @supports的用法
  8. python制作索引图像
  9. eclipse设置自动提示
  10. 美妆品牌巴黎欧莱雅官宣Kendall Jenner成为品牌代言人