Cisco策略路由精解_第1页
Cisco策略路由精解_第2页
Cisco策略路由精解_第3页
Cisco策略路由精解_第4页
Cisco策略路由精解_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Cisco策略路由(policy route)精解注:PBR以前是CISCO用来丢弃报文的一个主要手段。比如:设置set interface null 0,按CISCO说法这样会比ACL的deny要节省一些开销。这里我提醒: interface null 0no ip unreachable /加入这个命令这样避免因为丢弃大量的报文而导致很多ICMP的不可达消息返回。三层设备在转发数据包时一般都基于数据包的目的地址(目的网络进行转 发),那么策略路由有什么特点呢?1、可以不仅仅依据目的地址转发数据包,它可以基于源地址、数据应用、 数据包长度等。这样转发数据包更灵活。2、为QoS服务。使用rou

2、te-map及策略路由可以根据数据包的特征修改其 相关QoS项,进行为QoS服务。3、负载平衡。使用策略路由可以设置数据包的行为,比如下一跳、下一接 口等,这样在存在多条链路的情况下,可以根据数据包的应用不同而使用不同的 链路,进而提供高效的负载平衡能力。策略路由影响的只是本地的行为,所以可能会引起“不对称路由”形式的流 量。比如一个单位有两条上行链路A与B,该单位想把所有HTTP流量分担到A 链路,FTP流量分担到B链路,这是没有问题的,但在其上行设备上,无法保证 下行的HTTP流量分担到A链路,FTP流量分担到B链路。策略路由一般针对的是接口入(in)方向的数据包,但也可在启用相关配置的

3、情况下对本地所发出的数据包也进行策略路由。本文就策略路由的以下四个方面做相关讲解:1、启用策略路由2、启用 Fast-Switched PBR3、启用 Local PBR4、启用 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.

4、accessTist-number | name使用set命令设置数据包行为。set ip precedence number | nameset ip next-hop ip-address . ip-addressset 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 nex

5、t-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

6、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 d

7、efault interface 命令。如果在route-cache中不存在set中指定的接口相关的项,那么 仅在 point-to-point 时 set interface 命令才能够 Fast-switched PBR。 而且,在进行“进程转发”时,系统还会先查询路由条目查看该 interface是不是一个合理的路径。而在fast switching时,系统不会 对此进行检查。启用 Local PBR默认情况下,路由器自身所产生的数据包不会被策略路由,如果想对路由器 自身产生的数据包也进行策略路由,那么需要在全局模式下使用如下命令来启 用:ip local policy route-ma

8、p 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-SwitchedPBR中并不需要,如果你在启用了 CEF的路由器上使用PBR时,这个命令没有任 何作用,系统会忽略此命令的存在。PBR配置案例:案例1 :路由器通过两条不同的链路连接至两ISP,对于

9、从async 1接口进入的流量,在 没有“精确路由”匹配的情况下,把源地址为的数据包使用策略路由转 发至,源地址为的数据包转发至,其它数据全部丢弃。配置如下:access-list 1 permit ip access-list 2 permit ip !interface async 1ip policy route-map equal-access !route-map equal-access permit 10match ip address 1set ip default next-hop route-map equal-access permit 20match ip addres

10、s 2set ip default next-hop route-map equal-access permit 30set default interface null0案例2在路由器针对不同流量,修改其precedence bit,并设置下一跳地址。对于 产生的流量,设置precedence bit为priority,并设置其下一跳转发 地址为;对于产生的流量,设置precedence bit为critical, 并设置其下一跳转发地址为。配置如下:access-list 1 permit ip access-list 2 permit ip !interface ethernet 1ip

11、 policy route-map Texas !route-map Texas permit 10match ip address 1 set ip precedence priorityset ip next-hop route-map Texas permit 20match ip address 2set ip precedence criticalset ip next-hop 一个 route map 由拥有相同 route-map 名的 route-map statements 集合构成。 这些语句可以用permit和deny来标识是否执行策略路由。如果一个数据包所匹 配的sta

12、tement的标准是deny,则作为通常的目的地址路由来进行转发。如果 是permit,则所有其上的set命令被应用。让我们看一个demo:route-map demo permit 10match X Y Zmatch Aset Bset Croute-map demo permit 20match Qset Rroute-map demo permit 30任何与X、Y、Z匹配的数据包都执行set B和C,如果没有任何匹配, 也就不会执行任何set命令。下面我们具体看一下命令:1、使用 route-map 命令创建 route mapRouter(config)#route-map per

13、mit|deny参数 map-tag 指定了 route map 的名字参数permit和deny指定了如果条件匹配将执行的动作参数 sequence-number 用于区分每一个 route map statement,不同的 statement拥有不同的sequence numbero通过这个参数你可以在一个route map 的特定位置插入或删除一条route map statement,并且可以单独的编辑它。一个route map可以包含多个route map statement,这些语句的执行 顺序像ACL 一样是从上到下。对于一个路由,先匹配的先执行。2、使用match route

