一种生成树计算的方法和装置.pdf

上传人:r7 文档编号:4063553 上传时间:2018-08-13 格式:PDF 页数:15 大小:1.24MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310372757.9

申请日:

2013.08.23

公开号:

CN104426731A

公开日:

2015.03.18

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||著录事项变更IPC(主分类):H04L 12/44变更事项:申请人变更前:杭州华三通信技术有限公司变更后:新华三技术有限公司变更事项:地址变更前:310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地变更后:310052 浙江省杭州市滨江区长河路466号|||实质审查的生效IPC(主分类):H04L 12/44申请日:20130823|||公开

IPC分类号:

H04L12/44; H04L12/753(2013.01)I

主分类号:

H04L12/44

申请人:

杭州华三通信技术有限公司

发明人:

宋建永

地址:

310053浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地

优先权:

专利代理机构:

北京德琦知识产权代理有限公司11018

代理人:

谢安昆; 宋志强

PDF下载: PDF下载
内容摘要

本申请公开了一种生成树计算的方法,该方法包括:SDN控制器将所述SDN中的连通的各SDN转发设备虚拟为一个虚拟网桥设备,并将该虚拟网桥设备的虚拟接口,映射为该SDN中连接外部网络设备的SDN转发设备的物理端口;SDN控制器通过各虚拟端口与外部网络设备进行BPDU报文的交互,通过运行的STP计算该虚拟网桥设备与外部网络设备之间的生成树。基于同样的发明构思。本申请还提出一种装置,能够有效解决外部网络设备与SDN设备对接时生成树的计算问题,使整个二层网络避免产生环路。

权利要求书

权利要求书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报文交互,进行生成树计算。

说明书

