软件定义网络协议报文的传输控制方法及装置的制造方法

文档序号:9380320阅读:375来源:国知局
软件定义网络协议报文的传输控制方法及装置的制造方法
【技术领域】
[0001] 本发明涉及软件定义网络(SDN, Software Defined Network)技术领域,尤其涉及 SDN协议报文的传输控制方法及装置。
【背景技术】
[0002] SDN与传统网络的最大区别,是将控制平面和网络转发平面分离开来,网络转发平 面将不再拥有控制功能,将控制平面交给独立于转发平面之外的操作系统,特性则基于操 作系统进行定制。
[0003] OpenFlow(开放流)是SDN架构中定义的一个控制器与转发层之间的通信接口标 准。OpenFlow允许直接访问和操作网络设备的转发平面,这些网络设备可能是物理上的,也 可能是虚拟的。OpenFlow协议一直在持续发展。
[0004] OpenFlow的思想是分离控制平面和数据平面,二者之间使用标准的协议通信;数 据平面采用基于流的方式进行转发。
[0005] 如图1所不,OpenFlow网络由通过OpenFlow Channel (通道)连接的OpenFlow Switch (交换机)和 OpenFlow ControlIer (控制器)组成。
[0006] OpenFlow控制器是控制中心,根据用户的配置或者动态运行的协议生成流表发送 到OpenFlow交换机。控制器上可能运行实验程序,或者第三方开发的软件等等。OpenFlow 交换机接收OpenFlow控制器设置的流表,并根据流表进行报文处理,向OpenFlow控制器上 报本交换机的状态和事件如接口 Up/Down。在OpenFlow交换机和控制器之间通过OpenFlow 通道(基于TCP或者SSL)进行通信。
[0007] OpenFlow转发流程如下:报文在进入OpenFlow交换机后从序号最小的流表开 始查表,可以进行多个流表的查询,一旦在某个流表匹配到后,会执行这条流表的动作集 (Action Set),动作集即动作的集合,初始为空,对报文的操作都放在这个集合里。完成最 后一个流表的处理后,动作集内的所有动作会被执行,此时报文的内容会被修改,然后从指 定出接口转发出去。
[0008] OpenFlow通过用户定义的流表来匹配和处理报文。所有流表项都被组织在不同的 Flow Table中,在同一个Flow Table中按流表项的优先级进行先后匹配。一个OpenFlow 交换机可以包含一个或者多个Flow Table。
[0009] Controller下发流表时,协议报文结构如图2所示,其中,:
[0010] Match Fields :匹配字段,用于匹配报文;
[0011] Priority :优先级,匹配流表项时优先级高的先匹配;
[0012] Counters :计数器,匹配报文时更新;
[0013] Instructions :指令,更改动作集或管道处理;
[0014] Timeouts :超时时间,流表项在该交换机中保存的最大时间或闲置时间;
[0015] Cookie:控制器使用的一个标识,可能用于控制器过滤报文统计、流变更、流删除 等。
[0016] 协议里定义了多种匹配规则,包括目的MAC地址,源MAC地址,目的IP地址,源IP 地址等。平台都支持这些匹配规则,产品根据自身能力进行定制。报文匹配时分为精确匹 配和非精确匹配。
[0017] 在OpenFlow网络中,由于网络结构的特殊性所有交换机在自身流表中匹配不到 的报文都要上送控制器来处理。

【发明内容】

