频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

详解策略路由和路由策略的区别

来源:网侠2007 作者:佚名 出处:巧巧读书 2008-04-30 进入讨论组
上一页 1 2 

[RTB]ip ip-prefix test index 20 permit any

[RTB]bgp 1

[RTB-bgp]peer 2.2.2.2 as-number 2

[RTB-bgp] import-route ospf

[RTB-bgp] import-route direct

[RTB-bgp]peer 2.2.2.2 ip-prefix test export

ip-prefix是精确匹配的,如果想实现模糊匹配,可以通过后面的参数less-equal或greater-equal来实现,例如ip ip-prefix test index 10 deny 19.1.1.0 24 less-equal 31就表示从19.1.1.0/24、19.1.1.0/25、19.1.1.0/26一直到19.1.1.0/31都能匹配上,否则这仅仅表示只匹配目的网络是19.1.1.0/24这一条路由,而19.1.1.0/25不满足该条件,具体可以参考命令手册,这里不详细解释了。

上面讲的都是路由的运行和禁止,下面讲更灵活的路由策略设置方式:route-policy中if-match和apply的匹配,这里不仅能设置允许或禁止某些路由,还能对允许的路由设置其属性。


上图中RTB与RTC之间跑的是IBGP协议,RTA与RTB、RTC之间跑的是EBGP协议。Router_ID按A、B、C、D从小到大排序。正常情况下,RTA到RTD之间的通信会选择RTB做中转,RTD到RTA的通信也会选择RTB,在默认情况下,所有参数都相同,BGP会选择router_ID较小的一条路径。现在想让RTD到RTA之间的通信都走RTB,而RTA到RTD之间的通信都通过RTC,即两台路由器中RTB专门负责自治域内路由器与域外路由器之间的出口通信,而RTC专门做自治域外路由器与域内路由器的进口通信,我们可以用route-policy中的as-path来实现,在RTB上做:

[rtb]route-policy test permit node 10

[rtb-route-policy]apply as-path 300 400 //添加虚假的路径,使as-path增长

[rtb-bgp]peer 1.1.1.1 route-policy test export //向RTA发布路由信息的时候使用策略

这样B在向A发布BGP路由的时候,加大路由的AS-Path值,根据BGP路由选择规则,优先选用AS-Path较短的路由,这样RTA向RTD通信的时候,优先选用AS-Path短的RTC这条路由,而RTD在选择到RTA路由的时候仍然选择的是RTB,因为对RTD来说,影响路由的参数什么都没有任何变化。其实也可以使用改变Med值来设定,这里用路由策略来举例。

这种方法特别灵活在apply语句中能设置多种参数,除了as-path,还有ip next hop(设置下一跳)、local-preference(本地出口优先级)、cost(开销)、origin(起源,来自igp、egp还是incomplete)、tag(标记)。

二、策略路由

2.2.2.2/30

2.2.2.1/30

1.1.1.2/30

RTB

1.1.1.1/30

10.10.10.0/24

策略路由是在路由表已经产生的情况下,不按照现有的路由表进行转发,而是根据需要,某些通信流量选择其他路由的方式。

PC2

PC1

交换机

RTA

如图,RTA和RTB之间的通信有2条链路,其中上面那条电路是主用,带宽是1000M的,下面的电路是备用,带宽是10M的,目前10M基本是空闲,大部分的通信都走主用上走,PC1(10.10.10.10/24)是某个特别重要的客户,他发的信息要求被立即传送,我们根据这种情况,我们可以将他的发送通信量单独使用下面备用电路的方法。
#P#
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)。转发表是由路由表映射过来的,策略路由直接作用于转发表,路由策略直接作用于路由表。

四、优缺点

网络通信的规则是先有路由,才有转发。路由策略由于仅仅在路由发现的时候产生作用,在路由表产生且稳定之后,如果网络不发生变化,路由表通常都不会变化,这时候,路由策略没有应用就不会占用资源。而策略路由是在转发的时候发生作用,路由器在初始产生路由表之后,基本工作量都在数据包转发上,如果没有策略路由,路由器只要分析每一个数据包的目的地址,再按路由表来匹配就可以决定下一跳;但是如果有策略路由,策略路由就一直处于应用状态,如果策略路由特别复杂,路由器要根据规则来判断数据包的源地址、协议或应用等附加信息,这样就会一直占用大量的资源,所以除非不得已,尽量使用路由策略,而不要使用策略路由。网络优化的时候需要考虑这一点,如果策略路由特别复杂,能通过将网络进行简单分解而达到取消策略路由的尽量进行分解,否则路由器负担很重。

更多文章 更多内容请看路由安全配置专题Linux下的路由的配置与应用专题,或进入讨论组讨论。
上一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章