《交换机和流表控制方法.pdf》由会员分享,可在线阅读,更多相关《交换机和流表控制方法.pdf(23页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102859952 A (43)申请公布日 2013.01.02 CN 102859952 A *CN102859952A* (21)申请号 201180019954.1 (22)申请日 2011.04.12 2010-095760 2010.04.19 JP H04L 12/801(2013.01) (71)申请人 日本电气株式会社 地址 日本东京都 (72)发明人 末光真理子 高岛正德 藤田谦 (74)专利代理机构 中科专利商标代理有限责任 公司 11021 代理人 潘剑颖 (54) 发明名称 交换机和流表控制方法 (57) 摘要 在开放流系统中, 可以确认是已经。
2、成功还是 已经失败在流表上注册流。具体地, 控制器向交 换机发送开放流消息并且从交换机接收开放流消 息。交换机具有 : 管理控制器注册的流的流表 ; 读取相应数据的流表读取部分 ; 执行流条目的添 加、 删除和修改处理的流表控制部分 ; 以及根据 来自流表控制部分的查询, 确定目标流条目是有 效还是无效的平台功能管理部分。流表包含常规 流表和保留流表。在常规流表上注册符合交换机 的配置数据的有效流条目。在保留流表上注册不 符合交换机的配置数据的无效流条目。 (30)优先权数据 (85)PCT申请进入国家阶段日 2012.10.19 (86)PCT申请的申请数据 PCT/JP2011/05908。
3、6 2011.04.12 (87)PCT申请的公布数据 WO2011/132568 JA 2011.10.27 (51)Int.Cl. 权利要求书 2 页 说明书 12 页 附图 8 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 12 页 附图 8 页 1/2 页 2 1. 一种交换机, 包括 : 确认控制器通知的流是否符合预先确定的功能, 并确定所述流是有效还是无效的装 置 ; 在常规流表上注册有效流的装置 ; 在保留流表上注册无效流的装置 ; 以及 将从网络接收的分组当作流, 并且当所述流已经注册在常规流表上时对所述分组执行 所述流特有的处理的。
4、装置。 2. 根据权利要求 1 所述的交换机, 还包括 : 响应于来自控制器的流注册成功或失败的查询, 从常规流表和保留流表之一读取流的 装置 ; 并且 向控制器回复所述流注册在常规流表和保留流表中的哪一个上的装置。 3. 根据权利要求 1 或 2 所述的交换机, 还包括 : 检测对所述预先确定的功能的修改的装置 ; 基于对所述预先确定的功能的修改, 确定在常规流表和保留流表上注册的每个流是否 符合所述预先确定的功能, 并确定每个流是有效流还是无效流的装置 ; 在常规流表上注册有效流的装置 ; 当有效流已经注册在保留流表上时, 从保留流表中删除所述有效流的装置 ; 在保留流表上注册无效流的装置。
5、 ; 以及 当无效流已经注册在常规流表上时, 从常规流表中删除所述无效流的装置。 4. 根据权利要求 1 至 3 中任意一项所述的交换机, 还包括 : 当故障发生时, 将已经注册在保留流表上的流设置为有效的装置。 5. 一种交换机的流表控制方法, 包括 : 确认控制器通知的流是否符合预先确定的功能, 以确定所通知的流是有效流还是无效 流 ; 在常规流表上注册有效流 ; 在保留流表上注册无效流 ; 以及 将从网络接收到的分组当作流, 并且当所述流已经注册在常规流表上时, 对所述分组 执行所述流特有的处理。 6. 根据权利要求 5 所述的流表控制方法, 还包括 : 响应于来自控制器的流注册成功或失。
6、败的查询, 从常规流表和保留流表之一读取流 ; 以及 向控制器回复所述流已经注册在常规流表和保留流表中的哪一个上。 7. 根据权利要求 5 或 6 所述的流表控制方法, 还包括 : 检测对所述预先确定的功能的修改 ; 基于对所述预先确定的功能的修改, 确认常规流表和保留流表上注册的每个流是否符 合所述预先确定的功能, 并且确定每个流是有效流还是无效流 ; 在常规流表上注册有效流 ; 当有效流已经注册在保留流表上时, 从保留流表中删除所述有效流 ; 在保留流表上注册无效流 ; 以及 权 利 要 求 书 CN 102859952 A 2 2/2 页 3 当无效流已经注册在常规流表上时, 从常规流表。
7、中删除所述无效流。 8. 一种存储流表控制程序的存储介质, 所述流表控制程序使交换机执行根据权利要求 5-7 之一所述的流表控制方法。 权 利 要 求 书 CN 102859952 A 3 1/12 页 4 交换机和流表控制方法 技术领域 0001 本发明涉及交换机, 并且更特别地, 涉及开放流系统中的交换机。 背景技术 0002 在传统网络系统中, 单个交换机执行路由控制和分组转发。 0003 近年来, 因为网络的虚拟化, 提出了开放流 (Openflow) 系统, 其中交换机的路由 控制和分组转发相互分离, 并且路由控制集中在交换机之外的控制器中 ( 非专利文献 1)。 0004 在开放流。
8、系统中, 控制器监控网络中的交换机并且根据通信情况动态地设置到网 络中交换机的分组传输路由。控制器通过使用开放流协议 (Openflow Protocol) 消息在交 换机上注册流以产生流表。 0005 流定义了要对分组进行的预先确定的处理 ( 行为 ), 该处理遵照预先确定的规则 ( 规则 )。通过在携带分组的帧的头部区域中包含的目的地地址、 源地址、 目的地端口、 源端 口中的任意一个或所有的各种组合定义了流的规则, 并能够识别该规则。应该注意的是假 定在上述地址中包含了 MAC 地址 ( 媒体接入控制地址 ) 和 IP 地址 ( 因特网协议地址 )。此 外, 除上面以外的输入端口 ( 入。
9、端口 ) 的数据可用作流的规则。 0006 流表存储了每个交换机的流的数据 ( 流条目 )。 0007 在开放流系统中, 交换机根据已产生的流表实施分组转发。在响应于开放流协议 消息表, 注册从流的控制器接收的流之前, 交换机需要确认该流是否符合该交换机的平台 功能。 交换机确定符合规则的流是有效流, 不符合规则的流是无效流, 并在流表上注册有效 流。 0008 开放流系统的控制器和交换机常常分别被称为开放流控制器 (Openflow controller) 和开放流交换机 (Openflow switch)。 0009 在开放流协议中, 为产生流表使用了流修改 (Flow Mod) 消息, 。
10、但是没有定义指示 流条目的产生是否成功的响应消息。 因此, 为了控制器确认是否已经注册流条目, 必需比较 在注册中需要的流数据和在统计请求 (Statistics Request) 消息中获取的流数据。 0010 此外, 当在现有网络中引入开放流系统时, 有可能发生与现有功能的不匹配。 0011 此外, 在开放流协议中, 在执行从控制器到交换机的流设置的流修改消息 (Flow Mod)中没有定义用以向控制器通知结果的响应消息。 因此, 为了控制器知道设置结果, 必需 通过使用统计请求消息 (Statistics Request) 进行确认。 0012 通常, 在开放流系统中, 交换机中的流表只。
11、会保留有效流的条目, 而不会保留无效 流的条目。 0013 因此, 存在如下问题 : 控制器无法确定是否能够实际注册将在交换机的流表上注 册的流、 是否因为是无效流而不能够注册该流或是否是因为其他原因导致注册失败。 0014 应该注意的是专利文献 1(JP 2004-056340A) 公开了具有流表的层 3 交换机。 0015 此外, 专利文献 2(JP 2006-254134A) 公开了 : 当存在符合搜索条件的流条目时输 出流标识数据, 当不存在符合搜索条件的流条目时在流表中添加流条目 / 从流表中删除流 说 明 书 CN 102859952 A 4 2/12 页 5 条目。 0016 此。
12、外, 专利文献 3(JP 2008-167340A) 公开了一种技术 : 给分组延时单元提供流 表, 其中将分组描述为流标识的对象。 0017 此外, 专利文献4(JP 2009-049592A)公开了一种技术 : 每次接收IP分组时将搜索 关键字与流表中注册的每个流条目进行比较, 并且更新统计数据 ( 例如, 匹配次数和相匹 配的流条目的总分组长度 )。 0018 引用列表 0019 专利文献 1JP 2004-056340A 0020 专利文献 2JP 2006-254134A 0021 专利文献 3JP 2008-167340A 0022 专利文献 4JP 2009-049592A 00。
13、23 非专利文献 1 0024 Openflow switch Specification Version 0.9.0(Wire Protocol0x98), 2009 年 7 月 20 日 Current Maintainer : Brandon Heller(brandonhstanford.edu) 在线 (http:/www.openflowthe switch.org/documents/openflow-spec-v0.9.0.pdf) 发明内容 0025 本发明的目的是提供一种开放流系统, 该系统保留不符合预先确定功能的流条 目, 作为无效条目。 0026 提供了本发明的一种交换。
14、机, 其中在该交换机的流表上注册流条目, 流条目定义 有用来像流一样统一控制分组的规则和处理 ( 动作 ), 该交换机具有以下装置 : 确认控制器 通知的流是否符合预先确定的功能, 并且确定该流是有效还是无效的装置 ; 在常规流表上 注册有效流的装置 ; 在保留流表上注册无效流的装置 ; 将从网络接收到的分组当作流, 并 且当该流注册在常规流表上时, 对该分组执行该流特有的处理。 0027 一种交换机的流表控制方法, 包括 : 确认控制器通知的流是否符合预先确定的功 能, 以确定该流是有效流还是无效流 ; 在常规流表上注册有效流 ; 在保留流表上注册无效 流 ; 以及将从网络接收到的分组当作流。
15、, 并且当该流已经注册在常规流表上时, 对该分组执 行该流特有的处理。 0028 本发明的流表控制程序是用于使交换机执行以下处理的程序 : 确认控制器通知的 流是否符合预先确定的功能, 以确定该流是有效的还是无效的 ; 在常规流表上注册有效流 ; 在保留流表上注册无效流 ; 以及将从网络接收到的分组当作流, 并且当该流已经注册在常 规流表上时, 对该分组执行该流特有的处理。应注意的是本发明的流表控制程序可以存储 在存储单元和存储介质中。 0029 按照这种方式, 控制器能够确定流是否能够注册在交换机的流表上。 附图说明 0030 图 1 是示出了本发明的开放流系统的配置示例的框图 ; 0031。
16、 图 2 是示出了当在流表上设置流条目时的处理的流程图 ; 0032 图 3 是示出了当控制器通知的流符合交换机配置数据并且注册在常规流表上时 说 明 书 CN 102859952 A 5 3/12 页 6 的处理的时序图 ; 0033 图 4 是示出了当控制器通知的流不符合交换机配置数据并且注册在保留流表上 时的处理的时序图 ; 0034 图 5 是示出了当从流表读取流条目时的处理的流程图 ; 0035 图 6 是示出了当从常规流表读取流条目时的处理的时序图, 该流条目对应于向控 制器请求的流。 0036 图 7 是示出了当从保留流表读取流条目时的处理的时序图, 该流条目对应于向控 制器请求。
17、的流。 0037 图 8 是示出了当重新确认示出在流条目中的流有效还是无效时的处理的流程图。 具体实施方式 0038 在下文中, 将描述根据本发明的实施有保留流表的开放流系统。 0039 第一示例性实施例 0040 在下文中, 将参考附图描述本发明的第一示例性实施例。 在当前示例性实施例中, 将描述本发明的开放流系统的基本配置和操作。 0041 ( 系统配置 ) 0042 如图 1 所示, 本发明的开放流系统具有控制器 10 和交换机 20。 0043 控制器 10 与交换机 20 一起形成一个开放流系统, 并且发送和接收开放流协议消 息。 0044 交换机 20 具有消息处理部分 21、 流。
18、表控制部分 22、 平台功能管理部分 23、 配置数 据 24、 流表 25 和流表读取部分 26。 0045 消息处理部分 21 从控制器 10 接收开放流协议消息, 分析该消息, 通过交换机 20 的一个合适的内部模块处理该消息, 响应于该内部模块的请求而组装开放流协议消息并向 控制器 10 发送该消息。 0046 流修改(Flow Mod)消息和统计请求消息作为开放流协议消息存在。 流修改(Flow Mod) 消息是用来在交换机 20 的流表 25 中设置流条目 ( 添加、 修改和删除 ) 或用来产生流 表 25 的消息。统计请求消息是用来请求交换机 20 的流条目、 端口和流表 25 。
19、的统计数据的 消息。 0047 流表控制部分 22 向平台功能管理部分 23 查询从消息处理部分 21 接收的流的确 认, 并且基于查询结果对流表 25 执行流条目的添加、 删除和修改。 0048 平台功能管理部分 23 响应于流表控制部分 22 的查询, 确定作为对象的流是有效 的还是无效的。这里, 平台功能管理部分 23 在从流表控制部分 22 接收到流的查询时, 查阅 交换机 20 的配置数据 24, 以确认网络 (NW) 设置。即, 平台功能管理部分 23 确认作为对象 的流的规则和动作是否符合交换机 20 的配置数据 24。 0049 提前设置配置数据 24 并在交换机 20 中维护。
20、或保存它。作为配置数据 24 的示例, 有交换机 20 所属的网络 (NW) 中节点配置的数据、 交换机 20 具有的功能的数据等等的例 子。 0050 流表 25 有常规流表 251 和保留流表 252。 0051 常规流表 251 是用于注册符合交换机 20 的配置数据 24 的有效流的流表。 说 明 书 CN 102859952 A 6 4/12 页 7 0052 保留流表 252 是用于注册不符合交换机 20 的配置数据 24 的无效流的流表。 0053 流表读取部分26基于从消息处理部分21接收的流的头部数据, 产生搜索关键字, 并基于搜索关键字搜索流表 25 中的一个流条目, 并读。
21、取已搜索到的流条目。 0054 在本示例中, 消息处理部分21从网络接收分组, 向流表读取部分26通知基于该分 组的流, 如果在常规流表 251 中存在对应于该流的流条目, 则根据流条目转发该流。此外, 如果在常规流表 251 中不存在任何对应于该流的流条目, 消息处理部分 21 向控制器 10 通 知该流。 0055 此时, 期望消息处理部分 21 与网络进行通信的通信线路和消息处理部分 21 与控 制器 10 进行通信的通信线路是不同的通信线路。然而, 实际上, 有可能使用相同通信线路。 0056 ( 硬件示例 ) 0057 作为控制器10的示例, 有计算机(例如PC(个人计算机)、 设备。
22、(设备)、 工作站、 主框架和超级计算机的例子。此外, 控制器 10 可以在物理机器上搭建的虚拟机 (VM) 环境 下。 0058 作为交换机 20 的示例, 有网络交换机的例子。网络交换机可以是 L3 交换机 ( 层 3 交换机 )、 L4 交换机 ( 层 4 交换机 )、 L7 交换机 / 应用交换机 ( 层 7 交换机 ) 或多层交换 机等等。此外, 作为交换机 20 的示例, 有路由器、 代理、 网关、 防火墙、 负载平衡器、 频带控制 单元、 安全监控和控制单元、 基站、 接入点、 带有多个通信端口的计算机等等的列子。 0059 通过硬件资源(例如程序驱动的处理器)、 软件资源(例如。
23、驱动硬件资源执行期望 处理的程序 ) 和存储软件资源和各种数据的存储器, 实现消息处理部分 21、 流表控制部分 22、 流表读取部分 26 和平台功能管理部分 23。假定在以上提及的存储器中存储流表 25 和 配置数据 24。 0060 作为以上提及的硬件资源的示例, 有 CPU( 中央处理单元 )、 微处理器 ( 微处理 器 )、 微控制器、 具有专用功能的半导体集成电路 (IC) 等等的示例。 0061 作为以上提及的存储器的示例, 有 RAM( 随机接入存储器 )、 ROM( 只读存储器 )、 半 导体存储设备 ( 例如 EEPROM( 电可擦写可编程只读存储器 ) 和闪存 )、 次级。
24、存储器 ( 例如 HDD( 硬盘驱动器 ) 和 SSD( 固态驱动器 ) 或可移动磁盘、 DVD( 数字化通用磁盘 ) 和 SD( 安 全数字 ) 存储卡的存储媒介 ( 媒介 ) 等等的示例。同样, 上面提及的存储器可以是使用 DAS( 直接附加存储 )、 FC-SAN( 光纤信道储域网络 )、 NAS( 网络附加存储 )、 IP-SAN(IP 储域 网络 ) 等等的存储单元。 0062 同样, 可以统一以上提及的硬件资源和以上提及的存储器。例如, 近些年来, 开发 了 1- 芯片设备 ( 例如微计算机 )。因此, 有安装在交换机 20 上的 1- 芯片微计算机具有处 理器和存储单元的情况。 。
25、0063 然而, 实际上, 本发明不限于这些示例。 0064 ( 流表的设置处理 ) 0065 将参考图 2 描述当在流表 25 上设置流条目时的处理。 0066 (1) 步骤 S101 0067 消息处理部分 21 从控制器 10 接收作为开放流协议消息的流修改 (Flow Mod) 消 息。此时, 消息处理部分 21 可以确定从控制器 10 接收的开放流协议消息的类型。 0068 (2) 步骤 S102 说 明 书 CN 102859952 A 7 5/12 页 8 0069 响应于流修改 (Flow Mod) 消息, 消息处理部分 21 向流表控制部分 22 请求流修改 (Flow Mo。
26、d)消息中指定的处理。 这里, 流修改(Flow Mod)消息中指定的处理是流条目的添 加、 删除和修改中的任意一个。 0070 (3) 步骤 S103 0071 流表控制部分 22 向平台功能管理部分 23 请求流修改 (Flow Mod) 消息中示出的 流的网络 (NW) 设置的确认。此时, 流表控制部分 22 可以启动平台功能管理部分 23。 0072 (4) 步骤 S104 0073 平台功能管理部分23查阅交换机20的配置数据24以确认网络(NW)设置, 确定流 是有效的还是无效的, 并向流表控制部分 22 返回网络 (NW) 设置的确认结果 ( 确定结果 )。 0074 (5) 步。
27、骤 S105 0075 当作为网络(NW)设置的确认结果, 确定流是有效的时, 流表控制部分22对常规流 表 251 执行流修改 (Flow Mod) 消息中指定的处理 ( 即流条目的添加、 删除和修改中的任意 一个 )。 0076 (6) 步骤 S106 0077 当作为网络(NW)设置的确认结果, 确定流是无效的时, 流表控制部分22对保留流 表 252 执行流修改 (Flow Mod) 消息中指定的处理 ( 流条目的添加、 删除和修改中的任意一 个 )。 0078 应该注意的是, 当基于从消息处理部分 21 接收的流执行流条目的删除时, 流表控 制部分 22 可以不向平台功能管理部分 2。
28、3 请求网络 (NW) 设置的确认, 而顺序地或同时地命 令常规流表 251 和保留流表 252 删除流条目。这是因为在常规流表 251 和保留流表 252 之 一中注册流条目之后改变或修改网络(NW)设置, 因此存在以下可能性 : 网络(NW)设置的确 认结果 ( 确定结果 ) 在流条目的注册时间和删除时间之间是不同的。( 常规流表的注册 ) 0079 将参照图 3 描述当控制器 10 通知的流符合交换机 20 的配置数据 24 并且注册在 常规流表上时的处理。 0080 (1) 步骤 S111 0081 首先, 控制器 10 向消息处理部分 21 发送流修改 (Flow Mod) 消息以命。
29、令流注册。 0082 (2) 步骤 S112 0083 响应于流修改(Flow Mod)消息, 消息处理部分21向流表控制部分22请求流注册。 0084 (3) 步骤 S113 0085 流表控制部分 22 向平台功能管理部分 23 请求流修改 (Flow Mod) 消息中示出的 流的网络 (NW) 设置的确认。 0086 (4) 步骤 S114 0087 平台功能管理部分 23 查阅交换机 20 的配置数据 24 以确认网络 (NW) 设置, 并向 流表控制部分 22 返回网络 (NW) 设置的确认结果。这里, 假定网络 (NW) 设置确认结果表明 该流是有效的。 0088 (5) 步骤 S。
30、115 0089 当流是有效的时, 流表控制部分 22 在常规流表 251 上注册该流的流条目。 0090 ( 保留流表的注册 ) 0091 将参照图 4 描述控制器 10 通知的流不符合交换机 20 的配置数据 24 并且注册在 说 明 书 CN 102859952 A 8 6/12 页 9 保留流表上的处理。 0092 (1) 步骤 S121 0093 首先, 控制器 10 向消息处理部分 21 发送流修改 (Flow Mod) 消息以命令流注册。 0094 (2) 步骤 S122 0095 响应于流修改(Flow Mod)消息, 消息处理部分21向流表控制部分22请求流注册。 0096 。
31、(3) 步骤 S123 0097 流表控制部分 22 向平台功能管理部分 23 请求流修改 (Flow Mod) 消息中示出的 流的网络 (NW) 设置的确认。 0098 (4) 步骤 S124 0099 平台功能管理部分 23 查阅交换机 20 的配置数据 24 以确认网络 (NW) 设置, 并向 流表控制部分 22 返回网络 (NW) 设置的确认结果。这里, 假定网络 (NW) 设置的确认结果表 明该流是无效的。 0100 (5) 步骤 S125 0101 当流是无效的时, 流表控制部分 22 在保留流表 251 上注册该流的流条目。 0102 ( 流表的读取处理 ) 0103 将参考图 。
32、5 描述当从流表 25 中读取流条目时的处理。 0104 (1) 步骤 S201 0105 消息处理部分 21 从控制器 10 接收作为一个开放流协议消息的统计请求 (Statistics Request) 消息。此时, 消息处理部分 21 可以确定从控制器 10 接收的开放流 协议消息的类型。 0106 (2) 步骤 S202 0107 消息处理部分 21 向流表读取部分 26 请求统计请求消息中示出的流的流情况读 取。这里, 消息处理部分 21 向流表读取部分 26 通知该流。此时, 消息处理部分 21 可以启 动流表读取部分 26。 0108 (3) 步骤 S203 0109 响应于流情。
33、况读取请求, 流表读取部分 26 确认流情况。这里, 流表读取部分 26 基 于流的头部区域的数据, 产生搜索关键字, 并基于此搜索关键字搜索常规流表 251 以确认 常规流表 251 中的对应流条目是存在或不存在。 0110 (4) 步骤 S204 0111 如果在常规流表 251 中存在对应流条目, 流表读取部分 26 基于流情况确认结果, 确认在常规流表 251 中存在对应流条目。 0112 (5) 步骤 S205 0113 如果在常规流表251中不存在对应流条目, 则流表读取部分26基于流情况确认结 果, 确认在常规流表 251 中不存在任何对应流条目。 0114 (6) 步骤 S20。
34、6 0115 当在常规流表251中不存在任何对应流条目时, 流表读取部分26基于该流的头部 区域的数据产生搜索关键字, 并基于此搜索关键字搜索保留流表 252, 以确认保留流表 252 中的对应流条目是存在或不存在。 0116 (7) 步骤 S207 说 明 书 CN 102859952 A 9 7/12 页 10 0117 如果在保留流表 252 中存在对应流条目, 则流表读取部分 26 基于流情况确认结 果, 确认在保留流表 252 中存在对应流条目。 0118 (8) 步骤 S208 0119 如果在保留流表252中不存在对应流条目, 则流表读取部分26基于流情况确认结 果, 确认在保留。
35、流表 252 中不存在对应流条目。在这种情况下, 可以证明流是未注册流, 它 既没有在常规流表 251 中注册, 也没有在保留流表 252 中注册。 0120 (9) 步骤 S209 0121 基于流情况确认结果, 流表读取部分26向消息处理部分21通知流情况确认结果。 例如, 当存在多个流时, 在完成所有流的流情况确认之后, 流表读取部分 26 向消息处理部 分 21 通知流情况确认结果。 0122 (10) 步骤 S210 0123 消息处理部分 21 基于流情况读取结果产生统计回复 (Statistics Reply) 消息, 并向控制器 10 发送该消息。 0124 ( 常规流表的读取。
36、处理 ) 0125 将参考图 6 描述当从常规流表 251 读取与向控制器 10 请求的流相对应的流条目 时的处理。 0126 (1) 步骤 S211 0127 首先, 控制器 10 向消息处理部分 21 发送统计请求 (Statistics Request) 消息。 0128 (2) 步骤 S212 0129 基于统计请求消息中包含的或示出的流, 消息处理部分 21 向流表读取部分 26 发 出流情况读取请求。 0130 (3) 步骤 S213 0131 流表读取部分 26 基于流搜索常规流表 251, 以确认对应流条目的存在或不存在的 流情况。这里, 假定在常规流表 251 中存在对应流条。
37、目。 0132 (4) 步骤 S214 0133 基于流情况确认结果, 流表读取部分 26 确认在常规流表 251 中存在对应流条目。 0134 (5) 步骤 S215 0135 在此以后, 流表读取部分 26 向消息处理部分 21 通知流情况读取结果。 0136 0086 0137 (6) 步骤 S216 0138 消息处理部分 21 产生统计回复消息, 并向控制器 10 发送该消息。 0139 ( 保留流表的读取处理 ) 0140 将参考图 7 描述当从保留流表 252 中读取与向控制器 10 请求的流相对应的流条 目时的处理。 0141 (1) 步骤 S221 0142 首先, 控制器 。
38、10 向消息处理部分 21 发送统计请求 (Statistics Request) 消息。 0143 (2) 步骤 S222 0144 基于统计请求消息中包含的或示出的流, 消息处理部分 21 向流表读取部分 26 发 出流情况读取请求。 说 明 书 CN 102859952 A 10 8/12 页 11 0145 (3) 步骤 S223 0146 流表读取部分 26 基于流搜索常规流表 251, 以确认对应流条目的存在或不存在的 流情况。这里, 假定在常规流表 251 中不存在对应流条目。 0147 (4) 步骤 S224 0148 基于流情况确认结果, 流表读取部分 26 确认在常规流表 。
39、251 中不存在对应流条 目。 0149 (5) 步骤 S225 0150 接着, 流表读取部分 26 基于流搜索保留流表 252, 以确认对应流条目的存在或不 存在的流情况。这里, 假定在保留流表 252 中存在对应流条目。 0151 (6) 步骤 S226 0152 基于流情况确认结果, 流表读取部分 26 确认在保留流表 252 中存在对应流条目。 0153 (7) 步骤 S227 0154 在此以后, 流表读取部分 26 向消息处理部分 21 通知流情况读取结果。 0155 (8) 步骤 S228 0156 消息处理部分 21 产生统计回复消息, 并向控制器 10 发送该消息。 015。
40、7 这样, 控制器10能够通过仅发送统计请求消息, 确认流表25上流的注册的成功或 失败。 0158 例如, 在向交换机 20 请求对流表 25 的流注册处理之后, 控制器 10 向交换机 20 发 送该流的统计请求消息, 以确认对应于该流的流条目是否已经成功注册到流表 25 上。控制 器 10 能够通过来自交换机 20 的统计回复消息, 确认流表 25 上流条目的注册已经成功还是 失败。 0159 第二示例性实施例 0160 接着, 将描述本发明的第二示例性实施例。 0161 在本示例性实施例中, 在流表上注册之后, 重新确认流表中流条目所示出的流是 有效还是无效。 0162 ( 流条目的有。
41、效性的重新确认处理 ) 0163 将结合图 8 描述重新确认流条目所示出的流是有效还是无效的处理。 0164 (1) 步骤 S301 0165 当修改了交换机 20 的配置数据 24 时, 平台功能管理部分 23 通知流表控制部分 22。当从平台功能管理部分 23 接收该通知时, 流表控制部分 22 向消息处理部分 21 通知已 接收的通知。即, 当修改或改变了交换机 20 的配置数据 24 时, 平台功能管理部分 23 直接 通知消息处理部分 21, 或通过流表控制部分 22 通知消息处理部分 21。 0166 (2) 步骤 S302 0167 消息处理部分 21 向流表读取部分 26 请求。
42、读取常规流表 251 和保留流表 252 上注 册的所有流条目。 0168 (3) 步骤 S303 0169 响应于消息处理部分 21 的请求, 流表读取部分 26 读取常规流表 251 和保留流表 252 上注册的所有流条目并向消息处理部分 21 通知这些条目。应该注意的是实际上, 流表 读取部分 26 可以不共同地、 而是单独地 ( 独立地 ) 执行常规流表 251 中流条目的读取操作 说 明 书 CN 102859952 A 11 9/12 页 12 和保留流表 252 中流条目的读取操作。在这种情况下, 流表读取部分 26 单独地向消息处理 部分 21 通知常规流表 251 中的流条目。
43、和保留流表 252 中的流条目。 0170 (4) 步骤 S304 0171 消息处理部分 21 向流表控制部分 22 通知已经从流表读取部分 26 通知的流表条 目所示出的所有流。 0172 (5) 步骤 S305 0173 流表控制部分 22 向平台功能管理部分 23 请求与消息处理部分 21 已经通知的流 条目相对应的所有流的网络 (NW) 设置的确认。此时, 流表控制部分 22 可以启动平台功能 管理部分 23。 0174 (6) 步骤 S306 0175 平台功能管理部分 23 查阅交换机 20 的配置数据 24 以确认网络 (NW) 设置, 确定 每个流是有效的还是无效的, 并向流。
44、表控制部分 22 返回网络 (NW) 设置确认结果 ( 确定结 果 )。 0176 (7) 步骤 S307 0177 如果作为网络(NW)设置确认结果, 目标流是有效流, 则流表控制部分22对常规流 表 251 执行流条目的添加和修改。 0178 (8) 步骤 S308 0179 此外, 如果目标流注册在保留流表 252 中, 则流表控制部分 22 在保留流表 252 中 删除该流条目。如果目标流没有注册在保留流表 252 中, 将不执行此操作。 0180 (9) 步骤 S309 0181 此外, 如果作为网络 (NW) 设置确认结果, 目标流是无效流, 则流表控制部分 22 对 保留流表 2。
45、52 执行流条目的添加或修改。 0182 (10) 步骤 S310 0183 此外, 如果目标流注册在常规流表 251 中, 则流表控制部分 22 在常规流表 251 中 删除该流条目。如果目标流没有注册在常规流表 251 中, 将不执行此操作。 0184 这里, 假定已知目标流源自常规流表 251 的流条目和保留流表 252 中的流条目中 的哪一个。例如, 考虑以下情况 : 流与指示该流是源自或注册在哪个流表中的数据相关。或 者, 考虑以下情况 : 单独地 ( 独立地 ) 执行常规流表 251 的流条目的处理和保留流表 252 的 流条目的处理。 0185 此外, 尽管不确定目标流是源自常规。
46、流表 251 的流条目和保留流表 252 的流条目 中的哪一个, 如果在常规流表251和保留流表252中的一个上重新注册该目标流之前, 提前 删除了已经注册的流条目, 则能够避免重复注册。例如, 在消息处理部分 21 通知流之后, 在 流表上重新注册目标流之前, 流表控制部分 22 基于目标流头部区域的数据产生搜索关键 字, 基于此搜索关键字搜索每个流表并且提前删除对应流条目。或者, 不以流条目为单位, 可以提前删除并初始化已有流表 25( 常规流表 251 和保留流表 252) 并且可以再一次提前 新产生常规流表 251 和保留流表 252。 0186 此外, 可以在不确定目标流是源自常规流。
47、表 251 的流条目和保留流表 252 的流条 目中的哪一个的情况下, 无条件地执行流表中注册对象的流条目的添加和修改的处理, 否 则, 可以执行流条目的删除处理。尽管对应于目标流的流条目不存在于已经执行流条目删 说 明 书 CN 102859952 A 12 10/12 页 13 除处理的流表中, 该流条目的删除处理仅仅失败而已。 0187 以这种方式, 当在配置数据 24 中应用修改时, 交换机 20 能够在不从控制器 10 接 收命令的情况下, 而重新确认流表 25 中注册的所有流条目中的每一个是否符合配置数据 24。 0188 根据本示例性实施例, 当通过提前在交换机 20 的流表 2。
48、5 上注册无效流来改变或 修改配置数据 24 时, 控制器 10 能够自动将无效流改变或修改为有效流。因此, 能够对交换 机 20 的流表 25 提供冗余。 0189 第三示例性实施例 0190 接着, 将描述本发明的第三示例性实施例。 0191 在本示例性实施例中, 周期性地或当通知新流时, 以及在第二示例性实施例中显 示的 “流条目有效性的重新确认处理” 中对交换机 20 的配置数据 24 应用修改的情况下, 执 行流条目有效性的重新确认处理。 0192 例如, 在每天的预先确定时间或当从控制器10接收流修改(Flow Mod)消息时, 而 不在图 8 示出的步骤 S301 中从平台功能管理部分 23 接收通知时, 执行步骤 S302 及随后步 骤的处理。 0193 根据本示例性实施例, 尽管未检测到配置数据24的修改, 能够处理配置数据24的 修改。因此, 未立即检测到配置数据 24 的修改, 当重新确认时, 事后识别出配置数据 24 的 修改。 0194 第四示例性实施例 0195 接着, 将描述本发明的第四示例性实施。