说明书一种生成树计算的方法和装置
技术领域
本申请涉及通信技术领域,特别涉及一种生成树计算的方法和装置。
背景技术
现有网络技术架构日渐暴露出很多局限性,在一定程度上已经无法满足市场需求。软件定义网络(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报文中的Remaining Hops字段的内容为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设备对接时生成树的计算问题,使整个二层网络避免产生环路。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

一种生成树计算的方法和装置.pdf_第1页
第1页 / 共15页
一种生成树计算的方法和装置.pdf_第2页
第2页 / 共15页
一种生成树计算的方法和装置.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《一种生成树计算的方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种生成树计算的方法和装置.pdf(15页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 (43)申请公布日 (21)申请号 201310372757.9(22)申请日 2013.08.23H04L 12/44(2006.01)H04L 12/753(2013.01)(71)申请人杭州华三通信技术有限公司地址 310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地(72)发明人宋建永(74)专利代理机构北京德琦知识产权代理有限公司 11018代理人谢安昆 宋志强(54) 发明名称一种生成树计算的方法和装置(57) 摘要本申请公开了一种生成树计算的方法,该方法包括:SDN控制器将所述SDN中的连通的各SDN转发设备虚拟为一个虚拟网。

2、桥设备,并将该虚拟网桥设备的虚拟接口,映射为该SDN中连接外部网络设备的SDN转发设备的物理端口;SDN控制器通过各虚拟端口与外部网络设备进行BPDU报文的交互,通过运行的STP计算该虚拟网桥设备与外部网络设备之间的生成树。基于同样的发明构思。本申请还提出一种装置,能够有效解决外部网络设备与SDN设备对接时生成树的计算问题,使整个二层网络避免产生环路。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书3页 说明书8页 附图3页(10)申请公布号 CN 104426731 A(43)申请公布日 2015.03.18CN 104426731 A1/3页21.一。

3、种生成树计算的方法,应用于软件定义网络SDN网络和外部网络之间,所述外部网络为该SDN网络之外,且与该SDN网络连接的网络,该外部网络中的设备为外部网络设备,其特征在于,所述方法包括:SDN控制器将所述SDN中连通的SDN转发设备虚拟为一个虚拟网桥设备,并将该虚拟网桥设备的虚拟端口,映射为该SDN中连接外部网络设备的SDN转发设备的物理端口;SDN控制器通过各虚拟端口与外部网络设备进行桥协议单元BPDU报文的交互,根据运行的生成树协议STP计算该虚拟网桥设备与外部网络设备之间的生成树,其中,所述运行的STP同各外部网络设备上运行的STP相同。2.根据权利要求1所述的方法,其特征在于,所述通过各。

4、虚拟端口与外部网络设备进行BPDU报文的交互,包括:发送BPDU报文时,通过虚拟端口将该BPDU报文发送到映射为该虚拟端口的物理端口所在的SDN转发设备,再通过所述SDN转发设备的该物理端口转发给外部网络设备;接收BPDU报文时,通过虚拟端口接收SDN转发设备转发的外部网络设备发送的BPDU报文。3.根据权利要求1或2所述的方法,其特征在于,所述方法进一步包括:当外部网络发生物理拓扑变化,或者与该虚拟网桥设备直连的外部网络设备之间的链路故障时,该SDN控制器根据其上运行的STP重新进行生成树的计算;若与该虚拟网桥设备直连的外部网络设备之间的链路故障,该SDN控制器根据流表下发规则,以及生成树的。

5、计算结果为SDN转发设备重新下发流表。4.根据权利要求1或2所述的方法,其特征在于,所述方法进一步包括:该SDN控制器根据配置的预设生成树算法,计算该SDN中各SDN转发设备的生成树。5.根据权利要求1或2所述的方法,其特征在于,所述方法进一步包括:当SDN内部物理拓扑发生变化时,使用配置的预设生成树算法重新进行生成树计算,根据生成树的计算结果重新生成流表并下发至SDN转发设备。6.根据权利要求5所述的方法,其特征在于,所述方法进一步包括:当SDN发生物理拓扑变化,且SDN中连通的SDN转发设备被分割为两组或多组连通的SDN转发设备时,SDN控制器将各组连通的SDN转发设备虚拟为一个独立的虚拟。

6、网桥设备,并将任一虚拟网桥设备的虚拟端口,映射为虚拟该网桥设备的SDN转发设备连接外部网络设备的物理端口,并通过该虚拟网桥设备的虚拟端口,与该虚拟网桥设备连接的外部网络设备进行生成树计算。7.根据权利要求6所述的方法,其特征在于,所述通过该虚拟网桥设备的虚拟端口,与该虚拟网桥设备连接的外部网络设备进行生成树计算,之前,所述方法进一步包括:若该虚拟网桥设备以及与该虚拟网桥设备连通的外部网络中不存在作为旧的树根的设备,则该SDN控制器通过虚拟网桥设备的虚拟端口,向与其连接的外部网络设备发送老化树根的消息,使所述外部网络设备进行树根老化。8.根据权利要求6所述的方法,其特征在于,所述方法进一步包括:。

7、当所述SDN中故障链路恢复时,连通的SDN转发设备重新虚拟为一个网桥设备;或,维持多个虚拟网桥设备不变,将任一虚拟网桥设备的虚拟端口,映射为故障恢复链路的物理端口,该虚拟网桥设备,同其他虚拟网桥设备,以及外部网络设备之间通过BPDU权 利 要 求 书CN 104426731 A2/3页3报文交互,进行生成树计算。9.一种装置,应用于软件定义网络SDN网络中的SDN控制器,其特征在于,所述装置包括:配置单元和处理单元;所述配置单元,用于将SDN中连通的各SDN转发设备虚拟为一个虚拟网桥设备,并将该虚拟网桥设备的虚拟端口,映射为该SDN中连接外部网络设备的SDN转发设备的物理端口,所述外部网络设备。

8、为该SDN网络之外,且与该SDN网络连接的网络中的设备;所述处理单元,用于通过所述配置单元设置的各虚拟端口与外部网络设备进行桥协议单元BPDU报文的交互,根据运行的生成树STP计算该虚拟网桥设备与外部网络设备之间的生成树,其中,所述运行的STP同各外部网络设备上运行的STP相同。10.根据权利要求9所述的装置,其特征在于,所述处理单元,具体用于在发送BPDU报文时,通过虚拟端口将该BPDU报文发送到映射为该虚拟端口的物理端口所在的SDN转发设备,再通过所述SDN转发设备的该物理端口转发给外部网络设备;在接收BPDU报文时,通过虚拟端口接收SDN转发设备转发的外部网络设备发送的BPDU报文。11。

9、.根据权利要求9或10所述的装置,其特征在于,所述处理单元,进一步用于当外部网络发生物理拓扑变化,或者与该虚拟网桥设备直连的外部网络设备之间的链路故障时,根据其上运行的STP重新进行生成树的计算;若与该虚拟网桥设备直连的外部网络设备之间的链路故障,根据流表下发规则,以及生成树的计算结果为SDN转发设备重新下发流表。12.根据权利要求9或10所述的装置,其特征在于,所述配置单元,进一步用于配置预设生成树算法;所述处理单元,进一步用于根据所述配置单元配置的预设生成树算法,计算该SDN中各SDN转发设备的生成树。13.根据权利要求9或10所述的装置,其特征在于,所述处理单元,进一步用于当SDN内部物。

10、理拓扑发生变化时,使用配置的预设生成树算法重新进行生成树计算,根据生成树的计算结果重新生成流表并下发至SDN转发设备。14.根据权利要求13所述的装置,其特征在于,所述处理单元,进一步用于当SDN发生物理拓扑变化,且SDN中连通的SDN转发设备被分割为两组或多组连通的SDN转发设备时,将各组连通的SDN转发设备虚拟为一个独立的虚拟网桥设备,并将任一虚拟网桥设备的虚拟端口,映射为虚拟该网桥设备的SDN转发设备连接外部网络设备的物理端口,并通过该虚拟网桥设备的虚拟端口,与该虚拟网桥设备连接的外部网络设备进行生成树计算。15.根据权利要求14所述的装置,其特征在于,所述处理单元,进一步用于在通过该虚。

11、拟网桥设备的虚拟端口,与该虚拟网桥设备连接的外部网络设备进行生成树计算,之前,若确定该虚拟网桥设备以及与该虚拟网桥设备连通的外部网络中不存在作为旧的树根的设备,则通过虚拟网桥设备的虚拟端口,向与其连接的外部网络设备发送老化树根的消息,使所述外部网络设备进行树根老化。16.根据权利要求14所述的装置,其特征在于,所述处理单元,进一步用于当所述SDN中故障链路恢复时,连通的SDN转发设备重新虚权 利 要 求 书CN 104426731 A3/3页4拟为一个网桥设备;或,维持多个虚拟网桥设备不变,将任一虚拟网桥设备的虚拟端口,映射为故障恢复链路的物理端口,该虚拟网桥设备,同其他虚拟网桥设备,以及外部。

12、网络设备之间通过BPDU报文交互,进行生成树计算。权 利 要 求 书CN 104426731 A1/8页5一种生成树计算的方法和装置技术领域0001 本申请涉及通信技术领域,特别涉及一种生成树计算的方法和装置。背景技术0002 现有网络技术架构日渐暴露出很多局限性,在一定程度上已经无法满足市场需求。软件定义网络(Software Defined Network,SDN)应需而生。0003 SDN是一种新的网络架构,其主导思想是将网络的控制与转发功能在物理上分离,并且可在控制层面实现对网络应用进行编程。传统网络中位于网络设备中的控制功能将转移到可访问的计算设备中,基础网络设备仅保留转发功能部分,。

13、整个网络可以看成一个逻辑或虚拟的整体。0004 SDN的主要思想是在一个逻辑点控制整个网络,从而大大简化网络的设计和运营。网络控制和决策单元集中在SDN控制器,从全局角度控制整个网络,使得整个网络如同一个的逻辑交换机。SDN转发设备只需要执行SDN控制器下发的各种转发相关的指令,并及时将本设备的情况,如故障等,及时通告SDN控制器。这极大简化了网络设备的实现,因为它们不再需要理解和处理成千上万的网络协议标准,只需要简单从SDN控制器接收指令。0005 随着SDN的逐渐演进,SDN实验网络的成功运行,各个网络设计者都开始将SDN作为未来网络架构设计的方案之一。在SDN逐渐与传统架构的网络共存的,。

14、继而逐渐替代的过程中,SDN必定会面临大量的与传统架构网络对接的情况。如何与传统架构网络良好对接,是众多当前网络协议需要考虑的重要问题。发明内容0006 有鉴于此,本申请提供一种生成树计算的方法和装置,能够有效解决外部网络设备与SDN设备对接时生成树的计算问题,使整个二层网络避免产生环路。0007 为解决上述技术问题,本发明的技术方案是这样实现的:0008 一种生成树计算的方法,SDN控制器将其所在SDN中连通的各SDN转发设备虚拟为一个虚拟网桥设备,并将该SDN中连接外部网络设备的SDN转发设备的物理端口,映射为该虚拟网桥设备连接外部网络设备的虚拟端口;所述方法包括:0009 SDN控制器通。

15、过各虚拟端口与外部网络设备进行BPDU报文的交互,根据运行的STP计算该虚拟网桥设备与外部网络设备之间的生成树,其中,所述运行的STP同各外部网络设备上运行的STP相同。0010 一种装置,可应用于SDN中SDN控制器上,所述装置包括:配置单元和处理单元;0011 所述配置单元,用于将SDN中的连通的各SDN转发设备虚拟为一个虚拟网桥设备,并将该SDN中连接外部网络设备的SDN转发设备的物理端口,映射为该虚拟网桥设备连接外部网络设备的虚拟端口;0012 所述处理单元,用于通过所述配置单元设置的各虚拟端口与外部网络设备进行BPDU报文的交互,根据运行的STP计算该虚拟网桥设备与外部网络设备之间的。

16、生成树,其说 明 书CN 104426731 A2/8页6中,所述运行的STP同各外部网络设备上运行的STP相同。0013 综上所述,本申请通过SDN控制器将其所在SDN中连通的SDN转发设备虚拟为一个虚拟网桥设备,并将该虚拟网桥设备的虚拟端口,映射为SDN中连接外部网络设备的SDN转发设备的物理端口;SDN控制器通过各虚拟端口与外部网络设备进行BPDU报文的交互,通过运行的STP计算该虚拟网桥设备与外部网络设备之间的生成树。通过该方法能够有效解决外部网络设备与SDN设备对接时生成树的计算问题,使整个二层网络避免产生环路。附图说明0014 图1为本发明具体实施例中生成树计算方法流程示意图;00。

17、15 图2为外部网络与SDN网络连接的示意图;0016 图3为图2中SDN发生物理拓扑变化时的组网示意图;0017 图4为图3中故障链路恢复后的网络结构示意图;0018 图5为应用于上述技术的装置的结构示意图;0019 图6是本申请具体实施例中装置的硬件架构组成示意图。具体实施方式0020 为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。0021 本发明实施例中提出一种生成树计算的方法,应用于SDN网络和外部网络之间,所述外部网络为该SDN网络之外,且与该SDN网络连接的网络,该外部网络中的设备为外部网络设备。SDN控制器将所述SDN中。

18、连通的SDN转发设备虚拟为一个虚拟网桥设备,并将该虚拟网桥设备的虚拟端口,映射为该SDN中连接外部网络设备的SDN转发设备的物理端口;SDN控制器通过各虚拟端口与外部网络设备进行桥协议单元(Bridge Protocol Data Unit,BPDU)报文的交互,通过运行的生成树协议(Spanning Tree Protocol,STP)计算该虚拟网桥设备与外部网络设备之间的生成树。通过该方法能够有效解决外部网络设备与SDN设备对接时生成树的计算问题,使整个二层网络避免产生环路。0022 SDN之外的网络称为外部网络,外部网络中的设备称为外部网络设备。外部网络为不支持SDN功能的网络。0023。

19、 参见图1,图1为本发明具体实施例中生成树计算方法流程示意图,具体步骤为:0024 步骤101,SDN控制器将所述SDN中连通的SDN转发设备虚拟为一个虚拟网桥设备,并将该虚拟网桥设备的虚拟端口,映射为该SDN中连接外部网络设备的SDN转发设备的物理端口。0025 在具体实现时,SDN控制器需要为该虚拟网桥设备赋予桥MAC,该桥MAC可以为控制器的MAC地址,也可以为该虚拟网桥设备赋予新的MAC地址作为桥MAC地址,而不是使用SDN控制器的MAC地址,在SDN控制器故障,切换到其他SDN控制器上时,继续使用配置的桥MAC地址,与外部网络设备之间的通信将不会受到影响。0026 同时,还可为该虚拟。

20、网桥设备连接外部网络的虚拟端口赋予端口号(Port ID),赋予虚拟端口的各端口号,只要在该虚拟网桥设备上是唯一的即可,同SDN转发设备的物理端口号是否一样并不影响本发明的实现。端口映射的具体实现时通过配置端口号之间的对说 明 书CN 104426731 A3/8页7应关系。0027 SDN网络中连通的SDN转发设备为彼此能够在该SDN内部通信的SDN转发设备。0028 参见图2,图2为外部网络与SDN网络连接的示意图。图2中,SDN控制器将SDN转发设备C、SDN转发设备D、SDN转发设备E和SDN转发设备F虚拟为一个虚拟网桥设备I,并将SDN转发设备C与外部网络设备A连接的端口1,映射为虚。

21、拟网桥设备I的端口1,将SDN转发设备D与外部网络设备B连接的端口1,映射为虚拟网桥设备I的端口2将SDN转发设备E与外部网络设备G连接的端口2,映射为虚拟网桥设备I的端口4,将SDN转发设备F与外部网络设备H连接的端口2,映射为虚拟网桥设备I的端口3。0029 步骤102,SDN控制器通过各虚拟端口与外部网络设备进行BPDU报文的交互,根据运行的STP计算该虚拟网桥设备与外部网络设备之间的生成树。0030 SDN控制器通过虚拟端口与外部网络设备进行BPDU报文交互之前,需在所述虚拟设备全局使能STP,并在该虚拟设备各个虚拟端口上使能STP,根据所赋予的桥MAC及端口号发送BPDU报文。003。

22、1 在虚拟设备上运行的STP,与外部网络设备上运行的STP相同,保证虚拟网桥设备与外部网络设备组成的网络没有环路。0032 该SDN控制器通过各虚拟端口与外部网络设备进行BPDU报文的交互,包括:0033 发送BPDU报文时,SDN控制器通过虚拟端口将该BPDU报文发送到该虚拟端口映射的物理端口,再通过该物理端口转发给外部网络设备;0034 接收BPDU报文时,SDN转发设备从物理端口上接收到外部网络设备发送的BPDU报文,并将该BPDU报文转发到该物理接口映射的虚拟端口上;SDN控制器在虚拟端口接收SDN转发设备转发的BPDU报文。0035 在具体操作时,由于可以赋予新的桥MAC,及虚拟端口。

23、的端口号,对于各外部网络设备来说,SDN控制器中的虚拟网桥设备是一个独立的设备,因此,发送和接收BPDU报文的设备为SDN控制器中的虚拟网桥设备。0036 仍然以图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映射为虚拟。

24、端口4,因此SDN转发设备E会接收到SDN控制器通过虚拟端口4发送的接收到BPDU报文时,通过与端口2发送给外部网络设备G;SDN转发设备F上的端口2映射为虚拟端口3,因此SDN转发设备F会接收到SDN控制器通过虚拟端口3发送的BPDU报文时,通过与端口2发送给外部网络设备H。0037 SDN转发设备C通过端口1接收到外部网络设备A发送的BPDU报文,转发给SDN控制器;SDN转发设备D通过端口1接收到外部网络设备B发送的BPDU报文,转发给SDN控制器;SDN转发设备E通过端口2接收到外部网络设备G发送的BPDU报文,转发给SDN控制器;SDN转发设备F通过端口2接收到外部网络设备H发送的B。

25、PDU报文,转发给SDN控制器。0038 BPDU报文中携带的信息,以及外部网络设备,或SDN控制器接收到BPDU报文时的说 明 书CN 104426731 A4/8页8处理方式,同现有外部网络中发送的BPDU报文的信息,以及对接收到的BPDU报文的处理方式一致。本发明具体实现时,仅是将SDN中SDN控制器控制的SDN转发设备虚拟为一个设备,同外部网络设备之间进行生成树计算。0039 下面详细描述当网络拓扑发生变化时,如何进行处理:0040 当外部网络发生物理拓扑变化,或者与该虚拟网桥设备直连的外部网络设备之间的链路故障时,该SDN控制器根据其上运行的STP重新进行生成树的计算。0041 该S。

26、DN控制器若接收到用于通知网络拓扑结构发生变化的BPDU报文,或者预设时间内未再接收到BPDU报文,该SDN控制器获知外部网络拓扑变化。0042 该SDN控制器直接检测到链路故障,会确定与该虚拟网桥设备直连的外部网络设备之间的链路故障。0043 本发明具体实施例中所指的外部网络发生物理拓扑变化,不包括外部网络设备与虚拟网桥设备之间的链路故障的情况。0044 仍然以图2为例,如果外部网络设备A和外部网络设备B之间的链路故障,外部网络设备A和外部网络设备B都会发送BPDU报文,并通过SDN转发设备C和SDN转发设备D发送给SDN控制器。如果是外部网络设备A和SDN转发设备C之间的链路故障,SDN控。

27、制器会直接感知到。由于SDN转发设备与外部网络设备A之间的链路故障后,SDN转发设备C的端口1的状态会发生变化,且SDN控制器会感知到SDN中的所有SDN转发设备上的变化情况,包括端口状态的变化。0045 如果与该虚拟网桥设备直连的外部网络设备之间的链路故障,该SDN控制器根据流表下发规则,以及生成树计算结果为SDN转发设备重新下发流表。0046 如外部网络设备A和SDN转发设备C之间的链路故障,导致SDN转发设备C上的端口状态变换,SDN转发设备C就不能通过端口1收发报文,因此SDN控制器需要重新下发流表,至于只给SDN转发设备C重新下发,还是所有的SDN转发设备都下发,根据SDN控制器的流。

28、表下发规则确定。0047 在具体实现时,还可以在SDN内部进行生成树计算。该SDN控制器配置预设生成树算法,计算该SDN中各SDN转发设备的生成树。0048 其中,在SDN内部进行生成树的计算,可以是集中式生成树计算,也可以是与外部网络中的STP计算相同的分布式方式进行生成树计算,SDN内部计算生成的生成树和虚拟网桥设备与外部网络设备之间计算的生成树互不相关,互不影响。0049 当SDN内部物理拓扑发生变化时,使用配置的预设生成树算法重新进行生成树计算,根据生成树的计算结果重新生成流表并下发至SDN转发设备。0050 本发明具体实施例中SDN内部发生物理拓扑变化,指SDN中各SDN转发设备故障。

29、,或者SDN转发设备之间的链路故障,不包括SDN中SDN转发设备与外部网络设备之间的链路故障的情况,即SDN内部发生物理拓扑变化,不包括与外部网络连通的端口的状态变化。0051 SDN发生物理拓扑发生变化,可能是SDN转发设备之间的链路故障,也可能是某个SDN网络设备故障,SDN中的SDN转发设备被分割为两组或多组时,SDN控制器将每组虚拟为一个独立的虚拟网桥设备,并将虚拟为任一虚拟网桥设备的SDN转发设备连接外部网络设备的物理端口,映射为该虚拟网桥设备连接外部网络设备的虚拟端口,该虚拟网桥设备通过其虚拟端口,与其连接的外部网络设备进行生成树计算。说 明 书CN 104426731 A5/8页。

30、90052 假设图2中的SDN转发设备C与SDN转发设备E之间的链路故障,SDN转发设备D与SDN转发设备F之间的链路故障,这样原先的一组SDN转发设备就被分割为两组SDN转发设备。0053 SDN控制器会将SDN转发设备E和SDN转发设备F虚拟为一个网桥设备,为了做较少的变动,SDN转发设备C和SDN转发设备D还虚拟为原来的虚拟网桥设备,当然也可以重新虚拟为一个新的虚拟网桥设备。0054 参见图3,图3为图2中SDN发生物理拓扑变化时的组网示意图。图3中SDN转发设备C与SDN转发设备E之间的链路故障,SDN转发设备D与SDN转发设备F之间的链路故障。0055 SDN控制器将SDN转发设备C。

31、和SDN转发设备D虚拟为虚拟网桥设备I,将SDN转发设备C的端口1,映射为虚拟网桥设备I的虚拟端口1,将SDN转发设备D的端口2,映射为虚拟网桥设备I的虚拟端口2。0056 SDN控制器将SDN转发设备E和SDN转发设备F虚拟为虚拟网桥设备J,将SDN转发设备E的端口2,映射为虚拟网桥设备J的虚拟端口2,将SDN转发设备F的端口2,映射为虚拟网桥设备J的虚拟端口1。0057 SDN控制器对于虚拟网桥设备I,同外部网络设备A和外部网络设备B之间,通过交互BPDU报文进行生成树计算。SDN控制器对于虚拟网桥设备J,同外部网络设备G和外部网络设备H之间,同样通过交互BPDU报文进行生成树计算。005。

32、8 若任一虚拟网桥设备以及与该虚拟网桥设备连通的外部网络中不存在作为旧的树根的设备,则该SDN控制器通过该虚拟网桥设备的虚拟端口,向与其连接的外部网络设备发送老化树根的消息,使所述外部网络设备进行树根老化。即对于不包含原先生成树树根的一组网络,快速老化该组网络中的旧的树根,具体处理过程如下:0059 假设图2中计算出的生成树的树根为外部网络设备A,则图3中虚拟网桥设备J、外部网络设备G和外部网络设备H组成的一组网络中不包含原先生成树的树根,即外部网络设备A。则SDN转发设备E和SDN转发设备F脱离虚拟网桥神I的映射之前,SDN控制器通过虚拟端口3和虚拟端口4发送BPDU中,如果生成树协议为ST。

33、P和RSTP,以及MSTP的域外时,在BPDU报文中的Message Age字段内容为Max Age;如果在MSTP的域内时,在BPDU报文中的Remaining Hops字段的内容为0,使接收到该BPDU报文的外部网络设备G和外部网络设备H尽快老化旧的树根,加快网络收敛。0060 SDN控制器对于虚拟为网桥设备I的各SDN转发设备之间是否进行生成树计算,根据使用者具体配置进行处理。对于虚拟为网桥设备J的各SDN转发设备之间是否进行生成树的计算,同样根据具体配置进行处理。0061 当SDN中故障链路恢复时,连通的SDN转发设备可以重新虚拟为一个网桥设备;也可以维持多个虚拟网桥设备不变,将故障链。

34、路恢复的端口映射为虚拟网桥设备的虚拟端口,任一虚拟网桥设备,同其他虚拟网桥设备,以及外部网络设备之间通过BPDU报文交互,进行生成树计算。0062 如图3中的网络结构图中,假设SDN转发设备C和SDN转发设备E之间的故障链路恢复,且SDN转发设备D和SDN转发设备F之间的故障链路恢复,则具体处理时,可以将图3中的网络结构图恢复为图2中的网络结构图,即将联通的SDN转发设备虚拟为一个虚说 明 书CN 104426731 A6/8页10拟网桥设备。0063 也可以维持两个个虚拟网桥设备。参见图4,图4为图3中故障链路恢复后的网络结构示意图。图4中将SDN设备转发设备C的端口3,映射为虚拟网桥设备I。

35、的虚拟端口3,将SDN转发设备D的端口3,映射为虚拟网桥设备I的虚拟端口4。对于虚拟网桥设备I的虚拟端口1和虚拟端口2与SDN转发设备C和SDN转发设备D的物理端口的映射关系不变。0064 对于虚拟网桥设备J的处理同对虚拟网桥设备I的处理,这里不再详细描述。0065 图4中的网络结构中,外部网络设备A、外部网络设备B、虚拟网桥设备I、虚拟网桥设备J、外部网络设备G和外部网络设备H之间进行生成树的计算。在整个网络里,虚拟网桥设备I和虚拟网桥设备J均作为一个设备参与生成树的计算。0066 SDN控制器通过虚拟网桥设备I的虚拟端口1到虚拟端口4收发BPDU报文;SDN控制器通过虚拟网桥设备J的虚拟端。

36、口1到虚拟端口4收发BPDU报文。0067 本发明具体实施例中基于同样的发明构思,还提出一种装置,应用于软件定义网络SDN网络中的SDN控制器。参见图5,该装置包括:配置单元501和处理单元502。0068 配置单元501,用于将SDN中连通的各SDN转发设备虚拟为一个虚拟网桥设备,并将该虚拟网桥设备的虚拟端口,映射为该SDN中连接外部网络设备的SDN转发设备的物理端口,所述外部网络设备为该SDN网络之外,且与该SDN网络连接的网络中的设备。0069 处理单元502,用于通过配置单元501设置的各虚拟端口与外部网络设备进行BPDU报文的交互,根据运行的STP计算该虚拟网桥设备与外部网络设备之间。

37、的生成树,其中,所述运行的STP同各外部网络设备上运行的STP相同。0070 较佳地,0071 处理单元502,具体用于在发送BPDU报文时,通过虚拟端口将该BPDU报文发送到映射为该虚拟端口的物理端口所在的SDN转发设备,再通过所述SDN转发设备的该物理端口转发给外部网络设备;在接收BPDU报文时,通过虚拟端口接收SDN转发设备转发的外部网络设备发送的BPDU报文。0072 较佳地,0073 处理单元502,进一步用于当外部网络发生物理拓扑变化,或者与该虚拟网桥设备直连的外部网络设备之间的链路故障时,根据其上运行的STP重新进行生成树的计算;若与该虚拟网桥设备直连的外部网络设备之间的链路故障,根据流表下发规则,以及生成树的计算结果为SDN转发设备重新下发流表。0074 较佳地,0075 配置单元501,进一步用于配置预设生成树算法。0076 处理单元502,进一步用于根据配置单元501配置的预设生成树算法,计算该SDN中各SDN转发设备的生成树。0077 较佳地,0078 处理单元502,进一步用于当SDN内部物理拓扑发生变化时,使用配置的预设生成树算法重新进行生成树计算,根据生成树的计算结果重新生成流表并下发至SDN转发设备。0079 较佳地,说 明 书CN 104426731 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1