浅析策略路由的实现

2020-10-09 10:24王献宏
电脑知识与技术 2020年22期
关键词:仿真

摘要:策略路由可以根据用户实际需求配置的规则来进行路由转发,对满足设定规则的数据包,执行相对应设置的转发,采用新华三的仿真软件HCL模拟网络环境,针对TCP协议设置了策略路由,在实验环境中分别配置了转发策略和本地策略路由,并进行了相应的测试,验证了配置策略路由后对TCP流量进行分流的效果,对企业网络用户规划策略路由具有一定的参考价值。

关键词:策略路由;HCL;仿真:TCP

中图分类号:TP393 文献标识码:A

文章编号:1009-3044(2020)22-0067-02

开放科学(资源服务)标识码(OSID):

1 基本概念

1.1策略路由的定义

策略路由( POLICY based-routing PBR):匹配目的IP或源IP来进行的转发的策略路由;转发层面的事件,操作对象是数据包,匹配的是数据流;策略路由比所有路由的优先级都高,包括直连路由;只对本地转发表有效,影响下一跳。

1.2 报文转发的流程

没有配置策略路由的数据包转发流程如下:

路由器收到数据包,根据数据包中的目的IP地址,查找路由表进行转发,

1)查到匹配的路由条目,按匹配长度最长的路由进行转发。

2)如果找不到路由条目,如果配置的默认路由,通过默认路由转发。

3)如果没有默认路由,丢弃报文。

配置策略路由后数据包的转发流程如下:

1)策略路的优先级高,先根据设置的策略路由转发。

2)如果没有匹配的节点,或者存在匹配节点,但是指导数据包进行转发失败的时候,则会根据路由表内除默认路由以外的其他路由来对数据包进行转发。

3)如果数据包转发失败,则按照PBR设定的默认下一跳地址来指导数据包转发。

4)如果转发数据包失败,则按照缺省路由转发数据包。

1.3策略路由和路由策略的主要区别

路由策略是按照数据包的属性,使用策略影响路由发布、接收或修改路由的参数而改变路由发现的结果,改变的是路由表,基于策略控制路由的引入、接收和发布,基于控制平面,为路由表和路由协议服务,路由策略和路由协议结合完成策略。

策略路由不改变路由表,优先级高于路由表,转发数据包时,优先根据路由策略进行转发,路由策略没有匹配的规则,才按照路由表进行转发;基于策略控制数据包的转发,可以不按路由表转发,而按照配置的策略转发,转发失败后再查路由表转发,基于转发平面,为转发策略服务,需要手工逐跳进行配置来保证数据包按配置的策略进行转发。

1.4策略路由的类型

转发策略路由:对网络设备转发的报文起作用。

本地策略路由:仅对网络设备自身产生的数据包有作用。

2 策略路由的实现

2.1 配置策略

1)建立策略节点。

2)设定策略节点所要匹配的规则。

3)设定策略节点执行的动作。

策略设定报文要匹配的规则,及匹配指定规则以后要对报文执行阻止或允许的操作。

由若干或一个带编号的节点组成策略,节点的基本构成如下:

(1)用节点编号标识每个节点。优先级越高的节点序号越小,将会优先执行优先级相对较高的节点。

(2)每个节点具体的内容由if-match和apply来设置。if-match指定此节点要匹配的规则,apply子句用来指定此节点执行的动作,一个节点内允许配置多条if-match语句,但只能配置一条相同类型if-match语句,只有最近一次的设置生效。同一个节点内的各种类型if-match语句之间的关系是“与”的关系,即数据包一定匹配该节点全部if-match语句才是满足此节点的匹配规则。一个节点没有设置if-match语句,则任何报文都满足此节点的匹配规则,依据数据包满足全部if-match语句的情况来进行后续的处理。同一个节点可以设定若干条apply语句,但设定的apply语句不一定都执行。

(3)所有节点对数据包的处理方式由匹配的模式来决定。匹配的模式有deny(阻止)和permit(允许)两种。

网络设备应用路由策略后,设备会按照策略中指定的匹配规则及对应执行的操作,来对数据包转发:设备将依据优先级从高到低的次序来匹配配置的各节点,若数据包满足这个节点配置的匹配规则,此节点执行所对应的动作;若数据包不满足节点匹配规则,则按照优先级的次序继续进行下一个节点的匹配;若数据包与策略中所有节点的匹配规则都不满足,则按照路由表进行数据包的轉发。

2.2 应用策略

1)选择至少一项任务进行配置

2)对本地产生的报文应用策略

3)对接口转发的数据包应用策略

4)在指定接口上应用转发策略

3 策略路由部署

3.1 网络拓扑

企业网络连接互联网有两个出口,分别连接联通和电信,联通的链路是IOOM的带宽,电信的带宽较低,只有10M,如果路由器配置浮动路由,电信的链路只能作为备份链路,造成资源浪费,而采用路由策略可以实现不同的流量走不同的路径,把链路带宽充分利用,本实验采用华三云实验室(H3C CloudLab,简称HCL)来搭建网络拓扑,HCL是一款基于图形化界面全真网络仿真软件,此软件可以完成H3C公司多种型号虚拟网络设备的组成的虚拟网络搭建,测试H3C公司Comware V7系列平台的网络设备的实用工具。HCL的PC不支持Telnet,本实验采用Host连接真实机进行测试,通过配置路由策略实现局域网TCP协议的流量走ISP 1的链路,其他流量走ISP2的链路具体实现