[0018] 本发明提供SDN协议报文的传输控制方法及装置,以有效控制发送给SDN控制器 的SDN协议报文。
[0019] 本发明的技术方案是这样实现的:
[0020] -种软件定义网络SDN协议报文的传输控制方法,该方法包括:
[0021] SDN中的控制器获取SDN中与外部网络或者主机连接的各转发设备的信息;
[0022] 对于与外部网络或主机连接的各转发设备,控制器根据每台转发设备的信息为每 台转发设备分别计算向控制器发送SDN协议报文的最大发送速率,并将各最大发送速率 分别发送给对应的转发设备,以便:各转发设备根据所述最大发送速率控制向控制器发送 SDN协议报文。
[0023] 所述SDN中的控制器获取SDN中与外部网络或者主机连接的各转发设备的信息包 括:
[0024] SDN中的控制器获取SDN中与外部网络或者主机连接的各转发设备的设备型号, 或/和连接的设备类型,或/和SDN协议端口带宽;
[0025] 所述控制器根据每台转发设备的信息为每台转发设备分别计算向控制器发送SDN 协议报文的最大发送速率包括:
[0026] 控制器针对每台转发设备的设备型号,或/和连接的设备类型,或/和SDN协议端 口带宽,为该转发设备分配报文最大发送速率计算因子,根据各转发设备的计算因子以及 本控制器的处理能力,计算各转发设备向控制器发送SDN协议报文的最大发送速率。
[0027] 所述控制器将各最大发送速率分别发送给对应的转发设备之后进一步包括:
[0028] 控制器监测自身的报文处理状态,若发现自身的报文处理指标超过预设的报文处 理指标告警值,则开始按策略丢弃转发设备发来的SDN协议报文。
[0029] 所述报文处理指标为:CPU占用率,或/和SDN协议报文是否溢出。
[0030] 所述开始按策略丢弃转发设备发来的SDN协议报文包括:
[0031] 控制器计算每台转发设备的SDN协议报文发送比率=SDN协议报文的实时发送速 率/转发设备的SDN协议端口带宽,按照SDN协议报文发送比率的从高到低,依次选择需要 丢弃报文的转发设备,直至本控制器的报文处理指标达到预设报文处理指标正常值。
[0032] 所述SDN中的控制器获取SDN中与外部网络或者主机连接的各转发设备的信息包 括:
[0033] SDN中的控制器根据自身配置的网络部署信息,得知与外部网络相连的转发设备 信息,根据转发设备发来的封装有主机发出的报文的Packet-in消息,得知连接了主机的 转发设备信息。
[0034] 所述SDN中的控制器获取SDN中与外部网络或者主机连接的各转发设备的信息包 括:
[0035] SDN中的控制器根据转发设备发来的封装有主机发出的报文的Packet-in消息, 得知连接了主机的转发设备信息,获取转发设备之间的网络拓扑结构,并结合各转发设备 上报的本转发设备的所有端口信息,得知连接了外部网络的转发设备信息。
[0036] 所述控制器获取转发设备之间的网络拓扑结构包括:
[0037] 控制器从自身的所有SDN协议端口向外发出Packet-out消息,该消息中携带的数 据为预设报文,动作为:在虚拟局域网VLAN内广播;
[0038] 控制器从自身的任一 SDN协议端口接收到任一转发设备发来的Packet-in消息, 从该消息中解析出预设报文,从该预设报文的源MC地址得知该预设报文的发送转发设备 的MAC地址,从该消息的源MAC地址得知Packet-in消息的发送转发设备的MAC地址,同时, 从该消息中解析出该预设报文在Packet-in消息的发送转发设备上的入端口,从而得到: 预设报文的发送转发设备到Packet-in消息的发送转发设备上的入端口;
[0039] 其中,任一转发设备接收到所述Packet-out消息,从该消息中解析出预设报文, 根据该消息中的动作:在VLAN内广播,将该报文从自身的所有端口广播出去;任一转发设 备从自身的任一端口接收到预设报文,构造所述Packet-in消息,消息中封装了该预设报 文,同时携带该预设报文在本转发设备上的入端口,消息的源MC地址为本转发设备的MC 地址,目的MAC地址为控制器的MAC地址,将该Packet-in消息从自身的SDN协议端口发送 出去。
[0040] 所述控制器获取转发设备之间的网络拓扑结构包括::
[0041] 控制器从自身的任一 SDN协议端口接收到任一转发设备发来的Packet-in消息, 从该消息中解析出预设报文,从该预设报文的源MC地址得知该预设报文的发送转发设备 的MAC地址,从该消息的源MAC地址得知Packet-in消息的发送转发设备的MAC地址,同时, 从该消息中解析出该预设报文在Packet-in消息的发送转发设备上的入端口,从而得到: 预设报文的发送转发设备到Packet-in消息的发送转发设备上的入端口;
[0042] 其中,任一转发设备从自身的所有端口广播预设报文,当从自身的任一端口接收 到预设报文,构造所述Packet-in消
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1