干货!详解路由策略与策略路由区别

如题所述

第1个回答  2022-07-04
在网络设备维护上,现在很多维护的资料上都讲到 “路由策略”与“策略路由” 这两个名词,但是有很多搞维护的技术人员对这两个名词理解的还不是很透彻,无法准确把握这两者之间的联系与区别。

本文简单分析一下这两者之间的概念,并介绍一些事例,希望大家能从事例中得到更深的理解。

路由策略,是路由发布和接收的策略。其实,选择路由协议本身也是一种路由策略。

因为相同的网络结构,不同的路由协议因为实现的机制不同、开销计算规则不同、优先级定义不同等可能会产生不同的路由表,这些是最基本的。

通常我们所说的路由策略指的是,在正常的路由协议之上,我们根据某种规则、通过改变某些参数或者设置某种控制方式来改变路由产生、发布、选择的结果。

注意,改变的是结果(即路由表),规则并没有改变,而是应用这些规则。

下面给出一些事例来说明。

例如,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协议配合使用中,属于路由接收和通告原则。

例如,AS1不向AS2发布19.1.1.1/32这个网段,可以设置ACL列表,在RTB上设置(以华为的路由器为例):

[RTB]acl number 1 match-order auto

[RTB-acl-basic-1]rule deny source 19.1.1.1 0

[RTB-acl-basic-1]rule permit source any

[RTB]bgp 1

[RTB-bgp]peer 2.2.2.2 as-number 2

[RTB-bgp] import-route ospf

[RTB-bgp] peer 2.2.2.2 filter-policy 1 export

如果B向C发布了这条路由,但是C不想接收这条路由,则C可以设置:

[RTC]acl number 1 match-order auto

[RTC-acl-basic-1]rule deny source 19.1.1.1 0

[RTC-acl-basic-1]rule permit source any

[RTC]bgp 2

[RTC-bgp]peer 2.2.2.1 as-number 1

[RTC-bgp] peer 2.2.2.1 filter-policy 1 import

例如RTB不向RTC发布19.1.1.0/24这个网段的路由,则可以设置

[RTB]ip ip-prefix test index 10 deny 19.1.1.0 24

