设为首页收藏本站language 语言切换
查看: 3284|回复: 13
收起左侧

[分享] 路由策略和策略路由

[复制链接]
发表于 2010-7-6 20:31:38 | 显示全部楼层 |阅读模式
在网络设备维护上,现在很多维护的资料上都讲到“路由策略”与“策略路由”这两个名词,但是有很多搞维护的技术人员对这两个名词理解的还不是很透彻,无法准确把握这两者之间的联系与区别。本文简单分析一下这两者之间的概念,并介绍一些事例,希望大家能从事例中得到更深的理解。
一、路由策略
  路由策略,是路由发布和接收的策略。其实,选择路由协议本身也是一种路由策略,因为相同的网络结构,不同的路由协议因为实现的机制不同、开销计算规则不同、优先级定义不同等可能会产生不同的路由表,这些是最基本的。通常我们所说的路由策略指的是,在正常的路由协议之上,我们根据某种规则、通过改变某些参数或者设置某种控制方式来改变路由产生、发布、选择的结果,注意,改变的是结果(即路由表),规则并没有改变,而是应用这些规则。
  下面给出一些事例来说明。
  改变参数的例子:例如,A路由器和B路由器之间是双链路(分别为AB1和AB2)且带宽相同,运行是OSPF路由协议,但是两条链路的稳定性不一样,公司想设置AB1为主用电路,当主用电路(AB1)出现故障的时候才采用备用电路(AB2),如果采取默认设置,则两条电路为负载均衡,这时就可以采取分别设置AB1和AB2电路的COST(开销)值,将AB1电路的COST值改小或将AB2电路的COST值设大,OSPF会产生两条开销不一样的路由,COST(开销)越小路由代价越低,所以优先级越高,路由器会优先采用AB1的电路。还可以不改COST值,而将两条电路的带宽(BandWidth)设置为不一致,将AB1的带宽设置的比AB2的大,根据OSPF路由产生和发现规则,AB1的开销(COST)会比AB2低,路由器同样会优先采用AB1的电路。
  改变控制方式的例子,基本就是使用路由过滤策略,通过路由策略对符合一点规则的路由进行一些操作,例如最普通操作的是拒绝(deny)和允许(Permit),其次是在允许的基础上调整这些路由的一些参数,例如COST值等等,通常使用的策略有ACL(Acess Control List访问控制列表)、ip-prefix、AS-PATH、route-policy等等。大部分的路由策略都和BGP协议配合使用中,属于路由接收和通告原则。
