CN105471658B - 一种sdn网络及其组网方法 - Google Patents
一种sdn网络及其组网方法 Download PDFInfo
- Publication number
- CN105471658B CN105471658B CN201510920804.8A CN201510920804A CN105471658B CN 105471658 B CN105471658 B CN 105471658B CN 201510920804 A CN201510920804 A CN 201510920804A CN 105471658 B CN105471658 B CN 105471658B
- Authority
- CN
- China
- Prior art keywords
- sdn
- packet
- switch
- controller
- port
- 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
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/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- 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/12—Discovery or management of network topologies
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种SDN组网方法,包括:根据给定的传统网络拓扑结构,在网络中选择出需要SDN化的端口Π1,并对这些端口进行SDN化;根据传统网络拓扑结构以及端口集合Π1,计算出需要升级的交换机,并将这些交换机升级为SDN交换机,并为SDN交换机部署控制器;控制器下发流表,使SDN交换机发送LLDP帧与广播帧,收到LLDP包和广播包或只收到LLDP的SDN交换机将收到的包发送给控制器,控制器根据由SDN交换机上传的包的信息,绘制出网络拓扑。通过本发明,控制器可以对网络进行全局管控,从而可以方便的部署各类SDN应用,SDN交换机与传统交换机的协作更加智能可控、升级成本更低和升级中资源利用率更高的优点。
Description
技术领域
本发明涉及网络组网技术领域,特别涉及一种SDN网络及其组网方法。
背景技术
传统IT架构中的网络,根据业务需求部署上线以后,如果业务需求发生变动,重新修改相应网络设备(路由器、交换机、防火墙)上的配置是一件非常繁琐的事情。在互联网/移动互联网瞬息万变的业务环境下,网络的高稳定与高性能还不足以满足业务需求,灵活性和敏捷性反而更为关键。SDN,即Software-Defined Network(软件定义网络),所做的事是将网络设备上的控制权分离出来,由集中的控制器管理,无须依赖底层网络设备(路由器、交换机、防火墙),屏蔽了来自底层网络设备的差异。而控制权是完全开放的,用户可以自定义任何想实现的网络路由和传输规则策略,从而更加灵活和智能。
2006年,SDN诞生于美国GENI项目资助的斯坦福大学Clean Slate课题,斯坦福大学Nick McKeown教授为首的研究团队提出了OpenFlow的概念用于校园网络的试验创新,后续基于OpenFlow给网络带来可编程的特性,SDN的概念应运而生。Clean Slate项目的最终目的是要重新发明因特网,旨在改变设计已略显不合时宜且难以进化发展的现有网络基础架构。
由于传统的网络设备(交换机、路由器)的固件是由设备制造商锁定和控制,所以SDN希望将网络控制与物理网络拓扑分离,从而摆脱硬件对网络架构的限制。这样企业便可以像升级、安装软件一样对网络架构进行修改,满足企业对整个网站架构进行调整、扩容或升级。而底层的交换机、路由器等硬件则无需替换,节省大量的成本的同时,网络架构迭代周期将大大缩短。
SDN技术除了有众多好处之外也有一些局限性。SDN采用了集中式的控制平面和分布式的转发平面,这两个平面互相分离,控制平面利用控制-转发通信接口对转发平面上的网络设备进行集中式控制。这样的架构对网络设备有着特殊的要求,传统交换机等网络设备无法完全满足SDN技术的要求,而支持SDN的网络设备造价昂贵,于是乎在部署SDN网络中需要解决的一大难题便是,如何使用有限的经费升级替换原有网络设备,以达到最优化的效果。
在目前已有的一些混合组网方案中,有两种主流方案,分别是并行式混合组网与接入控制式混合组网。
并行式混合组网方案将数据流空间分成许多不相交的层,再根据需要对各层的数据包进行SDN或非SDN处理。对于感兴趣的数据包,管理人员可以单独将其所在的层进行SDN处理。这种方案的优点在于针对感兴趣的流量,可以进行完全的SDN化控制,应用各种SDN功能;但它最大的局限性在于,本质上,这不是一个SDN与非SDN融合的网络,在对数据的处理上这两种模式是分开的,就像IPV4与IPV6的关系一样。此外,为了同时支持SDN与非SDN网络,需要将网络中的交换机全部换为混合可编程交换机,这意味着很大的一次性资金投入,对于SDN的市场推广是一个障碍。
接入控制式组网方案是另一种混合组网思路,它将已有的传统网络视为SDN交换机之间互相通信的管道,从而实现了SDN交换机与传统交换机的混合使用,是真正的混合组网。这种方案将SDN交换机部署在网络接入层,即网络的边缘。各个SDN交换机由于在网络边缘,大多没有直接相连的物理链路,转而通过传统交换机及原有链路进行通信。通过这样的升级,将整个混合网络视为一块布,如果SDN交换机是布的边缘,传统交换机则是连接SDN交换机的丝线。这么做的最大好处是可以通过SDN对用户接入及位于网络边缘的其他应用进行管理,如数据中心网络虚拟化。但是在校园网络或企业网络中,终端是接入点,这种方案意味着需要升级数以千计的接入点,导致高昂的预算。同时,这种部署方案,使得控制器对于网络核心部分的控制几乎为零,无法应用负载均衡、路径选择等功能,这是这种方案最大的缺点。
发明内容
(一)要解决的技术问题
本发明针对SDN部署中的这一问题,提出了一种传统网络与SDN网络混合组网方案,该方案可以在有限的经费下,达到最优化的SDN部署效果,可以实现控制器对接入侧与核心网络的同时管控,支持部署各类SDN应用,并且支持后续的渐进式设备升级。
(二)技术方案
根据本发明的一个方面,提出了一种SDN组网方法,该方法包括步骤:步骤1,根据给定的传统网络拓扑结构,在网络中选择出需要SDN化的端口Π1,并对这些端口进行SDN化;步骤2,根据传统网络拓扑结构以及端口集合Π1,计算出需要升级的交换机,并将这些交换机升级为SDN交换机,并为SDN交换机部署控制器;步骤3,控制器下发流表,使SDN交换机发送LLDP帧与广播帧,收到LLDP包和广播包或只收到LLDP的SDN交换机将收到的包发送给控制器,控制器根据由SDN交换机上传的包的信息,绘制出网络拓扑。
根据本发明的另一方面,提出了一种SDN网络,该混合网络包括SDN控制器、传统交换机、SDN交换机,SDN交换机受SDN控制器下发的流表实时控制,传统交换机不受SDN控制器控制,根据一套固定的转发规则转发数据包,在该混合网络中,任意两个SDN端口间的路径,均由混合组网中存在的链路组成,端口之间的通信使用的是指定路径,该指定路径上至少有一个SDN交换机,对于一条路径上的任意节点,最多有一条入射链路在路径上,最多有一条出射链路在路径上。
(三)有益效果
利用本发明的方案,控制器可以对网络中SDN端口进行控制,而且对于控制器来说,传统交换机是不可见的,在控制器看来,整个网络是一个纯SDN网络,可以方便的在网络上部署各种定制化的功能,如混合网络策略、实时网络策略、定制化的网络行为、网络故障修复等等。
本发明提供的升级方案只需要少量经费,便可以使大量网络端口实现SDN化,从而实现了以最小的成本实现最大的升级效果,即一定经费条件 下的最优升级效果。
附图说明
图1是根据本发明构建的基于SDN的混合网络的拓扑图。
图2是根据本发明并行式组网方案示意图。
图3是根据本发明接入控制式组网方案示意图。
图4是与图1对应的网络拓扑等效图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
根据本发明的一个方面,提出了一种基于SDN组网方法。利用该方法,利用已有完备的传统网络,计划使用一定的经费,将SDN功能引入到现有网络之中。此处传统网络指由基于MAC地址转发数据包的交换机和一些链路组成的网络,如常见的公司网络或者校园网络。
本发明的基于SDN的组网方法包括以下步骤:
步骤1,根据给定的传统网络拓扑结构,在网络中选择出需要SDN化的端口,并对所选择的端口进行SDN化。
在该步骤,管理员可根据实际需求,如按照职能部门、按照功能区域等,在网络拓扑图中选取一部分网络端口,记为集合Π1。利用本发明的方法部署混合SDN网络,可以使Π1中的端口SDN化,即该端口可以被交换机控制,并且部署SDN应用。
SDN网络的特点源自控制器对于各个网络端口间数据流的控制,而控制器是通过交换机来实现对数据流的感知和管控,进而感知并控制各个网络端口。故本发明在对网络升级过程中,将网络中的端口划分为两部分,可以被SDN控制器所感知并控制的称为SDN端口,不能被SDN控制器所感知并控制的称为非SDN端口。
用户终端连接在网络的端口上,根据端口的性质,即SDN端口或非SDN端口,决定了用户终端设备能否获得SDN化的上网性能。
步骤2,根据网络拓扑以及端口集合Π1,计算出需要升级的交换机, 并对需要升级的交换机升级为SDN交换机。
交换机位于网络中链路节点,负责转发各个方向来的数据包。如果说交换机好比是交叉路口,控制器则是路口上的红绿灯,控制器负责向交换机下发流表,流表则是交换机执行转发数据包时参照的规则,控制器通过修改交换机的转发规则来实现感知并控制网络的能力。图1是根据本发明的组网方案得到的交换机连接图,其中有两种交换机,分别是SDN交换机与非SDN交换机,二者的区别在于SDN交换机受控制器下发的流表实时控制,非SDN交换机不受控制器控制,根据一套固定的转发规则转发数据包。
在该步骤,根据特定的算法对传统网络中的部分交换机升级为SDN交换机,从而得到例如图1所示的网络。该特定的算法在本发明将之称为交换机选择算法。
首先要将传统网络划分为多个区域,对该算法中涉及到的参数进行如下定义:β为网络升级预算;γ(u)为升级交换机u的成本;d0(s,t)代表路径(s,t)的长度;Ii,j=1代表链路(i,j)存在于混合网络G,否则为0;代表链路(i,j)存在且在路径(s,t)上,否则为0;yu=1代表交换机u是升级过的交换机,即SDN交换机,否则为0;代表路径(s,t)经过SDN交换机i,否则为0。
本发明所提到的路径和链路是不同的概念,例如链路(a,b)与路径(a,b)是有区别的,链路指连接两个相邻节点的通路,路径指连接任意两个节点的通路,链路与路径都可能有多条。如路径(a,b)从a出发,终点是b,其间可能经过其他节点;而链路(a,b)则是直接由a至b,其间不经过任何节点。本发明按照如下方式来选择将哪些传统交换机升级为SDN交换机:
式(1)
对
式(2)
式(3)
式(4)
式(5)
式(6)
式(7)
对于满足式(1)至式(7)的升级策略,本发明称之为基本升级策略。其中,L表示传统交换机的集合L;Π1表示SDN端口的集合。式(1)表示所有交换机升级所需费用不应超过混合网络升级预算;式(2)表示对于任意两个SDN端口间的路径,均由混合组网中存在的链路组成,以避免用到网络中不存在的链路;式(3)保证节点在通信时严格按照所要求的路径,即(s,t),如果在(s,t)中出现了非指定节点,必定会使得式(3)不成立;式(4)表示在指定路径(s,t)上,一定要至少有一个SDN交换机,即满足式(4)的链路保证满足路径强化;式(5)表示,当且仅当路径(s,t)经过交换机i且交换机i是SDN交换机时,式(6)保证如果路径(s,t)经过交换机i,所有的及不全为0,也就是说路径(s,t)内,至少包括一条进入交换机i的链路或者一条从交换机i离开的链路,即保证了指定升级的交换机i在路径(s,t)之上;式(7)表示对于一条路径上的任意节点(节点可以是SDN交换机或者传统交换机),最多有一条入射链路在路径上,最多有一条出射链路在路径上,即保证了路径的无环性。符合上述条件的交换机被升级为SDN交换机,与被升级的交换机直接相连的端口也被SDN化。如图1所示,被升级为SDN交换机的是ABCD,并为SDN交换机部署控制器。
步骤3,根据生成树协议,为端口集合Π1中的每一个端口执行一次计算,计算出该端口到其附近SDN交换机的所有路径,并为每个路径分配一个VLAN ID。
步骤4,控制器下发流表,使SDN交换机发送LLDP帧与广播帧,收到LLDP包和广播包或只收到LLDP的SDN交换机将收到的包通过 packet_in发送给控制器,控制器,控制器根据由SDN交换机上传的包的信息,绘制出网络拓扑,拓扑中的传统交换机转发行为通过虚拟路径来代替。
在该步骤,控制器通过packet_out消息指示所有SDN交换机,向各自的全部端口发送LLDP包与广播包。
步骤4,根据升级优先级算法,计算出未升级的交换机的优先级,用以后续升级。
上述的交换机选择算法解决了网络架构的问题,保证路径可靠,但仅仅有这一策略还不够,还需要对为升级的交换机的优先级进行分类,用以判断哪些交换机最有升级价值。
优先升级策略分为两种,本发明将其分别称为流量优先策略与链路优先策略。这两种升级策略在设计过程中借鉴了编程中贪心算法的思想,即首先在所有交换机中选出最优的交换机进行升级,之后在剩余的交换机中选出最优的一个并重复这一步,直到网络升级经费超出预算。这两种升级策略只在如何判断最优交换机上存在差异。
流量优先升级策略将转发流量最多的交换机视为最优先的交换机。一般情况下(IP层未进行负载均衡等措施),一个交换机转发的流量越多,说明有越多的节点间通信的最短路径包含这个交换机,所以升级这个交换机可以让更多的现有路径变为可靠的路径,还减少了绕路等情况出现。流量优先策略通过计算max flow(u)/γ(u)来选择下一个需要升级的交换机,其中flow(u)代表所有流入交换机u且未经过路径保证的流量,已经经过路径保证的流量不计入flow(u),γ(u)代表升级交换机u所需要的成本。
链路优先升级策略的想法更直接一点,将所接链路最多的交换机视为最优交换机。无论流量优先还是链路优先,本质上都是希望更多的端口实现SDN化。升级的交换机所接链路越多,越有可能连通更多的单元,这样可以更多的重复使用VLAN ID资源,满足网络的扩展需求。具体来说,链路优先策略通过计算max link(u)/γ(u)来选择下一个需要升级的交换机,其中link(u)代表接入交换机u的链路数量。
下面的伪代码表示了两种优先升级策略的升级方式(由于流量优先升级策略与路径优先升级策略只在最优判断部分有区别,故通过一组代码来 表示)。在升级最初的几个SDN交换机时,得到的网络不一定是可行的,要进行验证。
input:
G0=(Π∪L,ε);(G0表示升级前的网络拓扑图,这个式子表示这个图由点和线组成,其中点由端口∏和传统交换机L组成,线由链路ε组成。)
if
//选择下一个需要升级的u,u∈L
//当流量优先策略时
u=argmaxu∈Lflow(u)/γ(u);(这个式子表示在传统交换机中选择一个交换机记为u,这个u是可以使得flow(u)/y(u)取得最大值的u。)
//当路径优先策略时
//u=argmaxu∈Llink(u)/γ(u);
L=L\{u};(此时升级了交换机u后,从传统交换机的集合中除去交换机u。)
S=S∪{u};(在SDN交换机的集合中加入交换机u。)
G+=(Π∪L∪S,ε);(此时网络拓扑图的结构发生改变,图中的点由端口,传统交换机和SDN交换机组成。)
else:
G+=G0;
end if;
if(网络G+可行):
return G+;
else
returnG0;
end if;
其中:S为SDN交换机的集合;L为传统交换机的集合L;Π为网络端口的集合(包括SDN化端口与非SDN化端口);网络链路中链路的集合E,E={ε1,ε2,ε3,ε4,ε5…};混合网络G,G=(Π∪L∪S,E),即混合网络由节点与链路组成。
利用上述方法构建的SDN混合网络中,SDN网络中控制器负责绘制并维护网络拓扑,在最初建立连接时,控制器通过packet_out消息让所有与之相连的SDN交换机发送LLDP包与广播包。LLDP包与广播包中有特定的区分信息如MAC地址,控制器可以根据这部分信息区分各个交换机。SDN交换机A收到控制器的packet_out消息后,会向其所有端口发送带有自己标识的LLDP包与广播包。如果A周边连接有SDN交换机B,B会根据OpenFlow协议,将由A发出的LLDP包与广播包通过packet_in消息上传给控制器;反之,A也会上传由B发出的LLDP包与广播包。控制器在收到A和B发送的两个packet_in消息后,会在链路发现表中保存AB之间的连接记录。如果SDN交换机A周边有非SDN交换机C,同时C还与SDN交换机D相连,A发出的LLDP包无法穿过C到达D,而A发出的广播包可以穿过C到达D,D在接收到A发出的广播包后将广播包上传给控制器,反之,A也会收到由D发出的广播包并将其上传给控制器,控制器接收到二者上传的广播包后会在链路发现表中保存AD之间的连接记录,控制器无法发现非SDN交换机C,但知道AD之间存在一部分未知链路。控制器通过对比各个SDN交换机上传的数据包,即可绘制网络等效拓扑图。称之为等效拓扑图是因为它与真实拓扑图有区别,等效拓扑图中将非SDN交换机的区域等效为虚拟链路,如图1所示拓扑,其对应的等效拓扑图即为图4所示。在图4所示拓扑下,网络等效为一个纯SDN网络,可以在该网络中部署各种SDN应用而无需调整网络设置或修改应 用参数,真正做到了与纯SDN网络无差别。
现在通过分析数据包在网络中如何转发来阐述本组网方案的工作原理。网络中的数据包由一个用户终端发出,最终由另一个用户终端接收,而用户终端又是链接在网络端口上的,故在此将分析的问题简化为数据包从一个端口发向另一个端口中的转发过程。
这一过程可进一步细分为两个SDN端口通信、SDN端口与非SDN端口通信和两个非SDN端口通信,现在分别阐述。
对于两个SDN端口之间的通信,假定数据包从端口s发往端口t。为了实现对非SDN交换机的管控,为网络拓扑中每个SDN端口至相连的任一SDN交换机的路径分配一个唯一的VLAN ID,有可能一个SDN端口与多个SDN交换机相连,那么对于每一种从SDN端口到SDN交换机的路径都分配一个VLAN ID,也就是说一个SDN端口可能对应多个VLAN ID。数据包首先从端口s进入端口s所在的路径的VLAN,传统交换机根据MAC地址进行转发,最终会转发到端口s所在的路径的尽头,即SDN交换机u。交换机u作为发送端口s与接收端口t之间的一个中转站,负责将位于端口s所在VLAN中的数据转发到端口t所在的VLAN中,此时出现两种情况:
SDN交换机扮演VLAN网关的角色:如图1中,此情况下s即为3上的端口,t即为4上的端口,u即为A;当目的端口t所在的VLAN与发送端口s所在的VLAN有重合部分,即共享至少一个SDN交换机u时,这个SDN交换机即扮演了网关的角色。交换机u收到数据包后将其上传至控制器,控制器读取后向交换机u下发流表,通过流表中的指令修改交换机u收到数据的VLAN标签,也就是将这部分数据包从s的VLAN中转发至t的VLAN之中。经过修改VLAN标签后,数据包再在t的VLAN中,以MAC地址的方式,通过传统交换机进行传输,最终把数据包发送到目的地址。
SDN交换机扮演网格的角色:如图1中,此情况下s即为2上的端口,t即为8上的端口,u即为B。当目的端口t所在VLAN与发送端口s所在VLAN不共享SDN交换机时,需要交换机充当网格的角色。将端口t的VLAN中包涵的SDN交换机称为v,数据包从端口s,通过MAC寻址的 方式发送到SDN交换机u后,交换机u将数据包上传至控制器,控制器会选择一个最优的线路并返回相应的流表,指示交换机u将数据包发送至交换机v。这个线路不一定是真实线路,也可以是虚拟线路。当端口t有多个VLAN,即链接有多个SDN交换机时,SDN交换机v是可选的,可以根据网络状况等参数进行动态调整,以满足网络在不同情景下的需求。
在转发过程中,SDN控制器负责根据要求与网络状态下发流表并且根据拓扑变化进行相应的调整,以保证网络稳定运作与对差错的抵抗性。
对于两个非SDN端口之间的通信,即控制器无法控制的部分,同样分为两类。设发送端口为s,目的端口为t。
当发送端口s与目的端口t之间存在已有的链路(如分别连接在相邻的两个非传统交换机上的端口,或者说端口之间存在仅由传统交换机组成的通路)时,如图1中交换机6和交换机7上的端口,转发的过程与传统的非SDN网络相同,交换机根据MAC地址来转发数据包,不受混合网络的影响,对于这部分流量的操作行为只能依赖于传统途径,如通过访问控制列表(ACL)来控制数据包;
当发送端口s与目的端口t之间不存在已有链路时,图1中交换机5和交换机6上的端口,这部分数据包转发过程中,必然会经过SDN交换机B或者C,从而使得控制器可以通过向B或C下发流表来控制这部分数据。
对于SDN端口与非SDN端口之间的通信,可以参照SDN端口之间通信的情景,因为这一部分流量一定会经过SDN交换机,自然也就可以被SDN控制器所控制。总而言之,本文的混合组网方案保证可以让所有SDN端口之间的通信,均是通过可靠路径通信的,也就是可以被控制器所感知并调节的,进而支持整个网络的SDN功能部署。
SDN网络的种种优点源于其控制器对于数据流的实时管控。控制器通过向SDN交换机下发流表来实现对所有流经该交换机的数据的控制,从而控制这些数据的发送端口与接收端口的网络行为。本发明通过VLAN作为限制传统交换机与SDN交换机转发行为的工具,使数据包转发过程中经过SDN交换机,从而实现控制器对数据流的管控。控制器为SDN交换机下发流表,通过修改VLAN标签等指令,使SDN交换机充当虚拟局域 网网关。同时,考虑到解决如何选择需要升级的交换机的问题,本发明提出了一种升级选择算法。算法分为两部分,首先是根据网络中需要SDN化端口的位置,计算出哪些交换机是必须要升级为SDN交换机的;之后在剩余的交换机之中,考虑交换机转发流量、所连路径数量及升级该交换机所需成本,计算出剩余交换机的升级优先度。
本发明还提出了一种根据上述组网方法构建的基于SDN的网络,该混合网络包括SDN控制器、传统交换机、SDN交换机,SDN交换机受SDN控制器下发的流表实时控制,传统交换机不受SDN控制器控制,根据一套固定的转发规则转发数据包,在该混合网络中,任意两个SDN端口间的路径,均由混合组网中存在的链路组成,端口之间的通信使用的是指定“路径”(特指一个无环的,连接SDN端口s与某个SDN交换机u的传输路径;对于同一组s与u,可能存在多个路径),该指定“路径”上至少有一个SDN交换机,对于一条“路径”上的任意节点(传统交换机、SDN交换机或者端口),最多有一条入射链路在“路径”上,最多有一条出射链路在“路径”上。
SDN控制器负责绘制并维护网络拓扑,控制器根据LLDP包与广播包中特定的区分信息来区分各个交换机,SDN交换机A收到控制器的packet_out消息后,会向其所有端口发送带有自己标识的LLDP包与广播包,如果A周边连接有SDN交换机B,B会根据OpenFlow协议,将由A发出的LLDP包与广播包通过packet_in消息上传给控制器;反之,A也会上传由B发出的LLDP包与广播包,控制器在收到A和B发送的两个packet_in消息后,会在链路发现表中保存AB之间的连接记录,如果SDN交换机A周边有非SDN交换机C,同时C还与SDN交换机D相连,A发出的LLDP包无法穿过C到达D,而A发出的广播包可以穿过C到达D,D在接收到A发出的广播包后将广播包上传给控制器,反之,A也会收到由D发出的广播包并将其上传给控制器,控制器接收到二者上传的广播包后会在链路发现表中保存AD之间的连接记录,控制器无法发现非SDN交换机C,但知道AD之间存在一部分未知链路,控制器通过对比各个SDN交换机上传的数据包,即可绘制网络等效拓扑图,等效拓扑图中将非SDN交换机的区域等效为虚拟链路。
在两个SDN端口之间通信时,当数据发送端口所在的VLAN与数据接收端口所在的VLAN共享至少一个SDN交换机时,该SDN交换机作为网关使用,当数据发送SDN端口所在的VLAN与数据接收SDN端口所在的VLAN不共享SDN交换机时,该SDN交换机作为网格使用;在两个非SDN端口之间通信时,当发送端口与目的端口之间存在已有的链路时,转发的过程与传统的非SDN网络相同,当发送端口与目的端口之间不存在已有链路时,这部分数据包转发过程中,必然会经过SDN交换机,从而使得控制器可以通过向该SDN交换机下发流表来控制这部分数据。
根据本发明提出的基于传统网络的过渡式SDN混合组网方案及相关升级选择算法,可以通过把网络中的关键交换机升级为SDN交换机,使得网络具有接近于纯SDN网络的性能。
本发明解决了在传统网络升级到SDN网络的过程中,升级经费与升级效果的矛盾关系这一问题,提供的基于传统网络的SDN升级方案,以及基于该方案设计的升级选择算法,实现在一定经费条件下的最优升级效果。
基于本方案,管理人员可以通过升级少量交换机实现大部分的SDN功能。同时,本系统提出的升级选择算法,可以帮助管理人员计算出哪些交换机是必须升级的,哪些交换机是优先升级的。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种SDN组网方法,该方法包括步骤:
步骤1,根据给定的传统网络拓扑结构,在网络中选择出需要SDN化的端口集合Π1,并对这些端口进行SDN化;
步骤2,根据传统网络拓扑结构以及端口集合Π1,计算出需要升级的交换机,并将这些交换机升级为SDN交换机,并为SDN交换机部署控制器,
其中将符合以下条件的交换机升级为SDN交换机:
对
对
其中L表示传统交换机的集合L,Π1表示SDN端口的集合,β为网络升级预算,γ(u)为升级交换机u的成本,Ii,j=1代表链路(i,j)存在于混合网络G中,否则为0,代表链路(i,j)存在且在路径(s,t)上,代表链路(i,j)不存在或者链路(i,j)存在但是不在路径(s,t)上,yu=1代表交换机u是升级过的交换机,否则为0,代表路径(s,t)经过SDN交换机i,否则为0;
步骤3,控制器下发流表,使SDN交换机发送LLDP包与广播包,收到LLDP包和广播包或只收到LLDP的SDN交换机将收到的包发送给控制器,控制器根据由SDN交换机上传的包的信息,绘制出网络拓扑。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括步骤:步骤4,为端口集合Π1中的每一个端口计算该端口到其附近SDN交换机的所有路径,并为每个路径分配一个VLAN ID。
3.根据权利要求1-2任一项权利要求所述的方法,其特征在于,该方法进一步包括:步骤5,对未被升级的交换机确定升级优先级,根据流量优先策略或者链路优先策略确定优先级,流量优先策略通过计算max(flow(u)/γ(u))来选择下一个需要升级的交换机,其中flow(u)代表所有流入交换机u且未经过路径保证的流量,已经经过路径保证的流量不计入flow(u),γ(u)代表升级交换机u所需要的成本,链路优先策略通过计算max(link(u)/γ(u))来选择下一个需要升级的交换机,其中link(u)代表接入交换机u的链路数量。
4.根据权利要求3所述的方法,其特征在于,步骤3进一步包括:SDN控制器负责绘制并维护网络拓扑,SDN控制器根据LLDP包与广播包中特定的区分信息来区分各个交换机,SDN交换机A收到SDN控制器的packet_out消息后,会向其所有端口发送带有自己标识的LLDP包与广播包,如果A周边连接有SDN交换机B,B会根据OpenFlow协议,将由A发出的LLDP包与广播包通过packet_in消息上传给SDN控制器;反之,A也会上传由B发出的LLDP包与广播包,SDN控制器在收到A和B发送的两个packet_in消息后,会在链路发现表中保存AB之间的连接记录,如果SDN交换机A周边有非SDN交换机C,同时C还与SDN交换机D相连,A发出的LLDP包无法穿过C到达D,而A发出的广播包可以穿过C到达D,D在接收到A发出的广播包后将广播包上传给控制器,反之,A也会收到由D发出的广播包并将其上传给SDN控制器,SDN控制器接收到二者上传的广播包后会在链路发现表中保存AD之间的连接记录,控制器无法发现非SDN交换机C,但知道AD之间存在一部分未知链路,SDN控制器通过对比各个SDN交换机上传的数据包,即可绘制网络等效拓扑图,等效拓扑图中将非SDN交换机的区域等效为虚拟链路。
5.根据权利要求4所述的方法,其特征在于,在两个SDN端口之间通信时,当数据发送端口所在的VLAN与数据接收端口所在的VLAN共享至少一个SDN交换机时,该SDN交换机作为网关使用,当数据发送SDN端口所在的VLAN与数据接收SDN端口所在的VLAN不共享SDN交换机时,该SDN交换机作为网格使用。
6.根据权利要求4所述的方法,其特征在于,在两个非SDN端口之间通信时,当发送端口与目的端口之间存在已有的链路时,转发的过程与传统的非SDN网络相同,当发送端口与目的端口之间不存在已有链路时,这部分数据包转发过程中,必然会经过SDN交换机,从而使得控制器可以通过向该SDN交换机下发流表来控制这部分数据。
7.一种SDN网络,该网络包括SDN控制器、传统交换机、SDN交换机,SDN交换机受SDN控制器下发的流表实时控制,传统交换机不受SDN控制器控制,根据一套固定的转发规则转发数据包,在混合网络中,任意两个SDN端口间的路径,均由混合组网中存在的链路组成,端口之间的通信使用的是指定路径,该指定路径上至少有一个SDN交换机,对于一条路径上的任意节点,最多有一条入射链路在路径上,最多有一条出射链路在路径上,其中SDN控制器负责绘制并维护网络拓扑,控制器根据LLDP包与广播包中特定的区分信息来区分各个交换机,SDN交换机A收到控制器的packet_out消息后,会向其所有端口发送带有自己标识的LLDP包与广播包,如果A周边连接有SDN交换机B,B会根据OpenFlow协议,将由A发出的LLDP包与广播包通过packet_in消息上传给控制器;反之,A也会上传由B发出的LLDP包与广播包,控制器在收到A和B发送的两个packet_in消息后,会在链路发现表中保存AB之间的连接记录,如果SDN交换机A周边有非SDN交换机C,同时C还与SDN交换机D 相连,A发出的LLDP包无法穿过C到达D,而A发出的广播包可以穿过C到达D,D在接收到A发出的广播包后将广播包上传给控制器,反之,A也会收到由D发出的广播包并将其上传给控制器,控制器接收到二者上传的广播包后会在链路发现表中保存AD之间的连接记录,控制器无法发现非SDN交换机C,但知道AD之间存在一部分未知链路,控制器通过对比各个SDN交换机上传的数据包,即可绘制网络等效拓扑图,等效拓扑图中将非SDN交换机的区域等效为虚拟链路。
8.根据权利要求7所述的网络,其特征在于,在两个SDN端口之间通信时,当数据发送端口所在的VLAN与数据接收端口所在的VLAN共享至少一个SDN交换机时,该SDN交换机作为网关使用,当数据发送SDN端口所在的VLAN与数据接收SDN端口所在的VLAN不共享SDN交换机时,该SDN交换机作为网格使用;在两个非SDN端口之间通信时,当发送端口与目的端口之间存在已有的链路时,转发的过程与传统的非SDN网络相同,当发送端口与目的端口之间不存在已有链路时,这部分数据包转发过程中,必然会经过SDN交换机,从而使得控制器可以通过向该SDN交换机下发流表来控制这部分数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510920804.8A CN105471658B (zh) | 2015-12-11 | 2015-12-11 | 一种sdn网络及其组网方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510920804.8A CN105471658B (zh) | 2015-12-11 | 2015-12-11 | 一种sdn网络及其组网方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105471658A CN105471658A (zh) | 2016-04-06 |
CN105471658B true CN105471658B (zh) | 2019-05-14 |
Family
ID=55608972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510920804.8A Expired - Fee Related CN105471658B (zh) | 2015-12-11 | 2015-12-11 | 一种sdn网络及其组网方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105471658B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302220A (zh) * | 2016-08-26 | 2017-01-04 | 北京工业大学 | 一种sdn网络精细化控制传统交换机的方法 |
DE102019207579A1 (de) * | 2019-05-23 | 2020-11-26 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Überwachen von Datenaustausch in einem Kommunikationssystem |
CN110417576B (zh) * | 2019-06-17 | 2021-10-12 | 平安科技(深圳)有限公司 | 混合软件自定义网络的部署方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104301230A (zh) * | 2014-10-10 | 2015-01-21 | 杭州华三通信技术有限公司 | 报文转发方法和装置 |
CN104702522A (zh) * | 2013-12-06 | 2015-06-10 | 智梵网络科技有限公司 | 软件定义网络(sdn)中基于性能的路由 |
CN104753791A (zh) * | 2013-12-31 | 2015-07-01 | 中国移动通信集团公司 | 一种数据包处理方法、装置和系统 |
CN106330727A (zh) * | 2015-07-07 | 2017-01-11 | 中兴通讯股份有限公司 | Sdn网络设备建链方法、设备和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9742632B2 (en) * | 2013-12-27 | 2017-08-22 | Intel Corporation | Hybrid SDN controller |
-
2015
- 2015-12-11 CN CN201510920804.8A patent/CN105471658B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104702522A (zh) * | 2013-12-06 | 2015-06-10 | 智梵网络科技有限公司 | 软件定义网络(sdn)中基于性能的路由 |
CN104753791A (zh) * | 2013-12-31 | 2015-07-01 | 中国移动通信集团公司 | 一种数据包处理方法、装置和系统 |
CN104301230A (zh) * | 2014-10-10 | 2015-01-21 | 杭州华三通信技术有限公司 | 报文转发方法和装置 |
CN106330727A (zh) * | 2015-07-07 | 2017-01-11 | 中兴通讯股份有限公司 | Sdn网络设备建链方法、设备和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105471658A (zh) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rotsos et al. | Network service orchestration standardization: A technology survey | |
CN104243317B (zh) | 一种实现ip路由转发的方法和装置 | |
Lin et al. | A west-east bridge based SDN inter-domain testbed | |
US9166818B2 (en) | Provisioning single or multistage networks using ethernet service instances (ESIs) | |
Moradi et al. | SoftMoW: Recursive and reconfigurable cellular WAN architecture | |
CN104685838B (zh) | 利用服务特定拓扑抽象和接口的软件定义网络虚拟化 | |
CN105103492B (zh) | 控制网络拓扑 | |
CN105900363B (zh) | 光λ流操纵的系统和方法 | |
CN103229468B (zh) | 分组交换资源分配方法及设备 | |
US7283478B2 (en) | Traffic engineering in bi-directional ring networks | |
CN102055665B (zh) | 广播上或nbma上的ospf点到多点模式 | |
CN106464522A (zh) | 用于网络功能布局的方法和系统 | |
CN103346979B (zh) | 一种spbm网络中的流量分配方法及设备 | |
CN102546351A (zh) | openflow网络和现有IP网络互联的系统和方法 | |
CN105681218B (zh) | 一种Openflow网络中流量处理的方法及装置 | |
CN103428061B (zh) | 接入底盘节点和利用接入底盘节点进行数据转发的方法 | |
CN105577540B (zh) | 一种业务链路的建立方法、装置及系统 | |
CN106470155A (zh) | 一种虚拟机数据的转发方法、sdn控制器和sdn系统 | |
CN105471658B (zh) | 一种sdn网络及其组网方法 | |
CN104602266A (zh) | 一种实现软件定义无线网络的方法 | |
CN108289061A (zh) | 基于sdn的业务链编排方法及业务链拓扑结构 | |
CN102394804A (zh) | 虚拟私有网络系统的构建方法及虚拟私有网络系统 | |
CN106059916A (zh) | 一种路由注入方法及装置 | |
CN104994019B (zh) | 一种用于sdn控制器的水平方向接口系统 | |
Chen et al. | Scalable and flexible traffic steering for service function chains |
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: 20190514 Termination date: 20211211 |