软件定义网络中避免网络拥塞的方法和控制器的制造方法

文档序号:8301550阅读:252来源:国知局
软件定义网络中避免网络拥塞的方法和控制器的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,特别是涉及一种软件定义网络中避免网络拥塞的方法和控制器。
【背景技术】
[0002]软件定义网络(SoftwareDefined Network, SDN)通常由 SDN 交换设备(Switch)和SDN控制器(Controller)组成。SDN是一种新型网络架构,其核心思想是分离网络设备的控制层面与转发层面,其中,SDN控制器是控制中心,根据用户的配置或者动态运行的协议生成流表发送到SDN交换设备。SDN交换设备接收SDN控制器下发的流表,并根据流表进行报文处理,向SDN控制器上报设备的状态和事件,如接口 UP/D0WN。
[0003]图1为典型的SDN网络结构图,如图1所示,SDN网络中设有SDN控制器、SDN交换设备I (Switch I)、SDN交换设备2 (Switch 2)、SDN交换设备3 (Switch 3)、SDN交换设备4 (Switch 4)和SDN交换设备5 (Switch 5)。用户I和用户3之间的报文根据SDN控制器下发的流表通过Switch USwitch 3、Switch 5进行传输,用户2和用户3之间的报文根据SDN控制器下发的流表通过Switch 2、Switch 3、Switch 5进行传输,Switch 3同时承担了用户I与用户3之间、以及用户2与用户3之间的报文转发,当用户I与用户3之间的报文、以及用户2与用户3之间的报文增加,两者总和超过了 Switch 3上的出端口 P35的总带宽时,Switch 3就会发生流量拥塞,进而导致网络拥塞,出现丢包现象。

【发明内容】

