一种在sdn框架下基于stp消除冗余链路的方法

文档序号:9263335阅读:705来源:国知局
一种在sdn框架下基于stp消除冗余链路的方法
【技术领域】
[0001] 本发明涉及一种,特别是涉及一种在SDN(SoftwareDefinedNetwork,软件定义 网络)框架下基于STP(SpanningTreeProtocol,生成树协议)消除冗余链路的方法。
【背景技术】
[0002] STP协议用于在网络中建立树形拓扑,从而避免局域网中的单点故障、网络回环, 解决成环以太网网络的"广播风暴"问题。从某种意义上来说,STP是一种网络保护技术,可 以消除由于失误或者意外带来的循环连接。
[0003] 然而,传统的STP协议具有以下不足:
[0004] (1)传统的STP协议不是基于SDN架构,所采用的分布式控制需要交互 BPDU(BridgeProtocolDataUnit,网桥协议数据单元)报文才能让所有交换机学习到全 网的树状拓扑结构,因而收敛比较慢。
[0005] (2)在缺省情况下,一个端口从Blocking(阻塞)状态过渡到Forwarding(转发) 状态至少需要30秒钟(两倍的ForwardDelay)。对于一个拓扑不稳定网络,这样的过渡导 致网络的长时间中断。
[0006] (3)传统的STP链路速率只支持到lGbps,无法满足lOOGbps的发展趋势。
[0007] (4)在SDN框架下建立静态的转发路径算法,虽然用户可以基于业务类型配置端 到端的转发路径策略,但无法动态感知网络拓扑和链路状态的变化,不适合大型网络的部 署。
[0008] (5)SDN控制器消除冗余链路的功能还没有形成标准。每个厂商都有自己私有的算 法,如建立静态的转发路径,由用户保证消除冗余链路。上述私有的算法可以根据实际的业 务需求,由用户静态配置转发路径,易于实现。但不足之处在于,要求用户对网络和实际业 务需求要非常了解,并且无法感知网络拓扑的动态变化。

【发明内容】

[0009] 鉴于以上所述现有技术的缺点,本发明的目的在于提供一种在SDN框架下基于 STP消除冗余链路的方法,在无需交互协议报文的情况下,能够对每个SDN交换机进行 生成树的计算,解决了STP协议收敛比较慢的问题;同时重新定义的链路速率可以支持 lOOGbps,适用于大型网络的部署。
[0010] 为实现上述目的及其他相关目的,本发明提供一种在SDN框架下基于STP消除冗 余链路的方法,包括以下步骤:步骤S1、SDN控制器定时通过LLDP协议获取链路状态信息和 网络拓扑结构;步骤S2、SDN控制器确定根桥;步骤S3、SDN控制器确定SDN交换机的端口 角色;步骤S4、SDN控制器确定SDN交换机的端口状态;步骤S5、SDN控制器根据端口状态 将流表下发到SDN交换机。
[0011] 根据上述的在SDN框架下基于STP消除冗余链路的方法,其中:所述步骤S1中,所 述链路状态信息包括链路速率、端口状态和网桥的MAC地址信息。
[0012] 根据上述的在SDN框架下基于STP消除冗余链路的方法,其中:所述步骤S1中, SDN控制器获取网络拓扑结构时,包括以下步骤:
[0013] 1)SDN控制器定时地触发带LLDP的Packet_out消息,发送至所有与之相连接的 SDN交换机;
[0014] 2) SDN交换机发送带数据包的Packet_in消息至SDN控制器;
[0015] 3)SDN控制器在接收到Packet_in消息后,对数据包进行分析并其中的链路发现 表中创建两台交换机之间的链接记录,从而构建全网拓扑视图。
[0016] 根据上述的在SDN框架下基于STP消除冗余链路的方法,其中:所述步骤S1中, 通过扩展LLDP协议去获取链路状态信息,所述LLDP报文扩展了接口状态TLV和链路速率 TLV;其中,接口状态TLV用于指定此接口是打开还是关闭;链路速率TLV用于指定链路的 速率。
[0017] 进一步地,根据上述的在SDN框架下基于STP消除冗余链路的方法,其中:控制器 根据链路速率,计算路径开销,其中:
[0018] 在全双工链路中,Path Cost = 200Gbps/当前速率;
[0019] 在汇聚链路中,Path Cost = 200Gbps/当前速率-1 ;
[0020] 在半双工链路中,Path Cost = 200Gbps/当前速率+1 ;
[0021] 其中,PathCost表示路径开销。
[0022] 根据上述的在SDN框架下基于STP消除冗余链路的方法,其中:所述步骤S2包括 以下步骤:
[0023] 步骤S21、SDN控制器获取所有的网桥ID;所述网桥ID由网桥的优先级和网桥MAC 地址组成;
[0024] 步骤S22、SDN控制器找出优先级最小的网桥ID;
[0025] 步骤S23、SDN控制器查找是否存在优先级与最小优先级相同的网桥ID;若是,转 入步骤S24 ;若否,则确定该具有最小优先级的网桥为根桥;
[0026] 步骤S24、SDN控制器比较具有最小优先级的网桥ID的MAC地址,找出MAC地址最 小的网桥ID;
[0027] 步骤S25、确定该MAC地址最小的网桥为根桥。
[0028] 进一步地,根据上述的在SDN框架下基于STP消除冗余链路的方法,其中:所述网 桥的优先级为可配置的;在网桥的优先级缺省情况下,根桥为MAC地址最小的网桥。
[0029] 根据上述的在SDN框架下基于STP消除冗余链路的方法,其中:所述步骤S3中,所 述端口角色包括根端口、指定端口和可选端口;
[0030] 确定端口角色的规则如下:
[0031] 若一个端口到达根桥的路径是该端口所在网桥到达根桥的最佳路径,则该端口为 根端口;
[0032] 每一个网段选择到根桥最近的网桥作为指定网桥,该指定网桥到这一网段的端口 为指定端口;
[0033] 既不是指定端口,也不是根端口的端口为可选端口。
[0034] 根据上述的在SDN框架下基于STP消除冗余链路的方法,其中:所述步骤S4中,所 述SDN控制器确定根端口和指定端口的端口状态为转发,可选端口的端口状态为丢弃。
[0035] 根据上述的在SDN框架下基于STP消除冗余链路的方法,其中:所述步骤S5包括 以下步骤:
[0036] 步骤S51、SDN控制器判断端口状态是否为转发;若是,转入步骤S52 ;若否,转入步 骤S53 ;
[0037] 步骤S52、设置流表的Match字段为入端口,转发报文;
[0038] 步骤S53、设置流表的Match字段为入端口,丢弃报文。
[0039] 如上所述,本发明的在SDN框架下基于STP消除冗余链路的方法,具有以下有益效 果:
[0040] (1)该算法集中在SDN控制器上完成的,SDN控制器掌握了全网的网络拓扑结构和 链路状态信息,在无需交互BPDU的情况下,可以对生成树进行统一计算,从而解决了STP协 议收敛比较慢的问题;
[0041] (2)重新定义了链路速率的标准,可支持lOOGbps,适用于更多的链路类型,更易 于大型网络的部署;
[0042] (3)利用LLDP(LinkLayerDiscoveryProtocol,链路层发现协议)协议可以动 态检测网络拓扑的变化,减少了网络的维护成本;
[0043] (4)在SDN框架下,对传统的STP进行了改进,网络边缘的端口直接与终端相连,不 是和其它网桥相连的端口可以直接进入转发状态,不需要任何延时;
[0044] (5)优化了STP的端口状态,支持Discarding(丢弃)和Forwarding,减少了一个 端口从Blocking状态迀移到Forwarding状态的时间。
【附图说明】
[0045] 图1显示为本发明的在SDN框架下基于STP消除冗余链路的方法的流程图;
[0046] 图2显示为本发明的SDN控制器的链路发现过程示
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1