一种设置sdn流表项的方法和装置的制造方法

文档序号:9380176阅读:552来源:国知局
一种设置sdn流表项的方法和装置的制造方法
【专利说明】_种设置SDN流表项的方法和装置
【背景技术】
[0001] SDN(Software Defined Network,软件定义网络)网络是一种新型的网络架构,其 通过将传统的交换机、路由器等网络设备的控制平面与数据平面分离开来,从而实现了网 络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。其中,OpenFlow协议是 众多用于实现SDN技术的一种开放式协议。随着网络技术的进步,SDN技术得以不断发展, 但仍存在很多需要进一步优化之处。

【发明内容】

[0002] 本发明提供一种设置SDN流表项的方法和装置,通过本发明,可以有效缓解交换 机上重复设置SDN流表项的问题。
[0003] 本发明公开的技术方案是这样的:
[0004] -种设置SDN流表项的方法,应用于SDN交换机上,所述方法包括:
[0005] 接收主机发送的报文并在本地查找与该报文的地址信息匹配的流表项;
[0006] 在确定所述报文匹配的流表项为缺省流表项时,根据缺省流表项将所述报文发送 至SDN控制器,
[0007] 根据所述报文的源地址、目的地址和入端口在本地设置第一流表项,其中该第一 流表项的优先级高于缺省流表项,且该第一流表项的动作为非转发动作。
[0008] 进一步地,所述方法还包括:
[0009] 保存来自所述控制器下发的所述报文的第二流表项,其中该第二流表项的优先级 高于所述第一流表项;
[0010] 在确定收到的第二流表项的地址信息与所述第一流表项的地址信息匹配时,删除 与该第二流表项匹配的第一流表项。
[0011] 进一步地,所述非转发动作为将主机发送的报文丢弃或者将所述报文缓存到与第 一流表项对应的缓存队列中。
[0012] 进一步地,当所述非转发动作为将主机发送的报文缓存到与第一流表项对应的缓 存队列中时,该方法还包括:
[0013] 为生成的第一流表项分配对应的缓存队列;
[0014] 将该报文缓存到与第一流表项对应的缓存队列中。
[0015] 进一步地,所述方法还包括:
[0016] 在确定收到的第二流表项的地址信息与所述第一流表项的地址信息匹配时,先根 据该第二流表项对与第一流表项匹配的已缓存的报文进行处理,然后删除该第一流表项。
[0017] 进一步地,所述方法还包括:
[0018] 设置第一流表项时,为该第一流表项设定第一预定老化时长;在第一预定老化时 长到达时删除所述第一流表项。
[0019] 进一步地,所述方法还包括:
[0020] 为所述第二流表项设置第二预定老化时长,其中第一预定老化时长小于第二流表 项的第二预定老化时长。
[0021] 本发明同时公开了一种设置SDN流表项的装置,该装置应用于SDN交换机上,包 括:
[0022] 收发单元,用于接收主机发送的报文并在本地查找与该报文的地址信息匹配的流 表项;
[0023] 匹配单元,用于在确定报文匹配的流表项为缺省流表项时,根据缺省流表项将所 述报文发送至SDN控制器,
[0024] 设置单元,用于根据所述报文的源地址、目的地址和入端口在本地设置第一流表 项,其中该第一流表项的优先级高于缺省流表项,且该第一流表项的动作为非转发动作。
[0025] 进一步地,所述设置单元还用于,
[0026] 保存来自所述控制器下发的主机发送的报文的第二流表项,其中该第二流表项的 优先级高于所述第一流表项;
[0027] 在确定收到的第二流表项的地址信息与所述第一流表项的地址信息匹配时,删除 与该第二流表项匹配的第一流表项。
[0028] 进一步地,所述非转发动作为将主机发送的报文丢弃或者将主机发送的报文缓存 到与第一流表项对应的缓存队列中。
[0029] 进一步地,当所述非转发动作为缓存到与第一流表项对应的缓存队列中时,该装 置还包括缓存单元,用于:
[0030] 为生成的第一流表项分配对应的缓存队列;
[0031] 将该报文缓存到与第一流表项对应的缓存队列中。
[0032] 进一步地,所述设置单元还用于,
[0033] 在确定收到的第二流表项的地址信息与所述第一流表项的地址信息匹配时,先根 据该第二流表项对与第一流表项匹配的已缓存主机发送的报文进行处理,然后删除该第一 流表项。
[0034] 进一步地,所述装置还包括定时单元,用于:
[0035] 在设置第一流表项时,为该第一流表项设定第一预定老化时长;在第一预定老化 时长到达时删除所述第一流表项。
[0036] 进一步地,所述定时单元还用于,
[0037] 为所述第二流表项设置第二预定老化时长,其中,
[0038] 第一预定老化时长小于第二流表项的第二预定老化时长。
[0039] 与现有持术相比较,本发明可以有效缓解交换机上重复设置SDN流表项的问题。
【附图说明】
[0040] 图1示出了本发明包括交换机以及控制器的SDN网络的结构示意图;
[0041 ] 图2示出了本发明设置SDN流表项的流程示意图;
[0042] 图3示出了本发明在SDN网络中实现报文转发过程的示意图;
[0043] 图4不出了本发明运行设置SDN流表项装置的交换机设备硬件架构图;
[0044] 图5示出了本发明设置SDN流表项装置的功能模块图。
【具体实施方式】
[0045] 图1示出了 SDN网络的结构示意图。该SDN网络包括SDN控制器11 (以下简称 "控制器")以及位于SDN网络中提供报文转发服务的SDN交换机12,13,14 (以下简称"交 换机")。其中所述交换机12包括处理器121、存储器122、转发芯片123以及内部总线124。 所述交换机13以及交换机14可以采用同样的硬件结构。在另外一个例子中,交换机是通 过虚拟化的方式实现的虚拟交换机。控制器11是整个SDN网络的控制中心,通过下发各 种流表项,控制交换机如何转发外部进入的各种数据报文。值得注意的是,交换机并不是狭 义的交换机概念,其可以是各种能够基于SDN协议工作的网络设备,比如路由器,防火墙等 等,只不过这些设备的名称在各种流行的SDN协议(比如Openflow协议)中被统一命名为 交换机,因此本公开提到的交换机是一个广义网络设备的概念。
[0046] 请参考图2,在一个例子中,本公开提供一种SDN流表项的设置方法,该方法可以 有效缓解重复设置SDN流表项,该方法应用在交换机上,包括如下步骤:
[0047] 步骤201,接收报文并在本地查找与该报文的地址信息匹配的流表项;
[0048] 步骤202,在确定报文匹配的流表项为缺省流表项时,根据缺省流表项将所述报文 发送至SDN控制器;
[0049] 步骤203,根据所述报文的源地址、目的地址和报文的入端口信息在本地设置第一 流表项,其中该第一流表项的优先级高于缺省流表项,且该第一流表项的动作为丢弃。
[0050] 例如,在一个例子中,交换机12加入到SDN网络之后,其会按照一些预定的机制来 发现控制器11,并与控制器11建立连接。在交换机12连接至控制器11之后,控制器11可 以与交换机12进行基本交互,在交换机12本地设置的缺省流表项,譬如Openflow协议中 的Miss Rule表项。在交换机投入运行之后,此时交换机12的转发芯片123 (在其他例子 中,也可以是一个软件实现的报文转发模块)内部只有Miss Rule这样的缺省流表项,因此 对于第一个数据报文的转发来说,转发芯片123查找流表项时会匹配到Miss Rule表项,由 于Miss Rule表项的动作是默认的上送控制器,因此将
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1