一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

软件定义网络拓扑探测方法及系统与流程

2021-11-03 21:32:00 来源:中国专利 TAG:


1.本发明涉及计算机网络技术领域,尤其涉及一种软件定义网络拓扑探测方法及系统领域。


背景技术:

2.网络拓扑是指网络中交换互联设备、各类设备之间的物理和逻辑连接关系。软件定义网络的控制器需要拥有全局的网络拓扑,才可以根据全局的网络拓扑下发流规则给交换机,实现对网络的细粒度控制。同时网络拓扑信息还是各种网络管理任务的先决条件。例如路由应用程序依靠控制器的拓扑抽象视图提供整个网络的可见性,以便在最短路径上将网络流量路由到其目的地;移动管理功能负责监控节点的移动,移动跟踪依赖于网络拓扑来获取关于网络节点当前和未来位置的信息;负载均衡应用程序使用软件定义网络逻辑集中控制来执行流量负载均衡,需要通过交换机之间链路拓扑来计算选择最优路径。软件定义网络拓扑发现研究对于提高网络的服务能力有着至关重要的作用。
3.现有网络拓扑发现采用链路发现协议,控制器向每个交换机发送链路发现报文,交换机再向每个活跃端口广播转发链路发现报文,收到广播的链路发现报文的每个交换机将其上报给控制器。这种广播式的链路探测方式,将会产生大量的链路发现报文,占用大量的控制器处理开销和网络带宽。降低软件定义网络拓扑发现的处理开销和网络带宽消耗具有重要意义。


技术实现要素:

4.为了解决上述问题,本发明实施例提供一种软件定义网络拓扑探测方法。
5.第一方面,本发明实施例提供一种软件定义网络拓扑探测方法,包括:软件定义网络每个交换机向每一条链路的对端交换机发送包含所述交换机的交换机信息和端口信息、探测标识、响应标识的探测信息,所述响应标识为所述交换机最后一次收到的所述对端交换机的探测标识,所述交换机在所述链路上每次发送的探测标识不同;若交换机收到相连链路的对端交换机发送的探测信息中的响应标识与所述交换机最后一次向所述对端交换机发送的探测标识不同,所述交换机向控制器发送所述对端交换机至所述交换机的单向链路的信息,否则所述链路为双向链路;控制器计算软件定义网络的交换机最小覆盖集合,使软件定义网络的每条链路两端交换机至少有一个在所述交换机最小覆盖集合中,并使所述交换机最小覆盖集合的数量最小,所述最小覆盖集合中的交换机向控制器上报双向链路信息;控制器根据收到的单项链路和双向链路信息生成网络拓扑信息。
6.进一步地,所述交换机向每一条链路的对端交换机发送包含所述交换机的探测标识,包括:
7.所述交换机向每一条链路的对端交换机发送与时间变化相关的探测标识;
8.所述交换机向每一条链路的对端交换机发送与发送次数变化相关的探测标识;
9.所述交换机向每一条链路的对端交换机发送随机变化的探测标识。
10.进一步地,所述交换机向控制器发送所述对端交换机至所述交换机的单向链路的信息,包括:
11.发送包含对端交换机的交换机信息和与所述链路相连的端口信息、所述交换机的交换机信息和与所述链路相连的端口信息的单向链路信息。
12.进一步地,该方法还包括如下一种或多种:
13.控制器通知软件定义网络交换机发起网络拓扑探测;
14.软件定义网络交换机周期性地向控制器上报网络拓扑;
15.软件定义网络交换机在网络拓扑发生变化时上报网络拓扑变更给控制器。
16.第二方面,本发明实施例提供一种软件定义网络拓扑探测现系统,包括:探测信息发送模块,用于交换机发送包含交换机信息和端口信息、探测标识、响应标识的探测信息;探测信息接收模块,用于交换机接收对端交换机发送的探测信息,并提取对端交换机信息和端口信息、探测标识、响应标识;链路信息处理模块,用于交换机将提取的响应标识与所述交换机最后一次向对端交换机发送的探测标识进行对比,若不同则该链路为所述对端交换机至所述交换机的单向链路,否则为双向链路,并将单向链路信息、双向链路信息发送给控制器;网络拓扑生成模块,用于控制器根据收到的单项链路和双向链路信息生成网络拓扑信息。
17.第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现本发明第一方面软件定义网络拓扑探测方法的步骤。
18.第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明第一方面软件定义网络拓扑探测方法的步骤。
19.本发明实施例提供的软件定义网络拓扑探测方法及系统,通过软件定义网络每个交换机向每一条链路的对端交换机发送包含所述交换机的探测标识和响应标识的探测信息,由交换机收到相连链路的对端交换机发送的探测信息中的响应标识与所述交换机最后一次向所述对端交换机发送的探测标识进行对比,如果相同则为双向链路,否则为单向链路。能够有效探测出双向链路,并且能够有效地发现由于链路故障或者软件定义网络中防火墙等设备配置单向传输规则等原因导致的单向链路。软件定义网络拓扑探测只需由最小覆盖集合中的交换机传输双向链路信息、单向链路相连的交换机传输单向链路信息给控制器,能够避免广播式网络拓扑探测导致的每个交换机需要向控制器传输链路信息的情况,能够有效降低发送链路信息所导致的网络资源占用和处理开销。
附图说明
20.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.附图1为本发明实施例提供的软件定义网络拓扑探测方法流程图;
22.附图2为本发明实施例提供的软件定义网络拓扑探测系统结构图;
23.附图3本发明实施例提供的一种电子设备的实体结构示意图。
具体实施方式
24.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.由于现有网络拓扑发现采用链路发现协议,控制器向每个交换机发送链路发现报文,交换机再向每个活跃端口广播转发链路发现报文,收到广播的链路发现报文的交换机将其上报给控制器。这种广播式的链路探测方式,将会产生大量的链路发现报文,占用大量的控制器处理开销和网络带宽。
26.本发明提供了一种软件定义网络拓扑探测方法,通过软件定义网络每个交换机向每一条链路的对端交换机发送包含所述交换机的探测标识和响应标识的探测信息,由交换机收到相连链路的对端交换机发送的探测信息中的响应标识与所述交换机最后一次向所述对端交换机发送的探测标识进行对比,如果相同则为双向链路,否则为单向链路。能够有效探测出双向链路,并且能够有效地发现由于链路故障或者软件定义网络中防火墙等设备配置单向传输规则等原因导致的单向链路。软件定义网络拓扑探测只需由最小覆盖集合中的交换机传输双向链路信息、单向链路相连的交换机传输单向链路信息给控制器,能够避免广播式网络拓扑探测导致的每个交换机需要向控制器传输链路信息的情况,能够有效降低发送链路信息所导致的网络资源占用和处理开销。
27.图1为本发明实施例提供的软件定义网络拓扑探测方法流程图,如图1所示,本发明实施例提供一种软件定义网络拓扑探测方法,包括:
28.101、软件定义网络每个交换机向每一条链路的对端交换机发送包含所述交换机的交换机信息和端口信息、探测标识、响应标识的探测信息,所述响应标识为所述交换机最后一次收到的所述对端交换机的探测标识,所述交换机在所述链路上每次发送的探测标识不同。
29.每个交换机都向每一个链路的对端交换机发送探测信息,这样对一条双向链路来说,两个传输方向上都有交换机发送了探测信息。交换机在探测信息中包含有本次发送的探测标识以及响应标识。其中每个交换机对一条链路发送的探测标识每次都需要变化,与之前曾经在该链路上发送过的不同。同时交换机将上一次接收到的对端交换机发送的探测标识作为本次发送的探测信息中的响应标识。后续向控制器上报单向链路信息、双向链路信息都需要包含链路两端的交换机信息和端口信息,因此在探测信息中需要携带发送端的交换机信息和端口信息。
30.102、若交换机收到相连链路的对端交换机发送的探测信息中的响应标识与所述交换机最后一次向所述对端交换机发送的探测标识不同,所述交换机向控制器发送所述对端交换机至所述交换机的单向链路的信息,否则所述链路为双向链路。
31.当交换机从链路上能够收到对端交换机发送的探测信息,就意味着该条链路从对端交换机至交换机方向的传输是正常的。判定链路是单向的,还需要验证所述交换机至对端交换机方向无法正常传输。如果所述交换机至对端交换机方向是正常的,那么所述交换
机收到对端交换机发送探测信息中的响应标识,也就是对端交换机收到的最近一次所述交换机发送的探测标识,应该与所述交换机上一次发送的探测标识相同,即为双向链路。如果不同,就意味着所述交换机上一次发送的探测标识没有被对端交换机收到,也就意味着所述交换机至对端交换机方向无法正常传输。交换机将该链路只能从对端交换机传输至所述交换机的单向传输的信息传输给控制器。
32.103、控制器计算软件定义网络的交换机最小覆盖集合,使软件定义网络的每条链路两端交换机至少有一个在所述交换机最小覆盖集合中,并使所述交换机最小覆盖集合的数量最小,所述最小覆盖集合中的交换机向控制器上报双向链路信息。
33.每个交换机在加入软件定义网络时,都会向控制器发送交换机信息和端口信息,控制器接收信息并进行解析,提取和纪录交换机之间链路连接关系。控制器从所有交换机中选出部分交换机的集合,使每条链路两端至少有一端的交换机在所述选出的部分交换机集合中,同时所述选出的部分交换机集合数量最小。最小覆盖集合的交换机会将步骤102探测出的双向链路信息传输给控制器。
34.104、控制器根据收到的单项链路和双向链路信息生成网络拓扑信息。
35.由于软件定义网络的每条链路两端交换机都会进行链路探测,所有的双向链路、单向链路的两端交换机信息和端口信息都会被探测出,并被传输给控制器。控制器根据收到的单项链路和双向链路信息来计算生成网络拓扑信息。
36.基于上述实施例的内容,作为一种可选实施例,所述交换机向每一条链路的对端交换机发送包含所述交换机的探测标识,包括:所述交换机向每一条链路的对端交换机发送与时间变化相关的探测标识;所述交换机向每一条链路的对端交换机发送与发送次数变化相关的探测标识;所述交换机向每一条链路的对端交换机发送随机变化的探测标识。
37.由于交换机需要将收到的对端交换机发送的最近一次收到的响应标识与上一次所述交换机发送的探测标识是否相同来判定所述交换机至对端交换机方向是否能够正常传输,从而判定所述交换机和对端交换机间是双向连通,还是对端交换机至所述交换机方向是单项连通。因此在同一条链路上每次发送的探测标识需要不同,例如,可以采用与发送时间相关、与发送次数变化相关等的递增或递减序列号,或者随机变化的标识等作为探测标识,确保每次发送的探测标识不同。
38.基于上述实施例的内容,作为一种可选实施例,所述交换机向控制器发送所述对端交换机至所述交换机的单向链路的信息,包括:发送包含对端交换机的交换机信息和与所述链路相连的端口信息、所述交换机的交换机信息和与所述链路相连的端口信息的单向链路信息。
39.软件定义网络交换机在转发网络数据时,根据控制器下发的流规则来进行数据报文转发,需要控制器计算好转发路径,也就是计算出路径上每个交换机通过哪个端口将网络数据报文转发出去,需要提前知道每条链路的可传输方向以及传输的交换机和端口号,因此上报单向链路信息时,需要携带单向链路的发送交换机信息和端口信息、对端交换机的交换机信息和端口信息。
40.基于上述实施例的内容,作为一种可选实施例,所述方法还包括:控制器通知软件定义网络交换机发起网络拓扑探测;软件定义网络交换机周期性地向控制器上报网络拓扑;软件定义网络交换机在网络拓扑发生变化时上报网络拓扑变更给控制器。
41.在软件定义网络中根据不同情况可以采取不同方式发起网络拓扑探测,可以由控制器周期性地主动发起网络拓扑探测,也可以控制器被动式地、交换机主动式地完成网络拓扑发现,也可以由交换机在网络拓扑发生变化时上报网络拓扑变更。例如,一条链路出现故障断掉时,交换机检测到该链路服务无法正常连通,则会主动上报控制器该条链路的无法连通,使控制器能够及时而不需要等到探测时更新软件定义网络拓扑。
42.图2为本发明实施例提供的软件定义网络探测发现系统结构图,如图2所示,该软件定义网络拓扑探测系统包括:探测信息发送模块201、探测信息接收模块202、链路信息处理模块203、网络拓扑生成模块204。其中,探测信息发送模块201用于交换机发送包含交换机信息和端口信息、探测标识、响应标识的探测信息;探测信息接收模块202用于交换机接收对端交换机发送的探测信息,并提取对端交换机信息和端口信息、探测标识、响应标识;链路信息处理模块203用于交换机将提取的响应标识与所述交换机最后一次向对端交换机发送的探测标识进行对比,若不同则该链路为所述对端交换机至所述交换机的单向链路,否则为双向链路,并将单向链路信息、双向链路信息发送给控制器;网络拓扑生成模块204用于控制器根据收到的单项链路和双向链路信息生成网络拓扑信息。
43.本发明实施例提供的系统实施例是为了实现上述各方法实施例的,具体流程和详细内容请参照上述方法实施例,此处不再赘述。
44.本发明实施例提供的软件定义网络拓扑探测系统,通过软件定义网络每个交换机向每一条链路的对端交换机发送包含所述交换机的探测标识和响应标识的探测信息,由交换机收到相连链路的对端交换机发送的探测信息中的响应标识与所述交换机最后一次向所述对端交换机发送的探测标识进行对比,如果相同则为双向链路,否则为单向链路。能够有效探测出双向链路,并且能够有效地发现由于链路故障或者软件定义网络中防火墙等设备配置单向传输规则等原因导致的单向链路。软件定义网络拓扑探测只需由最小覆盖集合中的交换机传输双向链路信息、单向链路相连的交换机传输单向链路信息给控制器,能够避免广播式网络拓扑探测导致的每个交换机需要向控制器传输链路信息的情况,能够有效降低发送链路信息所导致的网络资源占用和处理开销。
45.图3为本发明实施例提供的一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)301、通信接口(communications interface)302、存储器(memory)303和总线304,其中,处理器301,通信接口302,存储器303通过总线304完成相互间的通信。通信接口302可以用于电子设备的信息传输。处理器301可以调用存储器303中的逻辑指令,以执行包括如下的方法:软件定义网络每个交换机向每一条链路的对端交换机发送包含所述交换机的交换机信息和端口信息、探测标识、响应标识的探测信息,所述响应标识为所述交换机最后一次收到的所述对端交换机的探测标识,所述交换机在所述链路上每次发送的探测标识不同;若交换机收到相连链路的对端交换机发送的探测信息中的响应标识与所述交换机最后一次向所述对端交换机发送的探测标识不同,所述交换机向控制器发送所述对端交换机至所述交换机的单向链路的信息,否则所述链路为双向链路;控制器计算软件定义网络的交换机最小覆盖集合,使软件定义网络的每条链路两端交换机至少有一个在所述交换机最小覆盖集合中,并使所述交换机最小覆盖集合的数量最小,所述最小覆盖集合中的交换机向控制器上报双向链路信息;控制器根据收到的单项链路和双向链路信息生成网络拓扑信息。
46.此外,上述的存储器303中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明上述各方法实施例的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
47.另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:软件定义网络每个交换机向每一条链路的对端交换机发送包含所述交换机的交换机信息和端口信息、探测标识、响应标识的探测信息,所述响应标识为所述交换机最后一次收到的所述对端交换机的探测标识,所述交换机在所述链路上每次发送的探测标识不同;若交换机收到相连链路的对端交换机发送的探测信息中的响应标识与所述交换机最后一次向所述对端交换机发送的探测标识不同,所述交换机向控制器发送所述对端交换机至所述交换机的单向链路的信息,否则所述链路为双向链路;控制器计算软件定义网络的交换机最小覆盖集合,使软件定义网络的每条链路两端交换机至少有一个在所述交换机最小覆盖集合中,并使所述交换机最小覆盖集合的数量最小,所述最小覆盖集合中的交换机向控制器上报双向链路信息;控制器根据收到的单项链路和双向链路信息生成网络拓扑信息。
48.以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
49.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
50.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献