CN113595793B - 基于fpga的sdn网络策略一致性的分段验证方法 - Google Patents
基于fpga的sdn网络策略一致性的分段验证方法 Download PDFInfo
- Publication number
- CN113595793B CN113595793B CN202110870577.8A CN202110870577A CN113595793B CN 113595793 B CN113595793 B CN 113595793B CN 202110870577 A CN202110870577 A CN 202110870577A CN 113595793 B CN113595793 B CN 113595793B
- Authority
- CN
- China
- Prior art keywords
- sdn
- detection
- detection point
- fpga
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 title claims abstract description 13
- 230000011218 segmentation Effects 0.000 title description 3
- 238000001514 detection method Methods 0.000 claims abstract description 115
- 238000012216 screening Methods 0.000 claims description 6
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 3
- 230000002159 abnormal effect Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 4
- 238000004364 calculation method Methods 0.000 abstract description 3
- 230000003993 interaction Effects 0.000 abstract description 3
- BCGWQEUPMDMJNV-UHFFFAOYSA-N imipramine Chemical compound C1CC2=CC=CC=C2N(CCCN(C)C)C2=CC=CC=C21 BCGWQEUPMDMJNV-UHFFFAOYSA-N 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种基于FPGA的SDN网络策略一致性的分段验证方法,利用FPGA并行处理和快速计算的优势,选取检测点对数据包的转发路径进行分段处理。在控制器中加入与FPGA信息交互线程,依据FPGA设备选取的检测点并行下发构造的探测包,以分别获取分段的转发路径信息,不仅能够减少探测数据包的头部开销、节省交换机设备的流表空间,而且降低了获取数据平面路径转发信息的时延,能够快速的验证控制平面网络策略和数据平面数据包转发行为的一致性并定位出异常工作的交换机。
Description
技术领域
本发明涉及SDN(Software Defined Networking软件定义网络)技术领域,具体涉及一种基于FPGA的SDN网络策略一致性的分段验证方法。
背景技术
软件定义网络(Software Defined Network)是一种新型的网络架构,将传统网络的控制逻辑和硬件转发设备解耦,简化了网络管理和功能部署。但随着网络规模的增大,单一的集中控制器已不能满足日益增长的流量处理需求。使用多个控制器将整个网络划分为多个域,每个控制器负责控制管理一个域的交换机,能够降低每个控制器的负载。
在SDN网络中,网络应用程序以及操作人员制定网络策略,通过控制器以流规则形式部署到交换机内,然后交换机设备根据内部的流表项对数据包进行转发处理,实现对应的网络策略。然而,如何确保控制平面策略和数据平面数据包转发行为的一致性是需要解决的一个关键问题。
目前,SDN网络的策略一致性验证方法可以分为带外检测方法和带内检测的方法。基于带外检测方法,通过将数据包转发的每条信息上传,以获取数据包的历史信息,不仅需要占用较大的流表空间,同时产生较高的通信开销。基于带内检测方法,对数据报头进行修改或者对给定网络中的链路进行编码来获取数据包的路径信息,虽然节省流表空间,但产生了过大的报头开销。
发明内容
本发明所要解决的是SDN网络的策略一致性验证问题,提供一种基于FPGA的SDN网络策略一致性的分段验证方法。
为解决上述问题,本发明是通过以下技术方案实现的:
基于FPGA的SDN网络策略一致性的分段验证方法,包括如下步骤:
步骤1:各个SDN控制器将本域的网络拓扑信息封装成拓扑信息数据包,上传至FPGA计算设备;
步骤2:FPGA计算设备接收各个SDN控制器的拓扑信息数据包,解析拓扑信息数据包并存储拓扑信息,以获取SDN网络的全局拓扑信息;
步骤3:FPGA计算设备基于全局拓扑信息选取分段验证的检测点,并将检测点信息封装成检测点信息数据包,下发至各个SDN控制器;
步骤4:SDN控制器接收和解析检测点信息数据包,并根据检测点信息构造各个分段探测包,指定SDN交换机并行下发各个分段探测包;
步骤5:各个分段探测包在每个经过的SDN交换机处添加标签,并分别在到达每个检测点SDN交换机和目的SDN交换机时,将各个添加标签的分段探测包上传至SDN控制器;
步骤6:SDN控制器解析SDN控制器返回的各个添加标签的分段探测包,并将标签信息和检测点SDN交换机信息封装成各个分段标签信息数据包,上传至FPGA计算设备;
步骤7:FPGA计算设备解析各个标签信息数据包,收集并还原完整的路径转发序列,所还原出的路径转发序列即为数据平面的实际路径转发序列;
步骤8:通过对比FPGA计算设备将数据平面的实际路径转发序列与控制平面的期望路径转发序列上各个对应的SDN交换机是否相同来判定SDN网络的数据平面数据包转发行为与控制平面策略是否一致,即:
当实际路径转发序列与期望路径转发序列上各个对应SDN的交换机均相同时,则SDN网络的数据平面数据包转发行为与控制平面策略一致;
否则,SDN网络的数据平面数据包转发行为与控制平面策略不一致。
上述步骤3中,通过检测点选取算法从全局拓扑信息中选取分段验证的检测点,即:
步骤3.1:FPGA计算设备将获取的SDN网络的全局拓扑信息分割为多个图组件;
步骤3.2:将多个图组件的交接处的节点所对应的SDN的交换机作为初步选定的检测点;
步骤3.3:在初步选定的检测点的基础上删除检测点,即当任意三个相邻的检测点的第一个检测点与第三个检测点之间的跳数小于P跳时,则删除两者之间的第二个检测点,由此得到初筛后的检测点;
步骤3.4:在初筛后的检测点的基础上增加检测点,即当任意两个相邻的检测点的第一个检测点与第二个检测点之间的跳数大于P跳时,则在距离第一个检测点P跳的位置增加一个检测点,由此得到最终选定的分段验证的检测点;
其中P为设定的最大标签跳数。
上述步骤8中,在SDN网络的数据平面数据包转发行为与控制平面策略不一致时,与期望路径转发序列不同的,实际路径转发序列上的SDN的交换机即为异常工作的SDN交换机。
与现有技术相比,本发明利用FPGA并行处理和快速计算的优势,创建FPGA与控制器信息交互模型,将完整路径进行分段处理,不仅能够减少了探测数据包的头部开销、节省交换机设备的流表空间,而且降低了探测包获取数据平面路径转发信息的时延,快速的验证了数据平面的转发策略的一致性并定位出异常工作的交换机。
附图说明
图1为基于FPGA的SDN网络策略一致性的分段验证系统的框架图;
图2为拓扑信息数据包的格式;
图3为检测点信息数据包的格式;
图4为分段标签信息数据包的格式。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实例,对本发明进一步详细说明。
一种基于FPGA的SDN网络策略一致性的分段验证系统,如图1所示,包括协调平面、控制平面和数据平面三个部分。其中协调平面包括一个FPGA计算设备,为增设设备。控制平面包括至少一个SDN控制器,数据平面包括多个SDN交换机,SDN控制器和SDN交换机构成SDN网络。
上述系统所实现的一种基于FPGA的SDN网络策略一致性的分段验证方法,具体包括步骤如下:
步骤S1:各SDN控制器将其SDNi子网拓扑信息无向图G=(V,E)形式转化为邻接矩阵Ri的形式,并将其封装为UDP数据包(拓扑信息数据包)上传至FPGA计算设备。
上传FPGA计算设备的拓扑信息数据包包括4位select(算法选择)、16位data_len(拓扑信息数据的长度)、28位padding(数据填充)和topology(拓扑信息),其格式如图2所示。
步骤S2:FPGA计算设备接收各个SDN控制器的拓扑信息数据包,解析并存储拓扑信息,以获取SDN网络的全局拓扑信息,使得多个SDN控制器完成拓扑信息的共享。
步骤S3:FPGA计算设备通过检测点选取算法将全局拓扑信息分割为多个图组件,以选取分段验证的检测点,并将检测点信息封装为UDP数据包(检测点信息数据包)下发至各个控制器。
下发各SDN控制器的检测点信息数据包包括chekpionts(检测点信息),其格式如图3所示。
检测点选取算法的具体过程如下:
步骤3.1:FPGA计算设备将获取的SDN网络的全局拓扑信息分割为多个图组件;其中图组件包含双连通组件(当图在移除一个任意顶点和与其关联的链接后仍然是连通的)和三连通组件(当图在移除任意两个顶点及其相关联的链接后仍然是连通的)。
步骤3.2:将多个图组件的交接处的节点所对应的SDN的交换机作为初步选定的检测点;
步骤3.3:在初步选定的检测点的基础上删除检测点,即当任意三个相邻的检测点的第一个检测点与第三个检测点之间的跳数小于P跳时,则删除两者之间的第二个检测点,由此得到初筛后的检测点;
步骤3.4:在初筛后的检测点的基础上增加检测点,即当任意两个相邻的检测点的第一个检测点与第二个检测点之间的跳数大于P跳时,则在距离第一个检测点P跳的位置增加一个检测点,由此得到最终选定的分段验证的检测点;
其中P为设定的最大标签跳数。
步骤S4:SDN控制器接收、解析检测点信息数据包,并根据检测点信息构造各个分段探测包,指定SDN交换机并行下发各个分段探测包。
步骤S5:探测包在数据平面即SDN交换机添加标签,并分别在到达每个检测点SDN交换机和目的SDN交换机时触发packet_in事件,将各个添加标签的分段探测包上传至SDN控制器。
步骤S6:SDN控制器解析SDN控制器返回的各个分段探测包,并将标签信息和检测点SDN交换机信息封装成UDP数据包(各个分段标签信息数据包),上传至FPGA计算设备。
上传FPGA计算设备的分段标签信息数据包包括4位select(算法选择)、16位data_len(标签和交换机信息的数据长度)、28位padding(数据填充)、tag(标签信息)和dpid(交换机信息),其格式如图4所示。
根据4位的select(算法选择)判断数据为拓扑信息或者为标签和交换机信息,即当select为0001时,数据为topology(拓扑信息);为0010时,数据为tag(标签信息)和dpid(交换机信息)。
步骤S7:FPGA计算设备解析各个标签信息数据包,将控制器上传的各个分段的标签和交换机信息进行存储,以还原数据平面数据包转发的完整路径信息(数据平面的实际路径转发信息)。
步骤S8:通过对比FPGA计算设备将数据平面的实际路径转发序列与控制平面的期望路径转发序列上各个对应的SDN交换机是否相同来判定SDN网络的数据平面数据包转发行为与控制平面策略是否一致,即:
当实际路径转发序列与期望路径转发序列上各个对应SDN的交换机均相同时,则SDN网络的数据平面数据包转发行为与控制平面策略一致;
否则,SDN网络的数据平面数据包转发行为与控制平面策略不一致,此时,与期望路径转发序列不同的,实际路径转发序列上的SDN的交换机即为异常工作的SDN交换机,由此完成异常SDN交换机的定位。
本发明利用FPGA并行处理和快速计算的优势,选取检测点对数据包的转发路径进行分段处理。在控制器中加入与FPGA信息交互线程,依据FPGA设备选取的检测点并行下发构造的探测包,以分别获取分段的转发路径信息,不仅能够减少探测数据包的头部开销、节省交换机设备的流表空间,而且降低了获取数据平面路径转发信息的时延,能够快速的验证控制平面网络策略和数据平面数据包转发行为的一致性并定位出异常工作的交换机。
需要说明的是,尽管以上本发明所述的实施例是说明性的,但这并非是对本发明的限制,因此本发明并不局限于上述具体实施方式中。在不脱离本发明原理的情况下,凡是本领域技术人员在本发明的启示下获得的其它实施方式,均视为在本发明的保护之内。
Claims (3)
1.基于FPGA的SDN网络策略一致性的分段验证方法,其特征是,包括如下步骤:
步骤1:各个SDN控制器将本域的网络拓扑信息封装成拓扑信息数据包,上传至FPGA计算设备;
步骤2:FPGA计算设备接收各个SDN控制器的拓扑信息数据包,解析拓扑信息数据包并存储拓扑信息,以获取SDN网络的全局拓扑信息;
步骤3:FPGA计算设备基于全局拓扑信息选取分段验证的检测点,并将检测点信息封装成检测点信息数据包,下发至各个SDN控制器;
步骤4:SDN控制器接收和解析检测点信息数据包,并根据检测点信息构造各个分段探测包,指定SDN交换机并行下发各个分段探测包;
步骤5:各个分段探测包在每个经过的SDN交换机处添加标签,并分别在到达每个检测点SDN交换机和目的SDN交换机时,将各个添加标签的分段探测包上传至SDN控制器;
步骤6:SDN控制器解析SDN控制器返回的各个添加标签的分段探测包,并将标签信息和检测点SDN交换机信息封装成各个分段标签信息数据包,上传至FPGA计算设备;
步骤7:FPGA计算设备解析各个标签信息数据包,收集并还原完整的路径转发序列,所还原出的路径转发序列即为数据平面的实际路径转发序列;
步骤8:通过对比FPGA计算设备将数据平面的实际路径转发序列与控制平面的期望路径转发序列上各个对应的SDN交换机是否相同来判定SDN网络的数据平面数据包转发行为与控制平面策略是否一致,即:
当实际路径转发序列与期望路径转发序列上各个对应SDN的交换机均相同时,则SDN网络的数据平面数据包转发行为与控制平面策略一致;
否则,SDN网络的数据平面数据包转发行为与控制平面策略不一致。
2.根据权利要求1所述基于FPGA的SDN网络策略一致性的分段验证方法,其特征是,步骤3中,通过检测点选取算法从全局拓扑信息中选取分段验证的检测点,即:
步骤3.1:FPGA计算设备将获取的SDN网络的全局拓扑信息分割为多个图组件;
步骤3.2:将多个图组件的交接处的节点所对应的SDN的交换机作为初步选定的检测点;
步骤3.3:在初步选定的检测点的基础上删除检测点,即当任意三个相邻的检测点的第一个检测点与第三个检测点之间的跳数小于P跳时,则删除两者之间的第二个检测点,由此得到初筛后的检测点;
步骤3.4:在初筛后的检测点的基础上增加检测点,即当任意两个相邻的检测点的第一个检测点与第二个检测点之间的跳数大于P跳时,则在距离第一个检测点P跳的位置增加一个检测点,由此得到最终选定的分段验证的检测点;
其中P为设定的最大标签跳数。
3.根据权利要求1所述基于FPGA的SDN网络策略一致性的分段验证方法,其特征是,步骤8中,在SDN网络的数据平面数据包转发行为与控制平面策略不一致时,与期望路径转发序列不同的,实际路径转发序列上的SDN的交换机即为异常工作的SDN交换机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110870577.8A CN113595793B (zh) | 2021-07-30 | 2021-07-30 | 基于fpga的sdn网络策略一致性的分段验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110870577.8A CN113595793B (zh) | 2021-07-30 | 2021-07-30 | 基于fpga的sdn网络策略一致性的分段验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113595793A CN113595793A (zh) | 2021-11-02 |
CN113595793B true CN113595793B (zh) | 2023-11-07 |
Family
ID=78252448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110870577.8A Active CN113595793B (zh) | 2021-07-30 | 2021-07-30 | 基于fpga的sdn网络策略一致性的分段验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113595793B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114650141B (zh) * | 2022-02-23 | 2024-01-30 | 桂林电子科技大学 | 一种基于fpga的sdn网络策略合法性的验证方法 |
CN117650953B (zh) * | 2024-01-30 | 2024-05-10 | 东北大学 | 一种应用于软件定义网络的轻量级路径验证方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106130903A (zh) * | 2016-07-08 | 2016-11-16 | 桂林电子科技大学 | 基于fpga的sdn交换机流表加密方法 |
WO2017016162A1 (zh) * | 2015-07-29 | 2017-02-02 | 中国科学院沈阳自动化研究所 | 一种基于sdn架构的工业通信流传输安全控制方法 |
CN110225008A (zh) * | 2019-05-27 | 2019-09-10 | 四川大学 | 一种云环境下sdn网络状态一致性验证方法 |
CN111464340A (zh) * | 2020-03-19 | 2020-07-28 | 北京大学深圳研究生院 | 一种网络控制方法、数据转发方法及软件定义网络 |
CN112350948A (zh) * | 2020-10-28 | 2021-02-09 | 武汉大学 | 一种基于sdn的分布式网络溯源系统及方法 |
-
2021
- 2021-07-30 CN CN202110870577.8A patent/CN113595793B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017016162A1 (zh) * | 2015-07-29 | 2017-02-02 | 中国科学院沈阳自动化研究所 | 一种基于sdn架构的工业通信流传输安全控制方法 |
CN106130903A (zh) * | 2016-07-08 | 2016-11-16 | 桂林电子科技大学 | 基于fpga的sdn交换机流表加密方法 |
CN110225008A (zh) * | 2019-05-27 | 2019-09-10 | 四川大学 | 一种云环境下sdn网络状态一致性验证方法 |
CN111464340A (zh) * | 2020-03-19 | 2020-07-28 | 北京大学深圳研究生院 | 一种网络控制方法、数据转发方法及软件定义网络 |
CN112350948A (zh) * | 2020-10-28 | 2021-02-09 | 武汉大学 | 一种基于sdn的分布式网络溯源系统及方法 |
Non-Patent Citations (2)
Title |
---|
A multi-controller deployment method of SDN network based on FPGA;Ming Fang, et al.;IEEE;全文 * |
软件定义的内容中心网络的分段路由策略;李根;伊鹏;张震;;计算机应用研究(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113595793A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113595793B (zh) | 基于fpga的sdn网络策略一致性的分段验证方法 | |
CN106656801B (zh) | 业务流的转发路径的重定向方法、装置和业务流转发系统 | |
Sendra et al. | Including artificial intelligence in a routing protocol using software defined networks | |
WO2020149786A1 (en) | Dynamic deployment of network applications having performance and reliability guarantees in large computing networks | |
US20160315845A1 (en) | SDN Controller, Data Center System, and Routing Connection Method | |
CN101505278B (zh) | 报文转发路径获取方法、报文转发方法和报文转发装置 | |
Rentschler et al. | Performance analysis of parallel redundant WLAN | |
CN106416132A (zh) | 使用控制器处的交换机建模接口控制网络交换机的系统和方法 | |
CN110351286A (zh) | 一种软件定义网络中链路洪泛攻击检测响应机制 | |
CN106817301A (zh) | 故障恢复方法及装置、控制器、软件定义网络 | |
CN105306365B (zh) | 一种电力通信网络及其扩容与抗毁路由路径确定方法 | |
CN105765889B (zh) | 扩展桥及由其执行的方法 | |
CN104734988A (zh) | 软件定义网络中路由控制的方法和开放流控制器 | |
CN108540402A (zh) | 一种优化队列时延的方法和设备 | |
CN113810225B (zh) | Sdn网络的带内网络遥测探测路径规划方法及系统 | |
CN105227378A (zh) | 综合管理WiFi网络和有线网络的软件定义系统以及方法 | |
CN107294856B (zh) | 确定拓扑变化的方法、设备及系统 | |
CN105515816B (zh) | 检测层次信息的处理方法及装置 | |
CN104283802A (zh) | 邻居发现方法和设备 | |
CN114553752A (zh) | 基于仿真软件的网络性能测试方法、装置和计算机设备 | |
CN105471747A (zh) | 一种智能路由器选路方法和装置 | |
US9641355B2 (en) | Communication device, communication method, and program | |
CN102158422B (zh) | 一种用于二层环网中的报文转发的方法和设备 | |
EP2858302B1 (en) | Connectivity check method of service stream link, related apparatus and system | |
CN113242146B (zh) | 一种电网数据分布式采集系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |