掌桥专利:专业的专利平台
掌桥专利
首页

SDN网络的带内网络遥测探测路径规划方法及系统

文献发布时间:2023-06-19 13:43:30


SDN网络的带内网络遥测探测路径规划方法及系统

技术领域

本发明属于SDN网络状态参数测量技术领域,尤其涉及一种SDN网络的带内网络遥测探测路径规划方法及系统。

背景技术

软件定义网络(SoftwareDefinedNetwork,SDN)是一种新型网络架构,是网络虚拟化的一种实现方式。通过将传统网络分为控制面和转发面,实现网络中的转控分离,从而实现了网络流量的灵活控制,使网络流量的转发调度变得更加智能,为网络状态测量、流量工程、故障检测等应用提供了基础支撑。

带内网络遥测是近几年兴起的一种测量方法,其测量过程不需要网络控制平面干预,交换设备处理并转发携带遥测指令的数据包,其中遥测指令告诉具备网络遥测功能的网络设备应该收集并写入何种网络状态信息,路径中间的网络设备在转发数据的同时,对数据包依次插入元数据(Measure metadata),其中包括遥测指令中指定写入的网络设备信息及时间戳,完成网络状态采集。相较于传统网络测量方案,带内测量能够对网络拓扑、网络性能和网络流量实现更细粒度的测量。带内网络遥测包括三种节点:1)源节点(INTtraffic sources),2)转发节点(INT traffic transit),3)汇聚节点(INT trafficsinks)。其中,源节点(INT traffic sources)负责将遥测指令嵌入到正常数据包或遥测数据包中;转发节点(INT traffic transit)负责将交换机端口信息以及时间戳嵌入遥测数据包中;汇聚节点(INT traffic sinks)对遥测结果进行提取和上报。

带内网络遥测过程的一个例子如图1所示,其中交换节点A为源节点,B为转发节点,C为汇聚节点。普通数据报文到达带内网络遥测系统的第一个交换节点A时,带内网络遥测模块通过在交换机上设置的采样方式匹配该报文,根据遥测任务的需要在四层头部后插入INT头部,将INT头部所指定的遥测信息封装成元数据(INT Metadata)插入到INT头部之后;报文转发到中间节点B时,设备匹配INT头部后插入INT Metadata;报文转发到带内网络遥测系统最后一跳交换节点C时,设备匹配INT头部插入最后一个INT Metadata并提取全部遥测信息并转发到遥测服务器;遥测服务器解析遥测报文内的遥测信息,上报给上层遥测应用程序。

软件定义网络中的流量工程、网络故障检测、网络状态监控等应用,通常需要获取网络拓扑中每条链路的带宽、时延、丢包率等信息,所以全网覆盖的网络测量对于软件定义网络是极为重要的。全网覆盖的带内网络遥测可以准确获取到网络拓扑中每条链路的时延、带宽以及丢包率等链路状态信息,能够持续监测网络状态,动态高效地测量网络参数,使控制器能够获得全网网络状态,统筹管理全网流量。现有全网覆盖的带内网络遥测方案有:1)基于最短路径的生成树算法的路径覆盖机制,通过配置多个监控点,以监控点为生成树的根,根据最短路径策略规划出多个生成树以覆盖整个网络。该方法存在着测量路径冗余的问题,即同一条链路存在着极大可能被多个生成树覆盖,同一条链路被测量多次会使网络测量效率下降,同时额外配置的监控点会导致维护开销增大。2)基于欧拉回路的路径覆盖策略,通过将无向图扩展为有向图,根据欧拉定理,一定存在这样一条路径,即源节点和汇聚节点为同一个节点,路径覆盖拓扑图中的所有有向边和所有节点,且这条路径保证每条有向边只遍历一次。这种方法解决了基于最短路径的生成树算法中测量路径冗余的问题,但是对于网络规模较大的情况,这种方法会出现测量链路过长,导致探测分组长度超过网络中的MTU值,从而导致网络丢包,网络测量效率下降。3)基于Hierholzer算法的路径覆盖机制,通过Hierholzer算法求解多条欧拉回路,以完成全网的路径覆盖。由于Hierholzer算法生成的多个欧拉路径的长度是无法限制的,所以因测量路径过长而导致探测分组长度超过网络中的MTU值的问题并未解决,并且每条探测路径长度也可能存在较大差距,可能引起网络资源分配不均匀的问题。4)基于启发式贪心算法的图覆盖算法,先将网络拓扑分为多个子集,然后随机选取一条链路,尽可能向这条路径中添加更多的链路,合并子集,以到达探测路径最少的贪心策略。这种路径覆盖算法同样存在着探测分组长度超过网络中的MTU值的问题。

