CN105262704B - 基于控制器与交换机的映射装置及其映射方法 - Google Patents
基于控制器与交换机的映射装置及其映射方法 Download PDFInfo
- Publication number
- CN105262704B CN105262704B CN201510584322.XA CN201510584322A CN105262704B CN 105262704 B CN105262704 B CN 105262704B CN 201510584322 A CN201510584322 A CN 201510584322A CN 105262704 B CN105262704 B CN 105262704B
- Authority
- CN
- China
- Prior art keywords
- controller
- branch
- node
- module
- interchanger
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于控制器与交换机的映射装置及其映射方法,该映射装置包括:数据初始化模块,初始化计算;有用枝计算模块,计算控制器是否存在有用枝;控制器删除模块,修改控制器集合;枝推选模块,推选出负载最轻枝并返回该负载最轻枝的信息;交换机分配模块,完成交换机节点的分配;迭代条件判断模块,判断是否存在可用枝或是否存在可用控制器节点;映射确定模块,完成控制器集合中每个控制器节点与交换机节点的最终分配。本发明在避免控制器容量超载前提下,保证控制器到交换机的通信时延在可接受的范围,为控制器构造可靠的生成树,在保证QoS的基础上,减少了过去映射方法可能带来的数据丢失,大大提升了映射的可靠性和生成树的鲁棒性。
Description
技术领域
本发明涉及计算机网络领域,特别涉及一种可靠的基于控制器与交换机的映射装置及其映射方法。
背景技术
目前,新型网络体系结构,如软件定义网络(Software Defined Networks),吸引了学界的广泛关注。它分离了转发层与控制层,将原本束缚在路由器之内的智能环节抽离到上层。最值得注意的是其逻辑上集中的控制平面,使网络具备了协议标准开放、管理集中灵活和直接可编程等特点。但是,单控制器软件定义网络具有许多固有缺陷,如可扩展性和单点失效。由此,为了解决单控制器的相关问题,一些分布式架构逐渐出现,如Onix,Hyperflow和Kandoo。然而,与其他中心控制系统一样,这些系统的控制平面的可靠性受到巨大挑战,包括控制平面的可靠性和控制平面与数据平面的通信链路的可靠性。
现有研究多关注控制平面本身的可靠性,通过控制器布置改善控制拓扑的鲁棒性。但在某些情况下,出于政治、经济的相关原因,控制器布置将由于某些地理位置被禁止放置控制器而失效。此时,必须依靠控制平面与数据平面的通信链路来提升其可靠性,而控制器与交换机的分配映射关系是其中的典型环节。过去的相关研究多简单的把交换机映射到离其最近的控制器上。这样做的缺点是:1)可能会带来严重的控制器超载,当距离成为交换机映射的唯一考量因素时,很可能出现一种情况,即大多数交换机总是离某个控制器较近。此时,控制器将超载;2)可能会构建鲁棒性较差的控制器生成树,控制器交换机形成的节点簇类似于client-server网络,由于控制器负责域内交换机的通信、转发,其构成转发树的可靠性十分重要。仅注重时延的映射方法可能导致直连控制器的枝的负载失衡,一旦发生链路故障,会引发严重的数据丢失。
发明内容
针对现有技术中的不足,本发明提供一种可靠的基于控制器与交换机的映射装置及其映射方法。
按照本发明所提供的设计方案,一种基于控制器与交换机的映射装置,包含:
数据初始化模块,用于对网络信息数据进行初始化计算;
有用枝计算模块,根据数据初始化模块得到的数据来计算控制器是否存在有用枝;
控制器删除模块,判断控制器节点是否已完成与交换机的映射,若已完成,则删除指针指向的该控制器节点,重新修改控制器集合;
枝推选模块,用于推选出负载最轻枝,并返回该负载最轻枝的信息;
交换机分配模块,用于完成交换机节点的分配;
迭代条件判断模块,根据不同环节对是否存在可用枝或是否存在可用控制器节点进行判断;
映射确定模块,根据控制器节点和交换机节点的分配关系,完成控制器集合中每个控制器节点与交换机节点的最终分配。
上述的,所述迭代条件判断模块中根据不同环节对迭代条件进行判断处理包含:有用枝迭代判断单元,用于判断控制器节点是否存在有用枝,如果均为有用枝,则将数据传输至控制器删除模块进行删除该控制器节点处理,若存在有用枝,则将数据传输至枝推选模块进行处理;容量超载判断单元,用于判断控制器节点负载是否已超过控制器容量,若超过控制器容量,则将数据传输至控制器删除模块进行删除对应控制器节点处理。
一种基于控制器与交换机的映射方法,包含如下步骤:
步骤1.网络拓扑数据初始化;
步骤2.判断网络拓扑中是否存在未被分配的交换机节点,若存在,则进入步骤3,否则,跳转至步骤7;
步骤3.对控制器集合中的控制器节点进行判断,判断该控制器节点上的枝集合中是否有有用枝,若存在有用枝,则在有用枝集合中推选出到负载最轻枝,并将指针指向节点为负载最轻节点的孩子节点分配给已推选出的负载最轻枝,将步骤2中未被分配的交换机节点完成分配,进入步骤4,否则,跳转至步骤5;
步骤4.判断加入交换机节点后的负载是否超过控制器节点的容量,若超过,则进入下一步骤,否则,跳转至步骤6;
步骤5.从原有控制器集合中删除对应的控制器节点,重新修改控制器集合;
步骤6.更新网络数据并调整控制器枝集合中的每一枝的指针指向,并返回步骤2;
步骤7.分配结束。
上述的基于控制器与交换机的映射方法,步骤1中的网络信息数据包含拓扑生成各节点连接状态,控制器交换机的对应隶属关系,链路分配信息。
进一步的,所述步骤1包含如下内容:为控制器集合中的每个控制器节点建立元组,元组中的元素为枝的数组集合,每个控制器节点的指针指向即将分配的有用枝的头元素;更新网络信息数据,包括已分配和未分配的交换机节点。
本发明的有益效果:
1.本发明考虑对应映射关系带来的容量超载、枝上最大的负载量、worstcase的数据丢失、负载失衡时的丢包率提升等问题,通过对控制器的容量和交换机的流请求进行刻画,每次选择控制器的一个负载最轻枝,向其分配一个负载最轻节点,直到所有的枝都不可用或者控制器容量已经达到容量上限,在保证QoS基础的同时,减少了现有技术中映射方法可能带来的数据丢失,大大提升了映射的可靠性和生成树的鲁棒性。
2.本发明在避免控制器超载的前提下,保证控制器到交换机的通信时延在可接受的范围内,为每个控制器构造可靠的生成树,通过调整构建控制器与交换机映射关系,人为的为交换机选择负载最轻枝来提升软件定义网络的可靠性,,大大提升了映射装置的可靠性。
附图说明:
图1为本发明的基于控制器与交换机的映射装置原理图;
图2为本发明的基于控制器与交换机的映射方法流程示意图;
图3为本发明的网络拓扑数据初始化流程示意图;
图4为实施例三控制器与交换机分配示意图。
具体实施方式:
下面结合附图和技术方案对本发明作进一步详细的说明,并通过优选的实施例详细说明本发明的实施方式,但本发明的实施方式并不限于此。
实施例一,参见图1所示,一种基于控制器与交换机的映射装置,包含:
数据初始化模块,用于对网络信息数据进行初始化计算;
有用枝计算模块,根据数据初始化模块得到的数据来计算控制器是否存在有用枝;
控制器删除模块,判断控制器节点是否已完成与交换机的映射,若已完成,则删除指针指向的该控制器节点,重新修改控制器集合;
枝推选模块,用于推选出负载最轻枝,并返回该负载最轻枝的信息;
交换机分配模块,用于完成交换机节点的分配;
迭代条件判断模块,根据不同环节对是否存在可用枝或是否存在可用控制器节点进行判断;
映射确定模块,根据控制器节点和交换机节点的分配关系,完成控制器集合中每个控制器节点与交换机节点的最终分配。
进一步的,迭代条件判断模块中根据不同环节对迭代条件进行判断处理包含:有用枝迭代判断单元,用于判断控制器节点是否存在有用枝,如果均为有用枝,则将数据传输至控制器删除模块进行删除该控制器节点处理,若存在有用枝,则将数据传输至枝推选模块进行处理;容量超载判断单元,用于判断控制器节点负载是否已超过控制器容量,若超过控制器容量,则将数据传输至控制器删除模块进行删除对应控制器节点处理。
实施例二,参见图2所示,一种基于控制器与交换机的映射方法,包含如下步骤:
步骤1.网络拓扑数据初始化;
步骤2.判断网络拓扑中是否存在未被分配的交换机节点,若存在,则进入步骤3,否则,跳转至步骤7;
步骤3.对控制器集合中的控制器节点进行判断,判断该控制器节点上的枝集合中是否有有用枝,若存在有用枝,则在有用枝集合中推选出到负载最轻枝,并将指针指向节点为负载最轻节点的孩子节点分配给已推选出的负载最轻枝,将步骤2中未被分配的交换机节点完成分配,进入步骤4,否则,跳转至步骤5;
步骤4.判断加入交换机节点后的负载是否超过控制器节点的容量,若超过,则进入下一步骤,否则,跳转至步骤6;
步骤5.从原有控制器集合中删除对应的控制器节点,重新修改控制器集合;
步骤6.更新网络数据并调整控制器枝集合中的每一枝的指针指向,并返回步骤2;
步骤7.分配结束。
实施例三,与实施例二基本相同,不同之处在于:步骤1中的网络信息数据包含拓扑生成各节点连接状态,控制器交换机的对应隶属关系,链路分配信息。
进一步的,参见图3所示,步骤1中网络拓扑数据初始化还包含如下内容:为控制器集合中的每个控制器节点建立元组,元组中的元素为枝的数组集合,每个控制器节点的指针指向即将分配的有用枝的头元素;更新网络信息数据,包括已分配和未分配的交换机节点。
实施例四,通过具体的实施例来详细说明本发明的技术方案,参见图4所示,在已知网络中,控制器节点事先完成布置,对于已知网络拓扑,包括网络中的节点信息和边得信息,交换机节点分配给已知控制器,图4中不同图样的交换机用于标明不同控制器的隶属关系,仅用于示意并非实际的分配结果,为完成控制器的布置,使用本发明中的映射方法来实现,避免控制器容量超载的前提下,保证控制器到交换机的通信时延在可接受的范围内,为每个控制器构造可靠的生成树,在保证QoS基础上,减少过去映射方法可能带来的数据丢失,大大提升映射的可靠性和生成树的鲁棒性。
本发明并不局限于上述具体实施方式,本领域技术人员还可据此做出多种变化,但任何与本发明等同或者类似的变化都应涵盖在本发明权利要求的范围内。
Claims (4)
1.一种基于控制器与交换机的映射装置,其特征在于:包含:
数据初始化模块,用于对网络信息数据进行初始化计算;
有用枝计算模块,根据数据初始化模块得到的数据来计算控制器是否存在有用枝;
控制器删除模块,判断控制器节点是否已完成与交换机的映射,若已完成,则删除指针指向的该控制器节点,重新修改控制器集合;
枝推选模块,用于推选出负载最轻枝,并返回该负载最轻枝的信息;
交换机分配模块,用于完成交换机节点的分配;
迭代条件判断模块,根据不同环节对是否存在可用枝或是否存在可用控制器节点进行判断;
映射确定模块,根据控制器节点和交换机节点的分配关系,完成控制器集合中每个控制器节点与交换机节点的最终分配;
所述迭代条件判断模块中根据不同环节对迭代条件进行判断处理包含:有用枝迭代判断单元,用于判断控制器节点是否存在有用枝,如果均为有用枝,则将数据传输至控制器删除模块进行删除该控制器节点处理,若存在有用枝,则将数据传输至枝推选模块进行处理;容量超载判断单元,用于判断控制器节点负载是否已超过控制器容量,若超过控制器容量,则将数据传输至控制器删除模块进行删除对应控制器节点处理。
2.一种基于控制器与交换机的映射方法,包含如下步骤:
步骤1.网络拓扑数据初始化;
步骤2.判断网络拓扑中是否存在未被分配的交换机节点,若存在,则进入步骤3,否则,跳转至步骤7;
步骤3.对控制器集合中的控制器节点进行判断,判断该控制器节点上的枝集合中是否有有用枝,若存在有用枝,则在有用枝集合中推选出到负载最轻枝,并将指针指向节点为负载最轻节点的孩子节点分配给已推选出的负载最轻枝,将步骤2中未被分配的交换机节点完成分配,进入步骤4,否则,跳转至步骤5;
步骤4.判断加入交换机节点后的负载是否超过控制器节点的容量,若超过,则进入下一步骤,否则,跳转至步骤6;
步骤5.从原有控制器集合中删除对应的控制器节点,重新修改控制器集合;
步骤6.更新网络数据并调整控制器枝集合中的每一枝的指针指向,并返回步骤2;
步骤7.分配结束。
3.根据权利要求2所述的基于控制器与交换机的映射方法,其特征在于:步骤1中的网络信息数据包含拓扑生成各节点连接状态,控制器交换机的对应隶属关系,链路分配信息。
4.根据权利要求2或3中任一项所述的基于控制器与交换机的映射方法,其特征在于:所述步骤1包含如下内容:为控制器集合中的每个控制器节点建立元组,元组中的元素为枝的数组集合,每个控制器节点的指针指向即将分配的有用枝的头元素;更新网络信息数据,包括已分配和未分配的交换机节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510584322.XA CN105262704B (zh) | 2015-09-15 | 2015-09-15 | 基于控制器与交换机的映射装置及其映射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510584322.XA CN105262704B (zh) | 2015-09-15 | 2015-09-15 | 基于控制器与交换机的映射装置及其映射方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105262704A CN105262704A (zh) | 2016-01-20 |
CN105262704B true CN105262704B (zh) | 2018-02-23 |
Family
ID=55102212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510584322.XA Active CN105262704B (zh) | 2015-09-15 | 2015-09-15 | 基于控制器与交换机的映射装置及其映射方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105262704B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107135165B (zh) * | 2017-05-08 | 2020-07-31 | 郭得科 | 一种软件定义网络中分布式控制器的自适应选择方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPQ120099A0 (en) * | 1999-06-25 | 1999-07-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Switch structure |
EP1732271B1 (en) * | 2005-06-10 | 2012-02-01 | ParTec Cluster Competence Center GmbH | Data communication system and method with virtual ports |
JP6040907B2 (ja) * | 2013-10-15 | 2016-12-07 | 日立金属株式会社 | ネットワーク中継システムおよびスイッチ装置 |
CN104796344B (zh) * | 2014-01-16 | 2020-01-14 | 中兴通讯股份有限公司 | 基于SDN实现报文转发的方法、系统、Openflow交换机及服务器 |
CN103746853B (zh) * | 2014-01-24 | 2017-03-08 | 迈普通信技术股份有限公司 | 一种端口生成树角色的计算方法及装置 |
CN104065764B (zh) * | 2014-07-05 | 2017-07-25 | 中国科学技术大学 | 一种软件定义网络中基于地址替换的移动管理系统 |
-
2015
- 2015-09-15 CN CN201510584322.XA patent/CN105262704B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105262704A (zh) | 2016-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111988225B (zh) | 基于强化学习和迁移学习的多路径路由方法 | |
CN105933227B (zh) | 软件定义卫星网络中的路由决策及流表一致性优化的方法 | |
CN105049353B (zh) | 一种为业务配置路由路径的方法及控制器 | |
CN105227460B (zh) | 一种基于sdn的地震解释系统 | |
CN106254176A (zh) | 一种基于openvswitch的流量镜像方法 | |
CN107306224A (zh) | 一种路由路径更新方法及网络管理装置 | |
CN106413024A (zh) | 一种基于雾计算的传感云数据传输算法 | |
CN106817306B (zh) | 一种确定目标路由的方法及装置 | |
CN107682871B (zh) | 无线传感器网络中继节点部署优化方法及无线传感器网络 | |
CN109104464A (zh) | 一种边缘计算环境下面向协同存储的分布式数据更新方法 | |
CN104683488A (zh) | 流式计算系统及其调度方法和装置 | |
CN108234169A (zh) | 一种分布式仿真网络结构实时动态优化方法 | |
CN108718247A (zh) | 一种基于虚拟化技术的自治域级网络模拟方法 | |
CN103473636A (zh) | 一种收集、分析和分发网络商业信息的系统数据组件 | |
CN104144135A (zh) | 用于多播虚拟网络的资源分配方法及抗毁资源分配方法 | |
CN103441918A (zh) | 一种自组织集群服务器系统及其自组织方法 | |
CN110309248A (zh) | 一种基于Voronoi图的交通道路网络自动划分交通小区的方法 | |
CN109995580A (zh) | 5g网络切片中基于ga_pso混合算法的vn映射方法 | |
CN105450520B (zh) | 报文处理方法和装置、建立聚合隧道的方法和装置 | |
CN105262704B (zh) | 基于控制器与交换机的映射装置及其映射方法 | |
CN105591895A (zh) | 管理网络流量的网络装置及其方法 | |
CN108923979A (zh) | 软件定义网络虚拟网络映射方法 | |
CN106470165A (zh) | 一种负载分担方法、系统及相关设备 | |
CN105337832B (zh) | 在线多播虚拟网络的资源分配方法 | |
CN110262988A (zh) | 用于控制网络路由的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |