路由策略和策略路由区别(详细介绍策略路由和路由策略的区别)

小编:大闷头 更新时间:2023-04-13

一、路由策略和策略路由区别


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

路由器:连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号的设备。 路由器英文名Router,路由器是互联网络的枢纽、"交通警察"。目前路由器已经广泛应用于各行各业,各种不同档次的产品已经成为实现各种骨干网内部连接、骨干网间互联和骨干网与互联网互联互通业务的主力军。


二、详细介绍策略路由和路由策略的区别


路由策略是根据一些规则,使用某种策略改变规则中影响路由发布、接收或路由选择的参数而改变路由发现的结果,最终改变的是路由表的内容。是在路由发现的时候产生作用。
策略路由是尽管存在当前最优的路由,但是针对某些特别的主机(或应用、协议)不使用当前路由表中的转发路径而单独使用别的转发路径。在数据包转发的时候发生作用、不改变路由表中任何内容。
策略路由的优先级比路由策略高,当路由器接收到数据包,并进行转发的时候,会优先根据策略路由的规则进行匹配,如果能匹配上,则根据策略路由来转发,否则按照路由表中转发路径来进行转发。
路由策略是路由发现规则,策略路由是数据包转发规则。其实将“策略路由”理解为“转发策略”,这样更容易理解与区分。由于转发在底层,路由在高层,所以转发的优先级比路由的优先级高,这点也能理解的通。
其实路由器中存在两种类型和层次的表,一个是路由表(routing-table),另一个是转发表(forwording-table)。转发表是由路由表映射过来的,策略路由直接作用于转发表,路由策略直接作用于路由表。


三、求路由策略与策略路由有什么区别B


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

策略路由支持基于acl包过滤、地址长度等信息,灵活地指定路由。而acl报文过滤则可以根据报文的源ip、目的ip、协议、端口号、优先级、tos、时间段、vpn等各种丰富的信息将报文分类,然后控制将这些报文按照不同的路由转发出去。

策略路由既可以应用于被转发的报文,又可以应用于路由器本地产生的报文。前者称为接口策略路由,后者称为本地策略路由。
接口策略路由只对转发的报文起作用,对本地产生的报文(比如本地的ping报文)不起作用。而本地策略路由只对本地产生的报文起作用,对转发的报文不起作用。
接口策略路由配置在接口视图下。
本地产生的报文的策略路由配置在系统视图下。
注意:组播策略路由只支持转发的报文,不对路由器本机产生的报文进行策略路由。 路由策略的作用
过滤路由信息的手段
发布路由信息时只发送部分信息
接收路由信息时只接收部分信息
进行路由引入时引入满足特定条件的信息支持等值路由
设置路由协议引入的路由属性

路由策略(routing policy)
设定匹配条件,属性匹配后进行设置,由if-match和apply字句组成
访问列表(access-list)
用于匹配路由信息的目的网段地址或下一跳地址,过滤不符合条件的路由信息
前缀列表(prefix-list)
匹配对象为路由信息的目的地址或直接作用于路由器对象(gateway)
自治系统路径信息访问列表(aspath-list)
仅用于BGP协议,匹配BGP路由信息的自治系统路径域
团体属性列表(community-list)
仅用于BGP协议,匹配BGP路由信息的自治系统团体域

策略路由与路由策略是两个不同的概念,应用领域不同。
策略路由主要是控制报文的转发,即可以不按照路由表进行报文的转发(因为一般报文的转发要通过查找转发表,而配上策略路由后就不用管转发表了,可以随心所欲将报文从转发出去了)。
路由策略主要控制路由信息的引入(控制哪些路由信息引到路由协议中,哪些路由不引入,主要是针对某种路由协议,是否允许其它路由信息引进来)、发布(控制哪些发布出去,哪些不发布出去,通过同一种路由协议发布出去)、接收(控制哪些接收,哪些丢弃)。路由策略:是用路由来进行某些路由策略设置。
策略路由:是设置针对路由的策略,主要通过其他软件对路由的限制。
两者的区别就在于谁是主导,路由策略是以路由为主来创建的策略,而策略路由是通过软件对路由的设置。 路由策略:影响路由表的生成
策略路由:影响包的转发,优先级高于路由表
意思是:一个包要转发,先匹配策略路由转发,其次匹配路由表转发route map和ACL很类似,它可以用于路由的再发布和策略路由,还经常使用在BGP中.策略路由(policy route)实际上是复杂的静态路由,静态路由是基于数据包的目标地址并转发到指定的下一跳路由器,策略路由还利用和扩展IP ACL链接,这样就可以提供更多功能的过滤和分类

