复杂网络环境下路由选路的研究与应用
2022-08-18孙道远
孙道远
(安徽工贸职业技术学院 计算机信息工程系,安徽 淮南 232001)
大中型园区网络由于规模扩大、业务需求增加,网络环境较为复杂.网络区域通常由总部、分部、特殊保密区域以及数据中心等部分构成,为了提升网络可靠性,数据转发存在多条路径.在目前公开发表的学术刊物中,李永芳提出了基于eNSP的多协议仿真组网设计[1],叶涛提出了基于eNSP的大规模路由综合设计与仿真实验[2],孙光懿提出了基于GNS3的路由综合仿真实验设计与实现[3],曹雪峰等提出了虚拟网络环境下路由综合实验设计与实现[4].上述研究分别是基于华为网络模拟器、思科网络模拟器等虚拟仿真环境模拟网络的搭建进行调试优化,重点剖析了路由协议与路由协议引入等,没有就整体网络的路由选路在真实网络设备环境下进行探讨.韩博在其论文PBR保障内外网互联安全中虽提出路由策略的相关思路与部署,但是并没有给出实践测试数据[5].本文以路由选路作为重点研究方向,通过路由选路原理与方法归纳、网络模型建立、需求环境设置、实际问题解决,使用锐捷网络设备搭建生产环境进行调试测试,力求对路由选路这一网络互联技术重点难点进行探析,形成解决问题的思路与措施.
1 路由选路的工作原理
在网络自治系统内部,数据包转发通过内部网关协议实现,如静态路由协议、RIP、OSPF等路由协议,这些路由协议算法是生成路由表的依据.不同自治系统之间运行着BGP路由协议,实现自治系统之间的路由信息交换.路由选择算法包含带宽、跳数、开销等诸多参数和本地优先级、多出口鉴别器值(MED)、路由标签等属性.在复杂网络环境下,自治系统内部为了提高收敛速度和网络数据传输效率,通常使用OSPF路由协议.OSPF算法是动态路由算法,能够快速适应网络拓扑的变化,支持包括带宽与路径成本等多种度量值[6].但是,OSPF算法也存在一定的缺点即协议复杂,链路状态度量值决定着路由生成的结果,度量值根据链路状态产生,数据转发路径存在不确定性.路由选路技术就是在路由协议运行正常生成路由表的基础上,通过路由协议的度量值、路由属性、策略路由等,指定路由转发路径,实现路径选择,是一种特殊的静态路由技术[7].
路由选路技术是路由技术中的重要组成部分,实现路由选路最重要方式的是对路径成本的控制.当存在多条到达目的的路径时,数据包转发会优先选择路径成本较低的链路,同时把路径成本较高的设备部署为备用路径,当主链路出现故障时会切换到备用链路进行转发,实现链路切换.策略路由(Policy-Based Routing)也是路由选路的重要技术,在路由策略中可以对符合规则的数据流强制指定下一跳设备,实现数据的可控转发.
2 路由选路的实现方法
路由选路的实现方法根据设备所在网络位置,可以分为自治系统内部和自治系统之间.如果在自治系统内部进行路由选路,可以直接在接口上修改链路成本的数值,也可以通过策略路由来进行设置.在路由选路的过程中,数据包会经过多个设备,此时可以通过设置路由标签的方式,一次定义多次使用,如图1所示.路由选路技术的基础是实现整体网络通畅,重点是在不同的网络环境下根据需求对已有路由条目实施路径成本控制与数据流匹配.
图1 使用路由标签进行路由选路示意图
2.1 在接口中调整度量值
在大中型企业园区网络中,通常采用OSPF路由协议作为内部网关协议.OSPF路由协议是基于链路状态作为度量的路由协议,路由器根据链路成本选择最佳转发路径[6].在数据转发存在多个出口时,路由协议会选择接口成本较小的出口进行转发,成本较高的作为备份.在交换网络中,为了提高网络的可靠性,通常会采用“多生成树协议与虚拟路由器冗余协议”(以下简称MSTP+VRRP)的构架.用户业务网段所在的虚拟局域网在两台上联汇聚层交换机上部署网关,运行虚拟路由器冗余协议.虚拟局域网用户数据的主要转发设备和多生成树协议的根交换机会集中在一台汇聚层设备上,另外一台汇聚层设备作为备份设备.当数据继续向外进行转发时,可以使用调整接口度量值的方式,进行接入层用户业务网段数据的路由选路.例如以虚拟局域网10为例,其虚拟接口在其中一台网关设备上的接口开销值为5,在另外一台网关设备上接口开销值为10,那么在运行OSPF协议时数据就会从度量值为5的接口进行转发,度量值为10的接口作为备份,从而实现了接入层用户数据转发时的第一步路由选路.
2.2 使用策略路由进行选路
策略路由是一种在正常路由表建立的基础上采用路由属性进行路由选路的一种方法,通常用于三层网络设备之间的路由选路.当一个三层网络设备存在两台以上三层网络设备出口时,可以使用策略路由,指定数据包的下一跳接口地址,进行路由选路.当网络层设备存在多个出口时,首先使用扩展访问控制列表定义编号将流量匹配出来,如果存在多条数据流就需要定义多条访问控制语句;在此基础上部署策略路由,为策略路由定义名称并设置编号;紧接着进行匹配访问控制列表的编号,决定允许或拒绝策略,根据匹配的数据流量设置不同的下一跳出口进行路由选路.策略路由的匹配顺序为从上往下进行匹配,当流量匹配到策略后,就按匹配的策略转发数据,不再往下匹配[7].策略路由最后有隐含的拒绝所有的语句,对于没有匹配到策略路由的流量,做正常的路由转发[8].
2.3 BGP中的选路策略
在BGP中可以通过本地优先级local-preference和多出口鉴别器med值调整进行路径选择.本地优先级属性是用来影响流量如何离开本地自治系统的,与本地优先级相对应.med值能够在自治系统之间传播,所以med值通常用来操作数据流如何进入本地自治系统.当网络中存在多个入口时,med值可以影响其他自治系统如何选择进入本地AS的路径[6].在BGP中,使用策略路由进行路由选路时,如果目的网络有多条到达路径,本地优先级属性部署在接收端设备上,多出口鉴别器med值属性部署在发送端设备上.本地优先级默认值为100,数值n越大的路径优先级越高,作为转发路径,另外一条作为备份路径.在接收端设备上使用set local-preference n 命令设置优先级,并将策略路由应用在接收端设备的BGP进程中,结尾使用in作为标识.如果使用med属性进行BGP路由选路,则是在发送端设备上使用set metric n 命令设置med值,med值越小表示成本越小,路由越优先,并将策略路由部署在发送端设备的BGP进程中,结尾使用out作为标识.
3 路由选路需求分析
下面以一个具体的网络环境来说明路由选路技术的应用与实现.在大中型企业网络中,由于各部门分布在不同的地理区域,建立的过程有时间上的先后,因而采用了多种路由协议组网,即静态路由、OSPF、RIP、BGP多协议组网.
3.1 路由选路拓扑模型与需求
为了更好地研究路由选路,本文基于真实需求采用锐捷网络设备设计了具体网络环境,网络拓扑如图2所示,网络路由部分的情况如下:在总部区域中部署OSPF进程号为10,规划单区域,S3、S4、EG2都在区域0中;数据中心区域使用OSPF进程号为20,规划多区域,R1、R2在区域0中,R1、R2、R3之间链路在区域1中;分部区域部署 OSPF进程号为30,AC1、EG1在区域0中;总部与A公司互联链路规划至区域0,并且不允许新增 OSPF 进程;为了方便管理,所有运行OSPF的设备router-id必须为loopback 口地址;S5、S6、S7使用RIP协议,RIP协议使用版本2,并且关闭自动聚合;S5、S6、R1、R2 使用BGP协议,BGP 协议中S5、S6 使用AS号100,R1、R2使用AS号200,同AS号内使用loopback口建立iBGP邻居,不同AS号使用互联接口建立eBGP邻居;各设备禁止重发布直连网段,以Network 发布明细路由;AC2/S4、EG1/EG2 间部署静态路由协议[9].
图2 路由选路拓扑结构图
在路由选路的设计中充分考虑业务数据的分流与负载,具体如下:(1)总部有线网络与互联网互通主路径为 S3-EG2,总部无线网络与互联网互通主路径为 S4-EG2;(2)总部有线网段与数据中心服务器互通主路径为 S3-R1-R3,总部无线网段与数据中心服务器互通主路径为 S4-R2-R3;(3)A公司涉密部门VLAN10网段与总部VLAN40 网段间的互通主路径为S3-R1-S5-S7,A 公司涉密部门与数据中心服务器互通的主路径为S7-S5-R1-R3;(4)数据中心服务器与互联网互通的主路径为 R3-R1-S3-EG2,并在每个数据转发都有备份链路,主链路故障可无缝切换到多条备用链路上[9].
3.2 路由协议部署
路由选路是为数据包指定一条具体的转发路径,是在路由协议的基础上进行的选路,因此要进行路由选路首先要实现路由协议的部署及优化.在当前的网络拓扑中,共有4个区域,其中公司总部、数据数据中心、办事处内部运行OSPF路由协议,公司涉密部门运行RIP路由协议;总部与办事处之间通过静态路由协议连接,涉密部门和数据中心之间通过BGP路由协议实现路由引入.
在具体实施过程中,采用先进性区域内部路由贯通,再进行区域之间的路由引入方针.公司总部接入层两台接入层交换机则通过虚拟交换技术(简称VSU)进行聚合成一台设备,提高接入端口数量及转发能力,实现统一管理.VSU设备与两台汇聚层交换机之间通过MSTP协议消除环路,并且让不同的虚拟局域网运行以不同的生成树为根,同时在汇聚层设备上运行VRRP协议实现负载均衡与互为备份.在公司总部、公司数据中心、办事处,运行不同进程的OSPF路由协议,区别不同的路由区域.在公司涉密部门由于网络规模简单部署RIP 路由协议.在公司数据中心和涉密部门之间运行BGP路由协议,在路由协议部署的过程中,可以通过network路由引入的方式,将路由可达的业务网段引入BGP路由进程中.BGP分为EBGP和IBGP,在自治系统之间运行EBGP,使用互联的物理接口地址互联,IBGP运行在自治系统内部,采用全连接的方式,将外部路由传递给区域内路由器,IBGP的出现减少了因路由重分发而带来的路由条目增加困扰.IBGP邻居在自治系统内部,采用loopback地址作为更新源地址,防止了因为物理链路故障而造成的BGP邻居动荡,同时自治系统之间的EBGP路由器使用下一跳命令将传递给IBGP邻居的下一跳设置为本身,实现路由传递的可达性.在路由协议部署完成后,可以实现不同功能区域之间的路由可达,图3为路由器S5上的路由表.
图3 涉密区域设备S5的路由表
3.3 路由选路部署
路由选路是大中型企业网络路由规划和设计的重点.可以通过以下方法实现路由选路部署与实现,在具体调试过程中,选用锐捷系列网络设备进行部署分析.
3.3.1 业务网段路由选路
业务网段部署了VRRP协议存在两个网关,一个业务网段所在的接入层交换机存在着两个汇聚层交换机出口,此时进行路由选路是可以使用调整业务网段虚拟局域网接口开销值实现.
在进行路由选路时,总部有线网络与互联网互通的主路径为S3-EG2;总部无线网络与互联网互通主路径为 S4-EG2.在本项目中总部有线网段有4个,选取其中一个为例,可以通过如下方式部署:
S3(config)#interface vlan 10
//VLAN 10 在网关S3上接口
S3(config-if)#ip ospf cost 5
//VLAN 10 在网关S3上运行ospf协议成本为5
S4(config)#interface vlan 10
//VLAN 10 在网关S4上接口
S4(config-if)#ip ospf cost 10
//VLAN 10 在网关S4上运行ospf协议成本为10[8]
通过上述部署有线业务网段运行ospf路由协议的成本在S3上较小,因此会选择S3-EG2作为有线网络转发路径.同样无线网段VLAN 60可以在S3上将成本设置为10,在S4上将成本设置为5,此时无线网段运行OSPF路由协议时S4成本较小,将会选择S3-EG2作为无线网络转发路径.
3.3.2 策略路由部署
三层设置之间通过策略路由实现路由选路,需求分析中有四个路由选路过程,分别为:总部网段与数据中心、涉密部门与总部网段、涉密部门与数据中心、数据中心与互联网等4个部分.在路由选路的过程中,需要部署在有多条出口路径的设备上,下面重点选取总部与数据中心之间的路由选路进行分析.
(1)总部网段与数据中心路由选路分析.在进行路由选路时,总部有线网段与数据中心服务器互通的主路径为 S3-R1-R3;总部无线网段与数据中心服务器互通主路径为 S4-R2-R3,可以使用如下方式实现:
①配置ACL匹配数据流.在R3上配置ACL,把总部有线及无线网段与数据中心服务器的流量匹配出.以总部有线业务网段VLAN40和无线业务网段VLAN60为例.具体部署如下:
access-list 100 permit ip 172.16.0.0 0.0.0.255 192.1.40.0 0.0.0.255
//配置ACL,匹配数据中心服务器到总部有线网段流量
access-list 101 permit ip 172.16.0.0 0.0.0.255 192.1.60.0 0.0.0.255
//匹配数据中心服务器到总部无线网流量
②配置策略路由.总部数据中心区域运行ospf路由协议,根据链路状态成本,有线数据通过S3之后只有出口路由器R1,与路由器R1相连接只有路由器R3.总部无线业务网段数据经过S4后,与之相连的只有路由器R2,与之相连的是R3,通过总部去往数据中心方向无法实现路由选路.为了解决此问题,只有选择从数据中心往总部数据区域进行路由选路.具体部署如下:
R3(config)#route-map ruijie permit 10
//配置策略路由名称及序号10
R3(config-route-map)#match ip address 100[5]
//部署策略路由匹配的总部有线业务网段数据流
R3(config-route-map)#set ip next-hop 10.1.0.21
//设置有线网络的下一跳为10.1.0.21经R1出口
R3(config-route-map)#set ip next-hop 10.1.0.37
//设置有线网络的下一跳为10.1.0.37经R2出口作为备份
R3(config)#route-map ruijie permit 20
//配置策略路由名称及序号20
R3(config-route-map)#match ip address 101
//部署策略路由匹配的总部无线网络的流量
R3(config-route-map)#set ip next-hop 10.1.0.37
//设置有线网络的下一跳为10.1.0.37经R2出口转发数据
R3(config-route-map)#set ip next-hop 10.1.0.21
//设置无线网络的下一跳为10.1.0.21经R1出口作为备份
策略路由要生效一定要应用到数据包的in方向接口,不能应用到数据包的out方向接口.因为策略路由实际上是在数据包进路由器的时候,强制设置数据包的下一跳,而在out方向接口,路由器已经对数据包完成路由,把数据包从接口转发出去,out方向策略路由不生效[8].
R3(config)# interface Gi0/0//云平台与R3连接的接口
R3(config-if interface Gi0/0)#ip policy route-map ruijie//在入接口上应用策略路由
(2)涉密部门与总部网段路由选路分析.在实现A 公司涉密部门 VLAN10 网段与总部 VLAN40 网段间的互通主路径为S3-R1-S5-S7选路时,在进行路由选路的过程中,要注意观察网络进口与出口的位置,策略路由需要部署在多出口的网络设备上,通过分析选择在进口设备S7上进行部署:首先使用扩展访问控制列表定义涉密部门的网段194.1.10.0到总部市场部网段192.1.40.0之间的数据流量,其次使用策略路由匹配上述数据流量,指定主要转发链路设备S5的下一跳的接口IP地址10.1.0.45与备用转发链路设备S6的下一跳的接口IP地址10.1.0.50,最后在出口设备S7的虚拟局域网10接口上引用策略路由.由此便完成了使用策略路由进行路由选路的部署,总部VLAN40的数据通过前期接口ospf成本值的修改经过汇聚层网关设备S3经过出口路由器R1、经过涉密部门S5到达S7完成路由选路.如果当前链路出现故障,数据就会切换到备份链路经S3-S4-R2-S6-S7进行转发.
(3)涉密部门与数据中心路由选路分析.A 公司涉密部门与数据中心服务器互通的主路径为 S7-S5-R1-R3进行如下部署.在此需求中同样选择S7作为策略路由部署设备,将下一跳设置为S5,S6作为备份切换设备.此处部署可以参照总数与数据中心之间的配置命令不再赘述.
(4)数据中心与互联网互通选路分析.在实现数据中心服务器与互联网互通的主路径为 R3-R1-S3-EG2选路时,只有路由器R3具备一个进口,两个出口数据链路,因此策略路由部署在R3上,数据中心与互联网之间的数据流,选择R1路由器作为主链路,数据经过R1的F1/0接口10.1.0.21地址进行转发,选择路由器R2的F1/0接口10.1.0.37作为备份链路.
(5)路由选路部署小结.路由技术的成功部署是数据通畅、网络可靠性、安全技术、无线技术部署的基础.在进行路由选路部署过程中,选择部署设备很关键,总部、数据中心、涉密部门、互联网段等四个区域,总部业务网段转发至其他区域时首先通过在汇聚层网关设备上设置开销值进行转发,实现有线数据经过S3进行转发、无线数据经过S4进行转发,接下来的转发则要通过逆向思维,在数据中心、涉密部门的单一数据进口方向设备上部署策略路由进行路由选路,实现数据来回路径一致.
4 路由选路的测试
通过上述路由选路的部署与设备的调试,实现了预期的目标,在此选取实现总部有线网段与数据中心服务器互通主路径为 S3-R1-R3的测试结果进行展示,主链路数据路径如图4所示,当R1出现故障时链路切换至S4-R2-R3,实现了预期路由选路的目标.
图4 采用策略路由后数据转发表
当S3与R1之间的链路出现故障后,总部有线网段与数据中心服务器数据转发路径经过备份链路R2的接口到达R3,实现数据的转发,测试结果如图5所示.
图5 主链路断开后启用备用链路数据转发表
通过实验测试,实现了A 公司涉密部门网段 VLAN10 网段与总部 VLAN40 网段间的互通主路径为S3-R1-S5-S7,数据中心服务器与互联网互通的主路径为 R3-R1-S3-EG2以及备用链路的切换,从而实现了路由选路的功能部署.
5 结语
路由选路技术是数据转发优化的重要组成部分,通过基础路由协议的部署与优化,在路由表形成的基础上,在数据转发出口设备上使用接口成本值、策略路由部署等方式,使复杂网络环境下路由选路的规则与实现方法变得清晰,提升了数据转发效率,减轻了链路数据流量压力.同时,在路由选路时增加了备份切换路径,增加了网络的可靠性,实现了不同业务数据流量的分流备份,对于现实环境下网络运行部署有着一定的参考与实际意义.