CN104426731B - 一种生成树计算的方法和装置 - Google Patents
一种生成树计算的方法和装置 Download PDFInfo
- Publication number
- CN104426731B CN104426731B CN201310372757.9A CN201310372757A CN104426731B CN 104426731 B CN104426731 B CN 104426731B CN 201310372757 A CN201310372757 A CN 201310372757A CN 104426731 B CN104426731 B CN 104426731B
- Authority
- CN
- China
- Prior art keywords
- sdn
- external network
- virtual
- spanning tree
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000004364 calculation method Methods 0.000 claims description 50
- 238000012545 processing Methods 0.000 claims description 34
- 230000008859 change Effects 0.000 claims description 16
- 230000003993 interaction Effects 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 9
- 230000032683 aging Effects 0.000 claims description 8
- 238000011084 recovery Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 12
- 239000004973 liquid crystal related substance Substances 0.000 description 7
- 229920000642 polymer Polymers 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 210000001503 joint Anatomy 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- DWSYCUKCNSVBRA-UHFFFAOYSA-N 4-(5-methylsulfonyltetrazol-1-yl)phenol Chemical compound CS(=O)(=O)C1=NN=NN1C1=CC=C(C=C1)O DWSYCUKCNSVBRA-UHFFFAOYSA-N 0.000 description 2
- 101710167643 Serine/threonine protein phosphatase PstP Proteins 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
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/48—Routing tree calculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/44—Star or tree networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
-
- 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/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- 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/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- 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/18—Loop-free operations
-
- 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/66—Layer 2 routing, e.g. in Ethernet based MAN's
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种生成树计算的方法,该方法包括:SDN控制器将所述SDN中的连通的各SDN转发设备虚拟为一个虚拟网桥设备,并将该虚拟网桥设备的虚拟接口,映射为该SDN中连接外部网络设备的SDN转发设备的物理端口;SDN控制器通过各虚拟端口与外部网络设备进行BPDU报文的交互,通过运行的STP计算该虚拟网桥设备与外部网络设备之间的生成树。基于同样的发明构思。本申请还提出一种装置,能够有效解决外部网络设备与SDN设备对接时生成树的计算问题,使整个二层网络避免产生环路。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种生成树计算的方法和装置。
背景技术
现有网络技术架构日渐暴露出很多局限性,在一定程度上已经无法满足市场需求。软件定义网络(Software Defined Network,SDN)应需而生。
SDN是一种新的网络架构,其主导思想是将网络的控制与转发功能在物理上分离,并且可在控制层面实现对网络应用进行编程。传统网络中位于网络设备中的控制功能将转移到可访问的计算设备中,基础网络设备仅保留转发功能部分,整个网络可以看成一个逻辑或虚拟的整体。
SDN的主要思想是在一个逻辑点控制整个网络,从而大大简化网络的设计和运营。网络控制和决策单元集中在SDN控制器,从全局角度控制整个网络,使得整个网络如同一个的逻辑交换机。SDN转发设备只需要执行SDN控制器下发的各种转发相关的指令,并及时将本设备的情况,如故障等,及时通告SDN控制器。这极大简化了网络设备的实现,因为它们不再需要理解和处理成千上万的网络协议标准,只需要简单从SDN控制器接收指令。
随着SDN的逐渐演进,SDN实验网络的成功运行,各个网络设计者都开始将SDN作为未来网络架构设计的方案之一。在SDN逐渐与传统架构的网络共存的,继而逐渐替代的过程中,SDN必定会面临大量的与传统架构网络对接的情况。如何与传统架构网络良好对接,是众多当前网络协议需要考虑的重要问题。
发明内容
有鉴于此,本申请提供一种生成树计算的方法和装置,能够有效解决外部网络设备与SDN设备对接时生成树的计算问题,使整个二层网络避免产生环路。
为解决上述技术问题,本发明的技术方案是这样实现的:
一种生成树计算的方法,SDN控制器将其所在SDN中连通的各SDN转发设备虚拟为一个虚拟网桥设备,并将该SDN中连接外部网络设备的SDN转发设备的物理端口,映射为该虚拟网桥设备连接外部网络设备的虚拟端口;所述方法包括:
SDN控制器通过各虚拟端口与外部网络设备进行BPDU报文的交互,根据运行的STP计算该虚拟网桥设备与外部网络设备之间的生成树,其中,所述运行的STP同各外部网络设备上运行的STP相同。
一种装置,可应用于SDN中SDN控制器上,所述装置包括:配置单元和处理单元;
所述配置单元,用于将SDN中的连通的各SDN转发设备虚拟为一个虚拟网桥设备,并将该SDN中连接外部网络设备的SDN转发设备的物理端口,映射为该虚拟网桥设备连接外部网络设备的虚拟端口;
所述处理单元,用于通过所述配置单元设置的各虚拟端口与外部网络设备进行BPDU报文的交互,根据运行的STP计算该虚拟网桥设备与外部网络设备之间的生成树,其中,所述运行的STP同各外部网络设备上运行的STP相同。
综上所述,本申请通过SDN控制器将其所在SDN中连通的SDN转发设备虚拟为一个虚拟网桥设备,并将该虚拟网桥设备的虚拟端口,映射为SDN中连接外部网络设备的SDN转发设备的物理端口;SDN控制器通过各虚拟端口与外部网络设备进行BPDU报文的交互,通过运行的STP计算该虚拟网桥设备与外部网络设备之间的生成树。通过该方法能够有效解决外部网络设备与SDN设备对接时生成树的计算问题,使整个二层网络避免产生环路。
附图说明
图1为本发明具体实施例中生成树计算方法流程示意图;
图2为外部网络与SDN网络连接的示意图;
图3为图2中SDN发生物理拓扑变化时的组网示意图;
图4为图3中故障链路恢复后的网络结构示意图;
图5为应用于上述技术的装置的结构示意图;
图6是本申请具体实施例中装置的硬件架构组成示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明实施例中提出一种生成树计算的方法,应用于SDN网络和外部网络之间,所述外部网络为该SDN网络之外,且与该SDN网络连接的网络,该外部网络中的设备为外部网络设备。SDN控制器将所述SDN中连通的SDN转发设备虚拟为一个虚拟网桥设备,并将该虚拟网桥设备的虚拟端口,映射为该SDN中连接外部网络设备的SDN转发设备的物理端口;SDN控制器通过各虚拟端口与外部网络设备进行桥协议单元(Bridge Protocol Data Unit,BPDU)报文的交互,通过运行的生成树协议(Spanning Tree Protocol,STP)计算该虚拟网桥设备与外部网络设备之间的生成树。通过该方法能够有效解决外部网络设备与SDN设备对接时生成树的计算问题,使整个二层网络避免产生环路。
SDN之外的网络称为外部网络,外部网络中的设备称为外部网络设备。外部网络为不支持SDN功能的网络。
参见图1,图1为本发明具体实施例中生成树计算方法流程示意图,具体步骤为:
步骤101,SDN控制器将所述SDN中连通的SDN转发设备虚拟为一个虚拟网桥设备,并将该虚拟网桥设备的虚拟端口,映射为该SDN中连接外部网络设备的SDN转发设备的物理端口。
在具体实现时,SDN控制器需要为该虚拟网桥设备赋予桥MAC,该桥MAC可以为控制器的MAC地址,也可以为该虚拟网桥设备赋予新的MAC地址作为桥MAC地址,而不是使用SDN控制器的MAC地址,在SDN控制器故障,切换到其他SDN控制器上时,继续使用配置的桥MAC地址,与外部网络设备之间的通信将不会受到影响。
同时,还可为该虚拟网桥设备连接外部网络的虚拟端口赋予端口号(Port ID),赋予虚拟端口的各端口号,只要在该虚拟网桥设备上是唯一的即可,同SDN转发设备的物理端口号是否一样并不影响本发明的实现。端口映射的具体实现时通过配置端口号之间的对应关系。
SDN网络中连通的SDN转发设备为彼此能够在该SDN内部通信的SDN转发设备。
参见图2,图2为外部网络与SDN网络连接的示意图。图2中,SDN控制器将SDN转发设备C、SDN转发设备D、SDN转发设备E和SDN转发设备F虚拟为一个虚拟网桥设备I,并将SDN转发设备C与外部网络设备A连接的端口1,映射为虚拟网桥设备I的端口1,将SDN转发设备D与外部网络设备B连接的端口1,映射为虚拟网桥设备I的端口2将SDN转发设备E与外部网络设备G连接的端口2,映射为虚拟网桥设备I的端口4,将SDN转发设备F与外部网络设备H连接的端口2,映射为虚拟网桥设备I的端口3。
步骤102,SDN控制器通过各虚拟端口与外部网络设备进行BPDU报文的交互,根据运行的STP计算该虚拟网桥设备与外部网络设备之间的生成树。
SDN控制器通过虚拟端口与外部网络设备进行BPDU报文交互之前,需在所述虚拟设备全局使能STP,并在该虚拟设备各个虚拟端口上使能STP,根据所赋予的桥MAC及端口号发送BPDU报文。
在虚拟设备上运行的STP,与外部网络设备上运行的STP相同,保证虚拟网桥设备与外部网络设备组成的网络没有环路。
该SDN控制器通过各虚拟端口与外部网络设备进行BPDU报文的交互,包括:
发送BPDU报文时,SDN控制器通过虚拟端口将该BPDU报文发送到该虚拟端口映射的物理端口,再通过该物理端口转发给外部网络设备;
接收BPDU报文时,SDN转发设备从物理端口上接收到外部网络设备发送的BPDU报文,并将该BPDU报文转发到该物理接口映射的虚拟端口上;SDN控制器在虚拟端口接收SDN转发设备转发的BPDU报文。
在具体操作时,由于可以赋予新的桥MAC,及虚拟端口的端口号,对于各外部网络设备来说,SDN控制器中的虚拟网桥设备是一个独立的设备,因此,发送和接收BPDU报文的设备为SDN控制器中的虚拟网桥设备。
仍然以图2为例,SDN控制器分别从虚拟端口1、虚拟端口2、虚拟端口3和虚拟端口4分别发送BPDU报文,SDN转发设备C上的端口1映射为虚拟端口1,因此SDN转发设备C会接收到SDN控制器通过虚拟端口1发送的BPDU报文时,通过端口1发送给外部网络设备A;SDN转发设备D上的端口1映射为虚拟端口2,因此SDN转发设备D会接收到SDN控制器通过虚拟端口2发送的BPDU报文时,通过与端口1发送给外部网络设备B;SDN转发设备E上的端口2映射为虚拟端口4,因此SDN转发设备E会接收到SDN控制器通过虚拟端口4发送的接收到BPDU报文时,通过与端口2发送给外部网络设备G;SDN转发设备F上的端口2映射为虚拟端口3,因此SDN转发设备F会接收到SDN控制器通过虚拟端口3发送的BPDU报文时,通过与端口2发送给外部网络设备H。
SDN转发设备C通过端口1接收到外部网络设备A发送的BPDU报文,转发给SDN控制器;SDN转发设备D通过端口1接收到外部网络设备B发送的BPDU报文,转发给SDN控制器;SDN转发设备E通过端口2接收到外部网络设备G发送的BPDU报文,转发给SDN控制器;SDN转发设备F通过端口2接收到外部网络设备H发送的BPDU报文,转发给SDN控制器。
BPDU报文中携带的信息,以及外部网络设备,或SDN控制器接收到BPDU报文时的处理方式,同现有外部网络中发送的BPDU报文的信息,以及对接收到的BPDU报文的处理方式一致。本发明具体实现时,仅是将SDN中SDN控制器控制的SDN转发设备虚拟为一个设备,同外部网络设备之间进行生成树计算。
下面详细描述当网络拓扑发生变化时,如何进行处理:
当外部网络发生物理拓扑变化,或者与该虚拟网桥设备直连的外部网络设备之间的链路故障时,该SDN控制器根据其上运行的STP重新进行生成树的计算。
该SDN控制器若接收到用于通知网络拓扑结构发生变化的BPDU报文,或者预设时间内未再接收到BPDU报文,该SDN控制器获知外部网络拓扑变化。
该SDN控制器直接检测到链路故障,会确定与该虚拟网桥设备直连的外部网络设备之间的链路故障。
本发明具体实施例中所指的外部网络发生物理拓扑变化,不包括外部网络设备与虚拟网桥设备之间的链路故障的情况。
仍然以图2为例,如果外部网络设备A和外部网络设备B之间的链路故障,外部网络设备A和外部网络设备B都会发送BPDU报文,并通过SDN转发设备C和SDN转发设备D发送给SDN控制器。如果是外部网络设备A和SDN转发设备C之间的链路故障,SDN控制器会直接感知到。由于SDN转发设备与外部网络设备A之间的链路故障后,SDN转发设备C的端口1的状态会发生变化,且SDN控制器会感知到SDN中的所有SDN转发设备上的变化情况,包括端口状态的变化。
如果与该虚拟网桥设备直连的外部网络设备之间的链路故障,该SDN控制器根据流表下发规则,以及生成树计算结果为SDN转发设备重新下发流表。
如外部网络设备A和SDN转发设备C之间的链路故障,导致SDN转发设备C上的端口状态变换,SDN转发设备C就不能通过端口1收发报文,因此SDN控制器需要重新下发流表,至于只给SDN转发设备C重新下发,还是所有的SDN转发设备都下发,根据SDN控制器的流表下发规则确定。
在具体实现时,还可以在SDN内部进行生成树计算。该SDN控制器配置预设生成树算法,计算该SDN中各SDN转发设备的生成树。
其中,在SDN内部进行生成树的计算,可以是集中式生成树计算,也可以是与外部网络中的STP计算相同的分布式方式进行生成树计算,SDN内部计算生成的生成树和虚拟网桥设备与外部网络设备之间计算的生成树互不相关,互不影响。
当SDN内部物理拓扑发生变化时,使用配置的预设生成树算法重新进行生成树计算,根据生成树的计算结果重新生成流表并下发至SDN转发设备。
本发明具体实施例中SDN内部发生物理拓扑变化,指SDN中各SDN转发设备故障,或者SDN转发设备之间的链路故障,不包括SDN中SDN转发设备与外部网络设备之间的链路故障的情况,即SDN内部发生物理拓扑变化,不包括与外部网络连通的端口的状态变化。
SDN发生物理拓扑发生变化,可能是SDN转发设备之间的链路故障,也可能是某个SDN网络设备故障,SDN中的SDN转发设备被分割为两组或多组时,SDN控制器将每组虚拟为一个独立的虚拟网桥设备,并将虚拟为任一虚拟网桥设备的SDN转发设备连接外部网络设备的物理端口,映射为该虚拟网桥设备连接外部网络设备的虚拟端口,该虚拟网桥设备通过其虚拟端口,与其连接的外部网络设备进行生成树计算。
假设图2中的SDN转发设备C与SDN转发设备E之间的链路故障,SDN转发设备D与SDN转发设备F之间的链路故障,这样原先的一组SDN转发设备就被分割为两组SDN转发设备。
SDN控制器会将SDN转发设备E和SDN转发设备F虚拟为一个网桥设备,为了做较少的变动,SDN转发设备C和SDN转发设备D还虚拟为原来的虚拟网桥设备,当然也可以重新虚拟为一个新的虚拟网桥设备。
参见图3,图3为图2中SDN发生物理拓扑变化时的组网示意图。图3中SDN转发设备C与SDN转发设备E之间的链路故障,SDN转发设备D与SDN转发设备F之间的链路故障。
SDN控制器将SDN转发设备C和SDN转发设备D虚拟为虚拟网桥设备I,将SDN转发设备C的端口1,映射为虚拟网桥设备I的虚拟端口1,将SDN转发设备D的端口2,映射为虚拟网桥设备I的虚拟端口2。
SDN控制器将SDN转发设备E和SDN转发设备F虚拟为虚拟网桥设备J,将SDN转发设备E的端口2,映射为虚拟网桥设备J的虚拟端口2,将SDN转发设备F的端口2,映射为虚拟网桥设备J的虚拟端口1。
SDN控制器对于虚拟网桥设备I,同外部网络设备A和外部网络设备B之间,通过交互BPDU报文进行生成树计算。SDN控制器对于虚拟网桥设备J,同外部网络设备G和外部网络设备H之间,同样通过交互BPDU报文进行生成树计算。
若任一虚拟网桥设备以及与该虚拟网桥设备连通的外部网络中不存在作为旧的树根的设备,则该SDN控制器通过该虚拟网桥设备的虚拟端口,向与其连接的外部网络设备发送老化树根的消息,使所述外部网络设备进行树根老化。即对于不包含原先生成树树根的一组网络,快速老化该组网络中的旧的树根,具体处理过程如下:
假设图2中计算出的生成树的树根为外部网络设备A,则图3中虚拟网桥设备J、外部网络设备G和外部网络设备H组成的一组网络中不包含原先生成树的树根,即外部网络设备A。则SDN转发设备E和SDN转发设备F脱离虚拟网桥神I的映射之前,SDN控制器通过虚拟端口3和虚拟端口4发送BPDU中,如果生成树协议为STP和RSTP,以及MSTP的域外时,在BPDU报文中的Message Age字段内容为Max Age;如果在MSTP的域内时,在BPDU报文中的RemainingHops字段的内容为0,使接收到该BPDU报文的外部网络设备G和外部网络设备H尽快老化旧的树根,加快网络收敛。
SDN控制器对于虚拟为网桥设备I的各SDN转发设备之间是否进行生成树计算,根据使用者具体配置进行处理。对于虚拟为网桥设备J的各SDN转发设备之间是否进行生成树的计算,同样根据具体配置进行处理。
当SDN中故障链路恢复时,连通的SDN转发设备可以重新虚拟为一个网桥设备;也可以维持多个虚拟网桥设备不变,将故障链路恢复的端口映射为虚拟网桥设备的虚拟端口,任一虚拟网桥设备,同其他虚拟网桥设备,以及外部网络设备之间通过BPDU报文交互,进行生成树计算。
如图3中的网络结构图中,假设SDN转发设备C和SDN转发设备E之间的故障链路恢复,且SDN转发设备D和SDN转发设备F之间的故障链路恢复,则具体处理时,可以将图3中的网络结构图恢复为图2中的网络结构图,即将联通的SDN转发设备虚拟为一个虚拟网桥设备。
也可以维持两个个虚拟网桥设备。参见图4,图4为图3中故障链路恢复后的网络结构示意图。图4中将SDN设备转发设备C的端口3,映射为虚拟网桥设备I的虚拟端口3,将SDN转发设备D的端口3,映射为虚拟网桥设备I的虚拟端口4。对于虚拟网桥设备I的虚拟端口1和虚拟端口2与SDN转发设备C和SDN转发设备D的物理端口的映射关系不变。
对于虚拟网桥设备J的处理同对虚拟网桥设备I的处理,这里不再详细描述。
图4中的网络结构中,外部网络设备A、外部网络设备B、虚拟网桥设备I、虚拟网桥设备J、外部网络设备G和外部网络设备H之间进行生成树的计算。在整个网络里,虚拟网桥设备I和虚拟网桥设备J均作为一个设备参与生成树的计算。
SDN控制器通过虚拟网桥设备I的虚拟端口1到虚拟端口4收发BPDU报文;SDN控制器通过虚拟网桥设备J的虚拟端口1到虚拟端口4收发BPDU报文。
本发明具体实施例中基于同样的发明构思,还提出一种装置,应用于软件定义网络SDN网络中的SDN控制器。参见图5,该装置包括:配置单元501和处理单元502。
配置单元501,用于将SDN中连通的各SDN转发设备虚拟为一个虚拟网桥设备,并将该虚拟网桥设备的虚拟端口,映射为该SDN中连接外部网络设备的SDN转发设备的物理端口,所述外部网络设备为该SDN网络之外,且与该SDN网络连接的网络中的设备。
处理单元502,用于通过配置单元501设置的各虚拟端口与外部网络设备进行BPDU报文的交互,根据运行的STP计算该虚拟网桥设备与外部网络设备之间的生成树,其中,所述运行的STP同各外部网络设备上运行的STP相同。
较佳地,
处理单元502,具体用于在发送BPDU报文时,通过虚拟端口将该BPDU报文发送到映射为该虚拟端口的物理端口所在的SDN转发设备,再通过所述SDN转发设备的该物理端口转发给外部网络设备;在接收BPDU报文时,通过虚拟端口接收SDN转发设备转发的外部网络设备发送的BPDU报文。
较佳地,
处理单元502,进一步用于当外部网络发生物理拓扑变化,或者与该虚拟网桥设备直连的外部网络设备之间的链路故障时,根据其上运行的STP重新进行生成树的计算;若与该虚拟网桥设备直连的外部网络设备之间的链路故障,根据流表下发规则,以及生成树的计算结果为SDN转发设备重新下发流表。
较佳地,
配置单元501,进一步用于配置预设生成树算法。
处理单元502,进一步用于根据配置单元501配置的预设生成树算法,计算该SDN中各SDN转发设备的生成树。
较佳地,
处理单元502,进一步用于当SDN内部物理拓扑发生变化时,使用配置的预设生成树算法重新进行生成树计算,根据生成树的计算结果重新生成流表并下发至SDN转发设备。
较佳地,
处理单元502,进一步用于当SDN发生物理拓扑变化,且SDN中连通的SDN转发设备被分割为两组或多组连通的SDN转发设备时,将各组连通的SDN转发设备虚拟为一个独立的虚拟网桥设备,并将任一虚拟网桥设备的虚拟端口,映射为虚拟该网桥设备的SDN转发设备连接外部网络设备的物理端口,并通过该虚拟网桥设备的虚拟端口,与该虚拟网桥设备连接的外部网络设备进行生成树计算。
较佳地,
处理单元502,进一步用于在通过该虚拟网桥设备的虚拟端口,与该虚拟网桥设备连接的外部网络设备进行生成树计算,之前,若确定该虚拟网桥设备以及与该虚拟网桥设备连通的外部网络中不存在作为旧的树根的设备,则通过虚拟网桥设备的虚拟端口,向与其连接的外部网络设备发送老化树根的消息,使所述外部网络设备进行树根老化。
较佳地,
处理单元502,进一步用于当所述SDN中故障链路恢复时,连通的SDN转发设备重新虚拟为一个网桥设备;或,维持多个虚拟网桥设备不变,将任一虚拟网桥设备的虚拟端口,映射为故障链路恢复的物理端口,该虚拟网桥设备,同其他虚拟网桥设备,以及外部网络设备之间通过BPDU报文交互,进行生成树计算。
本申请实施例中装置的模块或单元可以集成于一体,也可以分离部署;可以合并为一个模块或单元,也可以进一步拆分成多个子模块或子单元。本申请各实施例中的模块或单元可以以机械方式或电子方式实现。例如,一个硬件模块可以包括专门设计的永久性电路或逻辑器件(如专用处理器,如FPGA或ASIC)用于完成特定的操作。硬件模块也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。至于具体采用机械方式,或是采用专用的永久性电路,或是采用临时配置的电路(如由软件进行配置)来实现硬件模块,可以根据成本和时间上的考虑来决定。
以上对本申请具体实施例中的装置进行了说明,下面给出本申请具体实施例中装置的硬件架构组成,该装置是可以软硬件结合的可编程设备,具体参见图6,图6是本申请具体实施例中装置的硬件架构组成示意图。该装置包括:存储器610,处理器620,报文处理芯片630,以及耦合存储器610、处理器620、报文处理芯片630的互联机构640;其中,
存储器610,用于存储指令代码和各种配置、表项,例如,流表、虚拟的网桥设备的虚拟端口号,以及与虚拟该网桥设备的SDN转发设备的物理端口号的映射关系等,当所述指令代码被执行时完成的操作主要为装置中的配置单元和处理单元等单元完成的功能,这里不再详述。
处理器620,用于与报文处理芯片630通信,进行BPDU报文的收发;用于与存储器610通信,读取和执行存储器610中存储的所述指令代码,完成上述装置中的配置单元和处理单元等单元完成的功能,以及对从报文处理芯片630上送的BPDU报文的处理。
报文处理芯片630,用于通过该芯片上的端口连接SDN网络中的SDN转发设备。负责将SDN转发设备发来的BPDU报文上送给处理器620,将处理器620发来的BPDU报文转发给SDN转发设备。
互联机构640则提供各单元间的信息交互通道,可以是一根连接各单元的总线,也可以由上述各个单元间的多条线路组成。
需要说明的是,图6所示的装置只是一个具体的例子,也可以通过其他的与本实施例描述不同结构实现,例如,执行上述指令代码时所完成的操作,也可以由特定应用专用集成电路(ASIC)实现。另外,上述的处理器620可以是一个或多个,如果是多个,则由多个处理器共同负责读取和执行所述指令代码。因此,本申请对装置的具体结构不作具体限定。
综上所述,本发明具体实施例中SDN控制器将其所在SDN中连通的各SDN转发设备虚拟为一个虚拟网桥设备,并将该SDN中连接外部网络设备的SDN转发设备的物理端口,映射为该虚拟网桥设备连接外部网络设备的虚拟端口;SDN控制器通过各虚拟端口与外部网络设备进行BPDU报文的交互,通过运行的STP计算该虚拟网桥设备与外部网络设备之间的生成树。通过该方法能够有效解决外部网络设备与SDN设备对接时生成树的计算问题,使整个二层网络避免产生环路。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种生成树计算的方法,应用于软件定义网络SDN网络和外部网络之间,所述外部网络为该SDN网络之外,且与该SDN网络连接的网络,该外部网络中的设备为外部网络设备,其特征在于,所述方法包括:
SDN控制器将所述SDN中连通的SDN转发设备虚拟为一个虚拟网桥设备,并将该虚拟网桥设备的虚拟端口,映射为该SDN中连接外部网络设备的SDN转发设备的物理端口;
SDN控制器通过各虚拟端口与外部网络设备进行桥协议单元BPDU报文的交互,根据运行的生成树协议STP计算该虚拟网桥设备与外部网络设备之间的生成树,其中,所述运行的STP同各外部网络设备上运行的STP相同。
2.根据权利要求1所述的方法,其特征在于,所述通过各虚拟端口与外部网络设备进行BPDU报文的交互,包括:
发送BPDU报文时,通过虚拟端口将该BPDU报文发送到映射为该虚拟端口的物理端口所在的SDN转发设备,再通过所述SDN转发设备的该物理端口转发给外部网络设备;
接收BPDU报文时,通过虚拟端口接收SDN转发设备转发的外部网络设备发送的BPDU报文。
3.根据权利要求1或2所述的方法,其特征在于,所述方法进一步包括:
当外部网络发生物理拓扑变化,或者与该虚拟网桥设备直连的外部网络设备之间的链路故障时,该SDN控制器根据其上运行的STP重新进行生成树的计算;
若与该虚拟网桥设备直连的外部网络设备之间的链路故障,该SDN控制器根据流表下发规则,以及生成树的计算结果为SDN转发设备重新下发流表。
4.根据权利要求1或2所述的方法,其特征在于,所述方法进一步包括:
该SDN控制器根据配置的预设生成树算法,计算该SDN中各SDN转发设备的生成树。
5.根据权利要求1或2所述的方法,其特征在于,所述方法进一步包括:
当SDN内部物理拓扑发生变化时,使用配置的预设生成树算法重新进行生成树计算,根据生成树的计算结果重新生成流表并下发至SDN转发设备。
6.根据权利要求5所述的方法,其特征在于,所述方法进一步包括:
当SDN发生物理拓扑变化,且SDN中连通的SDN转发设备被分割为两组或多组连通的SDN转发设备时,SDN控制器将各组内连通的SDN转发设备虚拟为一个独立的虚拟网桥设备,并将任一虚拟网桥设备的虚拟端口,映射为虚拟该网桥设备的SDN转发设备连接外部网络设备的物理端口,并通过该虚拟网桥设备的虚拟端口,与该虚拟网桥设备连接的外部网络设备进行生成树计算。
7.根据权利要求6所述的方法,其特征在于,所述通过该虚拟网桥设备的虚拟端口,与该虚拟网桥设备连接的外部网络设备进行生成树计算,之前,所述方法进一步包括:
若该虚拟网桥设备以及与该虚拟网桥设备连通的外部网络中不存在作为旧的树根的设备,则该SDN控制器通过虚拟网桥设备的虚拟端口,向与其连接的外部网络设备发送老化树根的消息,使所述外部网络设备进行树根老化。
8.根据权利要求6所述的方法,其特征在于,所述方法进一步包括:
当所述SDN中故障链路恢复时,连通的SDN转发设备重新虚拟为一个网桥设备;
或,维持多个虚拟网桥设备不变,将任一虚拟网桥设备的虚拟端口,映射为故障恢复链路的物理端口,该虚拟网桥设备,同其他虚拟网桥设备,以及外部网络设备之间通过BPDU报文交互,进行生成树计算。
9.一种生成树计算的装置,应用于软件定义网络SDN网络中的SDN控制器,其特征在于,所述装置包括:配置单元和处理单元;
所述配置单元,用于将SDN中连通的各SDN转发设备虚拟为一个虚拟网桥设备,并将该虚拟网桥设备的虚拟端口,映射为该SDN中连接外部网络设备的SDN转发设备的物理端口,所述外部网络设备为该SDN网络之外,且与该SDN网络连接的网络中的设备;
所述处理单元,用于通过所述配置单元设置的各虚拟端口与外部网络设备进行桥协议单元BPDU报文的交互,根据运行的生成树STP计算该虚拟网桥设备与外部网络设备之间的生成树,其中,所述运行的STP同各外部网络设备上运行的STP相同。
10.根据权利要求9所述的装置,其特征在于,
所述处理单元,具体用于在发送BPDU报文时,通过虚拟端口将该BPDU报文发送到映射为该虚拟端口的物理端口所在的SDN转发设备,再通过所述SDN转发设备的该物理端口转发给外部网络设备;在接收BPDU报文时,通过虚拟端口接收SDN转发设备转发的外部网络设备发送的BPDU报文。
11.根据权利要求9或10所述的装置,其特征在于,
所述处理单元,进一步用于当外部网络发生物理拓扑变化,或者与该虚拟网桥设备直连的外部网络设备之间的链路故障时,根据其上运行的STP重新进行生成树的计算;若与该虚拟网桥设备直连的外部网络设备之间的链路故障,根据流表下发规则,以及生成树的计算结果为SDN转发设备重新下发流表。
12.根据权利要求9或10所述的装置,其特征在于,
所述配置单元,进一步用于配置预设生成树算法;
所述处理单元,进一步用于根据所述配置单元配置的预设生成树算法,计算该SDN中各SDN转发设备的生成树。
13.根据权利要求9或10所述的装置,其特征在于,
所述处理单元,进一步用于当SDN内部物理拓扑发生变化时,使用配置的预设生成树算法重新进行生成树计算,根据生成树的计算结果重新生成流表并下发至SDN转发设备。
14.根据权利要求13所述的装置,其特征在于,
所述处理单元,进一步用于当SDN发生物理拓扑变化,且SDN中连通的SDN转发设备被分割为两组或多组连通的SDN转发设备时,将各组内连通的SDN转发设备虚拟为一个独立的虚拟网桥设备,并将任一虚拟网桥设备的虚拟端口,映射为虚拟该网桥设备的SDN转发设备连接外部网络设备的物理端口,并通过该虚拟网桥设备的虚拟端口,与该虚拟网桥设备连接的外部网络设备进行生成树计算。
15.根据权利要求14所述的装置,其特征在于,
所述处理单元,进一步用于在通过该虚拟网桥设备的虚拟端口,与该虚拟网桥设备连接的外部网络设备进行生成树计算,之前,若确定该虚拟网桥设备以及与该虚拟网桥设备连通的外部网络中不存在作为旧的树根的设备,则通过虚拟网桥设备的虚拟端口,向与其连接的外部网络设备发送老化树根的消息,使所述外部网络设备进行树根老化。
16.根据权利要求14所述的装置,其特征在于,
所述处理单元,进一步用于当所述SDN中故障链路恢复时,连通的SDN转发设备重新虚拟为一个网桥设备;或,维持多个虚拟网桥设备不变,将任一虚拟网桥设备的虚拟端口,映射为故障恢复链路的物理端口,该虚拟网桥设备,同其他虚拟网桥设备,以及外部网络设备之间通过BPDU报文交互,进行生成树计算。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310372757.9A CN104426731B (zh) | 2013-08-23 | 2013-08-23 | 一种生成树计算的方法和装置 |
US14/899,772 US20160156550A1 (en) | 2013-08-23 | 2014-08-22 | Calculating spanning tree |
EP14837552.0A EP3036870A1 (en) | 2013-08-23 | 2014-08-22 | Calculating spanning tree |
PCT/CN2014/084987 WO2015024528A1 (en) | 2013-08-23 | 2014-08-22 | Calculating spanning tree |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310372757.9A CN104426731B (zh) | 2013-08-23 | 2013-08-23 | 一种生成树计算的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104426731A CN104426731A (zh) | 2015-03-18 |
CN104426731B true CN104426731B (zh) | 2018-01-12 |
Family
ID=52483091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310372757.9A Active CN104426731B (zh) | 2013-08-23 | 2013-08-23 | 一种生成树计算的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20160156550A1 (zh) |
EP (1) | EP3036870A1 (zh) |
CN (1) | CN104426731B (zh) |
WO (1) | WO2015024528A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9124506B2 (en) | 2013-06-07 | 2015-09-01 | Brocade Communications Systems, Inc. | Techniques for end-to-end network bandwidth optimization using software defined networking |
CN105812269B (zh) * | 2014-12-31 | 2019-04-23 | 华为技术有限公司 | Sdn中创建端口组的方法、sdn控制器及网络系统 |
US20170237649A1 (en) * | 2015-01-30 | 2017-08-17 | Hewlett-Packard Development Company, L.P. | Adjusted spanning tree protocol path cost values in a software defined network |
US9853874B2 (en) | 2015-03-23 | 2017-12-26 | Brocade Communications Systems, Inc. | Flow-specific failure detection in SDN networks |
US9912536B2 (en) | 2015-04-01 | 2018-03-06 | Brocade Communications Systems LLC | Techniques for facilitating port mirroring in virtual networks |
CN104980302B (zh) * | 2015-05-12 | 2018-06-19 | 上海斐讯数据通信技术有限公司 | 一种在sdn框架下基于stp消除冗余链路的方法 |
TWI561034B (en) * | 2015-07-03 | 2016-12-01 | Estinet Technologies Inc | Method for constituting hybrid network spanning tree, method of redundancy, and control system thereof |
US9749401B2 (en) | 2015-07-10 | 2017-08-29 | Brocade Communications Systems, Inc. | Intelligent load balancer selection in a multi-load balancer environment |
CN106817301A (zh) * | 2015-11-30 | 2017-06-09 | 中兴通讯股份有限公司 | 故障恢复方法及装置、控制器、软件定义网络 |
KR101772292B1 (ko) * | 2015-12-07 | 2017-08-29 | 전남대학교산학협력단 | 소프트웨어 정의 네트워크 기반 네트워크 플러딩 공격 탐지/방어 방법 및 시스템 |
US11070395B2 (en) * | 2015-12-09 | 2021-07-20 | Nokia Of America Corporation | Customer premises LAN expansion |
CN106936609B (zh) * | 2015-12-29 | 2020-10-16 | 南京中兴新软件有限责任公司 | 一种软件定义网络中控制转发设备集群的方法及控制器 |
CN105634817A (zh) * | 2016-01-08 | 2016-06-01 | 广州西麦科技股份有限公司 | 一种基于sdn的网络故障自动检测的系统及方法 |
US9949138B2 (en) * | 2016-07-28 | 2018-04-17 | At&T Intellectual Property I, L.P. | Systems and methods to augment the capacities and capabilities of cellular networks through an unmanned aerial vehicle network overlay |
CN108337145B (zh) * | 2017-01-19 | 2021-11-23 | 中兴通讯股份有限公司 | 多环路网络的处理方法及装置 |
CN108809672B (zh) * | 2017-04-26 | 2022-04-19 | 中兴通讯股份有限公司 | 一种虚拟端口的管理方法及装置 |
CN109428815B (zh) * | 2017-08-28 | 2021-10-01 | 华为技术有限公司 | 一种处理报文的方法及装置 |
CN112398728B (zh) * | 2019-08-14 | 2024-03-08 | 中兴通讯股份有限公司 | 虚拟网关平滑演进方法、网关设备及存储介质 |
CN111147303B (zh) * | 2019-12-27 | 2022-05-17 | 迈普通信技术股份有限公司 | 消息处理方法、装置、网络系统、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2008385A2 (en) * | 2006-04-18 | 2008-12-31 | Cisco Technology, Inc. | Blocked redundant link-aware spanning tree protocol enhancement |
CN102946325A (zh) * | 2012-11-14 | 2013-02-27 | 中兴通讯股份有限公司 | 一种基于软件定义网络的网络诊断方法、系统及设备 |
CN103051565A (zh) * | 2013-01-04 | 2013-04-17 | 中兴通讯股份有限公司 | 一种等级软件定义网络控制器的架构系统及实现方法 |
CN103051629A (zh) * | 2012-12-24 | 2013-04-17 | 华为技术有限公司 | 一种基于软件定义网络中数据处理的系统、方法和节点 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8531991B2 (en) * | 2006-10-16 | 2013-09-10 | Cisco Technology, Inc. | Multi-chassis emulated switch |
US8521905B2 (en) * | 2011-12-22 | 2013-08-27 | Telefonaktiebolaget L M Ericsson (Publ) | System for flexible and extensible flow processing in software-defined networks |
US9038151B1 (en) * | 2012-09-20 | 2015-05-19 | Wiretap Ventures, LLC | Authentication for software defined networks |
US9356866B1 (en) * | 2014-01-10 | 2016-05-31 | Juniper Networks, Inc. | Receive packet steering for virtual networks |
US10104017B2 (en) * | 2015-05-12 | 2018-10-16 | Jeda Networks, Inc. | Methods, systems and apparatus for the virtualization of high performance networks |
-
2013
- 2013-08-23 CN CN201310372757.9A patent/CN104426731B/zh active Active
-
2014
- 2014-08-22 US US14/899,772 patent/US20160156550A1/en not_active Abandoned
- 2014-08-22 WO PCT/CN2014/084987 patent/WO2015024528A1/en active Application Filing
- 2014-08-22 EP EP14837552.0A patent/EP3036870A1/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2008385A2 (en) * | 2006-04-18 | 2008-12-31 | Cisco Technology, Inc. | Blocked redundant link-aware spanning tree protocol enhancement |
CN102946325A (zh) * | 2012-11-14 | 2013-02-27 | 中兴通讯股份有限公司 | 一种基于软件定义网络的网络诊断方法、系统及设备 |
CN103051629A (zh) * | 2012-12-24 | 2013-04-17 | 华为技术有限公司 | 一种基于软件定义网络中数据处理的系统、方法和节点 |
CN103051565A (zh) * | 2013-01-04 | 2013-04-17 | 中兴通讯股份有限公司 | 一种等级软件定义网络控制器的架构系统及实现方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3036870A1 (en) | 2016-06-29 |
US20160156550A1 (en) | 2016-06-02 |
CN104426731A (zh) | 2015-03-18 |
WO2015024528A1 (en) | 2015-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104426731B (zh) | 一种生成树计算的方法和装置 | |
CN110166356B (zh) | 发送报文的方法和网络设备 | |
US9264346B2 (en) | Resilient duplicate link aggregation emulation | |
US9300574B2 (en) | Link aggregation emulation for virtual NICs in a cluster server | |
US9185166B2 (en) | Disjoint multi-pathing for a data center network | |
Decusatis et al. | Communication within clouds: open standards and proprietary protocols for data center networking | |
EP3888313A1 (en) | Logical router comprising disaggregated network elements | |
US9692697B2 (en) | Control channel establishing method, forwarding point, and controller | |
US20140146660A1 (en) | Restarting a line card | |
CN101710314A (zh) | 高速外围部件互连交换控制器及其实现方法 | |
CN110061912B (zh) | 仲裁虚拟节点的冗余控制平面之间的主控权 | |
JP7190569B2 (ja) | データセンターのトラフィック共有方法、装置、デバイスおよび記憶媒体 | |
CN106664235B (zh) | 软件定义网络与传统网络的融合方法以及装置 | |
US9384102B2 (en) | Redundant, fault-tolerant management fabric for multipartition servers | |
CN103002065A (zh) | 一种主用设备与备用设备共用ip地址的方法和装置 | |
CN103441940A (zh) | 网络设备由备状态到主状态的切换方法、装置及网络设备 | |
CN105704022A (zh) | 路径切换的方法和网络节点 | |
CN109687943B (zh) | 一种双机备份冗余控制系统 | |
CN105763448B (zh) | 一种报文传输方法和装置 | |
CN105991315A (zh) | 一种sdn中的链路保护方法、交换设备及网络控制器 | |
WO2015120444A1 (en) | Using unified api to program both servers and fabric for forwarding for fine-grained network optimizations | |
CN108512737B (zh) | 一种数据中心ip层互联的方法和sdn控制器 | |
EP3125478B1 (en) | Method, device, and system for determining intermediate routing node | |
CN107995119B (zh) | 基于端口模型的三层及以上网络设备stp的实现方法及系统 | |
TWI679861B (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 | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Applicant before: Huasan Communication Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |