CN105704192B - 确定sdn网络中控制器位置的方法和设备 - Google Patents
确定sdn网络中控制器位置的方法和设备 Download PDFInfo
- Publication number
- CN105704192B CN105704192B CN201410709057.9A CN201410709057A CN105704192B CN 105704192 B CN105704192 B CN 105704192B CN 201410709057 A CN201410709057 A CN 201410709057A CN 105704192 B CN105704192 B CN 105704192B
- Authority
- CN
- China
- Prior art keywords
- node
- weight
- link
- candidate nodes
- cost
- 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.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种确定软件定义网络中控制器位置的方法和设备,该方法包括获取软件定义网络SDN网络拓扑,SDN网络拓扑中包括N个节点;确定N个节点的权重;根据N个节点的权重,确定N个节点到控制器部署位置的候选节点集中各节点的平均路由代价,其中,候选节点集包括N个节点中的至少部分节点;将候选节点集合中平均路由代价最小的节点所在的位置确定为控制器的部署位置。本发明实施例同时考虑了节点的权重和与节点对应的平均路由代价,将控制器部署在合理的位置,提升网络性能。
Description
技术领域
本发明涉及通信领域,特别涉及一种确定SDN网络中控制器位置的方法和设备。
背景技术
软件定义网络(Software Defined Network,SDN)的网络架构的核心思想是将网络设备传输的数据面和控制面解耦,控制面进行集中管理,并可以通过开放流(OpenFlow,OF)标准协议屏蔽数据面特殊硬件的控制差异。在集中管理的控制面,可以通过网络的全局视图,来实现对全网的路径传输管理。SDN中的报文是基于流转发的,每个SDN交换机都有相应流表,进行报文的查找和转发。交换机可以通过OF协议连接到外部的控制器(Controller),由控制器完成路径传输控制。
SDN将控制实体与转发实体的分离,给定一个SDN网络拓扑,控制器应该部署在哪个特定的位置决定了其对网络事件处理的性能,举例来说,当交换机收到某条流时,在其流表中查询匹配的流表项。如果存在匹配的流表项,则按照对应流表项中的流表进行报文的查找和转发;如果没有对应的流表匹配项,将由交换机向控制器发送路由请求消息发起新流建立请求,请求控制器处理该流。当控制器对该新流进行决策判断后,通过流表方式向相应的交换机下发如何处理该流的流表项,从而完成流的转发过程。因此如果控制器的位置部署恰当,能够及时的处理该新流建立请求,提升网络性能,如果位置部署不当,将会导致新流建立请求的处理时延增大,影响网络的性能。因此,控制器位置的选择对网络起着重要作用。
然而现有控制器的部署中仅考虑的都是交换机节点到控制器的传输代价,如时延问题,考虑的因素不够全面,从而影响网络性能。
发明内容
本发明实施例提供了一种确定SDN网络中控制器位置的方法和设备,能够提升网络性能。
第一方面,提供了一种确定软件定义网络中控制器位置的方法,包括:获取软件定义网络SDN网络拓扑,该SDN网络拓扑中包括N个节点;确定该N个节点的权重;根据该N个节点的权重,确定该N个节点到控制器部署位置的候选节点集中各节点的平均路由代价,其中,该候选节点集包括该N个节点中的至少部分节点;将该候选节点集合中平均路由代价最小的节点所在的位置确定为该控制器的部署位置。
结合第一方面,在第一种可能的实现方式中,该确定该N个节点的权重,包括:根据该N个节点中每个节点的节点度确定该每个节点的权重,其中,该每个节点的节点度表示该SDN网络拓扑中与该每个节点连接的边的个数。
结合第一种可能的实现方式,在第二种可能的实现方式中,该根据该N个节点中每个节点的节点度确定该每个节点的权重,包括:根据以下公式确定该每个节点的权重:
其中,1≤n≤N w(n)表示该N个节点中的第n节点的权重,a为常数,dn为该第n节点的节点度,dmax为该N个节点的节点度中的最大值。
结合第一方面、第一至第二种可能的实现方式中的任一种可能的实现方式,在第三种可能的实现方式中,该根据该N个节点的权重,确定该N个节点到控制器部署位置的候选节点集中各节点的平均路由代价,包括:确定该N个节点到该候选节点集中各个节点的路由代价;根据该N个节点的权重和该N个节点到该候选节点集中各个节点的路由代价,确定该N个节点到控制器部署位置的候选节点集中各节点的平均路由代价。
结合第三种可能的实现方式,在第四种可能的实现方式中,该确定该N个节点到该候选节点集中各个节点的路由代价,包括:根据链路时延、链路带宽、链路通信代价、链路丢包、链路负载和链路跳数中的至少一种确定该N个节点到该候选节点集中各个节点的路由代价。
结合第四种可能的实现方式,在第五种可能的实现方式中,该根据链路时延、链路带宽、链路通信代价、链路丢包、链路负载和链路跳数中的至少一种确定该N个节点到该候选节点集中各个节点的路由代价,包括:根据以下公式确定该N个节点到该候选节点集中各个节点的路由代价:
f(n,c)=α·Idelay+β·Ibandwidth+γ·Iloss+λ·Icost+μ·Iload+εIhop
其中1≤n≤N,f(n,c)表示该N个节点中第n节点到该候选节点集中的第c节点的路由代价,0≤α,β,γ,λ,μ,ε≤1,α+β+γ+λ+μ+ε=1,Idelay表示链路时延,Ibandwidth表示链路带宽,Iloss表示链路丢包,Icost表示链路通信代价,Iload表示链路负载,Ihop表示链路跳数。
结合第三至第五种可能的实现方式中的任一种可能的实现方式,在第六种可能的实现方式中,该根据该N个节点的权重和该N个节点到该候选节点集中各个节点的路由代价,确定该N个节点到控制器部署位置的候选节点集中各节点的平均路由代价,包括:根据以下公式确定该N个节点到控制器部署位置的候选节点集中各节点的平均路由代价:
其中,f(c)表示该N个节点到控制器部署位置的候选节点集中第c节点的平均路由代价,w(n)表示该第n节点的权重,f(n,c)表示该N个节点中第n节点到该候选节点集中的第c节点的路由代价。
结合第一方面、第一至第六种可能的实现方式中的任一种可能的实现方式,在第七种可能的实现方式中,该方法还包括:根据该N个节点中的权重,确定该候选节点集,其中,该候选节点集包括该N个节点中的权重大于预设阈值的节点。
第二方面,提供了一种确定软件定义网络中控制器位置的设备,包括:获取单元,用于获取软件定义网络SDN网络拓扑,该SDN网络拓扑中包括N个节点;第一确定单元,用于确定该N个节点的权重;第二确定单元,用于根据该N个节点的权重,确定该N个节点到控制器部署位置的候选节点集中各节点的平均路由代价,其中,该候选节点集包括该N个节点中的至少部分节点;第三确定单元,用于将该候选节点集合中平均路由代价最小的节点所在的位置确定为该控制器的部署位置。
结合第二方面,在第一种可能的实现方式中,该第一确定单元根据该N个节点中每个节点的节点度确定该每个节点的权重,其中,该每个节点的节点度表示该SDN网络拓扑中与该每个节点连接的边的个数。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,该第一确定单元根据以下公式确定该每个节点的权重:
其中,1≤n≤N w(n)表示该N个节点中的第n节点的权重,a为常数,dn为该第n节点的节点度,dmax为该N个节点的节点度中的最大值。
结合第二方面、第二方面的第一至第二种可能的实现方式中的任一种可能的实现方式,在第三种可能的实现方式中,该第二确定单元确定该N个节点到该候选节点集中各个节点的路由代价;并根据该N个节点的权重和该N个节点到该候选节点集中各个节点的路由代价,确定该N个节点到控制器部署位置的候选节点集中各节点的平均路由代价。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,该第二确定单元根据链路时延、链路带宽、链路通信代价、链路丢包、链路负载和链路跳数中的至少一种确定该N个节点到该候选节点集中各个节点的路由代价。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,该第二确定单元根据以下公式确定该N个节点到该候选节点集中各个节点的路由代价:
f(n,c)=α·Idelay+β·Ibandwidth+γ·Iloss+λ·Icost+μ·Iload+εIhop
其中1≤n≤N,f(n,c)表示该N个节点中第n节点到该候选节点集中的第c节点的路由代价,0≤α,β,γ,λ,μ,ε≤1,α+β+γ+λ+μ+ε=1,Idelay表示链路时延,Ibandwidth表示链路带宽,Iloss表示链路丢包,Icost表示链路通信代价,Iload表示链路负载,Ihop表示链路跳数。
结合第二方面的第三至第五种可能的实现方式中的任一种可能的实现方式,在第六种可能的实现方式中,该第二确定单元根据以下公式确定该N个节点到控制器部署位置的候选节点集中各节点的平均路由代价:
其中,f(c)表示该N个节点到控制器部署位置的候选节点集中第c节点的平均路由代价,w(n)表示该第n节点的权重,f(n,c)表示该N个节点中第n节点到该候选节点集中的第c节点的路由代价。
结合第二方面、第二方面的第一至第六种可能的实现方式中的任一种可能的实现方式,在第七种可能的实现方式中,该设备还包括:第四确定单元,用于根据该N个节点中的权重,确定该候选节点集,其中,该候选节点集包括该N个节点中的权重大于预设阈值的节点。
因此,基于上述技术方案,本发明实施例通过确定确定SDN网络拓扑的N个节点的权重;根据N个节点的权重,确定N个节点到控制器部署位置的候选节点集中各节点的平均路由代价,其中,候选节点集包括N个节点中的至少部分节点;将候选节点集合中平均路由代价最小的节点所在的位置确定为控制器的部署位置。本发明实施例同时考虑了考虑节点的权重和与节点对应的平均路由代价,将控制器部署在合理的位置,提升网络性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例可应用的SDN网络拓扑场景示意图。
图2是根据本发明一个实施例的确定SDN网络中控制器位置的方法的示意流程图。
图3是根据本发明另一实施例的确定SDN网络中控制器位置的方法的示意流程图。
图4是根据本发明另一实施例的确定SDN网络中控制器位置的方法的示意流程图。
图5是根据本发明一个实施例的确定SDN网络中控制器位置的设备的示意性框图。
图6是根据本发明另一实施例的确定SDN网络中控制器位置的设备的示意性框图。
图7是根据本发明另一实施例的确定SDN网络中控制器位置的设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
应理解,本发明实施例中的SDN网络可以是仅包括一个控制器的网络域。
本发明实施例中,交换设备可以是OF协议下的OF交换机,也可以是SDN中其他协议下的交换机等,本发明对此不作限定。
应注意,本发明实施例不仅适用于OF协议下的SDN,也可适用于其他协议下的SDN,本发明对此不作限定。
应理解,在本发明实施例中,控制器与交换机采用co-located的部署方案,即控制器与交换机节点部署在同一位置,这在一定程度上可以降低控制器部署的成本。同时,控制器与交换机之间的连接采用带内模式(in-band),即控制信息与数据信息采用相同的传输通道。
图1是本发明实施例可应用的SDN网络拓扑场景示意图。图1所示的SDN网络中为一个网络域,在该网络中包括1-16个交换机节点,和一个控制器(图未示),该控制器可以与1-16个转发节点中的其中一个节点部署在同一位置。图中两个节点之间的连线表示域内链路,节点向外连接的虚线为域间链路,表示该域与其它域之间的链路。
图2是根据本发明一个实施例的确定SDN网络中控制器位置的方法的示意流程图。图2所示的方法由下文中图5所示的设备执行。具体地,图2所示的方法,包括:
210,获取软件定义网络SDN网络拓扑,SDN网络拓扑中包括N个节点。
具体地,该SDN网络拓扑可以是预先获知的,也可以是在网络中随机部署控制器,由该控制器执行网络拓扑的发现过程得到的。例如该SDN网络拓扑可以是如1所示的网络拓扑,该SDN网络拓扑中的节点数N=16。
220,确定N个节点的权重。
换句话说,确定N个节点中的每个节点的权重。
230,根据N个节点的权重,确定N个节点到控制器部署位置的候选节点集中各节点的平均路由代价,其中,候选节点集包括N个节点中的至少部分节点。
具体地,将候选节点集中的各个节点的位置设置为处理器的部署位置,确定N个节点到该候选节点集中的各个节点的消息传输的平均路由代价。例如,该消息可以为路由请求消息。
应理解,一个节点到另一个节点的路由代价可以指该两个节点之间消息传输的代价。
还应理解,候选节点集可以包括N个节点中的部分或全部节点。
240,将候选节点集合中平均路由代价最小的节点所在的位置确定为控制器的部署位置。
因此,基于上述技术方案,本发明实施例通过确定确定SDN网络拓扑的N个节点的权重;根据N个节点的权重,确定N个节点到控制器部署位置的候选节点集中各节点的平均路由代价,其中,候选节点集包括N个节点中的至少部分节点;将候选节点集合中平均路由代价最小的节点所在的位置确定为控制器的部署位置。本发明实施例同时考虑了考虑节点的权重和与节点对应的平均路由代价,将控制器部署在合理的位置,提升网络性能。
可选地,作为另一实施例,在220中,根据N个节点中每个节点的节点度确定每个节点的权重,其中,每个节点的节点度表示SDN网络拓扑中与每个节点连接的边的个数。
应理解,本发明实施例中的边可以为链路,具体地,链路包括域内链路和域间链路,例如,图1中两个节点之间的连线(边)表示域内链路,节点向外连接的虚线(边)为域间链路,表示该域与其它域之间的链路。换句话说,每个节点的节点度表示SDN网络拓扑中与每个节点相关联的链路的个数。
进一步地,作为另一实施例,在220中,根据以下公式确定每个节点的权重:
其中,1≤n≤N w(n)表示N个节点中的第n节点的权重,a为常数,例如,a=0、1、2或3等,dn为第n节点的节点度,dmax为N个节点的节点度中的最大值。
应注意,本发明实施例中节点的权重计算方法并不限于此,还可以根据其它方法获取,例如,可以根据经过该节点或由该节点产生的流的数目确定该节点的权重,例如,将该流的数目确定为该节点的权重。
可选地,作为另一实施例,在230中,确定N个节点到候选节点集中各个节点的路由代价;根据N个节点的权重和N个节点到候选节点集中各个节点的路由代价,确定N个节点到控制器部署位置的候选节点集中各节点的平均路由代价。
进一步地,作为另一实施例,在230中,根据链路时延、链路带宽、链路通信代价、链路丢包、链路负载和链路跳数中的至少一种确定N个节点到候选节点集中各个节点的路由代价。
进一步地,作为另一实施例,在230中,根据以下公式确定N个节点到候选节点集中各个节点的路由代价:
f(n,c)=α·Idelay+β·Ibandwidth+γ·Iloss+λ·Icost+μ·Iload+εIhop
其中1≤n≤N,f(n,c)表示N个节点中第n节点到候选节点集中的第c节点的路由代价,0≤α,β,γ,λ,μ,ε≤1,α+β+γ+λ+μ+ε=1,Idelay表示链路时延,Ibandwidth表示链路带宽,Iloss表示链路丢包,Icost表示链路通信代价,Iload表示链路负载,Ihop表示链路跳数。
应理解,本发明实施例中确定路由代价的方法可以考虑上述链路因素:链路时延、链路带宽、链路通信代价、链路丢包、链路负载和链路跳数中的一种或多种,本发明实施例并不对此做限定,例如,可以仅考虑链路时延因素。在计算f(n,c)时,如果只考虑单个因素,则直接运用路由算法进行求解;例如,如果只考虑链路跳数,则上述公式变为f(n,c)=Ihop。如果需要考虑到多个因素,可以对各个影响因素归一化后进行加权,然后使用路由算法(如Floyd-Warshall算法)进行求解,以找到最小路由代价作为f(n,c)的度量。
可选地,作为另一实施例,在230中,根据以下公式确定N个节点到控制器部署位置的候选节点集中各节点的平均路由代价:
其中,f(c)表示N个节点到控制器部署位置的候选节点集中第c节点的平均路由代价,w(n)表示第n节点的权重,f(n,c)表示N个节点中第n节点到候选节点集中的第c节点的路由代价。
可选地,作为另一实施例,该方法还包括:根据N个节点中的权重,确定候选节点集,其中,候选节点集包括N个节点中的权重大于预设阈值的节点。
具体地,如图3所示,该方法包括:
310,获取软件定义网络SDN网络拓扑,SDN网络拓扑中包括N个节点。
320,确定N个节点的权重。
350,根据N个节点中的权重,确定候选节点集,其中,候选节点集包括N个节点中的权重大于预设阈值的节点。
330,根据N个节点的权重,确定N个节点到控制器部署位置的候选节点集中各节点的平均路由代价,其中,候选节点集包括N个节点中的至少部分节点。
340,将候选节点集合中平均路由代价最小的节点所在的位置确定为控制器的部署位置。
具体地,310与210对应,320与220对应,330与230对应,340与240对应,为避免重复,不再赘述。
应理解,阈值阈值可以是预先设置好的值,也可以为N个节点的权重的平均值,也可以为N个节点的权重的中间权重的数值。本发明实施例并不对此做限定。应理解,在较佳实施例中,该候选节点集包括N个节点中的部分节点。
因此,本发明实施例,通过设定控制器候选节点集,仅计算候选节点集中的节点对应的平均路由代价,降低了计算的复杂度,从候选节点集中选取控制器的部署位置,能够将控制器部署在合理的位置,提升网络性能。
上文中结合图1至图3详细描述了本发明实施例的,方法,下面结合图4的具体例子对本发明实施例的确定SDN网络中控制器位置的方法进行详细说明。
图4是根据本发明另一实施例的确定SDN网络中控制器位置的方法的示意流程图。下面结合图1所示的SDN网络进行说明,如图4所示,该方法包括:
410,获取网络参数。
具体地,获取网络参数,包括获取节点总数N,第n节点的节点度dn,及链路影响因素,如:链路时延、链路带宽、链路通信代价、链路负载和链路跳数等影响因子。
例如,对于图1所示的场景图,包括N=16个节点,分别为第1到第16节点。d1-d16分别为6、5、3、4、3、4、4、2、6、4、4、6、5、3和3。
420,确定N个节点的权重。
具体地,根据各个节点的节点度确定各节点的权重。可以根据公式
确定节点的权重,其中dmax=6,为第1、第9或第12节点的节点度。本发明实施例中可以取a=1。
因此,可以得到第1到第16节点的权重w(1)到w(16)分别为:
2.0000,1.8333,1.5000,1.6667,1.5000,1.6667,1.6667,1.3333,2.0000,1.6667,1.6667,2.0000,1.8333,1.5000,1.8333,1.5000。
430,确定候选节点集
具体地,可以将N个节点中的权重大于预设权重阈值的C个节点的集合确定为候选节点集。或者可以将N个节点中的节点度大于预设节点度的C个节点的集确定为候选节点集。
例如,可以设置权重阈值为1.65,或者节点度阈值为5,那么将16个节点中权重大于1.65或者节点度大于5的第1、2、9、12、13和15节点作为候选节点集,这里,C=6。
440,确定路由代价。
具体地,可以根据以下公式针对每一个候选节点集中的节点计算N个节点到该节点的路由代价。
f(n,c)=α·Idelay+β·Ibandwidth+γ·Iloss+λ·Icost+μ·Iload+εIhop
例如,在本发明实施例中可以仅考虑链路跳数,那么
f(n,c)=Ihop
例如,对应第15节点而言,第1-第16节点到该节点的路由代价(最少跳数)分别为2,2,3,3,2,1,1,2,2,3,2,1,1,1,0,1。
450,确定平均路由代价。
具体地,可以根据公式
确定候选节点集中的各个节点的平均路由代价。
例如,对于第15节点而言,f(15)=2.7396。
460,确定控制器部署位置。
具体地,遍历候选节点集C,确定最小平均路由代价的节点的位置作为控位置部署位置。
例如,最终确定f(12)=2.6563为最小平均路由代价,将第12节点的位置作为控制器的部署位置。
上文结合图1至图4详细描述了本发明实施例的确定SDN网络中控制器位置的方法,下面结合图5至图7详细描述本发明实施例的确定SDN网络中控制器位置的设备。
图5是根据本发明一个实施例的确定SDN网络中控制器位置的设备的示意性框图。如图5所示该设备500包括:获取单元510、第一确定单元520、第二确定单元530和第三确定单元540。
具体地,获取单元510用于获取软件定义网络SDN网络拓扑,SDN网络拓扑中包括N个节点;第一确定单元520用于确定N个节点的权重;第二确定单元530用于根据N个节点的权重,确定N个节点到控制器部署位置的候选节点集中各节点的平均路由代价,其中,候选节点集包括N个节点中的至少部分节点;第三确定单元540用于将候选节点集合中平均路由代价最小的节点所在的位置确定为控制器的部署位置。
因此,基于上述技术方案,本发明实施例通过确定确定SDN网络拓扑的N个节点的权重;根据N个节点的权重,确定N个节点到控制器部署位置的候选节点集中各节点的平均路由代价,其中,候选节点集包括N个节点中的至少部分节点;将候选节点集合中平均路由代价最小的节点所在的位置确定为控制器的部署位置。本发明实施例同时考虑了考虑节点的权重和与节点对应的平均路由代价,将控制器部署在合理的位置,提升网络性能。
可选地,作为另一实施例,第一确定单元520根据N个节点中每个节点的节点度确定每个节点的权重,其中,每个节点的节点度表示SDN网络拓扑中与每个节点连接的边的个数。
进一步地,作为另一实施例,第一确定单元510根据以下公式确定每个节点的权重:
其中,1≤n≤N w(n)表示N个节点中的第n节点的权重,a为常数,dn为第n节点的节点度,dmax为N个节点的节点度中的最大值。
可选地,作为另一实施例,第二确定单元530确定N个节点到候选节点集中各个节点的路由代价;并根据N个节点的权重和N个节点到候选节点集中各个节点的路由代价,确定N个节点到控制器部署位置的候选节点集中各节点的平均路由代价。
进一步地,作为另一实施例,第二确定单元530根据链路时延、链路带宽、链路通信代价、链路丢包、链路负载和链路跳数中的至少一种确定N个节点到候选节点集中各个节点的路由代价。
具体地,作为另一实施例,第二确定单元530根据以下公式确定N个节点到候选节点集中各个节点的路由代价:
f(n,c)=α·Idelay+β·Ibandwidth+γ·Iloss+λ·Icost+μ·Iload+εIhop
其中1≤n≤N,f(n,c)表示N个节点中第n节点到候选节点集中的第c节点的路由代价,0≤α,β,γ,λ,μ,ε≤1,α+β+γ+λ+μ+ε=1,Idelay表示链路时延,Ibandwidth表示链路带宽,Iloss表示链路丢包,Icost表示链路通信代价,Iload表示链路负载,Ihop表示链路跳数。
进一步地,作为另一实施例,第二确定单元530根据以下公式确定N个节点到控制器部署位置的候选节点集中各节点的平均路由代价:
其中,f(c)表示N个节点到控制器部署位置的候选节点集中第c节点的平均路由代价,w(n)表示第n节点的权重,f(n,c)表示N个节点中第n节点到候选节点集中的第c节点的路由代价。
可选的,作为另一实施例,该设备还包括:第四确定单元,
具体地,如图6所示,该设备600包括:获取单元610、第一确定单元620、第四确定单元650、第二确定单元530和第三确定单元540。
具体地,获取单元610、第一确定单元620、第二确定单元530和第三确定单元540。分别与获取单元510、第一确定单元520、第二确定单元530和第三确定单元540相对应,为避免重复,不再赘述。第四确定单元,用于根据N个节点中的权重,确定候选节点集,其中,候选节点集包括N个节点中的权重大于预设阈值的节点。应理解,在较佳实施例中,该候选节点集包括N个节点中的部分节点。
因此,本发明实施例,通过设定控制器候选节点集,仅计算候选节点集中的节点对应的平均路由代价,降低了计算的复杂度,从候选节点集中选取控制器的部署位置,能够将控制器部署在合理的位置,提升网络性能。
应理解,图5和图6的设备与图1至图4的方法相对应,能够实现图1至图4中确定SDN网络中控制器位置的方法的各个过程,为避免重复,不再赘述。
图7是根据本发明一个实施例的确定SDN网络中控制器位置的设备的示意性框图。如图7所示的设备700包括:包括处理器710、存储器720和总线系统730。
具体的,处理器710通过总线系统730调用存储在存储器720中的代码,获取软件定义网络SDN网络拓扑,SDN网络拓扑中包括N个节点;确定N个节点的权重;根据N个节点的权重,确定N个节点到控制器部署位置的候选节点集中各节点的平均路由代价,其中,候选节点集包括N个节点中的至少部分节点;将候选节点集合中平均路由代价最小的节点所在的位置确定为控制器的部署位置。
因此,基于上述技术方案,本发明实施例通过确定确定SDN网络拓扑的N个节点的权重;根据N个节点的权重,确定N个节点到控制器部署位置的候选节点集中各节点的平均路由代价,其中,候选节点集包括N个节点中的至少部分节点;将候选节点集合中平均路由代价最小的节点所在的位置确定为控制器的部署位置。本发明实施例同时考虑了考虑节点的权重和与节点对应的平均路由代价,将控制器部署在合理的位置,提升网络性能。
上述本发明实施例揭示的方法可以应用于处理器610中,或者由处理器610实现。处理器610可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器610中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器610可以是通用处理器、数字信号处理器(英文Digital Signal Processor,简称DSP)、专用集成电路(英文Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(英文Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(英文Random Access Memory,简称RAM)、闪存、只读存储器(英文Read-Only Memory,简称ROM)、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器620,处理器610读取存储器620中的信息,结合其硬件完成上述方法的步骤,该总线系统630除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统630。
可选地,作为另一实施例,处理器710根据N个节点中每个节点的节点度确定每个节点的权重,其中,每个节点的节点度表示SDN网络拓扑中与每个节点连接的边的个数。
进一步地,作为另一实施例,处理器710根据以下公式确定每个节点的权重:
其中,1≤n≤N w(n)表示N个节点中的第n节点的权重,a为常数,dn为第n节点的节点度,dmax为N个节点的节点度中的最大值。
可选地,作为另一实施例,处理器710确定N个节点到候选节点集中各个节点的路由代价;并根据N个节点的权重和N个节点到候选节点集中各个节点的路由代价,确定N个节点到控制器部署位置的候选节点集中各节点的平均路由代价。
进一步地,作为另一实施例,处理器710根据链路时延、链路带宽、链路通信代价、链路丢包、链路负载和链路跳数中的至少一种确定N个节点到候选节点集中各个节点的路由代价。
具体地,作为另一实施例,处理器710根据以下公式确定N个节点到候选节点集中各个节点的路由代价:
f(n,c)=α·Idelay+β·Ibandwidth+γ·Iloss+λ·Icost+μ·Iload+εIhop
其中1≤n≤N,f(n,c)表示N个节点中第n节点到候选节点集中的第c节点的路由代价,0≤α,β,γ,λ,μ,ε≤1,α+β+γ+λ+μ+ε=1,Idelay表示链路时延,Ibandwidth表示链路带宽,Iloss表示链路丢包,Icost表示链路通信代价,Iload表示链路负载,Ihop表示链路跳数。
进一步地,作为另一实施例,处理器710根据以下公式确定N个节点到控制器部署位置的候选节点集中各节点的平均路由代价:
其中,f(c)表示N个节点到控制器部署位置的候选节点集中第c节点的平均路由代价,w(n)表示第n节点的权重,f(n,c)表示N个节点中第n节点到候选节点集中的第c节点的路由代价。
可选的,作为另一实施例,处理器710用于根据N个节点中的权重,确定候选节点集,其中,候选节点集包括N个节点中的权重大于预设阈值的节点。应理解,在较佳实施例中,该候选节点集包括N个节点中的部分节点。
因此,本发明实施例,通过设定控制器候选节点集,仅计算候选节点集中的节点对应的平均路由代价,降低了计算的复杂度,从候选节点集中选取控制器的部署位置,能够将控制器部署在合理的位置,提升网络性能。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本发明实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘(Disk)和碟(disc)包括压缩光碟(CD)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种确定软件定义网络中控制器位置的方法,其特征在于,包括:
获取软件定义网络SDN网络拓扑,所述SDN网络拓扑中包括N个节点;
确定所述N个节点的权重;
根据所述N个节点的权重,确定所述N个节点到控制器部署位置的候选节点集中各节点的平均路由代价,其中,所述候选节点集包括所述N个节点中的至少部分节点;
将所述候选节点集合中平均路由代价最小的节点所在的位置确定为所述控制器的部署位置。
2.根据权利要求1所述的方法,其特征在于,所述确定所述N个节点的权重,包括:
根据所述N个节点中每个节点的节点度确定所述每个节点的权重,其中,所述每个节点的节点度表示所述SDN网络拓扑中与所述节点连接的边的个数。
3.根据权利要求2所述的方法,其特征在于,所述根据所述N个节点中每个节点的节点度确定所述每个节点的权重,包括:
根据以下公式确定所述每个节点的权重:
其中,1≤n≤N w(n)表示所述N个节点中的第n节点的权重,a为常数,dn为所述第n节点的节点度,dmax为所述N个节点的节点度中的最大值。
4.根据权利要求1所述的方法,其特征在于,所述根据所述N个节点的权重,确定所述N个节点到控制器部署位置的候选节点集中各节点的平均路由代价,包括:
确定所述N个节点到所述候选节点集中各个节点的路由代价;
根据所述N个节点的权重和所述N个节点到所述候选节点集中各个节点的路由代价,确定所述N个节点到控制器部署位置的候选节点集中各节点的平均路由代价。
5.根据权利要求4所述的方法,其特征在于,所述确定所述N个节点到所述候选节点集中各个节点的路由代价,包括:
根据链路时延、链路带宽、链路通信代价、链路丢包、链路负载和链路跳数中的至少一种确定所述N个节点到所述候选节点集中各个节点的路由代价。
6.根据权利要求5所述的方法,其特征在于,
所述根据链路时延、链路带宽、链路通信代价、链路丢包、链路负载和链路跳数中的至少一种确定所述N个节点到所述候选节点集中各个节点的路由代价,包括:
根据以下公式确定所述N个节点到所述候选节点集中各个节点的路由代价:
f(n,c)=α·Idelay+β·Ibandwidth+γ·Iloss+λ·Icost+μ·Iload+εIhop
其中1≤n≤N,f(n,c)表示所述N个节点中第n节点到所述候选节点集中的第c节点的路由代价,0≤α,β,γ,λ,μ,ε≤1,α+β+γ+λ+μ+ε=1,Idelay表示链路时延,Ibandwidth表示链路带宽,Iloss表示链路丢包,Icost表示链路通信代价,Iload表示链路负载,Ihop表示链路跳数。
7.根据权利要求4所述的方法,其特征在于,所述根据所述N个节点的权重和所述N个节点到所述候选节点集中各个节点的路由代价,确定所述N个节点到控制器部署位置的候选节点集中各节点的平均路由代价,包括:
根据以下公式确定所述N个节点到控制器部署位置的候选节点集中各节点的平均路由代价:
其中,f(c)表示所述N个节点到控制器部署位置的候选节点集中第c节点的平均路由代价,w(n)表示第n节点的权重,f(n,c)表示所述N个节点中第n节点到所述候选节点集中的第c节点的路由代价。
8.根据权利要求1至7中任一项所述的方法,其特征在于,还包括:
根据所述N个节点中的权重,确定所述候选节点集,其中,所述候选节点集包括所述N个节点中的权重大于预设阈值的节点。
9.一种确定软件定义网络中控制器位置的设备,其特征在于,包括:
获取单元,用于获取软件定义网络SDN网络拓扑,所述SDN网络拓扑中包括N个节点;
第一确定单元,用于确定所述N个节点的权重;
第二确定单元,用于根据所述N个节点的权重,确定所述N个节点到控制器部署位置的候选节点集中各节点的平均路由代价,其中,所述候选节点集包括所述N个节点中的至少部分节点;
第三确定单元,用于将所述候选节点集合中平均路由代价最小的节点所在的位置确定为所述控制器的部署位置。
10.根据权利要求9所述的设备,其特征在于,所述第一确定单元根据所述N个节点中每个节点的节点度确定所述每个节点的权重,其中,所述每个节点的节点度表示所述SDN网络拓扑中与所述节点连接的边的个数。
11.根据权利要求10所述的设备,其特征在于,所述第一确定单元根据以下公式确定所述每个节点的权重:
其中,1≤n≤N w(n)表示所述N个节点中的第n节点的权重,a为常数,dn为所述第n节点的节点度,dmax为所述N个节点的节点度中的最大值。
12.根据权利要求9所述的设备,其特征在于,所述第二确定单元确定所述N个节点到所述候选节点集中各个节点的路由代价;并根据所述N个节点的权重和所述N个节点到所述候选节点集中各个节点的路由代价,确定所述N个节点到控制器部署位置的候选节点集中各节点的平均路由代价。
13.根据权利要求12所述的设备,其特征在于,所述第二确定单元根据链路时延、链路带宽、链路通信代价、链路丢包、链路负载和链路跳数中的至少一种确定所述N个节点到所述候选节点集中各个节点的路由代价。
14.根据权利要求13所述的设备,其特征在于,所述第二确定单元根据以下公式确定所述N个节点到所述候选节点集中各个节点的路由代价:
f(n,c)=α·Idelay+β·Ibandwidth+γ·Iloss+λ·Icost+μ·Iload+εIhop
其中1≤n≤N,f(n,c)表示所述N个节点中第n节点到所述候选节点集中的第c节点的路由代价,0≤α,β,γ,λ,μ,ε≤1,α+β+γ+λ+μ+ε=1,Idelay表示链路时延,Ibandwidth表示链路带宽,Iloss表示链路丢包,Icost表示链路通信代价,Iload表示链路负载,Ihop表示链路跳数。
15.根据权利要求12所述的设备,其特征在于,所述第二确定单元根据以下公式确定所述N个节点到控制器部署位置的候选节点集中各节点的平均路由代价:
其中,f(c)表示所述N个节点到控制器部署位置的候选节点集中第c节点的平均路由代价,w(n)表示第n节点的权重,f(n,c)表示所述N个节点中第n节点到所述候选节点集中的第c节点的路由代价。
16.根据权利要求9至15中任一项所述的设备,其特征在于,还包括:
第四确定单元,用于根据所述N个节点中的权重,确定所述候选节点集,其中,所述候选节点集包括所述N个节点中的权重大于预设阈值的节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410709057.9A CN105704192B (zh) | 2014-11-28 | 2014-11-28 | 确定sdn网络中控制器位置的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410709057.9A CN105704192B (zh) | 2014-11-28 | 2014-11-28 | 确定sdn网络中控制器位置的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105704192A CN105704192A (zh) | 2016-06-22 |
CN105704192B true CN105704192B (zh) | 2019-01-25 |
Family
ID=56230885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410709057.9A Expired - Fee Related CN105704192B (zh) | 2014-11-28 | 2014-11-28 | 确定sdn网络中控制器位置的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105704192B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106911516B (zh) * | 2017-03-20 | 2019-09-24 | 重庆邮电大学 | 一种软件定义网络控制器部署方法 |
CN109286528B (zh) * | 2018-10-16 | 2020-11-03 | 四川长虹电器股份有限公司 | 一种基于时延的sdn网络多控制器部署方法 |
CN110233752B (zh) * | 2019-05-28 | 2021-11-09 | 中国人民解放军战略支援部队信息工程大学 | 一种抗攻击的控制器鲁棒部署方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102215169A (zh) * | 2011-06-03 | 2011-10-12 | 中国科学院计算技术研究所 | 一种Overlay网络及其转发节点部署方法 |
US8553584B2 (en) * | 2010-09-08 | 2013-10-08 | Telefonaktiebolaget L M Ericsson (Publ) | Automated traffic engineering for 802.1AQ based upon the use of link utilization as feedback into the tie breaking mechanism |
CN103763146A (zh) * | 2014-01-29 | 2014-04-30 | 杭州华三通信技术有限公司 | 一种软件定义网络控制器及其生成转发信息的方法 |
CN104065590A (zh) * | 2014-07-16 | 2014-09-24 | 福州大学 | 一种软件定义网络的控制器放置方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120030150A1 (en) * | 2010-07-29 | 2012-02-02 | Telcordia Technologies, Inc. | Hybrid Learning Component for Link State Routing Protocols |
US8773992B2 (en) * | 2010-10-11 | 2014-07-08 | At&T Intellectual Property I, L.P. | Methods and apparatus for hierarchical routing in communication networks |
-
2014
- 2014-11-28 CN CN201410709057.9A patent/CN105704192B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8553584B2 (en) * | 2010-09-08 | 2013-10-08 | Telefonaktiebolaget L M Ericsson (Publ) | Automated traffic engineering for 802.1AQ based upon the use of link utilization as feedback into the tie breaking mechanism |
CN102215169A (zh) * | 2011-06-03 | 2011-10-12 | 中国科学院计算技术研究所 | 一种Overlay网络及其转发节点部署方法 |
CN103763146A (zh) * | 2014-01-29 | 2014-04-30 | 杭州华三通信技术有限公司 | 一种软件定义网络控制器及其生成转发信息的方法 |
CN104065590A (zh) * | 2014-07-16 | 2014-09-24 | 福州大学 | 一种软件定义网络的控制器放置方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105704192A (zh) | 2016-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102783097B (zh) | 分组转发系统、控制设备、转发设备以及用于准备处理规则的方法 | |
EP2883334B1 (en) | Techniques for flooding optimization for link state protocols in a network topology | |
US8224626B2 (en) | Quality degradation point estimating system and quality degradation point estimating method | |
US8493869B2 (en) | Distributed constraints-based inter-domain network traffic management | |
US10355971B2 (en) | System and method for data path validation and verification | |
CN105264844B (zh) | 软件定义网络的路由方法、装置和设备 | |
CN112491707B (zh) | 一种转发路径的确定方法及装置 | |
CN109787801A (zh) | 一种网络服务管理方法、装置和系统 | |
JP6323547B2 (ja) | 通信システム、制御装置、通信制御方法、および、プログラム | |
CN109039897A (zh) | 一种基于业务感知的软件定义回程网络路由方法 | |
KR20160072002A (ko) | Sdn 상에서 최적 경로 계산 시스템 및 방법 | |
CN112751763A (zh) | 一种报文转发方法、设备、存储介质及系统 | |
CN105704192B (zh) | 确定sdn网络中控制器位置的方法和设备 | |
CN106161053A (zh) | 一种SDN控制器QoS管理系统及方法 | |
JP6084583B2 (ja) | フロー経路変更計算装置およびフロー経路変更計算システム | |
CN108574594A (zh) | 一种网络业务传输的方法及系统 | |
US8064466B2 (en) | Method for specifying input edge router | |
CN109067657A (zh) | 一种报文处理方法和装置 | |
WO2014175171A1 (ja) | ネットワークシステム、ネットワーク資源管理装置及び通信経路作成方法 | |
EP3247077A1 (en) | Path selection method, device and system | |
JP2016122960A (ja) | 管理システム、ネットワーク管理方法、ネットワークシステム | |
US20220086545A1 (en) | Network control method, apparatus, and system | |
TWI538440B (zh) | PTN network resource management and dispatching method | |
US20160315787A1 (en) | Network system, control devices, control method, and program | |
US10063420B2 (en) | Network control apparatus, network system, network control method, and program |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190125 Termination date: 20201128 |