基于FPGA的SDN网络策略一致性的分段验证方法

文档序号:27253729发布日期:2021-11-03 22:09阅读:189来源:国知局
基于FPGA的SDN网络策略一致性的分段验证方法
基于fpga的sdn网络策略一致性的分段验证方法
技术领域
1.本发明涉及sdn(software defined networking软件定义网络)技术领域,具体涉及一种基于fpga的sdn网络策略一致性的分段验证方法。


背景技术:

2.软件定义网络(software defined network)是一种新型的网络架构,将传统网络的控制逻辑和硬件转发设备解耦,简化了网络管理和功能部署。但随着网络规模的增大,单一的集中控制器已不能满足日益增长的流量处理需求。使用多个控制器将整个网络划分为多个域,每个控制器负责控制管理一个域的交换机,能够降低每个控制器的负载。
3.在sdn网络中,网络应用程序以及操作人员制定网络策略,通过控制器以流规则形式部署到交换机内,然后交换机设备根据内部的流表项对数据包进行转发处理,实现对应的网络策略。然而,如何确保控制平面策略和数据平面数据包转发行为的一致性是需要解决的一个关键问题。
4.目前,sdn网络的策略一致性验证方法可以分为带外检测方法和带内检测的方法。基于带外检测方法,通过将数据包转发的每条信息上传,以获取数据包的历史信息,不仅需要占用较大的流表空间,同时产生较高的通信开销。基于带内检测方法,对数据报头进行修改或者对给定网络中的链路进行编码来获取数据包的路径信息,虽然节省流表空间,但产生了过大的报头开销。


技术实现要素:

5.本发明所要解决的是sdn网络的策略一致性验证问题,提供一种基于fpga的sdn网络策略一致性的分段验证方法。
6.为解决上述问题,本发明是通过以下技术方案实现的:
7.基于fpga的sdn网络策略一致性的分段验证方法,包括如下步骤:
8.步骤1:各个sdn控制器将本域的网络拓扑信息封装成拓扑信息数据包,上传至fpga计算设备;
9.步骤2:fpga计算设备接收各个sdn控制器的拓扑信息数据包,解析拓扑信息数据包并存储拓扑信息,以获取sdn网络的全局拓扑信息;
10.步骤3:fpga计算设备基于全局拓扑信息选取分段验证的检测点,并将检测点信息封装成检测点信息数据包,下发至各个sdn控制器;
11.步骤4:sdn控制器接收和解析检测点信息数据包,并根据检测点信息构造各个分段探测包,指定sdn交换机并行下发各个分段探测包;
12.步骤5:各个分段探测包在每个经过的sdn交换机处添加标签,并分别在到达每个检测点sdn交换机和目的sdn交换机时,将各个添加标签的分段探测包上传至sdn控制器;
13.步骤6:sdn控制器解析sdn控制器返回的各个添加标签的分段探测包,并将标签信息和检测点sdn交换机信息封装成各个分段标签信息数据包,上传至fpga计算设备;
14.步骤7:fpga计算设备解析各个标签信息数据包,收集并还原完整的路径转发序列,所还原出的路径转发序列即为数据平面的实际路径转发序列;
15.步骤8:通过对比fpga计算设备将数据平面的实际路径转发序列与控制平面的期望路径转发序列上各个对应的sdn交换机是否相同来判定sdn网络的数据平面数据包转发行为与控制平面策略是否一致,即:
16.当实际路径转发序列与期望路径转发序列上各个对应sdn的交换机均相同时,则sdn网络的数据平面数据包转发行为与控制平面策略一致;
17.否则,sdn网络的数据平面数据包转发行为与控制平面策略不一致。
18.上述步骤3中,通过检测点选取算法从全局拓扑信息中选取分段验证的检测点,即:
19.步骤3.1:fpga计算设备将获取的sdn网络的全局拓扑信息分割为多个图组件;
20.步骤3.2:将多个图组件的交接处的节点所对应的sdn的交换机作为初步选定的检测点;
21.步骤3.3:在初步选定的检测点的基础上删除检测点,即当任意三个相邻的检测点的第一个检测点与第三个检测点之间的跳数小于p跳时,则删除两者之间的第二个检测点,由此得到初筛后的检测点;
22.步骤3.4:在初筛后的检测点的基础上增加检测点,即当任意两个相邻的检测点的第一个检测点与第二个检测点之间的跳数大于p跳时,则在距离第一个检测点p跳的位置增加一个检测点,由此得到最终选定的分段验证的检测点;
23.其中p为设定的最大标签跳数。
24.上述步骤8中,在sdn网络的数据平面数据包转发行为与控制平面策略不一致时,与期望路径转发序列不同的,实际路径转发序列上的sdn的交换机即为异常工作的sdn交换机。
25.与现有技术相比,本发明利用fpga并行处理和快速计算的优势,创建fpga与控制器信息交互模型,将完整路径进行分段处理,不仅能够减少了探测数据包的头部开销、节省交换机设备的流表空间,而且降低了探测包获取数据平面路径转发信息的时延,快速的验证了数据平面的转发策略的一致性并定位出异常工作的交换机。
附图说明
26.图1为基于fpga的sdn网络策略一致性的分段验证系统的框架图;
27.图2为拓扑信息数据包的格式;
28.图3为检测点信息数据包的格式;
29.图4为分段标签信息数据包的格式。
具体实施方式
30.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实例,对本发明进一步详细说明。
31.一种基于fpga的sdn网络策略一致性的分段验证系统,如图1所示,包括协调平面、控制平面和数据平面三个部分。其中协调平面包括一个fpga计算设备,为增设设备。控制平
面包括至少一个sdn控制器,数据平面包括多个sdn交换机,sdn控制器和sdn交换机构成sdn网络。
32.上述系统所实现的一种基于fpga的sdn网络策略一致性的分段验证方法,具体包括步骤如下:
33.步骤s1:各sdn控制器将其sdni子网拓扑信息无向图g
=(
v
,
e
)
形式转化为邻接矩阵
ri
的形式,并将其封装为udp数据包(拓扑信息数据包)上传至fpga计算设备。
34.上传fpga计算设备的拓扑信息数据包包括4位select(算法选择)、16位data_len(拓扑信息数据的长度)、28位padding(数据填充)和topology(拓扑信息),其格式如图2所示。
35.步骤s2:fpga计算设备接收各个sdn控制器的拓扑信息数据包,解析并存储拓扑信息,以获取sdn网络的全局拓扑信息,使得多个sdn控制器完成拓扑信息的共享。
36.步骤s3:fpga计算设备通过检测点选取算法将全局拓扑信息分割为多个图组件,以选取分段验证的检测点,并将检测点信息封装为udp数据包(检测点信息数据包)下发至各个控制器。
37.下发各sdn控制器的检测点信息数据包包括chekpionts(检测点信息),其格式如图3所示。
38.检测点选取算法的具体过程如下:
39.步骤3.1:fpga计算设备将获取的sdn网络的全局拓扑信息分割为多个图组件;其中图组件包含双连通组件(当图在移除一个任意顶点和与其关联的链接后仍然是连通的)和三连通组件(当图在移除任意两个顶点及其相关联的链接后仍然是连通的)。
40.步骤3.2:将多个图组件的交接处的节点所对应的sdn的交换机作为初步选定的检测点;
41.步骤3.3:在初步选定的检测点的基础上删除检测点,即当任意三个相邻的检测点的第一个检测点与第三个检测点之间的跳数小于p跳时,则删除两者之间的第二个检测点,由此得到初筛后的检测点;
42.步骤3.4:在初筛后的检测点的基础上增加检测点,即当任意两个相邻的检测点的第一个检测点与第二个检测点之间的跳数大于p跳时,则在距离第一个检测点p跳的位置增加一个检测点,由此得到最终选定的分段验证的检测点;
43.其中p为设定的最大标签跳数。
44.步骤s4:sdn控制器接收、解析检测点信息数据包,并根据检测点信息构造各个分段探测包,指定sdn交换机并行下发各个分段探测包。
45.步骤s5:探测包在数据平面即sdn交换机添加标签,并分别在到达每个检测点sdn交换机和目的sdn交换机时触发packet_in事件,将各个添加标签的分段探测包上传至sdn控制器。
46.步骤s6:sdn控制器解析sdn控制器返回的各个分段探测包,并将标签信息和检测点sdn交换机信息封装成udp数据包(各个分段标签信息数据包),上传至fpga计算设备。
47.上传fpga计算设备的分段标签信息数据包包括4位select(算法选择)、16位data_len(标签和交换机信息的数据长度)、28位padding(数据填充)、tag(标签信息)和dpid(交换机信息),其格式如图4所示。
48.根据4位的select(算法选择)判断数据为拓扑信息或者为标签和交换机信息,即当select为0001时,数据为topology(拓扑信息);为0010时,数据为tag(标签信息)和dpid(交换机信息)。
49.步骤s7:fpga计算设备解析各个标签信息数据包,将控制器上传的各个分段的标签和交换机信息进行存储,以还原数据平面数据包转发的完整路径信息(数据平面的实际路径转发信息)。
50.步骤s8:通过对比fpga计算设备将数据平面的实际路径转发序列与控制平面的期望路径转发序列上各个对应的sdn交换机是否相同来判定sdn网络的数据平面数据包转发行为与控制平面策略是否一致,即:
51.当实际路径转发序列与期望路径转发序列上各个对应sdn的交换机均相同时,则sdn网络的数据平面数据包转发行为与控制平面策略一致;
52.否则,sdn网络的数据平面数据包转发行为与控制平面策略不一致,此时,与期望路径转发序列不同的,实际路径转发序列上的sdn的交换机即为异常工作的sdn交换机,由此完成异常sdn交换机的定位。
53.本发明利用fpga并行处理和快速计算的优势,选取检测点对数据包的转发路径进行分段处理。在控制器中加入与fpga信息交互线程,依据fpga设备选取的检测点并行下发构造的探测包,以分别获取分段的转发路径信息,不仅能够减少探测数据包的头部开销、节省交换机设备的流表空间,而且降低了获取数据平面路径转发信息的时延,能够快速的验证控制平面网络策略和数据平面数据包转发行为的一致性并定位出异常工作的交换机。
54.需要说明的是,尽管以上本发明所述的实施例是说明性的,但这并非是对本发明的限制,因此本发明并不局限于上述具体实施方式中。在不脱离本发明原理的情况下,凡是本领域技术人员在本发明的启示下获得的其它实施方式,均视为在本发明的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1