CN114430389A - 一种结合最小顶点覆盖与哈希策略的sdn拓扑发现方法 - Google Patents
一种结合最小顶点覆盖与哈希策略的sdn拓扑发现方法 Download PDFInfo
- Publication number
- CN114430389A CN114430389A CN202111586903.9A CN202111586903A CN114430389A CN 114430389 A CN114430389 A CN 114430389A CN 202111586903 A CN202111586903 A CN 202111586903A CN 114430389 A CN114430389 A CN 114430389A
- Authority
- CN
- China
- Prior art keywords
- hash
- switch
- value
- port
- packet
- 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.)
- Pending
Links
Images
Classifications
-
- 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/02—Topology update or discovery
-
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
Abstract
本发明公开了一种结合最小顶点覆盖与哈希策略的SDN拓扑发现方法,涉及软件定义网络的领域。本发明通过引入最小顶点覆盖的思想,使控制器发送最少的Packet_Out消息,再利用哈希策略消除网络中的冗余数据包,减少了控制器需要处理的Packet_In消息,本发明方法不仅能够减少拓扑发现时网络中数据包的数量,还能够保证在实现相同拓扑发现功能的同时减少资源消耗和控制器的负载。
Description
技术领域:
本发明涉及一种结合最小顶点覆盖与哈希策略的SDN拓扑发现方法,属于软件定义网络的领域。
背景技术:
在基于OpenFlow的软件定义网络(SDN)中,控制器作为核心,需要对全局网络状态有全面实时的掌握。因此,需要快速高效地获取网络的拓扑信息,但目前的SDN拓扑发现方法存在资源消耗过大,控制器负载过重等问题。
因此,本文提出一种结合最小顶点覆盖与哈希策略的SDN拓扑发现方法,该拓扑发现方法能够有效减少拓扑发现时候控制器需要下发的Packet_Out消息的数量、控制器需要处理的Packet_In消息的数量以及数据平面需要转发LLDP pkt的数量,在确保拓扑发现的同时,能够减少控制器资源消耗,有效降低控制器的负载。
发明内容:
针对上述问题,本发明提出一种结合最小顶点覆盖与哈希策略的SDN拓扑发现方法。
为实现上述目的,本发明提供了如下技术方案:
1.一种结合最小顶点覆盖和哈希策略的SDN拓扑发现方法,其特征在于,该方法包括以下步骤:
步骤1确定交换机的最小顶点覆盖集V”;
步骤2对所有交换机的端口进行分类;
步骤3在交换机v(v∈V”)上安装哈希策略;
步骤4在所有交换机上安装转发规则。
2.根据权利要求1所述的一种结合最小顶点覆盖和哈希策略的SDN拓扑发现方法,其特征在于所述步骤1中,确定交换机的最小顶点覆盖集,具体步骤为:
步骤1-1确定交换机的覆盖集V',其中V'是交换机集合V的子集,网络中任意一条链路的一个节点连接V'中的一个交换机端口;
步骤1-2确定交换机集合的最小顶点覆盖集V”,其中V”是覆盖集V'的最小子集。
3.根据权利要求1所述的一种结合最小顶点覆盖和哈希策略的SDN拓扑发现方法,其特征在于所述步骤2中,对所有交换机的端口进行分类,具体步骤为:
步骤2-1从数据平面收集的OpenFlow消息,追踪主机接入交换机的端口信息;
步骤2-2将被主机占用的交换机端口打上标签H,其他被占用端口为非H端口,就分为H端口和非H端口两类。
4.根据权利要求1所述的一种结合最小顶点覆盖和哈希策略的SDN拓扑发现方法,其特征在于所述步骤3中,在交换机v上安装哈希策略,具体步骤为:
步骤3-1确定交换机v(v∈V”)的所有非H端口为p个,将p个端口按序命名;
步骤3-2采用直接定址法构建哈希策略,其中关键字是端口序号,哈希地址为关键字减1,初始哈希值为0。
5.根据权利要求1所述的一种结合最小顶点覆盖和哈希策略的SDN拓扑发现方法,其特征在于所述步骤4中,在交换机上安装转发规则,具体步骤为:
步骤4-1交换机v(v∈V”)收到来自控制器的Packet-Out消息,查找哈希表中关键字为非H端口的值,若值为0,修改哈希表中关键字为非H端口的值为转发时间,并将转发时间记录到LLDP数据包中,从非H端口转发出去;若值为1,丢弃;
步骤4-2交换机v(v∈V”)收到来自其他顶点交换机且src为0的LLDP数据包时,查找哈希表中关键字为该接收端口的值,若值为0,重写LLDP的src字段,将其置为接收到该包的端口的mac地址,再从接收端口将其沿原路转发,同时将哈希表的值修改为1;若值为非0,即值为转发时间,则比较值与LLDP中的时间,若值的时间大于或等于数据包中的时间,执行相同的重写操作,向控制器发送Packet-In消息,同时修改值为1;否则,丢弃;
步骤4-3交换机v(v∈V”)收到来自其他非顶点交换机且src不为0的LLDP数据包时,将其封装在Packet-In消息中递交给控制器;
步骤4-4其他交换机收到来自控制器的LLDP,就重写LLDP的src字段,将其置为接收到该包的端口的mac地址,再从接收端口沿原路转发。
有益效果:
1.本发明是一种结合最小顶点覆盖和哈希策略的SDN拓扑发现方法,解决传统SDN拓扑发现资源消耗大的问题,减少网络中数据包的数量,在保证拓扑发现的同时减轻控制器的负载。
2.本发明改进了传统拓扑发现方法中控制器需要发送和处理大量Packet_Out消息和Packet_In消息的问题,通过引入最小顶点覆盖和哈希策略,不仅可以解决以上问题,还可以保证更低的资源消耗和负载。
3.本发明提出的方法也可作为其他SDN应用场景中的拓扑发现机制。
附图说明:
图1是本发明实施方式中的一种结合最小顶点覆盖和哈希策略的SDN拓扑发现方法的工作示意图。
图2是本发明实施方式中采用的网络拓扑图,其中图2(a)是topo1,图2(b)是topo2,图2(c)是topo3,图2(d)是topo4。
图3是本发明实施方式中Packet_Out、Packet_In、LLDP pkt数量的对比图。
图4是本发明实施方式中控制器负载的对比图。
具体实施方式:
下面结合说明书附图,对本发明的实施例中的技术方案进行清楚和完整地描述。
本发明在Ubuntu16.04.4LTS环境下工作,采用OpenFlow协议为框架进行搭建。以topo3为例,交换机的数量为450,端口总数为1498,主机端口为600,链路总数为449。
本发明采用的技术方案为:一种结合最小顶点覆盖和哈希策略的SDN拓扑发现方法,包括以下步骤:
步骤1确定交换机的最小顶点覆盖集V”的过程如下:
步骤1-1确定交换机集合的大小为450,则交换机集合的覆盖集大小为i(i=450,449,...,150);
步骤1-2确定最小的覆盖集为V”,V”的大小为150。
步骤2对交换机端口进行分类的过程如下:
步骤2-1已知交换机的总端口数为t=1498,根据收到的消息跟踪主机端口;
步骤2-2主机占用的端口数为600,H端口为600,则非H端口为898;
步骤3在交换机v(v∈V”)上安装哈希策略的过程如下:
步骤3-1确定非H端口共有898个,将这些端口按序命名为1、2、...898;
步骤3-2按照如下公式安装哈希策略,初始哈希值为0:
H(key)=key-1
步骤4在所有交换机上安装转发规则。
最简拓扑由一个控制器和两个交换机构成,本发明的工作过程如图1所示。具体来说,首先确定交换机的最小顶点覆盖集为交换机S1,大小为1,S1的主机端口有一个,H端口1个,非H端口2个,然后按序命名为1、2,则哈希地址为0、1。控制器向交换机S1发送Packet_Out消息,交换机S1只在1、2口转发LLDP pkt,并修改哈希表中1端口的值;S2收到LLDPpkt,封包Packet_In,转发给控制器,控制器解析出S1-S2之间的链路,拓扑发现成功。
图2展示了本发明的测试使用的四种网络拓扑图。各个拓扑图的参数如表1所示:
表1
图3展示了本发明的消息数量对比图,采用四种拓扑与三种方法进行了对比。图3(a)是使用本发明方法与没有使用本发明的方法在Packet_Out数量上的对比图;图3(b)是使用本发明方法与没有使用本发明的方法在LLDP pkt数量上的对比图;图3(c)是使用本发明方法与没有使用本发明的方法在Packet_In数量上的对比图。
图4展示了本发明的控制器负载对比图,以完成拓扑发现所用的CPU时间来衡量控制器负载。
由图3(a)可知,本发明中控制器生成的Packet-Out数量大大减少,效率增益达到一半以上,且在网络拓扑中的交换机很多,最小顶点覆盖集很小的情况下,Packet-Out的效率增益更大。
由图3(c)可知,本发明中控制器需要解析的Packet-In数量也减少了,效率增益达到50%,且在不规则拓扑下效率增益更为明显,最小覆盖集中交换机之间的链路越多的,Packet-In的效率增益越大。
本发明的拓扑发现方法与其他三种方法的总效率增益的实验对比如表2所示:
表2
该效率增益表证明了本方法是个好方法,可以应用于实际情况。此外,本发明只验证了全SDN域拓扑发现有效,对于其它SDN与非SDN域之间的拓扑发现是否有效,本发明未涉及,这也是需要后续更进一步的工作深入。
本发明是一种结合最小顶点覆盖和哈希策略的SDN拓扑发现方法,不仅能够减少拓扑发现时网络中的数据包的数量,而且能在保证拓扑发现的同时减少资源消耗,减轻控制器负载。
以上所示是本说明书按照实施方式结合附图加以描述,但并非每个实施方式仅包含一个独立的技术方案,本文的具体实施方式只是用于帮助理解本发明的方法,本说明书只是为清楚起见,本领域技术的普通人员应当将说明书作为一个整体,依据本发明思想,在各实施例的技术方案进行适当的改进,形成本领域技术人员可以理解的其他实施方式,故本说明书不应理解为对本发明的限制。
Claims (5)
1.一种结合最小顶点覆盖和哈希策略的SDN拓扑发现方法,其特征在于,该方法包括以下步骤:
步骤1确定交换机的最小顶点覆盖集V”;
步骤2对所有交换机的端口进行分类;
步骤3在交换机v(v∈V”)上安装哈希策略;
步骤4在所有交换机上安装转发规则。
2.根据权利要求1所述的一种结合最小顶点覆盖和哈希策略的SDN拓扑发现方法,其特征在于所述步骤1中,确定交换机的最小顶点覆盖集,具体步骤为:
步骤1-1确定交换机的覆盖集V',其中V'是交换机集合V的子集,网络中任意一条链路的一个节点连接V'中的一个交换机端口;
步骤1-2确定交换机集合的最小顶点覆盖集V”,其中V”是覆盖集V'的最小子集。
3.根据权利要求1所述的一种结合最小顶点覆盖和哈希策略的SDN拓扑发现方法,其特征在于所述步骤2中,对所有交换机的端口进行分类,具体步骤为:
步骤2-1从数据平面收集的OpenFlow消息,追踪主机接入交换机的端口信息;
步骤2-2将被主机占用的交换机端口打上标签H,其他被占用端口为非H端口,就分为H端口和非H端口两类。
4.根据权利要求1所述的一种结合最小顶点覆盖和哈希策略的SDN拓扑发现方法,其特征在于所述步骤3中,在交换机v上安装哈希策略,具体步骤为:
步骤3-1确定交换机v(v∈V”)的所有非H端口为p个,将p个端口按序命名;
步骤3-2采用直接定址法构建哈希策略,其中关键字是端口序号,哈希地址为关键字减1,初始哈希值为0。
5.根据权利要求1所述的一种结合最小顶点覆盖和哈希策略的SDN拓扑发现方法,其特征在于所述步骤4中,在交换机上安装转发规则,具体步骤为:
步骤4-1交换机v(v∈V”)收到来自控制器的Packet-Out消息,查找哈希表中关键字为非H端口的值,若值为0,修改哈希表中关键字为非H端口的值为转发时间,并将转发时间记录到LLDP数据包中,从非H端口转发出去;若值为1,丢弃;
步骤4-2交换机v(v∈V”)收到来自其他顶点交换机且src为0的LLDP数据包时,查找哈希表中关键字为该接收端口的值,若值为0,重写LLDP的src字段,将其置为接收到该包的端口的mac地址,再从接收端口将其沿原路转发,同时将哈希表的值修改为1;若值为非0,即值为转发时间,则比较值与LLDP中的时间,若值的时间大于或等于数据包中的时间,执行相同的重写操作,向控制器发送Packet-In消息,同时修改值为1;否则,丢弃;
步骤4-3交换机v(v∈V”)收到来自其他非顶点交换机且src不为0的LLDP数据包时,将其封装在Packet-In消息中递交给控制器;
步骤4-4其他交换机收到来自控制器的LLDP,就重写LLDP的src字段,将其置为接收到该包的端口的mac地址,再从接收端口沿原路转发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111586903.9A CN114430389A (zh) | 2021-12-23 | 2021-12-23 | 一种结合最小顶点覆盖与哈希策略的sdn拓扑发现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111586903.9A CN114430389A (zh) | 2021-12-23 | 2021-12-23 | 一种结合最小顶点覆盖与哈希策略的sdn拓扑发现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114430389A true CN114430389A (zh) | 2022-05-03 |
Family
ID=81311711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111586903.9A Pending CN114430389A (zh) | 2021-12-23 | 2021-12-23 | 一种结合最小顶点覆盖与哈希策略的sdn拓扑发现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114430389A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106341330A (zh) * | 2016-08-30 | 2017-01-18 | 广州西麦科技股份有限公司 | 一种sdn控制器的拓扑发现方法及系统 |
CN106411736A (zh) * | 2016-11-17 | 2017-02-15 | 中国电子科技集团公司第五十四研究所 | 一种面向软件定义卫星网络的节点资源发现策略优化方法 |
US20170104681A1 (en) * | 2015-10-12 | 2017-04-13 | Futurewei Technologies, Inc. | Hash-Based Overlay Routing Architecture for Information Centric Networks |
CN107317707A (zh) * | 2017-06-27 | 2017-11-03 | 中国人民解放军国防科学技术大学 | 一种基于点覆盖集的sdn网络拓扑管理方法 |
CN109600268A (zh) * | 2019-01-15 | 2019-04-09 | 中国电子科技网络信息安全有限公司 | 一种基于贪婪算法的sdn矩阵网络探针部署方法及设备 |
-
2021
- 2021-12-23 CN CN202111586903.9A patent/CN114430389A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170104681A1 (en) * | 2015-10-12 | 2017-04-13 | Futurewei Technologies, Inc. | Hash-Based Overlay Routing Architecture for Information Centric Networks |
CN106341330A (zh) * | 2016-08-30 | 2017-01-18 | 广州西麦科技股份有限公司 | 一种sdn控制器的拓扑发现方法及系统 |
CN106411736A (zh) * | 2016-11-17 | 2017-02-15 | 中国电子科技集团公司第五十四研究所 | 一种面向软件定义卫星网络的节点资源发现策略优化方法 |
CN107317707A (zh) * | 2017-06-27 | 2017-11-03 | 中国人民解放军国防科学技术大学 | 一种基于点覆盖集的sdn网络拓扑管理方法 |
CN109600268A (zh) * | 2019-01-15 | 2019-04-09 | 中国电子科技网络信息安全有限公司 | 一种基于贪婪算法的sdn矩阵网络探针部署方法及设备 |
Non-Patent Citations (1)
Title |
---|
程铭鑫: "面向软件定义移动自组织网络的拓扑发现设计与实现", 2020中国信息通信大会论文集, pages 472 - 476 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190116220A1 (en) | Neighbor Discovery for IPV6 Switching Systems | |
US7535906B2 (en) | Packet classification | |
US10142160B1 (en) | System and methods for managing network hardware address requests with a controller | |
US7545809B2 (en) | Packet classification | |
EP3777055B1 (en) | Longest prefix matching | |
US7304991B2 (en) | Minimizing memory accesses for a network implementing differential services over multi-protocol label switching | |
US20200228449A1 (en) | Exact match and ternary content addressable memory (tcam) hybrid lookup for network device | |
EP3292659B1 (en) | Multicast data packet forwarding | |
WO2021135491A1 (zh) | 流表的匹配方法及装置 | |
US7251651B2 (en) | Packet classification | |
EP3844911B1 (en) | Systems and methods for generating network flow information | |
CN111049859A (zh) | 一种基于拓扑分析的攻击流量分流和阻断方法 | |
CN112929281B (zh) | 基于fpga的网络设备的报文处理方法、装置及设备 | |
US20220294712A1 (en) | Using fields in an encapsulation header to track a sampled packet as it traverses a network | |
CN105471747A (zh) | 一种智能路由器选路方法和装置 | |
WO2018036256A1 (zh) | 生成acl表的方法和装置 | |
WO2017211304A1 (zh) | 一种基于软件定义网络的统计方法、装置及系统 | |
WO2014206208A1 (zh) | 数据查询方法、设备和系统 | |
CN111343040B (zh) | 扩展网桥的端口扩展器堆叠分裂检测方法和装置 | |
CN114430389A (zh) | 一种结合最小顶点覆盖与哈希策略的sdn拓扑发现方法 | |
US20130077530A1 (en) | Scaling IPv6 on Multiple Devices Virtual Switching System with Port or Device Level Aggregation | |
CN116132384A (zh) | 跨芯片流程处理单元的组播复制方法和装置 | |
CN101699821B (zh) | 一种分布式多核网络系统中地址解析协议实现的方法 | |
CN110971526A (zh) | 一种混合交换机fdb资源的流表扩展方法及装置 | |
Kuo et al. | SWF: Segmented wildcard forwarding for flow migration in OpenFlow datacenter networks |
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 |