综上所述,全网覆盖的带内网络遥测存在的问题:因为带内网络遥测测量路径需要指定源节点和汇聚节点,并且需要探测路径上的交换节点插入遥测数据,所以长度过长的探测路径会引起探测包大小超过网络MTU,导致探测包丢包率增加;同时存在大量冗余的探测路径会导致测量引入的流量负荷在网络整体流量中占比过大等问题;而额外配置的监控点会给遥测系统带来更大的维护开销。

同时,现有方案对于动态变化的网络拓扑,没有相应的动态调整策略,针对大规模网络,网络拓扑发生变化就重新部署测量路径,会导致维护开销过大,响应速度慢,无法准确高效的调整测量路径。这样的调整策略是低效且难以维护的,所以在动态变化的网络拓扑中,如何减少测量路径的维护难度,提高拓扑变化后部署测量路径的效率,也是软件定义网络环境下带内网络遥测待解决的问题。

发明内容

为了解决现有技术存在的问题,本发明提供一种SDN网络的带内网络遥测探测路径规划方法及系统,能够在遥测探测路径过程中降低测量维护的开销。

本发明所要解决的技术问题是通过以下技术方案实现的:

第一方面,提供了一种SDN网络的带内网络遥测探测路径规划方法,包括:

将网络拓扑分割成若干拓扑子图;

对拓扑子图进行带内网络遥测探测路径进行规划。

结合第一方面,进一步的,还包括:所述对拓扑子图进行带内网络遥测探测路径进行规划包括:

基于欧拉定理通过DFS算法寻找拓扑子图的欧拉回路,从找出的欧拉回路中选取探测路径。

结合第一方面,进一步的,在寻找欧拉回路过程中通过数组undirctedVisited表示拓扑子图无向图边的访问情况,数组dirctedVisited表示有向图边的访问情况,当数组undirctedVisited全覆盖时,则结束寻找,回到起始点;通过遍历选取拓扑子图中的各个节点作为源节点,将欧拉回路最短的路线作为该拓扑子图的网络遥测探测路径,并将该路径的源节点作为最终的源节点。

结合第一方面,进一步的,所述将主网络拓扑分割成若干拓扑子图具体为:

S1、采用Stoer-Wagner算法在待分割的网络拓扑图G中找出任意S-T最小割;

S2、记录分割结果,合并S、T,返回S1直到图G只剩下一个顶点;

S3、从分割结果中随机选择不超过阀值且割的权值最小的结果中的一个作为一个子图;

S4、记录子图分割结果,在当前拓扑中删除分割好的子图,更新整体拓扑的节点集合和边集合

S5、对于新的子图重新回到步骤S1,直到所有子图符合分割阈值大小。

结合第一方面,进一步的,所述阀值符合条件如式(1)所示:

其中,MTU Length为网络MTU的大小,Packet Length为探测数据包的长度,INTHeader Length为带内网络遥测头部长度,INT Metadata Length为带内网络遥测元数据长度。

结合第一方面,进一步的,还包括:当网络拓扑发生变化时,根据拓扑变化情况重新配置相应的探测路径,具体为:

对网络拓扑状态进行动态监测,当网络拓扑发生变化不超过阈值时对网络遥测探测路径进行局部调整,超过阈值则对网络遥测探测路径进行整体调整。

结合第一方面,进一步的,所述阈值为拓扑变化的拓扑子图占所有拓扑子图的50%。

结合第一方面,进一步的,所述局部调整为对于无法继续工作的探测路径所在的子图,以子图内已有源节点为生成树的根,采用深度遍历求解最小生成树,覆盖发生变化了的子图,将该生成树路径作为新的探测路径。

结合第一方面,进一步的,所述整体调整为:重新对网络拓扑分割成若干拓扑子图,对重新分割的拓扑子图进行带内网络遥测探测路径的规划。

第二方面,提供了一种SDN网络带内网络遥测探测路径配置系统,包括:

子图分割模块,用于将网络拓扑分割成若干拓扑子图;

路径规划模块,用于对拓扑子图进行带内网络遥测探测路径进行规划。

本发明有益效果:通过本发明,不仅能够解决探测路径冗余导致测量效率下降,额外的监控节点过多导致部署困难,探测路径过长导致探测分组长度超过网络中的MTU等问题,同时降低了因拓扑变化导致重新写入配置程序给网络带来巨大的开销。

附图说明

图1为现有技术中带内网络遥测测量过程示意图;

图2为本发明中图分割的示意图;

图3为本发明实施例中的系统架构图;

图4为本发明中路径探测过程中局部调整的示意图。

具体实施方式

为了进一步描述本发明的技术特点和效果,以下结合附图和具体实施方式对本发明做进一步描述。

如图1-4,本发明提出了一种SDN网络的带内网络遥测探测路径规划方法,由基于图分割的网络测量路径全网覆盖部署机制以及探测路径在动态拓扑下的自适应调整机制两部分组成。

1.基于图分割的网络测量路径全网覆盖机制

基于图分割的网络测量路径全网覆盖机制主要负责根据网络拓扑规划出覆盖全网的带内网络遥测探测路径,首先利用图分割算法将拓扑图分为多个符合子图阈值大小的子图,然后基于欧拉回路的思想规划子图内的探测路径,最后向交换机下发探测规则。

(1)图分割

图分割作为网络测量路径全网覆盖部署机制的预处理部分,作用是将较大的拓扑子图分为多个符合拓扑分割阈值大小的拓扑子图,并保证子图之间的割边尽量少。这里涉及到几个概念:1)无向图的割指的是,作为无向图G=(V,E),设C为图G中一些弧的集合,若从G中删去C中的所有弧能使图G不是连通图,称C为图G中的一个割,C中的边成为割边;2)S-T割是使顶点S与顶点T不再连通的割。

依据S-T割概念,一个无向图求割的过程中,两点A和B只可能存在两种情况:1)A、B不在同一子图中,即S-T割;2)A、B在同一子图中,即非S-T割。那么当求一个无向图割的过程中,对于其中两点,只需要先求其S-T割,再将两点整合为一个点,同时将与这两点相连的边权值重新计算,对更新后的拓扑图继续寻找新的S-T割,那么就可以覆盖A和B两点的所有分割情况。

通过在Stoer-Wagner算法的流程中,保存每次计算出的割的中间结果,同时限制子图阈值大小,选择一个符合阈值大小且割的权值最小的子图作为一个的分割结果。再对除去这个子图之后的拓扑图重新运行算法,获得下一个子图,直到将整个拓扑图分割成多个符合阈值的子图。

算法主要流程:

图2所示为分割一次子图的示例,每个步骤对应的Cut表示当前拓扑对应最小割的权值,如图2第4步中,节点478与其他节点的割是当前最小割,所以Cut值为3。当分割子图大小符合子图阈值时,即为一次成功的子图分割。例如,当子图阈值大小为3时,图2第4步和图2第7步都是符合子图阈值且割的权值最小的条件的,可以随机选择其中一个作为一次子图分割,删除子图后重新执行算法Step1,获得下一个符合要求的子图。

关于子图阈值大小的选择,子图的欧拉回路路径长度L应该符合如下条件:

在传统网络中,以太网数据包大小在64B到1500B之间;带内网络遥测的头部长度为12字节,Metadata长度为16字节;网络中MTU通常为1500B。将上述理论值带入公式(1),得到子图的欧拉回路路径长度L的理论范围在0到89之间,但是根据相关论文调研,网络中超过60%的流量数据包大小不超过1KB,所以为了满足超过60%的流量在插入带内网络遥测数据后,仍然能够符合MTU大小,那么子图的欧拉回路路径长度应小于30,同时为了保证由无向图扩展为有向图后,路径里边的个数仍小于30,拓扑子图中的无向边个数应小于15,所以子图阈值节点数量应该控制在15以下。同时子图的规模过小会导致子图数量增加,进而导致探测节点数量增加,系统维护开销增大。经测试,子图阈值范围应该控制在10到15之间。本专利中子图阈值设定为10,数值可以根据实际需要修改,修改可参考系统软硬件条件与拓扑规模。

(2)路径规划

路径规划作为网络测量路径全网覆盖部署机制的主要部分,负责对划分好的拓扑子图进行计算,并得到一条覆盖子图所有边的带内网络遥测探测路径。

欧拉路径是指图G中的一个路径包括每个边恰好一次的有向路径。如果一个回路是欧拉路径,则称为欧拉回路(Euler circuit)。一个图G存在欧拉回路的充要条件是G为有向图,G的基图连通,并且所有顶点的出度与入度都相等;或者除两个顶点外,其余顶点的出度与入度都相等,而这两个顶点中一个顶点的出度与入度之差为1,另一个顶点的出度与入度之差为-1。根据上述图G存在欧拉回路充要条件中的第一条,将无向图扩展为有向图,所有顶点的出度与入度都相等,则一定存在一条可以覆盖整个拓扑子图的欧拉路径。

