本发明属于边缘计算,具体涉及一种软件定义边缘计算网络拓扑重构方法、系统和存储介质。
背景技术:
1、随着物联网、人工智能、大数据等技术的快速发展,越来越多的应用场景需要低延迟、高带宽的计算和存储能力,传统的云计算模式已经无法满足需求。边缘计算作为一种新兴的计算模式,将计算、存储和网络资源放置在靠近用户或数据源的边缘位置,可以有效降低网络延迟,提高数据传输效率。软件定义边缘计算网络( software-defined edgecomputing network,sd-ecn) 是一种基于软件定义网络( software-definednetworking, sdn) 和边缘计算(edge computing)相结合的网络架构。sd-ecn通过将网络控制和计算资源进行虚拟化和集中化管理,实现网络资源的灵活配置和边缘计算的高效利用,从而提供更快速、可靠和安全的网络服务。sd-ecn的架构设计主要包括边缘计算节点、网络控制器和中心控制器三个主要组件。边缘计算节点是sd-ecn的核心部分,负责处理数据和进行计算。边缘计算节点分布在网络边缘,可以是物理服务器、虚拟机或容器等形式。边缘计算节点根据网络控制器的指令进行计算任务的调度和资源的管理,将计算结果返回给用户或其他节点。
2、在基于软件定义网络的边缘计算网络架构中,网络拓扑结构起着重要的作用。为了提高网络的性能和可靠性,在底层,边缘设备被组织成一个分布式的拓扑结构,每个边缘设备都运行一个sdn交换机和一个边缘计算节点。这些边缘设备通过高速链路相互连接,形成一个边缘网络。在中间层,边缘网络通过一个或多个汇聚节点连接到核心网络。核心网络负责整个网络的控制和管理,并提供对外连接的能力。sd-ecn的拓扑架构设计原则是基于软件定义边缘计算网络(sd-ecn)的特点和目标,旨在实现高效、可靠、安全的网络通信。sd-ecn的拓扑架构应该具有弹性和可扩展性,能够适应不同规模和需求的网络环境。sd-ecn拓扑的重建,对指定的网络进行活动设备的检查,得到所有的活动设备,通过snmp取得设备的基本信息,根据基本信息确定设备的类型,再根据设备的类型取得相应设备的详细信息。通过灵活配置和动态调整网络资源,可以实现对网络拓扑的快速重构和扩展。
3、sd-ecn网络系统具有灵活重构网络拓扑的能力。集中式的sdn控制器在资源充足的情况下可以在网络中任两个节点间建立任意粒度的ip链路,实现了ip网络中链路容量和节点间的连接关系的实时灵活调整。针对边缘计算中的单域业务,边缘网络系统可以根据业务带宽需求主动的进行网络拓扑重构,调整ip网络中链路容量和节点间的连接关系,以实现网络资源按需供给,并提高网络资源利用率。针对边云协同、多云计算等跨域业务,多域网络协调器可以通过对相关的域内拓扑重构以降低承载新跨域业务的开销。
4、目前,sd-ecn拓扑重构已经开发了多种方法。
5、ofdp(openflow discovery protocol)协议通过封装链路层发现协议(lldp)包,由控制器发送和接收相关的报文,并解析生成网络拓扑。当s1与s2之间存在一条双向通信链路,其中发包数为所有端口数总和,收包数为链路数的两倍。ofdpv2在ofdp的基础上进行改进,发包阶段由原来的每个端口下发一个lldp包,改进为每个交换机下发一个lldp包,然后由交换机进行复制后转发,减少了发包数量,收包数量不变,提升了效率。在sd-ecn环境中进行拓扑重构,以上两类方案由于重复的链路获取其效率较低,也缺乏对各类拓扑伪造攻击的有效防护。
6、esld在ofdpv2的基础上进一步优化,采用hashmac加密技术,对所有lldp包进行加密;另外,采用端口过滤技术,使lldp包不再发送给主机,在ofdpv2的基础上提升了安全性。在sd-ecn环境中进行拓扑重构,其发包数降低为与实际交换机数量一致,收包数依然按照链路数的两倍计算,增加了加解密的流程,为sdn控制器带来了额外的负载,为保持拓扑重建效率需牺牲边缘计算服务卸载效率。ladp算法的发包方式ofdpv2相同,但优化并设计了新的lldp帧结构,同时采用在帧中设置随机数的方式防止广播风暴。ofdpv3在ofdpv2的基础上进行优化,将ofdpv2中给每个交换机发送一个lldp包的方式,改为整个网络拓扑只发送一个lldp包,然后采用多目广播的方式发现整个拓扑所有链路。以上几类方法在sd-ecn应用类别较多时其发现链路的时间随拓扑深度递增,也缺乏对各类拓扑伪造攻击的有效防护。
7、然而,这些方法为计算密集型,发生故障的链路可能会导致控制器重新路由且产生大量控制器交互packet_in和packet_out消息,控制器须动态完成数据流重路由计算并选取备用路由,更新流表项条目,上述现有方法尚不能完全避免数据重路由和拓扑重构之间的资源争用,当sd-ecn应用类别较多时,重复的链路获取其效率较低,更新消息需依赖于来自控制器的 packet_out消息重复获取,发现链路的时间随拓扑深度递增,同时亦缺乏对原生ofdp模式的有效兼容。
8、因此,本领域亟需开发一种更加轻量级的sd-ecn拓扑重构方法。
技术实现思路
1、针对现有技术的问题,本发明提供一种软件定义边缘计算网络拓扑重构方法、系统和存储介质。
2、一种软件定义边缘计算网络拓扑重构方法,包括如下步骤:
3、步骤 1:在网络控制器中,构造lldp帧和信息绑定表;
4、步骤 2:在网络控制器中,计算骨干交换机集合;
5、步骤 3:在网络控制器中,为每个计算得到的骨干交换机构造lldp报文;
6、步骤 4:在网络控制器中,结合端口的信息绑定表和链路信息表,构造高、中、低三种优先级的流表;
7、步骤 5:将构造好的流表安装到相应的交换机中;
8、步骤 6:网络控制器下发lldp数据包到骨干交换机上;
9、步骤 7:交换机借助所述流表中包含的lldp流表完成对应lldp数据包的转发处理;
10、步骤 8:网络控制器接收来自交换机的lldp数据包并进行解析lldp帧;
11、步骤 9:网络控制器解析完毕后,进行链路合并,更新端口的链路信息表和信息绑定表;
12、步骤 10:根据拓扑的变化情况判断是否重新计算骨干交换机集合;
13、步骤 11:当相邻交换机断开连接时,通知控制器并在消息标头中指定断开连接的相邻交换机的dpid;
14、步骤 12:重新封装packet_in消息并返回到网络控制器,完成一周期的拓扑重构。
15、优选的,步骤1中,所述信息绑定表包括如下字段:源交换机路径id、源交换机端口、接收端口、表项动态时延和表项静态时延。
16、优选的,步骤7中,交换机发送lldp数据包的流程包括:采用openflow默认的ovs-ofctl命令查询交换机的mac 地址、dpid和port_id,同时查找并分配给lldp帧各字段信息;然后使用ovs交换机的ovs_vport_send()函数将合成的lldp帧传输到相应的端口,lldp流表超时状态依据表项动态时延和表项静态时延字段进行处理。
17、优选的,步骤7中,交换机发送lldp数据包的流程包括:检查数据包的以太网字段,确认lldp数据包有效性;在lldp流表匹配方面,当无法检查到lldp流表匹配条目时则插入对应lldp数据包条目,否则将匹配条目的表项动态时延字段更新为lldp数据包中对应帧的ttl值;所有端口维护模式由ovs交换机的ovs_port_modify()进行维护,通过在信息绑定表中搜索接收端口字段进行匹配条目的增删改查;当发生超时事件或检测到端口关闭状态时,删除信息绑定表的条目。
18、优选的,步骤4中,在流表中插入具有高优先级的规则以缩短packet_in消息的处理延迟。
19、优选的,步骤8中,控制器通过源mac地址确定链路源端口,通过packet_in消息来源确定链路目的端口,通过验证上发packet_in消息的交换机包含chassis id的一致性确定链路单向/双向类型。
20、本发明还提供一种用于实现上述软件定义边缘计算网络拓扑重构方法的系统,包括:
21、网络控制器,被配置为执行如下功能:构造lldp帧和信息绑定表;计算骨干交换机集合;为每个计算得到的骨干交换机构造lldp报文;结合端口的信息绑定表和链路信息表,构造高、中、低三种优先级的流表;将构造好的流表安装到相应的交换机中;下发lldp报文到骨干交换机上;接收来自交换机的lldp数据包并进行解析;所述lldp数据包被解析完毕后,进行链路合并,更新端口的链路信息表和信息绑定表;所述lldp数据包被解析完毕后,根据拓扑的变化情况判断是否重新计算骨干交换机集合;
22、交换机,被配置为执行如下功能:借助流表完成lldp数据包的转发处理;当相邻交换机断开连接时,通知控制器并在消息标头中指定断开连接的相邻交换机的dpid;重新封装packet_in消息并返回到网络控制器,完成一周期的拓扑重构。
23、优选的,所述网络控制器还连接有链路发现与拓扑保护模块,所述链路发现与拓扑保护模块被配置为:构造lldp帧和信息绑定表。
24、优选的,所述交换机中集成有lldp发送模块和lldp接收模块,所述lldp发送模块被配置为:发送lldp数据包;所述lldp接收模块被配置为:接收lldp数据包。
25、本发明还提供一种计算机可读存储介质,其上存储有:用于实现上述软件定义边缘计算网络拓扑重构方法或系统的计算机程序。
26、本发明中,所述lldp数据包由多个lldp帧结构组成,lldp数据包在流表(sdn流表)中对应的流表项称为lldp流表。
27、本文的目的在于克服现有sd-ecn拓扑重构机制中存在的效率缺陷,提供一种基于lldp帧优化和最小顶点覆盖思想的动态sd-ecn拓扑重构方法,该拓扑重构机制通过网络控制器和交换机进行实现,通过构造lldp帧与信息绑定表,将openflow交换机(ovs)的lldp帧传输到单跳相邻的交换机。通过接收lldp帧与信息绑定表,每个交换机都可以识别其直接连接的交换机。当相邻交换机连接和断开时,交换机会向控制器实时报告拓扑更改。在进行信息绑定表识别时,利用轻量级的双向链路解析规则和链路合并提供动态多级流表控制报文转发功能。
28、上述sd-ecn拓扑重构机制中,网络控制器下发和接收报文过程均具备轻量级特性。下发报文过程采用最小顶点覆盖算法选取交换机下发报文,报文传输过程中通过流表控制转发,确保不会重复转发或产生冗余报文。而在接收报文阶段,针对单向/双向链路分别设计了新的链路解析规则,使得每条链路仅需解析一个报文,利用轻量级的双向链路解析规则和链路合并提供动态多级流表控制报文转发功能,实现交换机轻量级合成lldp帧模型。因此,这种轻量级机制适于动态的业务需求场景,解析报文数量显著降低,实现高效的拓扑重构。在sd-ecn网络拓扑重建中,本发明亦可选择部分交换机下发lldp包,每条双/单向链路均只解析一个lldp包,通过端口过滤降低主机接收lldp格式,对部分lldp包进行动态加密,防止伪造的恶意拓扑重构信息。由此,本发明的sd-ecn网络拓扑发现算法实现了稳定拓扑背景下高效的链路发现,链路生成检测算法针对提升了链路伪造攻击的防御能力,具有很好的应用前景。
29、显然,根据本发明的上述内容,按照本领域的普通技术知识和惯用手段,在不脱离本发明上述基本技术思想前提下,还可以做出其它多种形式的修改、替换或变更。
30、以下通过实施例形式的具体实施方式,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。凡基于本发明上述内容所实现的技术均属于本发明的范围。
1.一种软件定义边缘计算网络拓扑重构方法,其特征在于,包括如下步骤:
2.按照权利要求1所述的软件定义边缘计算网络拓扑重构方法,其特征在于,步骤1中,所述信息绑定表包括如下字段:源交换机路径id、源交换机端口、接收端口、表项动态时延和表项静态时延。
3.按照权利要求2所述的软件定义边缘计算网络拓扑重构方法,其特征在于,步骤7中,交换机发送lldp数据包的流程包括:采用openflow默认的ovs-ofctl命令查询交换机的mac地址、dpid和port_id,同时查找并分配给lldp帧各字段信息;然后使用ovs交换机的ovs_vport_send()函数将合成的lldp帧传输到相应的端口,lldp流表超时状态依据表项动态时延和表项静态时延字段进行处理。
4.按照权利要求2所述的软件定义边缘计算网络拓扑重构方法,其特征在于,步骤7中,交换机发送lldp数据包的流程包括:检查数据包的以太网字段,确认lldp数据包有效性;在lldp流表匹配方面,当无法检查到lldp流表匹配条目时则插入对应lldp数据包条目,否则将匹配条目的表项动态时延字段更新为lldp数据包中对应帧的ttl值;所有端口维护模式由ovs交换机的ovs_port_modify()进行维护,通过在信息绑定表中搜索接收端口字段进行匹配条目的增删改查;当发生超时事件或检测到端口关闭状态时,删除信息绑定表的条目。
5.按照权利要求2所述的软件定义边缘计算网络拓扑重构方法,其特征在于,步骤4中,在流表中插入具有高优先级的规则以缩短packet_in消息的处理延迟。
6.按照权利要求2所述的软件定义边缘计算网络拓扑重构方法,其特征在于,步骤8中,控制器通过源mac地址确定链路源端口,通过packet_in消息来源确定链路目的端口,通过验证上发packet_in消息的交换机包含chassis id的一致性确定链路单向/双向类型。
7.一种用于实现权利要求1-6任一项所述软件定义边缘计算网络拓扑重构方法的系统,其特征在于,包括:
8.按照权利要求7所述的软件定义边缘计算网络拓扑重构方法的系统,其特征在于:所述网络控制器还连接有链路发现与拓扑保护模块,所述链路发现与拓扑保护模块被配置为:构造lldp帧和信息绑定表。
9.按照权利要求7所述的软件定义边缘计算网络拓扑重构方法的系统,其特征在于:所述交换机中集成有lldp发送模块和lldp接收模块,所述lldp发送模块被配置为:发送lldp数据包;所述lldp接收模块被配置为:接收lldp数据包。
10.一种计算机可读存储介质,其特征在于,其上存储有:用于实现权利要求1-6任一项所述软件定义边缘计算网络拓扑重构方法的计算机程序。