(1)基本配置

R1的配置:

[RI] interfaceGigabitEthernet0/0//进入接口

[R1-GigabitEthernetO/O]ip address 172.16.1.1 24//配置IP地址

[R1-GigabitEthernet0/0] interfaceSerial l/0//进入接口

[R1-Seriall/O]ip address 2.2.2.1 24//配置IP地址

[R1-Seriall/0] interfaceGigabitEthernetO/1//进人接口

[R1-GigabitEthernetO/l]ip address l.1.1.1 24//配置IP地址

[H3C]ip route-static 0.0.0.0 0 1.1.1.2//配置默认路由

[H3C]ip route-static 0.0.0.0 0 2.2.2.2 preference 100//配置浮动路由

[Rl]acl basic 2000//设置ACL

[RI-acl-ipv4-basic-2000]rule permit source 172.16.1.00.0.0.255//定义NAT转换的地址

[R1-acl-ipv4-basic-2000lquit

[R1 interfaceGigabitEthernet0/1//进入接口

[R1-GigabitEthernetO/l]nat outbound 2000//配置EasyIP

[R1-GigabitEthemet0/1] interfaceSerial l/0//进入接口

[R1-Seriall/O]nat outbound 2000//配置Easy IP

ISP1的配置:

[ISPI] interfaceGigabitEthernet 0/0//进入接口

[ISPI-GigabitEthernetO/O]ip address l.1.1.2 24//配置IP地址

[ISPI-GigabitEthernetO/O]quit

[ISPl]telnet server enable//启用telnet服务

[ISPl]user-interface vty 0 4

[ISPI-line-vty0-4lset authentication password simple123456 11配置telnet口令

[ISPI-line-vty0-4]user-role network-admin//设置用户角色的权限

ISP2的配置:

[ISPl] interface GigabitEthernet 0/0

[ISPI-GigabitEthernetO/Olip address 2.2.2.2 24

[ISPI-GigabitEthernetO/O]quit

[ISPl]telnet server enable//启用telnet服务

[ISPl]user-interface vty 0 4

[ISPI-line-vty0-4lset authentication

password simple123456//配置telnet口令

[ISPI-line-vty0-4]user-role network-admin//设置用户角色的权限

测试:Host可以telnet到ISPI和ISP2,都可以pmg通两个ISP的接口。

(2)配置基于TCP协议的策略路由

[H3C]acl advanced 3000//定义ACL

[H3 C-acl-ipv4-adv-3000]rule permit tcp//匹配TCP报文

[H3C-acl-ipv4-adv-3000lquit

[H3Clpolicy-based-route tcp permit node 10//定义10号节点

[H3C-pbr-tcp-lO]if-match acl 3000

[H3C-pbr-tcp-lO]apply next-hop l.1.1.2//指定TCP报文下一跳地址为1.1.1.2

(3)在接口上应用转发策略路由

[H3C-pbr-tcp-lO]int g0/0

[H3C-GigabitEthernetO/O]ip policy-based-route tcp//接口上应用转发路由策略

测试结果:

通过Host上测试,Host可以telnet登录到ISPI,telnet登录ISP2失败,Host可以Ping通ISP2的接口,telnet是基于TCP协议的应用,而Ping使用的是ICMP协议,转发路由策略生效。

路由器上测试,在R1上telnet登录ISP1和ISP2均可以正常登录,说明转发路由策略对路由器本身产生的TCP报文不产生效果。

(4)应用本地策略路由

[Rl]ip local policy-based-route tcp //應用本地策略路由

经测试:路由器上telnet登录ISPI正常,telnet登录ISP2失败,R1可以Ping通ISP2的接口,本地策略路由生效。

4 结语

通过HCL仿真测试策略路由,测试了转发策略路由和本地策略路由,策略路由可以根据协议、源IP或目的IP设置指定的下一跳和缺省的下一跳。可以根据企业用户的需求进行相应的设置,但策略路由的缺点是占用设备资源较多,只要配置了策略路由,路由器就要根据设定的规则检查数据包,会一直占用网络设备的资源,建议在真实网络环境中,尽量使用路由策略而减少使用策略路由来实现用户需求。

参考文献:

[1]朱麟,刘源.H3C路由与交换实践教程[M].北京:电子工业出版社,2018.

[2]彭伟.基于策略路由部署的网络多出口设计研究[J].湖南工程学院学报(自然科学版),2019,29(3):48-52.

[3]龚文涛,郎颖莹.基于路由策略和策略路由的Web应用防护架构设计[Jl.计算技术与自动化,2018,37(2):95-99.

【通联编辑:代影】

作者简介:王献宏(1969-),男,河南三门峡人,高级工程师,硕士,主要研究方向为计算机网络、网络安全。

猜你喜欢
仿真
Proteus仿真软件在单片机原理及应用课程教学中的应用
一种帮助幼儿车内脱险应急装置的仿真分析
论虚拟仿真实训系统在口腔实验教学中的应用