欧拉回路的求解是利用欧拉定理判断出一个图存在欧拉回路或欧拉通路后,随机选择一个正确的起始顶点,用DFS算法遍历所有的边(每一条边只遍历一次),遇到走不通就回退。在搜索前进方向上将遍历过的边按顺序记录下来。这组边的排列就组成了一条欧拉通路或回路。由于拓扑图是由无向图扩展得来的,而求解欧拉路径的目的是覆盖无向图的所有边,由一条无向边扩展来的两条边只需要覆盖一条即可,所以上述计算过程是可以提前结束的,通过维护两个数组undirctedVisited和dirctedVisited,分别表示无向图边的访问情况和有向图边的访问情况,当undirctedVisited全覆盖时,即无向图边全覆盖,就可以结束算法,回到起始点。通过遍历选取子图各个节点作为源节点,选择欧拉回路最短的起点作为最终的源节点。

(3)路径下发

路径的下发是通过P4 Runtime实现的,P4 Runtime是一套基于Protobuf以及gRPC框架上的协议,通过P4 Runtime,SDN控制器可以控制p4的设备,并获得设备基本信息。与传统SDN南向协议openflow不同,除了具备高度弹性的信息格式以外,控制器与设备之间连接的顺序也不同,以往openflow是需要控制器开启特定的接口,然后设备才能连上控制器,p4Runtime则是在设备上开启RPC server,由控制器联系设备,因此设备上会有一个Agent负责处理由控制器发来的请求,完成与控制器互连。上述路径规划求解后的路径通过P4Runtime下发至BMv2交换机,交换机按照规则修改并转发探测包。

2.探测路径在动态拓扑下的自适应调整机制

探测路径在动态拓扑下的自适应调整机制主要负责在拓扑发生变化时,及时根据拓扑变化情况局部或整体的重新计算并配置探测路径。机制主要包括网络状态动态监测,自适应探测路径局部调整,自适应探测路径整体调整三部分。

(1)网络状态动态监测

网络动态检测需要实时监控网络拓扑,并在拓扑发生变化时,及时上报控制器。网络状态动态监测主要由两部分功能组成,包括实时链路状态收集以及链路状态上传汇报。其中链路状态收集主要通过LLDP协议实现,链路状态上传汇报主要通过P4 Runtime来完成。

LLDP定义在802.1ab中,提供了一种标准的链路层发现方式。LLDP协议使得接入网络的一台设备可以将其管理地址、设备标识、接口标识等信息发送给接入同一个局域网络的其它设备。当一个设备从网络中接收到其它设备的这些信息时,它就将这些信息以MIB的形式存储起来。这些MIB信息可用于发现设备的物理拓扑结构以及管理配置信息。

网络设备通过LLDP获取网络中其他设备的MIB信息,并将相关信息通过P4Runtime上传至控制器,从而收集到网络拓扑,以及网络设备之间的实时链路状态。

(2)自适应探测路径局部调整

由于带内网络遥测路径固定,一旦一条路径中的一台交换机出现故障(如图4),因故障引起的问题会导致路径中可以正常工作的交换机也无法正确完成带内网络遥测。而直接重新计算路径并部署探测路径,会给网络中带来很大的开销,而这些开销中很大一部分是没有意义的,因为有子图分割,单独的一个或几个无法正常工作的交换机并不会影响到整个网络中所有探测路径,所以自适应探测路径局部调整更能适合少量的拓扑变化。

网络拓扑发生改变后,对于无法继续工作的测量路径所在的子图,以子图内已有源节点为生成树的根,采用深度遍历求解最小生成树,覆盖发生变化了的子图,从而达到局部调整测量路径的目的。

上述基于图分割的网络测量路径全网覆盖部署机制为探测路径的局部调整提供了前提,对于发生变化的拓扑,其影响会集中于1或2个拓扑子图中,局部利用生成树算法调整探测路径会减轻由于交换机节点在测量中角色发生变化带来的开销。

(3)自适应探测路径整体调整

由于过多的拓扑改变可能导致网络状态测量效率下降,所以在超过一定比例的子图发生改变后,需要重新执行基于图分割的网络测量路径全网覆盖部署机制。本专利设定子图比例超过50%后整体调整,可以根据实际需要修改,修改可参考系统软硬件条件与拓扑规模。

本方法利用图分割的方式对网络拓扑进行划分,基于欧拉回路的思想规划分割后的探测路径,同时利用局部调整和整体调整相结合的思想,在动态拓扑中快速维护探测路径。既能在不需要部署额外监控点的情况下,有效降低因探测包超过MTU导致的丢包,又能减少因链路冗余导致的额外引入流量在网络整体流量中的占比,同时实现对动态网络拓扑变化的及时响应,降低测量维护开销。

上述实施例不以任何形式限定本发明,凡采取等同替换或等效变换的形式所获得的技术方案,均落在本发明的保护范围之内。

相关技术
  • SDN网络的带内网络遥测探测路径规划方法及系统
  • SDN网络的故障节点探测方法及其故障节点探测系统
技术分类

06120113788930