route map的一些命令:

一 路由重发布相关

match命令可以和路由的再发布结合使用:

1.match interface {type number} […type number]:匹配指定的下一跳路由器的接口的路由

2.match ip address {ACL number|name} […ACL number|name]:匹配ACL所指定的目标IP地址的路由

3.match ip next-hop {ACL number|name} […ACL number|name]:匹配ACL所指定的下一跳路由器地址的路由

4.match ip route-source {ACL number|name} […ACL number|name]:匹配ACL所指定的路由器所宣告的路由

5.match metric {metric-value}:匹配指定metric大小的路由

6.match route-type {internal|external[type-1|type-2]|level-1|level-2}:匹配指定的OSPF,EIGRP或IS-IS的路由类型的路由

7.match tag {tag-value} […tag-value]:匹配带有标签(tag)的路由

set命令也可以和路由的再发布一起使用:

1.set level {level-1|level-2|level-1-2|stub-area|backbone}:设置IS-IS的Level,或OSPF的区域,匹配成功的路由将被再发布到该区域

2.set metric {metric-value|bandwidth delay RELY load MTU}:为匹配成功的路由设置metric大小

3.set metric-type {internal|external|type-1|type-2}:为匹配成功的路由设置metric的类型,该路由将被再发布到OSPF或IS-IS 1

4.set next-hop {next-hop}:为匹配成功的路由指定下一跳地址

5.set tag {tag-value}:为匹配成功的路由设置标签

二 策略路由相关

match命令还可以和策略路由一起使用:

1.match ip address {ACL number|name} […ACL number|name]:匹配ACL所指定的数据包的特征的路由

2.match length {min} {max}:匹配层3的数据包的长度

set命令也可以和策略路由一起使用:

1.set default interface {type number} […type number]:当不存在指向目标网络的显式路由(explicit route)的时候,为匹配成功的数据包设置出口接口

2.set interface {type number} […type number]:当存在指向目标网络的显式路由的时候,为匹配成功的数据包设置出口接口

3.set ip default next-hop {ip-address} […ip-address]:当不存在指向目标网络的显式路由的时候,为匹配成功的数据包设置下一跳路由器地址

4.set ip precedence {precedence}:为匹配成功的IP数据包设置服务类型(Type of Service,ToS)的优先级

5.set ip tos {tos}:为匹配成功的数据包设置服务类型的字段的TOS位

Configuring Route Maps

route map是通过名字来标识的,每个route map都包含许可或拒绝操作以及一个序列号,序列号在没有给出的情况下默认是10,并且route map允许有多个陈述,如下:

Linus(config)#route-map Hagar 20

Linus(config-route-map)#match ip address 111

Linus(config-route-map)#set metric 50

Linus(config-route-map)#route-map Hagar 15

Linus(config-route-map)#match ip address 112

Linus(config-route-map)#set metric 80

尽管先输入的是20,后输入的是15,IOS将把15放在20之前.

还可以允许删除个别陈述,

如下: Linus(config)#no route-map Hagar 15 在删除的时候要特别小心,假如你输入了no route-map Hegar而没有指定序列号,那么整个route map将被删除.并且如果在添加match和set语句的时候没有指定序列号的话,那么它们仅仅会修改陈述10.在匹配的时候,从上到下,如果匹配成功,将不再和后面的陈述进行匹配,指定操作将被执行

关于拒绝操作,是依赖于route map是使用再路由的再发布中还是策略路由中,

如果是在策略路由中匹配失败(拒绝),那么数据包将按正常方式转发;

如果是用于路由再发布,并且匹配失败(拒绝),那么路由将不会被再发布 如果数据包没有找到任何匹配,和ACL一样,route map末尾也有个默认的隐含拒绝所有的操作,如果是在策略路由中匹配失败(拒绝),那么数据包将按正常方式转发;如果是用于路由再发布,并且匹配失败(拒绝),那么路由将不会被再发布 如果route map的陈述中没有match语句,那么默认的操作是匹配所有的数据包和路由;

