APP下载

基于拓扑描述语言的网络路由技术过程探讨

2018-08-31赵志敏

西部论丛 2018年6期
关键词:技术

赵志敏

摘 要:随着数据中心规模的扩大,OSPF等传统路由算法己经无法满足数据中心网络的路由需求。传统路由算法的思想主要是路由器通过互相发送报文进行拓扑学习然后建立最短路径树来建立路由,其路由计算开销大,收敛时间长。而具有规则拓扑的网络的路由过程可以根据拓扑的规则性得到简化,从而使路由算法易于部署,计算效率更高。因此,对于数据中心网络,基于规则拓扑探究通用的路由算法是一个切实可行的技术路线。

关键词:路由技术;拓扑语言;技术

1路由思想

基于拓扑描述语言的路由技术就是将拓扑描述文件(Topology Description File, TDF)作为路由算法的输入,交换机无需进行全网拓扑学习和最短路径树计算,只需根据距离公式进行计算即可得到最优路径。本文研究的路由算法主要针对具有规则网络拓扑结构的数据中心网络,在规则网络拓扑中,节点的位置信息可以根据其IP地址信息推断得出;而且规则拓扑中设备的位置呈现一定的规律性,在设计路由算法时,我们可以根据规则拓扑的规则特性简化路由计算。本文路由算法将距离公式作为计算路由的依据,利用软件定义网络的OpenFlow技术实现距离公式的部署。在目前的SDN网络中,网络由一个或多个SDN控制器(Controller)和若干SDN交换机组成,控制器负责拓扑发现和路由计算等控制层面的工作,并把路由计算结果通过流表的形式下发到各个交换机上面。交换机负责数据转发工作,根据控制器下发的流表对报文进行转发。在此架构中,SDN控制器承担大量控制层面的工作,容易成为整个网络的瓶颈节点。基于SDN思想的网络架构如图1所示。

本路由思想对SDN控制和转发层面的工作做了一定的修改。SDN控制器仅负责距离公式的下发,通過OpenFlow协议将距离公式下发到各交换机。交换机根据接收到的距离公式计算最短路径并承担后续路由选择和数据报文转发工作。由此可知,本路由方法实现了交换机基本自主路由,大量减少控制器的路由查询和流表下发工作,从而很大程度上减少控制器的负担。

2获取距离公式单元

本文提出的路由算法,将距离公式作为输入,因此,首先介绍距离公式的获取过程。一个大型数据中心网络包含上万台交换机和服务器,为所有交换机逐一配置距离公式显然是不现实的。所以我们引入SDN思想,由SDN控制器以流表的形式统一下发给拓扑中所有交换机。具体下发规则如下:SDN控制器与SDN交换机建立安全通道后,控制器将全网的距离公式下发给所有SDN交换机。交换机收到距离公式后将其保存到本地缓存中,以便在需要路由时计算数据报文转发路径。

由于距离公式由IP地址及其属性推导得出,所以在下发距离公式时需要将整个拓扑描述语言文件下发。SDN控制器利用OpenFlow技术下发距离公式,在传统的SDN架构中,拓扑发现和路径学习都是由控制器完成,交换机只需要按照控制器下发的流表进行转发。而本路由算法只需要控制器在交换机开始工作时下发距离公式,全拓扑的数据路由建立都由OpenFlow交换机自主完成。交换机收到数据包后,将拓扑描述信息提取出来,利用己实现的拓扑描述语言解析描述信息,并将描述信息保存到本地。在本单元,交换机接收到拓扑的描述文件后,利用解析机制将拓扑描述文件解析成各个对象,并将数据提取出来,如距离公式经解析后存储在DistanceTable item中,该结构体主要存储距离公式相关的数据。在计算路由时,交换机根据表中的各项信息以及自身设备信息进行相应的计算操作。

3计算路由单元

路由算法根据距离公式计算路由路径,具体流程如下:

(1)根据距离公式,计算当前节点到目的节点的最短距离d

(2)根据距离公式,计算邻居节点到目的节点的距离{dl , d2, d3,....dn},在其中选择距离为d-1的邻居作为下一跳,构建基础路由。如果存在多条等价路径,可以采用负载均衡策略选择一条路径。交换机在计算路由路径时,需要计算交换机到目的节点的距离,两节点之间的距离根据拓扑描述语言中的距离公式进行计算。拓扑描述语言中的距离公式主要由四元组构成,只有匹配前三个元素,才能得distance的值。对于一个拓扑结构而言,节点种类的组合可能有很多种,对每一组节点类型组合的约(condition)也可能有多个,所以为了计算出距离值,首先需要确定两节点的类型,然后匹配相应的condition。最后得出距离的值。

交换机根据距离公式计算最小距离的过程如下:

(1)当交换机收到数据包时,解析出目的节点IP地址,根据目的。节点地址判断节点类型。

(2)根据自身类型和目的节点类型,选择相应的距离公式计算出交换机到目的节点的距离。

(3)遍历邻居表,根据邻居节点类型和目的节点类型,选择相应的距离公式计算出各邻居节点到目的节点的距离。

(4)在所有距离中选择最小值即为最小距离。

距离公式中可能包含多组,可以表示为{ },所以在计算两节点的距离值时,需要与这些约束条件作对比计算,找到相匹配的一条,返回该condition对应的distance值。

4报文转发

在网络中,通信主体是服务器,服务器将报文发送给目的节点,交换机根据自身路由表对报文进行转发操作,为了减小路由表规模并保证路径的时效性,我们在报文转发过程中实时计算路由路径。交换机接收到一个报文后,首先查询流表,如果没有匹配的流表,则根据距离公式计算路由,并生成流表,进而转发报文。具体转发流程如图3所示。

如图所示,报文转发流程可以总结为如下几步:

(1)查询路由表,如果在路由表里有到目的地址的路由条目,则根据该路由条目转发报文。

(2)如果没有相应的缓存路由,则根据距离公式,计算出到目的节点最近的邻居节点作为下一跳节点。如果存在距离相同的最短路径邻居节点,则根据一定的负载均衡策略选择一个节点作为下一跳节点。

(3)把相应的路由路径加入到路由表当中。

(4)把报文发送给下一跳节点。

在路由表中会存在多条距离相同的最短路径,若随机选择一个作为转发路径,则同一个邻居交换机可能是多个不同目的地址报文的下一跳,所以在大型数据中心网络中,往往采取负载均衡策略来分配网络中的流量,避免某个或某些交换机流量过大,成为整个网络的瓶颈。

综上所述,在路由技术中引入拓扑描述语言,简化了路由算法的计算过程,使路由路径的建立不需要进行全网拓扑学习,只需知道局部拓扑信息即可计算出最终路由,同时,降低了网络中的带宽负载;由于拓扑描述语言支持多种拓扑结构的描述,所以本文提出的路由方法可以应用于多种不同的拓扑架构中,具有较好的通用性。

参考文献:

[1]王瑞雪,面向数据中心的软件定义网络技术研究,北京交通大学,2016.

[2]张届新,在云数据中心组网的应用 [J].电信科学,2015(9).

猜你喜欢

技术
探讨电力系统中配网自动化技术
移动应用系统开发
北京市中小企业优化升级