[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(标记)。

策略路由是一种依据用户制定的策略进行路由选择的机制,与单纯依照IP报文的目的地址查找路由表进行转发不同,可应用于安全、负载分担等目的。

它是一个基于路由表的影响特定数据包的转发的一个方式,这个方式是应用于接口下的。

例如:让192.168.1.1的数据包都从s0/1走,让192.168.1.2的数据包都从s0/1走

access-list 1 permit host 192.168.1.1

access-list 2 permit host 192.168.1.2

route-map ccie permit 10

match ip address 1

set interface s0/1

router0map ccie permit 20

match ip address 2

set interface s0/2

int fa1/0

ip policy route-map ccie

注意:set interface s0/1 与 set  default interface s0/1

set ip next-hip  与 set  default ip next-hop 是有区别的,前者不查找路由直接进行了转发,而后者是先查找路由表,查找不到精确的路由表时才会转发到下一跳接口或IP。

PBR只有进方向方向,一定要注意!PBR优先于路由表查找。

策略路由PBR默认只对穿越流量生效。

(config)#(ip local policy route-map ccie)  //这样写是策略理由也影响本地产生的流量

此外策略路由还可以通过改变IP报文的tos字段达到流量控制的目的。

联系:

双方都是为了转发数据包而进行路径选择的策略,都是根据某种规则改变某些参数或控制手段来设置不同的转发路径。

区别:

路由策略 是根据一些规则,使用某种策略改变规则中影响路由发布、接收或路由选择的参数而改变路由发现的结果,最终改变的是路由表的内容。是在路由发现的时候产生作用。

策略路由 是尽管存在当前最优的路由,但是针对某些特别的主机(或应用、协议)不使用当前路由表中的转发路径而单独使用别的转发路径。

在数据包转发的时候发生作用、不改变路由表中任何内容。

策略路由的优先级比路由策略高 ,当路由器接收到数据包,并进行转发的时候,会优先根据策略路由的规则进行匹配,如果能匹配上,则根据策略路由来转发,否则按照路由表中转发路径来进行转发。

概括一点讲就是,

路由策略是路由发现规则,策略路由是数据包转发规则 。其实将“策略路由”理解为“转发策略”,这样更容易理解与区分。

由于转发在底层,路由在高层,所以转发的优先级比路由的优先级高,这点也能理解的通。其实路由器中存在两种类型和层次的表,一个是路由表(routing-table),另一个是转发表(forwording-table)。

转发表是由路由表映射过来的,策略路由直接作用于转发表,路由策略直接作用于路由表。

网络通信的规则是先有路由,才有转发。路由策略由于仅仅在路由发现的时候产生作用,在路由表产生且稳定之后,如果网络不发生变化,路由表通常都不会变化,这时候,路由策略没有应用就不会占用资源。

而策略路由是在转发的时候发生作用,路由器在初始产生路由表之后,基本工作量都在数据包转发上,如果没有策略路由,路由器只要分析每一个数据包的目的地址,再按路由表来匹配就可以决定下一跳;

 但是如果有策略路由,策略路由就一直处于应用状态,如果策略路由特别复杂,路由器要根据规则来判断数据包的源地址、协议或应用等附加信息,这样就会一直占用大量的资源,所以除非不得已,尽量使用路由策略,而不要使用策略路由。

网络优化的时候需要考虑这一点,如果策略路由特别复杂,能通过将网络进行简单分解而达到取消策略路由的尽量进行分解,否则路由器负担很重。

路由策略与策略路由有什么区别
一、主体不同 1、路由策略:是为了改变网络流量所经过的途径而修改路由信息的技术。2、策略路由:是一种比基于目标网络进行路由更加灵活的数据包路由转发机制。二、方式不同 1、路由策略:主要通过改变路由属性(包括可达性)来实现。是一种比基于目标网络进行路由更加灵活的数据包路由转发机制。2、策略路...

策略路由和路由策略的区别
策略路由和路由策略两者的区别如下:策略路由是一种网络设计策略,通过配置路由策略,能够更灵活地控制数据在网络中的传输路径和方式。它可以基于流量的不同类型选择最合适的路径进行传输。简单来说,策略路由主要关注的是如何通过预先设定的策略,使得数据流量能够更加高效地通过网络设备传输。它依赖于一系列的...

干货!详解路由策略与策略路由区别
策略路由的优先级比路由策略高 ,当路由器接收到数据包,并进行转发的时候,会优先根据策略路由的规则进行匹配,如果能匹配上,则根据策略路由来转发,否则按照路由表中转发路径来进行转发。 概括一点讲就是, 路由策略是路由发现规则,策略路由是数据包转发规则 。其实将“策略路由”理解为“转发策略”,这样更容易理解与区分。

路由策略和策略路由区别
简单的讲路由策略是路由发现规则,策略路由是数据包转发规则。网络通信的规则是先有路由,才有转发。路由策略由于仅仅在路由发现的时候产生作用,在路由表产生且稳定之后,如果网络不发生变化,路由表通常都不会变化,这时候,路由策略没有应用就不会占用资源。而策略路由是在转发的时候发生作用,路由器在初...

路由策略和策略路由的区别是什么
路由策略(Route-Policy)路由策略是通过修改路由表的路由条目来控制数据流量的可达性。即对接受和发布的路由进过滤。这种方式称为路由策略。策略路由(Traffic-Policy)策略路由是通过用户制定的策略进行转发,且该策略优于路由表的转发。这种方式称为策略路由。由此可知,路由策略是基于路由表进行流量的转发,...

路由策略和策略路由区别
路由策略基于控制平面,策略路由基于转发平面;路由策略只能基于目的地址进行策略制定,策略路由可以基于原地址、目的地地址等进行粗略定制;路由策略与路由协议结合使用,策略路由只能手工逐条配置。路由器使用注意事项:1、路由器周围不要放置杂物,可能减小信号传输范围。2、路由器使用一段时间后会产生缓存,...

策略路由和路由策略的区别
策略路由与路由策略,虽然在名称上相似,实则代表了网络通信中不同的操作阶段。路由策略本质上是路由发现时的规则设定,其作用在路由表形成并稳定后通常不再起作用,除非网络环境发生改变。相反,策略路由则是在数据包转发过程中发挥作用,它使路由器在持续地分析和转发数据包时需要额外处理复杂的规则,比如源...

求路由策略与策略路由的区别A?
策略路由则是在路由表已存在的情况下,不遵循现有路由表进行数据包转发,而是根据特定规则选择其他路径。这通常用于关键业务数据包的快速传输。在理解两者关系时,可以注意到一个主要区别:路由策略作用于路由发现阶段,改变路由表内容;而策略路由作用于数据包转发阶段,不改变路由表内容。策略路由的优先级高于...

路由策略与策略路由的区别是什么?
路由策略与策略路由在通信网络领域扮演着重要角色。它们分别关注路由过程的不同层面。路由策略是一种控制机制,它根据预设规则筛选和接收路由信息,决定哪些信息应该被纳入路由表中。简单来说,它是关于路由选择的决策过程。策略路由则聚焦于数据包的转发过程。它根据特定规则决定数据包通过哪条路径传输,赋予...

...路由策略和策略路由有什么区别? 如何配置路由策略?
路由策略作用:主要体现在过滤路由信息和修改路由属性。如需仅接收特定来源的路由,或在主备链路中实现流量自动切换,路由策略能有效实现。路由策略与策略路由区别:路由策略操作对象为路由信息,通过改变属性影响流量路径;策略路由操作对象为数据包,不遵循路由表,而是依据策略改变转发路径。策略路由更灵活,但...

相似回答
大家正在搜