每个route map的陈述可能有多个match和set语句,如下:

! route-map Garfield permit 10

match ip route-source 15

match interface Serial0

set metric-type type-1

set next-hop 10.1.2.3 !

在这里,为了执行set语句,每个match语句中都必须进行匹配 .

基于策略的路由

基于策略的路由技术概述:

基于策略的路由为网络管理者提供了比传统路由协议对报文的转发和存储更强的控制能力,传统上,路由器用从路由协议派生出来的路由表,根据目的地址进行报文的转发。

基于策略的路由比传统路由强,使用更灵活,它使网络管理者不能够根据目的地址而且能够根据,报文大小,应用或IP源地址来选择转发路径。策略可以定义为通过多路由器的负载平衡或根据总流量在各线上进行转发的服务质量(QOS)。策略路由使网络管理者能根据它提供的机定一个报文采取的具体路径。而在当今高性能的网络中,这种选择的自由性是很需要的。

策略路由提供了这样一种机制:根据网络管理者制定的标准来进行报文的转发。策略路由用MATCH和SET语句实现路径的选择。

策略路由是设置在接收报文接口而不是发送接口。

基于源地址的策略路由

配置概述:

路由器A将192.1.1.1来的所有数据从接口S0发出,而将从192.1.1.2来的所有数据从接口S1发出。

路由器A定义几个二级接口作为测试点。路由器A和B配置RIP.在A的ETHERNET接口上应用IP策略路由图LAB1,为从192.168.1.1来的数据设置下一跳接口为S0,为从192..1.1.2来的数位设置下一跳接口为S1,所有其他的报文将用基于目的地址的路由。

路由器配置:

ROUTE A:

Version 11.2

No service udp-small-servers

No service tcp-small-servers

Hostname routerA

Interface ethernet0

Ip address 192.1.1.1 255.255.255.0 secondary

Ip address 192.1.1.2 255.255.255.0 secondary

Ip address 192.1.1.3 255.255.255.0 secondary

Ip address 192.1.1.10 255.255.255.0

Ip policy route-map lab1

//策略路由应用于E0口

interface serial0

ip addr 150.1.1.1 255.255.255.0

interface serial1

ip addr 151.1.1.1 255.255.255.0

router rip

network 192.1.1.0

network 150.1.0.0

network 151.1.0.0

ip local policy route-map lab1

//使路由器策略路由本地产生报文

no ip classless

access-list 1 permit 192.1.1.1

access-list 2 permit 192.1.1.2

route-map lab1 permit 10

//定义策略路由图名称:LAB1,10为序号,用来标明被匹配的路由顺序。

Match ip address 1

//匹配地址为访问列表1

Set interface serial0

//匹配下一跳为S0

Route-map lab1 permit 20

Match ip address 2

Set interface serial1

Line con0

Line aux0

Line vty 0 4

Login

End

路由器B为标准配置略。

相关调试命令:

show ip policy

show router-map

debug ip policy
注:PBR以前是CISCO用来丢弃报文的一个主要手段。比如:设置set interface null 0,按CISCO说法这样会比ACL的deny要节省一些开销。这里我提醒:

interface null 0
no ip unreachable //加入这个命令
这样避免因为丢弃大量的报文而导致很多ICMP的不可达消息返回。
三层设备在转发数据包时一般都基于数据包的目的地址(目的网络进行转发),那么策略路由有什么特点呢?
1、可以不仅仅依据目的地址转发数据包,它可以基于源地址、数据应用、数据包长度等。这样转发数据包更灵活。
2、为QoS服务。使用route-map及策略路由可以根据数据包的特征修改其相关QoS项,进行为QoS服务。
3、负载平衡。使用策略路由可以设置数据包的行为,比如下一跳、下一接口等,这样在存在多条链路的情况下,可以根据数据包的应用不同而使用不同的链路,进而提供高效的负载平衡能力。
策 略路由影响的只是本地的行为,所以可能会引起“不对称路由”形式的流量。比如一个单位有两条上行链路A与B,该单位想把所有HTTP流量分担到A 链路,FTP流量分担到B链路,这是没有问题的,但在其上行设备上,无法保证下行的HTTP流量分担到A链路,FTP流量分担到B链路。
策略路由一般针对的是接口入(in)方向的数据包,但也可在启用相关配置的情况下对本地所发出的数据包也进行策略路由。
本文就策略路由的以下四个方面做相关讲解:
1、启用策略路由
2、启用Fast-Switched PBR
3、启用Local PBR
4、启用CEF-Switched PBR
启用策略路由:
开始配置route-map。使用route-map map-tag [permit | deny] [sequence-number]进入route-map的配置模式。
使 用match语句定义感兴趣的流量,如果不定义则指全部流量。match length min max and/or match ip address {access-list-number | name}[...access-list-number | name]
使用set命令设置数据包行为。
set ip precedence [number | name]
set ip next-hop ip-address [... ip-address]
set interface interface-type interface-number [... type number]
set ip default next-hop ip-address [... ip-address]
set default interface interface-type interface-number [... type ...number]
这 里要注意set ip next-hop与set ip default next-hop、set interface与set default interface这两对语句的区别,不含default的语句,是不查询路由表就转发数据包到下一跳IP或接口,而含有default的语句是先查询路 由表,在找不到精确匹配的路由条目时,才转发数据包到default语句指定的下一跳IP或接口。
进入想应用策略路由的接口。interface xxx
应用所定义的策略。注意必须在定义好相关的route-map后才能在接口上使用该route-map,在接口启用route-map策略的命令为:
ip policy route-map map-tag
启用Fast-Switched PBR
在Cisco IOS Release 12.0之前,策略路由只能通过“进程转发”来转发数据包,这样数据包的转发效率是非常低的,在不同的平台上,基本在每秒1000到10,000个数据 包。随着缓存转发技术的出现,Cisco实现了Fast-Switched PBR,大大提升了数据包的转发速度。启用方法即在接口中使用ip route-cache policy命令。
注意:Fast-switched PBR支持所有的match语句及大多数的set语句,但其有下面的两个限制:
不支持set ip default next-hop 与 set default interface命令。
如 果在route-cache中不存在set中指定的接口相关的项,那么仅在point-to-point时set interface命令才能够Fast-switched PBR。而且,在进行“进程转发”时,系统还会先查询路由条目查看该interface是不是一个合理的路径。而在fast switching时,系统不会对此进行检查。
启用Local PBR
默认情况下,路由器自身所产生的数据包不会被策略路由,如果想对路由器自身产生的数据包也进行策略路由,那么需要在全局模式下使用如下命令来启用:
ip local policy route-map map-tag

启用CEF-Switched PBR
在支持CEF的平台上,系统可以使用CEF-Switched PBR来提高PBR的转发速度,其转发速度比Fast-Switched PBR更快!只要你在启用PBR的路由器上启用了CEF,那么CEF-Switched PBR会自动启用。
注:ip route-cache policy仅仅适用于Fast-Switched PBR,在CEF-Switched PBR中并不需要,如果你在启用了CEF的路由器上使用PBR时,这个命令没有任何作用,系统会忽略此命令的存在。
PBR配置案例:
案例1:
路由器通过两条不同的链路连接至两ISP,对于从async 1接口进入的流量,在没有“精确路由”匹配的情况下,把源地址为1.1.1.1的数据包使用策略路由转发至6.6.6.6, 源地址为2.2.2.2的数据包转发至7.7.7.7,其它数据全部丢弃。
配置如下:
access-list 1 permit ip 1.1.1.1
access-list 2 permit ip 2.2.2.2
!
interface async 1
ip policy route-map equal-access
!
route-map equal-access permit 10
match ip address 1
set ip default next-hop 6.6.6.6
route-map equal-access permit 20
match ip address 2
set ip default next-hop 7.7.7.7
route-map equal-access permit 30
set default interface null0
案例2
在 路由器针对不同流量,修改其precedence bit,并设置下一跳地址。对于1.1.1.1产生的流量,设置precedence bit为priority,并设置其下一跳转发地址为3.3.3.3;对于2.2.2.2产生的流量,设置precedence bit为critical,并设置其下一跳转发地址为3.3.3.5.
配置如下:
access-list 1 permit ip 1.1.1.1
access-list 2 permit ip 2.2.2.2
!
interface ethernet 1
ip policy route-map Texas
!
route-map Texas permit 10
match ip address 1
set ip precedence priority
set ip next-hop 3.3.3.3
!
route-map Texas permit 20
match ip address 2
set ip precedence critical
set ip next-hop 3.3.3.5