传统路由的缺陷
传统 IP 路由的概念,所谓的路由,指的是当路由器(或其他支持路由功能的网络设备〉收到一个 IP报文时,在其路由表中查询该报文的目的 IP 地址,在找到最匹配的路由表项后,按照该表项所指示的出接口及下一跳 IP 地址转发该报文从这个描述可以看出,路由行为只关心报文的目的IP地址, 而并不关心其源 IP 地址当面 对一些特殊的需求时,传统的路由行为是存在短板的。
路由策略和策略路由的区别
名称 操作对象 描述 路由策略 路由信息 路由策略是一套对路由信息进行过滤,属性设置等操作的方法,通过对路由的操控,来影响数据报文的转发路径。 策略路由 数据报文 PBR直接对数据报文进行操作,通过多种手段匹配感兴趣的报文,然后执行丢弃或者强制转发路径等操作。
策略路由的分类
本地策略路由:本地策略路由仅对本机下发的报文进行处理,对转发的报文不起作用。
接口策略路由:接口策略路由只对转发的报文起作用,对本地下发的报文(比如本地的Ping报文)不起作用。接口策略路由通过在流行为中配置重定向实现,只对接口入方向的报文生效。 缺省情况下,设备按照路由表的下一跳进行报文转发,如果配置了接口策略路由,则设备按照接口策略路由指定的下一跳进行转发。
智能策略路由:智能策略路由SPR(Smart Policy Routing)是基于业务需求的策略路由,通过匹配链路质量和网络业务对链路质量的需求,实现智能选路。
策略路由的应用
一、本地策略路由
路由器有两条链路与外部网络连接。当需要对路由器本身产生的报文进行策略路由时,就需要配置本地策略路由。
二、接口策略路由
基于源地址选路 :可以指定内网中一些特定的用户使用高速链路,而普通用户使用低速链路。在RouterA上定义一条策略路由,并且定义路由规则和动作,例如可以在Interface3上使能策略路由。使得所有从Interface3接收的源地址为10.110.0.11/24的PC1的报文通过Interface2发送,而其他的报文可以基于目的地址的方法转发。
根据服务级别选路 :对于不同服务要求(如:传送速率、吞吐量以及可靠性等)的数据,根据网络的状况进行不同的路由。如:指定语音与视频等应用使用带宽大的线路,数据应用使用带宽小的线路。假设从Interface1发送报文的线路带宽大,Interface2发送报文的带宽小,则可以在RouterA的Interface3上使用策略路由,使得语音和视频数据通过Interface1发送,数据应用的数据通过Interface2发送,从而满足不同的服务要求。
三、智能策略路由
策略路由的配置步骤
1、配置接口策略路由
配置接口策略路由可以将到达接口的三层报文重定向到指定的下一跳地址。
MQC 包含三个要素流分类 (Traffic Classifier) 、流行为 (Traffic Behavior) 和流策略 Traffic Policy) ,基本 的思路是,使用流分类来匹配具有共同特征的流 ,使用流行为定义所要执行的动作 , 然后通过流策略将前面定义好的流分类与流行为进行绑定,最后将流策略应用到设备上, 从而实现”针对特定的流量执行特定的动作”这一目标。
(1)首先创建 ACL3 001 ,使用该 ACL 匹配 192.168. 1. 0/24 用户发往 Server 的流量, 再创建 ACL3002 ,使用该 ACL 匹配 192.168.2.0/24 用户发往 Server 的流量 (2) 然后定义两个流分类:c1及 c2 ,分别调用 ACL3001 ACL3002 (3)接着定义两个流行为: bel be2 ,分别配置将报文重定向到 10.1.13.1,10.1.23.2 (4) 再定义一个流策略 mypolicy ,将流分类 cl 与流行为 bel 绑定,将流分类 c2 与流行 be2 绑定。 (5) 最后将流策略 mypolicy 应用在 GEO/O/O 口的入方向
实验拓扑
配置
R1、R2、R3、SW2 使用OSPF 发布 10.1.21.0、10.1.22.0、10.1.13.0、10.1.23.0、10.1.1.0
Sw1、R3 之间使用静态路由。
配置两条默认路由,分别指向两台出口设备
[R3]ip route-static 0.0.0.0 010.1.13.1 [R3]ip route-static 0.0.0.0 010.1.23.2
配置两个 ACL.分别用于匹配源地址段 192.168. 1. 0/24 92. 168.2.0/24 发往 Server 的流量
[R3]acI3001 [R3-acl-adv-3001]rule pennit ip source 192.168.1.0 0.0.0.255 destination 10.1.1.0 0.0.0.255 [R3 -acl-3001 I]quit [R3]acl3002 [R3-acl-adv-3002]rule perrnit ip source 192.168.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255 [R3-acl-adv-3002]quit
配置两个流分类,在这两个流分类中分别调用已经定义好两个的 ACL:
[R3]traffic classifi cl [R3 -cl sifier-c l]if-match acl 3001 [R3-classifier-c l]quit [R3] classifier c2 [R3 -cl sifier-c2]iιmatch acl 3002 [R3-classifier-c2]quit
定义两个流行为,分别设置重定向的下一跳 IP 地址为 RI 及R2:
[R3 ]traffic behavior be 1 [R3-behavior-bel]redirect ip-nexthop 10.1.13.1 [R3-behavior-be 1 ]quit [R3 ]traffic behavior be2 [R3-behavior-be2]redirect ip-nexthop 10.1.23.2 [R3-behavior-be2]ψit
定义一个流策略,将上述流分类与流动作进行绑定:
[R3]traffic policy mypolicy [R3-traffic policy-mypolicy]classifier c1 behavior bel [R3-trafficpolicy-mypolicy ]c1 sifier c2 behavior be2
将定义好的流策略应用在R3的 GEO/O/O 接口的入方向
[R3]interface GigabitEthernet 0/0/0 [R3-Gigabit0/O/O]traffic-policy mypolicy inbound
如此一来,当R3在 GEO/O/O 接口上收到流量时,由于该接口入方向应用了流策略, 因此 PCl 访问 Server 的流量会被强制转发给 Rl,而 PC2 访问 Server 的流量会被强制转 发给R2,至于其他流量(例如内网可能还存在 192 .1 68. 1. 0/24 192.168.2.0/24 之外的其 他网段)并不匹配流策略中的任何一个流分类,因此这些流量将按照传统 IP 路由的方式, 通过查询路由表进行转发。
再考虑 一下网络发生故障的情况。当 Rl 发生故障时, R3 将立即感知到该故障的发生,其连接 Rl 的接口状态会变成 Down ,这使得使用该接口作为出接口的默认路由立即失效,与此同时, bel 这个流行为也将失效,因为该流行为所定义的下一跳 IP 地址己经失效。此时当 PCl 访问 Server 时,上行流量到达 R3 后, R3 将依据路由表对这些报文进行转发,最终它将根据下一跳为R2的默认路由将报文转发给R2,因此 PCl 发往 Server 的流量可以在 Rl 发生故障时自动切换到R2 。R2发生故障时同理。
上述测试时请使用R1 G0/0/0 ,R2 G0/0/1 口模拟测试故障。