二、策略路由
策略路由是在路由表已经产生的情况下,不按照现有的路由表进行转发,而是根据需要,某些通信流量选择其他路由的方式。
 

  如图,RTA和RTB之间的通信有2条链路,其中上面那条电路是主用,带宽是1000M的,下面的电路是备用,带宽是10M的,目前10M基本是空闲,大部分的通信都走主用上走,PC1(10.10.10.10/24)是某个特别重要的客户,他发的信息要求被立即传送,我们根据这种情况,我们可以将他的发送通信量单独使用下面备用电路的方法。
  rule-map intervlan permitpc1 ip 10.10.10.10 0.0.0.0 any
  flow-action next2 redirect ip 2.2.2.2
  eacl abc permitpc1 next2
  然后在和10.10.10.0/24网络直连的端口上使用 access-group eacl abc命令下发应用。
  这是一个策略路由的典型应用。这个应用是根据源地址来选择转发路径的,还可以根据协议类型(例如将UDP和TCP分开跑不同的电路)、应用(例如某些视频应用要求实时传送,可以将rstp流单独使用一条电路来跑)、报文大小或它们的组合等来设置转发条件。其实就是将acl规则应用到数据转发上,rule-map的规则同ACL,这里就不在举再多的例子了,熟悉ACL的技术人员都知道。
  这里flow-action做的动作redirect就是设置下一条,使用flow-action还可以进行QoS相关的操作,例如使用cos或car动作对数据包进行队列匹配,再根据相关设置的流量模型规则进行操作,具体参阅命令参考手册。
  三、联系与区别
  联系:
  双方都是为了转发数据包而进行路径选择的策略,都是根据某种规则改变某些参数或控制手段来设置不同的转发路径。
  区别:
  路由策略是根据一些规则,使用某种策略改变规则中影响路由发布、接收或路由选择的参数而改变路由发现的结果,最终改变的是路由表的内容。是在路由发现的时候产生作用。
  策略路由是尽管存在当前最优的路由,但是针对某些特别的主机(或应用、协议)不使用当前路由表中的转发路径而单独使用别的转发路径。在数据包转发的时候发生作用、不改变路由表中任何内容。
  策略路由的优先级比路由策略高,当路由器接收到数据包,并进行转发的时候,会优先根据策略路由的规则进行匹配,如果能匹配上,则根据策略路由来转发,否则按照路由表中转发路径来进行转发。
  概括一点讲就是,路由策略是路由发现规则,策略路由是数据包转发规则。其实将“策略路由”理解为“转发策略”,这样更容易理解与区分。由于转发在底层,路由在高层,所以转发的优先级比路由的优先级高,这点也能理解的通。其实路由器中存在两种类型和层次的表,一个是路由表(routing-table),另一个是转发表(forwording-table)。转发表是由路由表映射过来的,策略路由直接作用于转发表,路由策略直接作用于路由表。
  四、优缺点
  网络通信的规则是先有路由,才有转发。路由策略由于仅仅在路由发现的时候产生作用,在路由表产生且稳定之后,如果网络不发生变化,路由表通常都不会变化,这时候,路由策略没有应用就不会占用资源。而策略路由是在转发的时候发生作用,路由器在初始产生路由表之后,基本工作量都在数据包转发上,如果没有策略路由,路由器只要分析每一个数据包的目的地址,再按路由表来匹配就可以决定下一跳;但是如果有策略路由,策略路由就一直处于应用状态,如果策略路由特别复杂,路由器要根据规则来判断数据包的源地址、协议或应用等附加信息,这样就会一直占用大量的资源,所以除非不得已,尽量使用路由策略,而不要使用策略路由。网络优化的时候需要考虑这一点,如果策略路由特别复杂,能通过将网络进行简单分解而达到取消策略路由的尽量进行分解,否则路由器负担很重。
发表于 2010-7-6 21:32:05 | 显示全部楼层
沙发~~~
沙发 2010-7-6 21:32:05 回复 收起回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-8 01:53:31 | 显示全部楼层
谢谢 发帖不容易啊 顶顶啊!!版主我就自己顶下啦!不好意思!
板凳 2010-7-8 01:53:31 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-3-14 08:14:04 | 显示全部楼层
楼主发的这个帖子解决了困扰我多时的概念误区,很好......
地板 2012-3-14 08:14:04 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-3-14 10:58:50 | 显示全部楼层
学习了 谢谢楼主
5# 2012-3-14 10:58:50 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-7-15 10:12:56 | 显示全部楼层
挺好的
6# 2012-7-15 10:12:56 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-7-15 17:33:47 | 显示全部楼层
多谢分享,学习学习
7# 2012-7-15 17:33:47 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-8-4 15:52:31 | 显示全部楼层
8# 2012-8-4 15:52:31 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-9-11 14:34:02 | 显示全部楼层
9# 2012-9-11 14:34:02 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-7-31 16:12:23 | 显示全部楼层
10# 2013-7-31 16:12:23 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2016-12-20 10:11:35 | 显示全部楼层
感谢楼主答疑解惑!
12# 2016-12-20 10:11:35 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2020-12-13 16:39:17 | 显示全部楼层
谢谢分享!谢谢分享!谢谢分享!谢谢分享!
13# 2020-12-13 16:39:17 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-26 23:03 , Processed in 0.127006 second(s), 24 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表