[0004]有鉴于此,本发明提出了一种SDN网络中避免网络拥塞的方法和控制器,有效解决了现有技术中SDN网络中SDN交换设备某一出端口负责转发的流量所需带宽之和超出该出端口的总带宽时造成的网络拥塞问题。
[0005]本发明提出的技术方案是:
[0006]一种SDN网络中避免网络拥塞的方法,该方法包括:
[0007]SDN控制器接收SDN交换设备发送来的端口拥塞通知报文,该端口拥塞通知报文携带该SDN交换设备上拥塞端口的端口信息;
[0008]确定拥塞端口上需要切换的流量为切换流量;
[0009]根据网络拓扑确定转发切换流量的上游SDN交换设备;
[0010]确定上游SDN交换设备上的更新出端口,该更新出端口为能够将切换流量转发至目的端的链路上的端口;
[0011]为上游SDN交换设备创建与切换流量匹配的更新流表,该更新流表中的出端口为更新出?而口 ;
[0012]发送更新流表给上游SDN交换设备,使上游SDN交换设备更新自身流表后,将切换流量从更新出端口转发。
[0013]—种SDN控制器,该控制器包括:
[0014]接收模块,用于接收SDN交换设备发送来的端口拥塞通知报文,该端口拥塞通知报文携带该SDN交换设备上拥塞端口的端口信息;
[0015]处理模块,用于确定拥塞端口上需要切换的流量为切换流量;根据网络拓扑确定转发切换流量的上游SDN交换设备;确定上游SDN交换设备上的更新出端口,该更新出端口为能够将切换流量转发至目的端的链路上的端口;
[0016]流表创建模块,用于为上游SDN交换设备创建与切换流量匹配的更新流表,该更新流表中的出端口为更新出端口;
[0017]发送模块,用于发送更新流表给上游SDN交换设备,使上游SDN交换设备更新自身流表后,将切换流量从更新出端口转发。
[0018]综上,本发明提出了一种SDN网络中避免网络拥塞的方法,当SDN控制器接收到SDN交换设备发送来的携带拥塞端口的端口信息的端口拥塞通知报文后,将通过该拥塞端口转发的所有流量中的至少一条流量确定为切换流量,然后确定转发切换流量的上游SDN交换设备以及上游SDN交换设备上的更新出端口,为上游SDN交换设备创建并下发与切换流量匹配的更新流表,使上游SDN交换设备更新自身流表后,将切换流量从更新出端口转发,从而减轻拥塞端口的流量负载,有效避免了网络拥塞带来的丢包现象。
【附图说明】
[0019]图1为现有技术中SDN网络流量的转发示意图;
[0020]图2为本发明实施例的流程图;
[0021]图3为方法实施例的OpenFlow组网结构图;
[0022]图4为方法实施例的流程图;
[0023]图5为本发明实施例的SDN控制器结构图。
【具体实施方式】
[0024]现有技术SDN网络中流量转发时,当SDN控制器接收到SDN交换设备的流表下发请求报文,根据待转发数据报文的报文信息下发一条流表给SDN交换设备,使得SDN交换设备根据该条流表进行待转发数据报文的转发,这一过程中,SDN控制器为待转发数据报文创建并下发流表时,并未考虑转发路径上的SDN交换设备出端口的负载情况,这就有可能出现SDN交换设备的某个出端口同时负载多条流量的转发,并且这多条流量的带宽总和超出了该出端口的总带宽,造成该出端口网络拥塞,出现丢包现象。
[0025]为解决这一技术问题,本发明提出一种SDN网络中避免网络拥塞的方法,本发明实施例的技术方案是:
[0026]如图2所示,本发明一种SDN网络中避免网络拥塞的方法应用于SDN控制器上,SDN控制器执行以下步骤:
[0027]步骤201:SDN控制器接收SDN交换设备发送来的端口拥塞通知报文,该端口拥塞通知报文携带SDN交换设备上拥塞端口的端口信息。
[0028]本步骤中,当SDN交换设备监测到自身某个出端口转发的流量所需带宽之和大于该出端口的总带宽后,确定该出端口为拥塞端口,则发送携带该拥塞端口的端口信息的端口拥塞通知报文给SDN控制器,通知SDN控制器该拥塞端口出现网络拥塞现象。
[0029]更进一步地,如果同时有多个SDN交换设备发送网络拥塞通知报文给SDN控制器,可以为每个端口拥塞通知报文设置优先级,该优先级可以是SDN交换设备的优先级,那么SDN控制器就会根据端口拥塞通知报文的优先级由高到低依次处理这些端口拥塞通知报文。
[0030]优选地,端口拥塞通知报文可以是封装在Pack-1n报文中的扩展的链路层发现协议(Link Layer Discovery Protocol,LLDP)报文,在 LLDP 报文的 TLV(Type、Length、Value,类型、长度、值)字段携带拥塞端口的端口信息。
[0031]步骤202:SDN控制器确定拥塞端口上需要切换的流量为切换流量。
[0032]更进一步地,发生端口拥塞的SDN交换设备发送给SDN控制器的端口拥塞通知报文还携带通过拥塞端口转发的每条流量所需的带宽,然后SDN控制器将通过拥塞端口转发的所有流量中的至少一条流量确定为切换流量;其中,切换流量的确定需满足如下条件:端口拥塞通知报文携带的通过该拥塞端口转发的每条流量所需的带宽之和减去切换流量所需的带宽后,不大于该拥塞端口的总带宽。具体地,可以将通过拥塞端口转发的流量中所需带宽最多的至少一条流量确定为切换流量。
[0033]步骤203:SDN控制器根据网络拓扑确定转发切换流量的上游SDN交换设备。
[0034]本步骤中,SDN控制器根据网络拓扑确定转发切换流量的上游SDN交换设备,该上游SDN交换设备为切换流量当前在SDN网络中的链路上的与拥塞端口所在的SDN交换设备相邻的上游SDN交换设备。
[0035]步骤204:SDN控制器确定上游SDN交换设备上的更新出端口,该更新出端口为异于切换流量在上游SDN交换设备上的原出端口、并且能够将切换流量转发至目的端的链路上的端口。
[0036]本步骤中,SDN控制器确定上游SDN交换设备上的更新出端口的具体方法为:
[0037]SDN控制器发送端口流量查询报文给上游SDN交换设备;
[0038]接收上游SDN交换设备根据端口流量查询报文发送的端口流量应答报文,该端口流量应答报文携带上游SDN交换设备上各个端口的端口信息,以及通过每个端口转发的各条流量所需的带宽;
[0039]SDN控制器从上游SDN交换设备上能够将切换流量转发至目的端的链路上的端口中选择一个满足以下条件的端口确定为更新出端口:更新出端口异于切换流量在上游SDN交换设备上的原出端口,并且更新出端口转发的各条流量所需带宽之和叠加切换流量所需的带宽后,不大于更新出端口的总带宽。
[0040]具体地,可以优先判断针对于当前转发切换流量的链路是否存在等价链路,如果存在等价链路,且等价链路的端口满足上述条件,则将当前转发切换流量的链路的等价链路确定为更新出端口 ;如果不存在等价链路,但存在次优链路且次优链路的端口满足上述条件,则将当前转发切换流量的链路的次优链路的端口确定为更新出端口。
[0041]更进一步地,如果上游SDN交换设备上不存在满足上述条件的更新出端口,则返回步骤202,SDN控制器重新选择切换流量。
[0042]步骤205:SDN控制器为上游SDN交换设备创建与切换流量匹配的更新流表,该更新流表中的出端口为更新出端口。
[0043]根据确定出的切换流量和更新出端口,SDN控制器创建更新流表。
[0044]更进一步地,SDN控制器还可以为该更新流表设置老化时间,当到达老化时间后,SDN控制器发送携带拥塞端口的
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1