流表项处理方法以及装置的制造方法

文档序号:8265991阅读:380来源:国知局
流表项处理方法以及装置的制造方法
【技术领域】
[0001] 本发明涉及通信技术领域,尤其涉及一种流表项处理方法以及装置。
【背景技术】
[0002] SDN(Software Defined Network,软件定义网络)是一种新型的网络架构,其可以 将网络设备的控制面与数据面进行分离,由控制器(Controller)实现控制面功能,以及由 若干交换设备(Switch)实现数据面功能,每个交换设备下可以连接若干个虚拟机。
[0003] SDN技术中最为流行的是OpenFlow (开放流)协议,OpenFlow协议允许控制器直 接访问和操作交换设备的转发平面,这些交换设备可能是物理上实际存在的交换设备,也 可能是OVS (Open Virtual Switch,开放虚拟交换设备)。
[0004] 现有技术中,SDN网络中支持运行多个0VS,每个OVS独立工作。然而,若由于外界 原因造成某个OVS故障,将直接导致该OVS上运行的虚拟机停止工作,进而影响虚拟机上的 业务运行。

【发明内容】

[0005] 针对现有技术的缺陷,本发明提供了一种流表项处理方法以及装置。
[0006] 本发明提供了一种流表项处理方法,应用于SDN网络中的本地交换设备,其中该 方法包括:
[0007] 与所述SDN网络中各交换设备进行堆叠,同步所述SDN网络中各交换设备的流表 项,并确定所述SDN网络中交换设备的网络拓扑;
[0008] 确定邻居交换设备故障,且接收到控制设备发送的所述邻居交换设备运行的虚拟 机的配置信息时,使用所述配置信息在本地交换设备上启动所述虚拟机;
[0009] 修改本地交换设备上同步的所述邻居交换设备的流表项,修改后的所述邻居交换 设备的流表项用于指示本地交换设备转发所述虚拟机在所述邻居交换设备故障之前与当 前堆叠中的交换设备下挂的虚拟机交互的流量;
[0010] 通知所述控制设备所述虚拟机在所述本地交换设备上已启动,以使所述控制设备 指示除本地交换设备以外的各交换设备修改与所述虚拟机相关的流表项。
[0011] 本发明还提供一种流表项处理装置,应用于SDN网络中的本地交换设备,包括:
[0012] 同步单元,用于与所述SDN网络中各交换设备进行堆叠,同步所述SDN网络中各交 换设备的流表项,并确定所述SDN网络中交换设备的网络拓扑;
[0013] 获取单元,用于确定邻居交换设备故障时,从控制设备获取所述邻居交换设备运 行的虚拟机的配置信息,使用所述配置信息在本地交换设备上启动所述虚拟机;
[0014] 修改单元,用于修改本地交换设备上同步的所述邻居交换设备的流表项,修改后 的所述邻居交换设备的流表项用于指示本地交换设备转发所述虚拟机在所述邻居交换设 备故障之前与当前堆叠中的交换设备下挂的虚拟机交互的流量;
[0015] 通知单元,用于通知所述控制设备所述虚拟机在所述本地交换设备上已启动,以 使所述控制设备指示除本地交换设备以外的各交换设备修改与所述虚拟机相关的流表项
[0016] 本发明提供的流表项处理方法以及装置,通过将SDN网络中各交换设备进行堆叠 并进行流表项同步,以在确定邻居交换设备故障时,在本地交换设备上启动邻居交换设备 上运行的虚拟机,并修改本地同步的流表项中该邻居交换设备的流表项,从而在任一交换 设备出现故障时,可由其邻居交换设备快速接替故障交换设备每个虚拟机的业务,保证这 些虚拟机在堆叠中的业务不中断。
【附图说明】
[0017] 图1是本发明实施例中的组网环境示意图;
[0018] 图2是本发明实施例中一种流表项处理方法流程示意图;
[0019] 图3是本发明实施例中交换设备故障的组网环境示意图;
[0020] 图4是本发明实施例中流表项处理装置的逻辑结构示意图;
[0021] 图5是本发明实施例中流表项处理装置所在本地交换设备的硬件架构示意图。
【具体实施方式】
[0022] 为使本申请的目的,技术方案及优点更加清楚明白,以下参照附图对本申请方案 做进一步的详细说明。
[0023] 为了解决现有技术中存在的问题,本发明提供了一种流表项处理方法以及装置。
[0024] 本发明实施例所应用的一种网络环境如图1所示,在SDN网络中,包括控制设备、 交换设备以及接入交换设备的多个虚拟机(VM,Virtual Machine)。该交换设备可以是实 际存在的硬件交换设备也可以是〇VS(Open Virtual Switch,虚拟交换设备)。图1示出的 交换设备以及虚拟机分别为OVS (包括OVS1、OVS2、OVS3和0VS4)以及VM (包括VM1、VM2、 VM3、和VM4),其中,OVS2为本地交换设备,OVSl以及OVS3分别为OVS2的邻居交换设备,每 个OVS上又包括至少一个堆叠端口(Port),如OVSl上包括Portl和Port2,其中Portl为 VMl的端口(即交换设备与VM相连的端口),Port2为堆叠端口(即交换设备与交换设备 相连的端口)。
[0025] 请参考图2,为本发明提供的流表项处理方法的处理流程示意图,该流表项处理方 法可应用于交换设备0VS,本发明以应用于本地交换设备0VS2为例进行说明,该流表项处 理方法包括以下步骤:
[0026] 步骤201,与所述SDN网络中各交换设备进行堆叠,同步所述SDN网络中各交换设 备的流表项,并确定所述SDN网络中交换设备的网络拓扑;
[0027] SDN网络中,在本地交换设备启动时,该启动的交换设备可以接收控制设备发送的 Request (请求)消息,该消息为控制设备获取该交换设备的设备信息的请求,本地交换设 备0VS2可通过配置文件获取自身的设备信息,该设备信息可以包括设备运行模式(独立 模式以及堆叠模式)、设备优先级、设备编号、设备的DPID (Data Path Identity,数据路径 标识)、端口连接关系与链路状态、设备启动时间以及堆叠端口(为建立堆叠系统提供的端 口)等。并由本地交换设备0VS2将自身的设备信息生成REPLY(回应)消息,通过与控制 设备建立的连接上送至控制设备保存。
[0028] 之后,本地交换设备0VS2将该设备信息作为拓扑信息发送至邻居交换设备,并由 邻居交换设备转发至其他交换设备。同时本地交换设备0VS2也可以收集SDN网络中其他 交换设备的拓扑信息,并根据收集到的拓扑信息创建本地的拓扑信息表项,后续接收到的 拓扑信息均可保存在该拓扑信息表项中,各交换设备即可以通过各自保存的拓扑信息表项 确定出SDN网络中交换设备的网络拓扑。如表1所示,该拓扑信息表项可以为:
[0029]
【主权项】
1. 一种流表项处理方法,应用于软件定义网络SDN网络中的本地交换设备,其特征在 于,包括: 与所述SDN网络中各交换设备进行堆叠,同步所述SDN网络中各交换设备的流表项,并 确定所述SDN网络中交换设备的网络拓扑; 确定邻居交换设备故障,且接收到控制设备发送的所述邻居交换设备运行的虚拟机的 配置信息时,使用所述配置信息在本地交换设备上启动所述虚拟机; 修改本地交换设备上同步的所述邻居交换设备的流表项,修改后的所述邻居交换设备 的流表项用于指示本地交换设备转发所述虚拟机在所述邻居交换设备故障之前与当前堆 叠中的交换设备下挂的虚拟机交互的流量; 通知所述控制设备所述虚拟机在所述本地交换设备上已启动,以使所述控制设备指示 除本地交换设备以外的各交换设备修改与所述虚拟机相关的流表项。
2. 根据权利要求1所述的方法,其特征在于,修改本地交换设备上同步的所述邻居交 换设备的流表项具体包括: 若根据所述SDN网络中交换设备的网络拓扑确定仅有所述邻居交换设备从所述堆叠 中分裂,则将本地交换设备上同步的所述邻居交换设备的流表项中的邻居交换设备数据路 径标识DPID修改为本地交换设备的DPID,并当所述邻居交换设备的流表项中的目的地址 和源地址均不为本地交换设备在邻居交换设备故障之前启动的虚拟机地址时,将该流表项 中的邻居交换设备的堆叠端口修改为本地交换设备除与所述邻居交换设备相连的堆叠端 口之外的另一堆叠端口,当所述邻居交换设备的流表项中的目的地址或源地址为本地交换 设备在邻居交换设备故障之前启动的虚拟机地址时,将该流表项中的邻居交换设备的堆叠 端口修改为该流表项中目的地址或源地址对应的虚拟机的接口; 若根据所述SDN网络中交换设备的网络拓扑确定除所述邻居交换设备从所述堆叠中 分裂外,还有其它交换设备从所述堆叠中分裂,则将本地交换设备上同步的所述邻居交换 设备的流表项中与所述其它交换设备相关的流表项删除,将所述邻居交换设备的流表项中 剩余的流表项中的邻居交换设备的DPID修改为本地交换设备的DPID,并当所述剩余的流 表项中的目的地址和源地址均不为本地交换设备在邻居交换设备故障之前启动的虚拟机 地址时,将该流表项中的邻居交换设备的堆叠端口修改为本地交换设备除与所述邻居交换 设备相连的堆叠端口之外的另一堆叠端口,当所述剩余的流表项中的目的地址或源地址为 本地交换设备在邻居交换设备故障之前启动的虚拟机地址时,将该流表项中的邻居交换设 备的堆叠端口修改为该流表项中目的地址或源地址对应的虚拟机的接口。
3. 如权利要求1所述的方法,其特征在于,所述与所述SDN网络中各交换设备进行堆 叠,同步所述SDN网络中各交换设备的流表项,并确定所述SDN网络中交换设备的网络
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1