14、 map命令定义检查条件Router(config-route-map)#match (3、使用set route-map配置命令定义如果条件匹配后的行为Router(config-route-map)#set (一个 route map 可以包含多个 route map statement, 一个 match 语句 可以包含多个条件。如果一个条件为真,则认为这个条件匹配;然而,必须所有 的条件都匹配,才认为这个route map statement匹配。序列号参数决定了进行条件匹配的顺序。只有序列号为10的语句没有匹 配,才会检查序列号为20的语句才被检查。一个route map的最后默认d

15、eny any。这个deny的使用结果依赖于这 个route map是怎样使用的。如果一个数据包对于route map没有匹配项,它会 按照正常的目的地址路由转发。如果你想丢弃这个包,需要包含一个set语句路 由这个包到一个null接口。这条语句应该被放在route map的最后。Match用来在route-map中执行匹配的标准包括:1、IP访问列表中的源和目的地址2、三层数据包长度1、标准访问列表和扩展访问列表都可用来建立策略路由的匹配标准。要使用IP访问列表来实现策略路由,可以使用match ip address命令:Router(config-route-map)#match ip a

16、ddress | .|如果定义了多个访问控制列表,任何一个访问列表被匹配都认为这条语句被 匹配。2、使用match route map命令定义检查条件Router(config-route-map)#match (3、使用set route-map配置命令定义如果条件匹配后的行为Router(config-route-map)#set (一个 route map 可以包含多个 route map statement, 一个 match 语句 可以包含多个条件。如果一个条件为真,则认为这个条件匹配;然而,必须所有 的条件都匹配,才认为这个route map statement匹配。序列号参数决定

17、了进行条件匹配的顺序。只有序列号为10的语句没有匹 配,才会检查序列号为20的语句才被检查。一个route map的最后默认deny any。这个deny的使用结果依赖于这 个route map是怎样使用的。如果一个数据包对于route map没有匹配项,它会 按照正常的目的地址路由转发。如果你想丢弃这个包,需要包含一个set语句路 由这个包到一个null接口。这条语句应该被放在route map的最后。Match用来在route-map中执行匹配的标准包括:1、IP访问列表中的源和目的地址2、三层数据包长度1、标准访问列表和扩展访问列表都可用来建立策略路由的匹配标准。要使用IP访问列表来实现

18、策略路由,可以使用match ip address命令:Router(config-route-map)#match ip address | .|如果定义了多个访问控制列表,任何一个访问列表被匹配都认为这条语句被 匹配。2、使用match route map命令定义检查条件Router(config-route-map)#match (3、使用set route-map配置命令定义如果条件匹配后的行为Router(config-route-map)#set (一个 route map 可以包含多个 route map statement, 一个 match 语句 可以包含多个条件。如果一个条

19、件为真,则认为这个条件匹配;然而,必须所有 的条件都匹配,才认为这个route map statement匹配。序列号参数决定了进行条件匹配的顺序。只有序列号为10的语句没有匹 配,才会检查序列号为20的语句才被检查。一个route map的最后默认deny any。这个deny的使用结果依赖于这 个route map是怎样使用的。如果一个数据包对于route map没有匹配项,它会 按照正常的目的地址路由转发。如果你想丢弃这个包,需要包含一个set语句路 由这个包到一个null接口。这条语句应该被放在route map的最后。Match用来在route-map中执行匹配的标准包括:1、IP访

20、问列表中的源和目的地址2、三层数据包长度1、标准访问列表和扩展访问列表都可用来建立策略路由的匹配标准。要使用IP访问列表来实现策略路由,可以使用match ip address命令:Router(config-route-map)#match ip address | .|如果定义了多个访问控制列表,任何一个访问列表被匹配都认为这条语句被 匹配。2、match length命令用来基于三层包长度来建立匹配。Router(config-route-map)#match length参数 定义了三层包的最大和最小长度。当一个包的长度在这两个值之间, 匹配成立。可以使用match length命令来

21、区分传输类型,例如:交互数据包和文件传 输数据包,文件传输数据包往往比较大。Set可以使用一系列的set命令来定义当匹配语句满足时,数据包如何通过 路由器进行转发。1、 set ip next-hop2、set interface3、set ip default next-hop4、set ip default interface5、set ip tos6、set ip precedence一些set命令只影响路由表里有明显路由的数据包;其他的set命令只影响 路由表里没有明显路由的数据包。下面我们来仔细看一下:Router (config-route-map) #set ip next-hop .Set ip next hop命令设定流出端口的数据包的下一跳地址。这个地址必须是邻接路由器的ip地址。如果配置了多个接口,则使用第一 个相关的可用接口。这个命令将影响所有的数据包类型并且一直使用。Router (config-route-map) #set interface .Set interface命令为数据包设定出向端口。参数指定接口的类型和编号。 如果定义了多个接口,则使用第一个被发现的up接口。有时,路由表可能不包含到一个数据包目的地址的明显的路由(例如:广播 包或者目的地址未知的数据包),这种情况下,命令将不影响到这些数据包或者 说命令忽略这些数据包。Router(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论