基于sdn的链路聚合方法

文档序号:9202588阅读:1902来源:国知局
基于sdn的链路聚合方法
【技术领域】
[0001] 本发明设及网络通信的技术领域,特别是设及一种基于SDN(SoftwareDefined Network,软件定义网络)的链路聚合方法。
【背景技术】
[0002] 随着W太网技术在城域网和广域网领域的广泛应用,运营商对采用W太网技术的 骨干链路带宽和可靠性提出越来越高的要求。在现有技术中,常用的增加带宽的方式是通 过更换高速率的接口板或更换支持高速率接口板的设备来实现的。但是,该种方案需要付 出高额的费用,而且不够灵活。采用链路聚合技术可W在不进行硬件升级的条件下,通过将 多个物理接口捆绑为一个逻辑接口来实现增大链路带宽的目的。在实现增大带宽目的的同 时,链路聚合采用备份链路的机制,可W有效的提高设备之间链路的可靠性。
[0003] 具体地,现有技术中的链路聚合算法包括W下两种:
[0004] (1)手工负载分担模式链路聚合
[0005] 手工负载分担模式是一种最基本的链路聚合方式。在该模式下,Eth-Trunk接口 的建立、成员接口的加入完全由手工来配置,没有链路聚合控制协议的参与。该模式下所有 成员接口都参与数据的转发,分担负载流量,因此称为手工负载分担模式。
[0006] (2) LACP协议链路聚合
[0007] 该模式下,Eth-Trunk接口的建立、成员接口的加入W及活动接口的选择完全由 LACP协议通过协商完成。该就意味着启用了动态LACP协议的两台直连设备上,不需要创 建化h-Trunk接口,也不需要指定哪些接口作为聚合组成员接口,两台设备会通过LACP协 商自动完成链路的聚合操作。
[000引如图1所示,现有技术中的静态Trunk技术和LACP技术,虽然可W达到将多个物 理接口捆绑为一个逻辑接口实现增大链路带宽的目的。但是,多个物理端口必须属于同一 个交换机,因此无法实现网络资源的最大利用化。

【发明内容】

[0009] 鉴于W上所述现有技术的缺点,本发明的目的在于提供一种基于SDN的链路聚合 方法,基于SDN架构,通过SDN控制器根据LLDP协议获得全网络拓扑结构,并在SDN控制器 发现某报文通过SDN网络有多条属性一致的链路时,智能地基于某种策略选择最优链路进 行转发,从而动态地实现负载分担;还能够在此链路出现故障时重新动态选择链路进行转 发。
[0010] 为实现上述目的及其他相关目的,本发明提供一种基于SDN的链路聚合方法,包 括W下步骤:步骤S1、SDN控制器根据LLDP协议感知整个SDN网络的网络拓扑结构;步骤 S2、SDN控制器接收SDN交换机上报来的链路状态信息;步骤S3、SDN控制器根据链路状态 信息和网络拓扑结构,计算汇聚组和成员端口;步骤S4、SDN控制器计算负载均衡并下发流 表;步骤S5、SDN控制器转发首报文,W便SDN交换机根据流表内容线速转发数据。
[0011] 根据上述的基于SDN的链路聚合方法,其中:所述步骤S2中,所述链路状态信息包 含系统MAC地址、端口数、端口号、端口速率、双工模块、端口STP状态W及端口状态。
[0012] 根据上述的基于SDN的链路聚合方法,其中:所述步骤S2包括W下步骤:
[001引SDN交换机与SDN控制器建立控制通道,并上报当前的链路状态信息;
[0014] 在一定的时间间隔,SDN交换机检测链路状态;
[0015] 若检测到链路发生变化,则上报变更后的链路状态信息;
[0016] 若没有检测到链路发生变化,则不执行任何操作。
[0017] 根据上述的基于SDN的链路聚合方法,其中:所述步骤S3包括W下步骤:
[0018] a)SDN控制器根据链路状态信息和网络拓扑结构,选择主设备并创建汇聚组;
[0019] b)SDN控制器选择候选端口;
[0020] C)若候选端口的数量小于等于上限,则候选端口变为被选端口;
[0021] d)若候选端口的数量大于上限,则候选端口变为备选端口。
[002引进一步地,根据上述的基于SDN的链路聚合方法,其中:所述步骤a)中,SDN控制 器选择主设备包括W下步骤:
[0023] SDN控制器比较SDN交换机的LACP协议优先级;
[0024] 若LACP协议的优先级不同,则选择优先级较小的SDN交换机为主设备;
[002引若LACP协议的优先级相同,则再比较系统MAC地址,选择MAC地址较小的SDN交 换机为主设备。
[0026] 进一步地,根据上述的基于SDN的链路聚合方法,其中:所述步骤b)又包括W下步 骤:
[0027] SDN控制器比较端口的LACP协议优先级;
[002引若端口的LACP协议优先级不同,则选择优先级较小的端口为候选端口;
[0029] 若端口的LACP协议优先级相同,则比较端口号的大小;若端口号不同,则选择端 口号较小的端口为候选端口;若端口号相同,则选择主设备上的端口为候选端口。
[0030] 根据上述的基于SDN的链路聚合方法,其中:所述步骤S4包括W下步骤:
[003USDN控制器接收SDN交换机发送来的首报文;
[0032] SDN控制器根据负载均衡的配置策略,选择合适的转发端口;
[0033] SDN控制器下发流表到报文转发路径上的所有SDN交换机。
[0034] 根据上述的基于SDN的链路聚合方法,其中:还包括步骤S6、在链路出现故障时重 新动态选择链路进行转发。
[0035] 进一步地,根据上述的基于SDN的链路聚合方法,其中:所述步骤S6包括W下步 骤:
[0036] SDN控制器SDN交换机发送来的汇聚组的被选端口变关闭的消息,判断此端口是 否为被选端口;
[0037] 若不是被选端口,则SDN控制器不执行任何操作;
[003引若是被选端口,SDN控制器将该端口变为未被选端口,移除相关流表项,重新计算 被选端口;再根据接收的首报文,重新计算负载均衡,下发流表并转发首报文,进行基于新 端口的转发。
[0039] 根据上述的基于SDN的链路聚合方法,其中:所述SDN交换机通过私有扩展 Experimenter报文向SDN控制器上报链路状态信息。
[0040] 如上所述,本发明的基于SDN的链路聚合方法,具有W下有益效果:
[0041] (1)能够通过SDN控制器根据LLDP协议获得全网络拓扑结构;
[0042] (2)能够在SDN控制器发现某报文通过SDN网络有多条属性(如相同链路速率) 一致的链路时,智能地基于某种策略(如目的MAC、目的IP等)选择最优链路进行转发,从 而动态地实现负载分担.
[0043] (3)能够在链路出现故障时重新动态选择链路进行转发。
【附图说明】
[0044] 图1显示为现有技术中实现链路聚合的结构示意图;
[0045] 图2显示为本发明的实现基于SDN的链路聚合算法的结构示意图;
[0046] 图3显示为本发明的基于SDN的链路聚合方法的流程图;
[0047] 图4显示为本发明的SDN交换机上报链路状态信息的流程图;
[0048] 图5显示为本发明的私有的OLT到SDN控制器的私有扩展Experimenter报文的 格式不意图;
[0049] 图6显示为本发明的SDN控制器计算汇聚组和成员端口的流程图;
[0化日]图7显示为本发明中SDN控制器选择主设备的流程图;
[0051] 图8显示为本发明中SDN控制器选择候选端口的流程图;
[0化2] 图9显示为本发明中SDN控制器进行负载分担的流程图;
[0化3] 图10显示为本发明中链路聚合变化时的处理流程图;
[0化4]图11显示为本发明的基于SDN的链路聚合方法的模拟测试环境示意图。
【具体实施方式】
[0055] W下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书 所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可W通过另外不同的具体实 施方式加W实施或应用,本说明书中的各项细节也可W基于不同观点与应用,在没有背离 本发明的精神下进行各种修饰或改变。
[0化6] 需要说明的是,本实施例中所提供的图示仅W示意方式说明本发明的基本构想, 遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘 审IJ,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可 能更为复杂。
[0化7]本发明的基于SDN的链路聚合方法中,SDN控制器根据LLDP协议获得整个SDN网 络的网络络拓扑结构,并在SDN控制器发现某报文通过SDN网络有多条属性一致的链路时, 智能地基于某种策略选择最优链路进行转发,从而动态地实现负载分担;还能够在此链路 出现故障时重新动态选择链路进行转发。
[0化引参照图2和图3,本发明的基于SDN的链路聚合方法包括W下步骤:
[0化9] 步骤S1、SDN控制器根据LLDP协议感知整个SDN网络的网络拓扑结构。
[0060] 步骤S2、SDN控制器接收SDN交换机上报来的链路状态信息。
[006U 其中,链路状态信息包含系统MAC地址、端口数、端口号、端口速率、双工模块、端 口STP状态W及端口状态。下面具体解释一下各个信息。
[006引(1)系统MAC地址
[0063] 其中,系统MAC地址越小,其优先级越高。
[0064] 似端口数,用于表示端口的数量。
[0065] 做端口号
[0066] 其中,端口号越小,其优先级越高。
[0067] (4)端 口速率
[0068] 具体地,端口速率包括10M、100M和1000MS种。
[0069] 妨双工模式
[0070] 具体地,双工模块包括全双工模式和半双工模式两种。
[0071] (6)端口STP(SpanningTreeProtocol,生成树协议)状态
[007引具体地,端口STP状态包括阻塞03locking)、监听(listening)、学习(learning)、转发(forwarding)和关闭(dis油le)该五种。
[0073] (7)端 口状态
[0074] 具体地,端口状态包括打开扣P)/关闭值own)该两种。
[0075]SDN交换机在两种情况下需要向SDN控制器上报链路状态信息。一种情况是SDN 交换机和SDN控制器刚刚建立控制通道,SDN交换机需要立即上报当前链路状态信息;第二 种情况是链路发生变化的时候,SDN交换机需立即上报变更后的链路状态信息。若没有检 测到链路发生变化,SDN交换机则不执行任何操作。
[0076] 如图4所示,SDN交换机上报链路状态信息包括W下步骤:
[0077] 41)SDN交换机与SDN控制器建立控制通道,并上报当前的链路状态信
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1