软件定义网络中的带宽保障方法及装置的制造方法

文档序号:9263400阅读:961来源:国知局
软件定义网络中的带宽保障方法及装置的制造方法
【技术领域】
[0001] 本发明涉及软件定义网络(SDN,Software Defined Network)技术领域,尤其涉及 SDN中的带宽保障方法及装置。
【背景技术】
[0002] SDN与传统网络的最大区别,是将控制平面和网络转发平面分离开来,网络转发平 面将不再拥有控制功能,将控制平面交给独立于转发平面之外的操作系统,特性则基于操 作系统进行定制。
[0003] OpenFlow(开放流)是SDN架构中定义的一个控制器与转发层之间的通信接口标 准。OpenFlow允许直接访问和操作网络设备的转发平面,这些网络设备可能是物理上的,也 可能是虚拟的。OpenFlow协议一直在持续发展。
[0004] OpenFlow的思想是分离控制平面和数据平面,二者之间使用标准的协议通信;数 据平面采用基于流的方式进行转发。
[0005] 如图1所不,OpenFlow网络由通过OpenFlowChannel(通道)连接的OpenFlow Switch(交换机)和OpenFlowController(控制器)组成。
[0006] OpenFlow控制器是控制中心,根据用户的配置或者动态运行的协议生成流表发送 到OpenFlow交换机。控制器上可能运行实验程序,或者第三方开发的软件等等。OpenFlow 交换机接收OpenFlow控制器设置的流表,并根据流表进行报文处理,向OpenFlow控制器上 报本交换机的状态和事件如接口Up/Down。在OpenFlow交换机和控制器之间通过OpenFlow 通道(基于TCP或者SSL)进行通信。
[0007] 由于OpenFlow可以基于流对网络进行编程,因此基于OpenFlow的SDN架构能够 提供相当精细力度的控制,实现网络在应用、用户和会话级别上变更的实时响应。而当前基 于IP的路由方式是不能提供这种级别上的控制的。
[0008] OpenFlow转发流程如下:报文在进入OpenFlow交换机后从序号最小的流表开 始查表,可以进行多个流表的查询,一旦在某个流表匹配到后,会更新此报文的动作集 (ActionSet),动作集即动作的集合,初始为空,对报文的操作都放在这个集合里。完成最 后一个流表的处理后,动作集内的所有动作会被执行,此时报文的内容会被修改,然后从指 定出接口转发出去。
[0009] OpenFlow通过用户定义的流表来匹配和处理报文。所有流表项都被组织在不同的 FlowTable中,在同一个FlowTable中按流表项的优先级进行先后匹配。一个OpenFlow 交换机可以包含一个或者多个FlowTable。
[0010]Controller下发流表时,协议报文结构如图2所示,其中,:
[0011] MatchFields:匹配字段,用于匹配报文;
[0012] Priority:优先级,匹配流表项时优先级高的先匹配;
[0013] Counters:计数器,匹配报文时更新;
[0014] Instructions:指令,更改动作集或管道处理;
[0015] Timeouts:超时时间,流表项在该交换机中保存的最大时间或闲置时间;
[0016]Cookie:控制器使用的一个标识,可能用于控制器过滤报文统计、流变更、流删除 等。
[0017] 协议里定义了多种匹配规则,包括目的MAC(MediaAccessControl,媒体接入控 制)地址,源MAC地址,目的IP(InternetProtocol,因特网协议)地址,源IP地址等。平 台都支持这些匹配规则,产品根据自身能力进行定制。报文匹配时分为精确匹配和非精确 匹配。
[0018] 在OpenFlow网络中,目前流量转发使用的是Amy-〇SPF(OpenShortestPath First,开放式最短路径优先)路由协议,有流量进入OpenFlow网络中后,首个数据包上报控 制器,然后控制器计算路径后下发设备,指导设备的转发。
[0019]目前的实现方法有不合理的地方。首先,Amy-〇SPF路由协议计算好流量的路径之 后,下发到设备后指导转发,并不会继续跟踪这些流量的大小,一旦流量出现了突然增大超 出了带宽的范围,会导致一些流量丢失,另外在数据中心中,主要的服务器的流量会在流量 突增的情况下不能对特殊的用户提供带宽保证,会导致出现大量的丢包重连的现象,会使 整个网络加倍恶化,大大影响用户的网络体验。

【发明内容】

[0020] 本发明提供SDN中的带宽保障方法及装置,以对SDN中的重要用户提供带宽保障。
[0021] 本发明的技术方案是这样实现的:
[0022] -种软件定义网络SDN中的带宽保障方法,该方法包括:
[0023] SDN中的控制器获取SDN的网络拓扑结构;
[0024] 所述控制器根据所述网络拓扑结构,获取SDN中直连两两转发设备之间的链路带 宽;
[0025] 所述控制器根据获取的直连两两转发设备之间的链路带宽,为用户设备预留链路 带宽。
[0026] 所述SDN中的控制器获取SDN的网络拓扑结构包括:
[0027] 控制器根据转发设备发来的封装有本地用户设备发出的报文的Packet-in消息, 得知转发设备与本地用户设备之间的网络拓扑结构;
[0028] 控制器从自身的所有SDN协议端口向外发出Packet-out消息,该消息中携带的数 据为预设报文,动作为:向所有端口广播;当控制器从自身的任一SDN协议端口接收到任一 转发设备发来的Packet-in消息时,从该消息中解析出预设报文,从该预设报文的源MAC地 址得知该预设报文的发送转发设备的MAC地址,从该消息的源MAC地址得知Packet-in消 息的发送转发设备的MAC地址,同时,从该消息中解析出该预设报文在Packet-in消息的发 送转发设备上的入端口,从而得到:预设报文的发送转发设备到Packet-in消息的发送转 发设备上的入端口,
[0029] 其中,任一转发设备接收到所述Packet-out消息,从该消息中解析出预设报文, 根据该消息中的动作:向所有端口广播,将该预设报文从自身的所有端口广播出去,任一转 发设备从自身的任一端口接收到预设报文,构造所述Packet-in消息,消息中封装了该预 设报文,同时携带该预设报文在本转发设备上的入端口信息,消息的源MAC地址为本转发 设备的MAC地址,目的MAC地址为控制器的MAC地址,将该Packet-in消息从自身的SDN协 议端口发送出去。
[0030]所述SDN中的控制器获取SDN的网络拓扑结构包括:
[0031] 控制器根据转发设备发来的封装有本地用户设备发出的报文的Packet-in消息, 得知转发设备与本地用户设备之间的网络拓扑结构;
[0032] 控制器从自身的任一SDN协议端口接收到任一转发设备发来的Packet-in消息, 从该消息中解析出预设报文,从该预设报文的源MAC地址得知该预设报文的发送转发设备 的MAC地址,从该消息的源MAC地址得知Packet-in消息的发送转发设备的MAC地址,同时, 从该消息中解析出该预设报文在Packet-in消息的发送转发设备上的入端口,从而得到: 预设报文的发送转发设备到Packet-in消息的发送转发设备上的入端口,
[0033] 其中,任一转发设备向自身的所有端口广播预设报文,任一转发设备从自身的任 一端口接收到预设报文,构造所述Packet-in消息,消息中封装了该预设报文,同时携带该 预设报文在本转发设备上的入端口信息,消息的源MAC地址为本转发设备的MAC地址,目的 MAC地址为控制器的MAC地址,将该Packet-in消息从自身的SDN协议端口发送出去。 [0034] 所述控制器根据所述网络拓扑结构,获取直连两两转发设备之间的链路带宽包 括:
[0035]所述控制器向SDN中的每个转发设备获取其每个端口的带宽,根据所述网络拓扑 结构,得知直连两两转发设备之间的连接端口,对于任意两个相互连接的端口,若该两端口 所在转发设备上报的针对该两端口的带宽一致,则直接将该带宽作为该两转发设备之间的 链路带宽;否则,将带宽较小者作为该两转发设备之间的链路带宽。
[0036] 所述控制器根据获取的直连两两转发设备之间的链路带宽,为用户设备预留链路 带宽包括:
[0037] 控制器确认需要为第一用户设备预留第一数值的到第二用户设备的带宽,则根据 获取的SDN的网络拓扑结构,计算第一用户设备到第二用户设备的所有路径,在计算出的 路径中选择一条或多条路径,在所选择的路径上为第一用户设备预留出第一数值的带宽, 且对于所选择的路径,向路径上的各转发设备下发从第一用户设备到第二用户设备的流表 项、以及从第二用户设备到第一用户设备的流表项。
[0038] 所述在计算出的路径中选择一条或多条路径为:
[0039] 在计算出的路径中,按照路径开销的从小到大,从开销最小的路径或者开销次小 的短路径开始,选择能够满足第一数值的带宽的路径。
[0040] 所述方法进一步包括:
[0041] 当控制器接收到任一转发设备发来的携带动态主机配置协议DHCP请求报
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1