一种获取网络状态的方法及装置的制造方法

xiaoxiao2021-02-23  175

一种获取网络状态的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及网络通信技术领域,尤其涉及一种获取网络状态的方法及装置。
【背景技术】
[0002] SDN(software-defined network)网络是一种控制与管理分离的新型网络架构,其 核必技术化enFlow通过将交换设备的数据转发层和控制层分离,实现在化enFlow交换机 上转发数据,在控制器上控制数据的转发,从而更好的控制网络,基于化enFlow的SDN,实 现了软硬件的分离W及底层硬件的虚拟化,并且网络协议和交换策略的升级只需要改动控 制层,为核必网络及应用的创新提供良好的发展平台,另外,在内部网络和外网的连接处应 用化enFlow交换机可W通过更改数据流的路径W及拒绝某些数据流来增强企业内网的安 全性。SDN由专有设备来部署高层策略,网络设备在高层策略指导下进行数据转发,减少网 络设备承载,提高网络设计规划和管理的灵活性。
[0003] 现有技术中,SDN网络中的控制器通过下发数据包查询流表、端口等信息,从而获 取网络状态。
[0004] 从上可知,现有技术提供的方法不能满足控制器实时获取网络状态的需要。

【发明内容】

[0005] 本发明实施例提供了一种获取网络状态的方法及装置,用于解决现有技术中开放 流控制器无法实时获取网络状态的问题。
[0006] 本发明第一方面提供一种获取网络状态的方法,所述方法包括:
[0007] 开放流交换机(FS将获取到的数据包与多级流表进行匹配,获取匹配的结果,所 述多级流表包含操作指令和触发表,所述触发表包含触发比较项;
[0008] 所述(FS根据所述匹配的结果,确定所述数据包对应的操作指令;
[0009] 当所述数据包对应的操作指令指向所述触发表时,所述(FS根据所述触发表中的 触发比较项对所述数据包进行上报条件判断,获取判断的结果;
[0010] 当所述判断的结果满足预置的触发上报条件时,所述(FS根据所述判断的结果生 成网络状态信息,并向开放流控制器0FC发送所述网络状态信息。
[0011] 结合本发明第一方面,本发明第一方面的第一种实现方式中,所述开放流交换机 (FS将获取到的数据包与多级流表进行匹配之前还包括:
[0012] 所述0FS接收所述0FC发送的流表编辑消息Flow-Mod,所述Flow-Mod包括流表内 容和所述触发比较项;
[0013] 所述(FS根据所述流表内容构造所述多级流表;
[0014] 所述(FS根据所述触发比较项构造所述触发表;
[0015] 所述(FS将所述触发表添加到所述多级流表末端,并建立所述多级流表与所述触 发表的对应关系。
[0016] 结合本发明第一方面及第一方面的第一种实现方式,本发明第一方面的第二种实 现方式中,所述(FS根据所述流表内容构造多级流表包括:
[0017] 所述(FS按照预设的匹配字段将所述流表内容进行划分,W获得至少两个子流 表;
[0018] 所述(FS按照预设顺序将所述子流表组合成所述多级流表。
[0019] 结合本发明第一方面、第一方面的第一至第二种实现方式,本发明第一方面的第 Η种实现方式中,所述向开放流控制器0FC发送所述网络状态信息具体包括:
[0020] 所述(FS构造化cket-in数据包,并将所述网络状态信息添加到所述化cket-in 数据包的扩展字段;
[0021] 所述0FS向所述0FC发送添加所述网络状态信息的化cket-in数据包。
[0022] 结合本发明第一方面及第一方面的第Η种实现方式,本发明第一方面的第四种实 现方式中,所述匹配的结果为所述数据包匹配到所述多级流表中的一条流表项;
[0023] 所述构造化cket-in数据包之前还包括:
[0024] 所述(FS根据与所述数据包相匹配的流表项中的操作指令,判断是否已构造 Packet-in 数据包;
[00巧]所述构造化cket-in数据包,并将所述网络状态信息添加到所述化cket-in数据 包的扩展字段具体包括:
[0026] 当没有构造所述化cket-in数据包时,则所述(FS构造化cket-in数据包,并将所 述网络状态信息添加到所述化cket-in数据包;
[0027] 当已经构造所述化cket-in数据包时,贝ij所述0FS构造 reanson字段为warning 的化cket-in数据包,并将所述网络状态信息添加到reanson字段为warning的化cket-in 数据包。
[0028] 结合本发明第一方面、第一方面的第一至第四种实现方式,本发明第一方面的第 五种实现方式中,所述方法还包括:
[0029] 当所述数据包对应的操作指令指向所述触发表时,所述(FS更新当前的网络状态 W及与所述数据包匹配的多级流表中的流表项对应的计数器。
[0030] 本发明第二方面提供一种获取网络状态的方法,所述方法包括:
[0031] 开放流控制器0FC构建流表编辑消息Flow-Mod,所述Flow-Mod包括流表内容和 触发比较项,所述触发比较项是指网络状态触发阔值集合,用于判断是否需要上报网络状 态;
[0032] 所述0FC向开放流交换机(FS发送所述Flow-Mod, W使得所述(FS根据所述流表 内容和所述触发比较项构建多级流表,并根据所述多级流表上报网络状态信息;
[0033] 所述0FC接收所述0FS发送的网络状态消息。
[0034] 结合本发明第二方面,本发明第二方面的第一种实现方式中,所述0FC接收所述 (FS发送的网络状态消息之后还包括:
[0035] 所述0FC根据所述网络状态消息更新触发比较项;
[0036] 所述0FC将更新的触发比较项添加到所述Flow-Mod, W获得更新的Flow-Mod ;
[0037] 所述0FC向所述0FS发送所述更新的Flow-Mod, W使得所述0FS根据所述更新的 Flow-Mod更新多级流表。
[0038] 本发明第Η方面提供一种开放流交换机0FS,所述(FS包括:
[0039] 第一执行单元,用于将获取到的数据包与多级流表进行匹配,获取匹配的结果,所 述多级流表包含操作指令和触发表,所述触发表包含触发比较项;
[0040] 第一确定单元,用于根据所述第一执行单元获取的匹配的结果,确定所述数据包 对应的操作指令;
[0041] 第一判断单元,用于当所述数据包对应的操作指令指向所述触发表时,所述0FS 根据所述触发表中的触发比较项对所述数据包进行上报条件判断,获取判断的结果;
[0042] 第二执行单元,用于当所述判断的结果满足预置的触发上报条件时,所述(FS根 据所述判断的结果生成网络状态信息;
[0043] 第一发送单元,用于向开放流控制器0FC发送所述网络状态信息。
[0044] 结合本发明第Η方面,本发明第Η方面的第一种实现方式中,其特征在于,所述 (FS还包括:
[0045] 第一接收单元,用于接收所述0FC发送的流表编辑消息Flow-Mod,所述Flow-Mod 包括流表内容和所述触发比较项;
[0046] 第一配置单元,用于根据所述流表内容构造多级流表;
[0047] 第二配置单元,用于根据所述触发比较项构造所述触发表;
[0048] 第Η执行单元,用于将所述触发表添加到所述多级流表末端,并建立所述多级流 表与所述触发表的对应关系。
[0049] 结合本发明第Η方面及第Η方面的第一种实现方式,本发明第Η方面的第二种实 现方式中,所述第一配置单元具体包括:
[0050] 第一配置模块,用于按照预设的匹配字段将所述流表内容进行划分,W获得至少 两个子流表;
[0051] 第二配置模块,用于按照预设顺序将所述子流表组合成所述多级流表。
[0052] 结合本发明第Η方面及第Η方面的第一至第二种实现方式,本发明第Η方面的第 Η种实现方式中,第二执行单元,具体用于当所述判断的结果满足预置的触发上报条件时, 构造化Cket-in数据包,并将所述网络状态信息添加到所述化Cket-in数据包的扩展字 段;
[0053] 第一发送单元,具体用于向所述0FC发送添加所述网络状态信息的化cket-in数 据包。
[0054] 结合本发明第Η方面及第Η方面的第一至第Η种实现方式,本发明第Η方面的第 四种实现方式中,所述匹配的结果为所述数据包匹配到所述多级流表中的一条流表项;所 述0FS还包括:
[0055] 第二判断单元,用于根据与所述数据包相匹配的流表项中的操作指令,判断是否 已构造化cket-in数据包;
[0056] 进一步所述第二执行单元还包括:
[0057] 第Η配置模块,用于当没有构造所述化cket-in数据包时,构造化cket-in数据 包,并将所述网络状态信息添加到所述化cket-in数据包;
[0058] 第四配置模块,用于当已经构造所述化cket-in数据包时,则所述(FS构造 reanson字段为warning的化cket-in数据包,并将所述网络状态信息添加到reanson字段 为warning的化cket-in数据包。
[0059] 结合本发明第Η方面及第Η方面的第一至第四种实现方式,本发明第Η方面的第 五种实现方式中,所述(FS还包括:
[0060] 更新单元,用于当所述数据包对应的操作指令指向所述触发表时,更新当前的网 络状态W及与所述数据包匹配的多级流表中的流表项对应的计数器。
[0061] 本发明第四方面提供一种开放流控制器0FC,所述0FC包括:
[0062] 第一配置单元,用于构建流表编辑消息Flow-Mod,所述Flow-Mod包括流表内容和 触发比较项,所述触发比较项是指网络状态触发阔值集合,用于判断是否需要上报网络状 态;
[0063] 第一发送单元,用于向开放流交换机(FS发送所述Flow-Mod, W使得所述(FS根据 所述流表内容和所述触发比较项构建多级流表,并根据所述多级流表上报网络状态信息;
[0064] 接收单元,用于接收所述(FS发送的网络状态信息。
[0065] 结合本发明第四方面,本发明第四方面的第一种实现方式中,所述0FC还包括:
[0066] 更新单元,用于根据所述网络状态消息更新触发比较项;
[0067] 第二配置单元,用于将更新的触发比较项添加到所述Flow-Mod, W获得更新的 Flow-Mod ;
[0068] 第二发送单元,用于向所述(FS发送所述更新的Flow-Mod, W使得所述(FS根据所 述更新的Flow-Mod更新多级流表。
[0069] 根据第一方面和第Η方面的本发明实施例的描述,在将获取到的数据包与多级流 表进行匹配时,确定所述数据包对应的操作指令,当所述数据包对应的操作指令指向所述 触发表时,所述(FS根据所述触发表中的触发比较项对所述数据包进行上报条件判断,当 判断的结果为满足预置的触发上报条件时,根据所述判断的结果生成网络状态信息,并向 开放流控制器0FC发送所述网络状态信息,W使0FC可W实时获取到当前的网络状态信息, 有效提高0FC对网络状态的敏感度和反应速度,提高了网络管理质量。
[0070] 根据第二方面和第四方面的本发明实施例的描述,通过在Flow-Mod的末端添加 触发比较项对Flow-Mod进行扩展,使得在下发流表的同时也下发了预置的触发上报条件, 使(FS可W根据Flow-Mod构造新的多流表结构,执行触发比较项的判断流程得到当前的网 络状态信息,然后及时的将网络状态信息上报,实现了对网络的实时监控,提高了网络的安 全性与稳定性。
【附图说明】
[0071] 为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据送些附图获得其他 的附图。
[0072] 图1为本实施例中一种获取网络状态的方法的一个实施例示意图;
[0073] 图2为本实施例中一种获取网络状态的方法的另一实施例示意图;
[0074] 图3为本实施例中一种获取网络状态的方法的另一实施例示意图;
[0075] 图4为本实施例中一种获取网络状态的方法的另一实施例示意图;
[0076] 图5为本实施例中一种获取网络状态的方法的另一实施例示意图;
[0077] 图6为本实施例中一种获取网络状态的方法的另一实施例示意图;
[0078] 图7为本实施例中一种获取网络状态的方法的另一实施例示意图;
[0079] 图8为本实施例中一种获取网络状态的方法的另一实施例示意图;
[0080] 图9为本实施例中一种开放流交换机0FS的一个实施例示意图;
[0081] 图10为本实施例中一种开放流交换机0FS的另一实施例示意图;
[0082] 图11为本实施例中一种开放流交换机0FS的另一实施例示意图;
[0083] 图12为本实施例中一种开放流交换机0FS的另一实施例示意图;
[0084] 图13为本实施例中一种开放流控制器0FC的一个实施例示意图;
[0085] 图14为本实施例中一种开放流控制器0FC的另一实施例示意图;
[0086] 图15为本实施例中一种扩展的Flow-Mod结构示意图;
[0087] 图16为本实施例中一种开放流交换机0FS的实体装置示意图;
[0088] 图17为本实施例中一种开放流控制器0FC的实体装置示意图。
【具体实施方式】
[0089] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的 附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没 有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0090] 本发明的说明书和权利要求书及上述附图中的术语"第一" 、"第二"、"第H""第 四"等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解送样使用 的数据在适当情况下可W互换,W便送里描述的实施例能够W除了在送里图示或描述的内 容W外的顺序实施。此外,术语"包括"和"具有"W及他们的任何变形,意图在于覆盖不排 他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地 列出的郝些步骤或单元,而是可包括没有清楚地列出的或对于送些过程、方法、产品或设备 固有的其它步骤或单元。
[0091] 本发明实施例提供了一种获取网络状态的方法及装置,用于解决现有技术中控制 服务器无法实时获取网络状态的问题。W下进行详细说明。
[0092] 本发明实施例应用于化enf low网络,化enf low网络包括开放流控制器的penf low controller, OFC)、开放流交换机的penflow switch, OF巧,需要说明的是,本文中操作包括 跳转至后续的某一流表继续处理、修改数据包和立即执行数据包对应的动作集合等,网络 状态信息包括流表项匹配状态、数据包执行端口负载状态、丢失/转发/收到数据包的总数 量或数据包TTR失效等类似情况,只要是网络中可能出现的任何网络状态都包括在内,本 文中均不作限定。
[0093] 请参照图1,本发明实施例中一种获取网络状态的方法一个实施例包括:
[0094] 101、开放流交换机(FS将获取到的数据包与多级流表进行匹配;
[0095] (FS获取网络中的数据包,并对该数据包进行解析,并与多级流表进行匹配,获取 匹配的结果,多级流表包含操作指令和触发表,触发表包含触发比较项;
[0096] 其中,当数据包进入交换机后,将从流表0开始依次匹配,在后续处理中流表可W 按次序从小到大越级跳转,但不能从某一流表向前跳转至编号更小的流表。流表项将W优 先级高低的顺序与数据包进行匹配,当数据包成功匹配到一条流表项后,会首先更新该流 表项对应的计数器记录的统计数据(例如发生成功匹配的数据包数量和总字节数等),然 后根据流表项中的指令进行相应操作(例如跳转至后续的某一流表继续处理、修改或者立 即执行该数据包对应的动作集合等)。当数据包已经处于最后一个流表时,其对应的动作 集合(Action Set)中的所有动作指令将被执行(例如转发至某一端口、修改数据包某一字 段、丢弃数据包等)。
[0097] 102、0FS根据匹配的结果,确定数据包对应的操作指令;
[0098] 103、当数据包对应的操作指令指向触发表时,(FS根据触发表中的触发比较项对 数据包进行上报条件判断;
[0099] 执行触发表中所有触发比较项的判断流程,完成所有的触发比较项的判断后,获 取判断的结果;
[0100] 104、当确定判断的结果为满足预置的触发上报条件时,(FS根据判断的结果生成 当前的网络状态信息。
[0101] 105、0FS向开放流控制器0FC发送网络状态信息。
[0102] 本发明实施例中,将获取的数据包与包含触发表的多级流表进行匹配,数据包对 应的操作指令指向触发表时,执行触发表中的触发比较项的判断流程,当判断的结果为满 足预置的触发上报条件时,生成当前的网络状态信息;将网络状态信息发送给0FC,W使 0FC可W实时获取到当前的网络状态信息和对网络进行实时监控,提高了 0FC对网络状态 的敏感度、反应速度W及网络管理质量。
[0103] 请参照图2,本发明实施例中一种获取网络状态的方法一个实施例包括:
[0104] 201、(FS接收0FC发送的流表编辑消息Flow-Mod ;
[0105] Flow-Mod包括流表内容和触发比较项;
[0106] (FS根据流表内容构造多级流表,并根据触发比较项构造触发表;
[0107] 其中,具体构造多级流表实现方式如下:
[010引(FS按照预设的匹配字段将流表内容进行划分,W获得至少两个子流表;
[0109] (FS按照预设顺序将子流表组合成多级流表。
[0110] 202、(FS将触发表添加到多级流表末端,并建立多级流表与触发表的对应关系;
[0111] 多级流表末端的触发表用于存储告警消息,将Flow-Mod存储在多级流表中;
[0112] 本文中,该对应关系为:
[0113] 将多级流表的最后一项操作设置为指向触发表中的触发索引,具体实现方式如 下:
[0114] 根据流表项中的操作执行相应的操作,当完成转发最后一个子流表,并确定最后 一个子流表中流表项的任一操作指向触发表中触发索引Trigger ID时,执行最后一个子流 表中的流表项中的所有操作;
[0115] 将所述数据包发送至触发表,每个Trigger ID对应相同操作类型的触发比较项, 需要说明的是,本文中出现的多级流表与触发表的对应关系的实现方式与此处相同,均不 再赏述。
[0116] 203、(FS将获取的数据包与多级流表进行匹配;
[0117] (FS获取网络中的数据包,并对该数据包进行解析,并与多级流表进行匹配,获取 匹配的结果,该多级流表包含操作指令和触发表,该触发表包含触发比较项。
[om] 204、OFS根据匹配的结果,确定数据包对应的操作指令。
[0119] 205、当数据包对应的操作指令指向触发表时,(FS根据触发表中的触发比较项对 数据包进行上报条件判断;
[0120] 执行触发表中所有触发比较项的判断流程,完成所有的触发比较项的判断后,获 取判断的结果。
[0121] 206、当确定判断的结果为满足预置的触发上报条件时,(FS根据判断的结果生成 当前的网络状态信息;
[0122] 其中,流表项包括计数器和超时定时器,触发比较项具体包括:
[0123] 根据计数器对匹配数据包的计数超过预设数值时,确定满足预置的触发上报条 件;
[0124] 当超时定时器存在的最大空闲时间超过预设时间阔值或最大剩余时间低于预设 时间阔值中至少一个时,确定满足预置的触发上报条件,需要说明的是,本文中出现的预设 触发比较项可 W是 16 位化;rd_timeout、Flow t油le status64 位化cket Matches、Group status 32 位 Packet Count、Flow entry status 32 位 Duration(seconds)、Port status 64 位 Transmitted 化ckets、化rt status 64 位 Receive Overrun lirrors 等等类似的检 查项,对此,本文中均不作限定。
[0125] 207、0FS向开放流控制器0FC发送网络状态信息;
[0126] 将网络状态信息发送至0FC具体包括;构造化cket-in数据包,并将网络状态信息 添加到化cket-in数据包的扩展字段,并向0FC发送添加网络状态信息的化cket-in数据 包。
[0127] 本发明实施例中,获取0FC下发的末端预设触发比较项的Flow-Mod消息,并使用 预先构造的末端设置有触发表的多流表结构,使得在匹配到相应的流表项后,确定流表项 中的操作指向触发表中触发索引时,将数据包跳转至触发表;执行上报判断流程,使得网络 状态满足预置的触发上报条件时,将当前的网络状态信息发送给0FC,使得0FC能够对当前 网络状态做出及时有效的处理和实时监控,提高了 0FC对网络状态的敏感度、反应速度W 及网络管理质量。
[012引请参照图3,本发明实施例中一种获取网络状态的方法一个实施例包括:
[0129] 301、(FS将获取到的数据包与多级流表进行匹配;
[0130] (FS获取网络中的数据包,并对该数据包进行解析,并将解析后的数据包与多级流 表进行匹配,获取匹配的结果,多级流表包含操作指令和触发表,触发表包含触发比较项, 触发比较项对应触发索引。
[0131] 需要说明的是,一般情况下将触发表设置在多级流表末端,但也可W设置在多级 流表中多个子流表中的任何一个地方,具体设置位置只要能实现本文中对多级流表的扩展 功能即可,本文中均不作限定。
[0132] 302、当完成多级流表转发后,数据包匹配到多级流表中的一条流表项,(FS确定流 表项中的最后一项操作指向触发表时,(FS将数据包跳转至触发表。
[0133] 303、(FS执行判断与数据包相关的网络参数是否超出触发比较项的预设值的流 程;
[0134] 在完成触发比较项的判断流程后,确定判断的结果为满足预置的触发上报条件 时,将超出触发比较项中的预设值的所有判断的结果设为当前的网络状态信息,其中,预设 值为0的触发比较项不执行判断过程,并生成一个总的判断的结果;
[0135] 304、(FS根据与子数据包相匹配的流表项中的操作指令,判断是否已构造 Packet-in数据包,若是,则执行步骤305,若否,则执行步骤306 ;
[0136] 305、0FS 构造 reanson 字段为 warning 的化cket-in 数据包;
[0137] 将告警类型添加至化cket-in数据包的Reason域中;
[0138] 将满足触发上报条件的触发比较项添加到Reason域中;
[0139] 每条包含告警类型的流表项中的操作都对应触发表中的触发操作项;
[0140] 将网络状态信息添加到reanson字段为warning的化cket-in数据包中。
[014U 306、(FS构造一条化cket-in数据包;
[0142] 构造一条化cket-in数据包后,将网络状态信息添加到化cket-in数据包。
[0143] 307、(FS将添加网络状态信息的化cket-in数据包发送给0FC ;
[0144] 执行触发索引中与该操作对应的触发操作项,将化cket-in数据包发送给0FC。
[0145] 本发明实施例中,本发明实施例中,将获取的数据包与包含触发表的多级流表进 行匹配,数据包对应的操作指令指向触发表时,执行触发表中的触发比较项的判断流程,当 判断的结果为满足预置的触发上报条件时,生成当前的网络状态信息,并将网络状态信息 添加到化cket-in数据包中,并发送给0FC,W使0FC可W实时获取到当前的网络状态信息 和对网络进行实时监控,提高了 0FC对网络状态的敏感度、反应速度W及网络管理质量。
[0146] 请参照图4,本发明实施例中一种获取网络状态的方法一个实施例包括:
[0147] 401、(FS接收0FC发送的流表编辑消息Flow-Mod ;
[014引 Flow-Mod包括流表内容和触发比较项;
[0149] (FS根据流表内容构造多级流表,并根据触发比较项构造触发表;
[0150] 其中,具体构造多级流表实现方式如下:
[0151] (FS按照预设的匹配字段将流表内容进行划分,W获得至少两个子流表;
[0152] (FS按照预设顺序将子流表组合成多级流表。
[0153] 402、(FS将触发表添加到多级流表末端,并建立多级流表与触发表的对应关系;
[0154] 需要说明的是,一般情况下将触发表设置在多级流表末端,但也可W设置在多级 流表中多个子流表中的任何一个地方,具体设置位置只要能实现本文中对多级流表的扩展 功能即可,本文中均不作限定。
[0155] 多级流表末端的触发表用于存储告警消息,将Flow-Mod存储在多级流表中;
[0156] 将Flow-Mod存储在多级流表中具体包括:
[0157] 将多级流表按照匹配字段特征拆分为至少两个子流表,并将Flow-Mod进行拆分 至少两个子数据块,W使得至少两个子数据块分别存储在相应的子流表中;
[0158] 本文中,该对应关系为;将多级流表的最后一项操作设置为指向触发表中的触发 索引,具体实现方式如下:
[0159] 根据所述流表项中的操作执行相应的操作,当完成转发最后一个子流表,并确定 最后一个子流表中流表项的任一操作指向触发表中触发索引化igger ID时,执行最后一个 子流表中的流表项中的所有操作;
[0160] 将所述数据包发送至触发表,每个Trigger ID对应相同操作类型的触发比较项, 需要说明的是,本文中出现的多级流表与触发表的对应关系的实现方式与此处相同,均不 再赏述;
[0161] 多级流表403、(FS将获取的数据包与多级流表进行匹配;
[0162] (FS获取网络中的数据包,并对该数据包进行解析,并与多级流表进行匹配,获取 匹配的结果,多级流表包含操作指令和触发表,触发表包含触发比较项。
[0163] 其中,当数据包进入交换机后,将从流表0开始依次匹配,在后续处理中流表可W 按次序从小到大越级跳转,但不能从某一流表向前跳转至编号更小的流表。流表项将W优 先级高低的顺序与数据包进行匹配,当数据包成功匹配到一条流表项后,会首先更新该流 表项对应的计数器记录的统计数据(例如发生成功匹配的数据包数量和总字节数等),然 后根据流表项中的指令进行相应操作(例如跳转至后续的某一流表继续处理、修改或者立 即执行该数据包对应的动作集合等)。当数据包已经处于最后一个流表时,其对应的动作 集合(Action Set)中的所有动作指令将被执行(例如转发至某一端口、修改数据包某一字 段、丢弃数据包等)。
[0164] 404、当完成多级流表转发后,数据包匹配到多级流表中的一条流表项,确定该流 表项中的最后一项操作指向触发表时,(FS将该数据包发送至触发表。
[0165] 405、(FS执行判断与数据包相关的网络参数是否超出触发比较项的预设值的流 程;
[0166] 在完成触发比较项的判断流程后,确定判断的结果为满足预置的触发上报条件 时,将超出触发比较项中的预设值的所有判断的结果设为当前的网络状态信息,其中,预设 值为0的触发比较项不执行判断过程。
[0167] 406、(FS根据与子数据包相匹配的流表项中的操作判断是否已构造化cket-in数 据包,若是,则执行步骤407,若否,则执行步骤408 ;
[0168] 407、0FS 构造一条 Reason 字段为 warning 的化cket-in 数据包 ;
[0169] 将告警类型添加至化cket-in数据包的Reason域中;
[0170] 将满足触发上报条件的触发比较项添加到Reason域中;
[0171] 每条包含告警类型的流表项中的操作都对应触发表中的触发操作项;
[0172] 将网络状态信息添加到reanson字段为warning的化cket-in数据包中。
[0173] 408、(FS 构造一条化cket-in 数据包;
[0174] 构造一条化cket-in数据包后,将网络状态信息添加到所述化cket-in数据包。
[0Π 5] 409、(FS将添加网络状态信息的化cket-in数据包发送给0FC ;
[0176] 执行至少一个触发索引中与至少一个操作对应的触发操作项,将化cket-in数据 包发送给0FC。
[0177] 本发明实施例中,本发明实施例中,获取0FC下发的末端预设触发比较项的 Flow-Mod消息,并使用预先构造的末端设置有触发表的多流表结构,使得在匹配到相应的 流表项后,确定流表项中的操作指向触发表中触发索引时,将数据包跳转至触发表;执行 上报判断流程,使得网络状态满足预置的触发上报条件时,将当前的网络状态信息发送给 0FC,使得0FC能够对当前网络状态做出及时有效的处理W及实时的监控,提高了 0FC对网 络状态的敏感度、反应速度W及网络管理质量。
[0178] 请参照图5,本发明实施例中一种获取网络状态的方法一个实施例包括:
[0179] 501、(FS接收0FC发送的流表编辑消息Flow-Mod ;
[0180] Flow-Mod包括流表内容和触发比较项;
[0181] (FS根据流表内容构造多级流表,并根据触发比较项构造触发表;
[0182] 其中,具体构造多级流表实现方式如下:
[0183] (FS按照预设的匹配字段将流表内容进行划分,W获得至少两个子流表;
[0184] (FS按照预设顺序将子流表组合成多级流表。
[0185] 502、(FS将触发表添加到多级流表末端,并建立多级流表与触发表的对应关系;
[0186] 本文中,该对应关系为;将多级流表的最后一项操作设置为指向触发表中的触发 索引,具体实现方式如下:
[0187] 根据所述流表项中的操作执行相应的操作,当完成转发最后一个子流表,并确定 最后一个子流表中流表项的任一操作指向触发表中触发索引化igger ID时,执行最后一个 子流表中的流表项中的所有操作;
[0188] 将所述数据包发送至触发表,每个Trigger ID对应相同操作类型的触发比较项, 需要说明的是,本文中出现的多级流表与触发表的对应关系的实现方式与此处相同,均不 再赏述;
[0189] 需要说明的是,一般情况下将触发表设置在多级流表末端,但也可W设置在多级 流表中多个子流表中的任何一个地方,具体设置位置只要能实现本文中对多级流表的扩展 功能即可,本文中均不作限定。
[0190] 多级流表末端的触发表用于存储告警消息,将Flow-Mod存储在多级流表中;
[0191] 将Flow-Mod存储在多级流表中具体包括:
[0192] 将多级流表按照匹配字段特征拆分为至少两个子流表,将Flow-Mod进行拆分至 少两个子数据块,至少两个子数据块分别存储在相应的子流表中;
[0193] 将多级流表的最后一项操作设置为指向触发表中的触发索引。
[0194] 503、(FS将获取的数据包与多级流表进行匹配;
[0195] (FS获取网络中的数据包,并对该数据包进行解析,并与多级流表进行匹配,获取 匹配的结果,多级流表包含操作指令和触发表,触发表包含触发比较项。
[0196] 其中,当数据包进入交换机后,将从流表0开始依次匹配,在后续处理中流表可W 按次序从小到大越级跳转,但不能从某一流表向前跳转至编号更小的流表。流表项将W优 先级高低的顺序与数据包进行匹配,当数据包成功匹配到一条流表项后,会首先更新该流 表项对应的计数器记录的统计数据。
[0197] 504、当完成多级流表转发后,数据包匹配到多级流表中的一条流表项,(FS确定流 表项中的最后一项操作指向触发表时,(FS将数据包跳转至触发表;
[019引依次将数据包与子流表中的流表项进行匹配;
[0199] 当该数据包匹配到一条流表项时,更新与流表项对应的计数器记录的统计数据, 比如counter信息,对此本文中均不作限定,其中,至少两个子数据包按照匹配到的流表项 的流表项优先级从高到低与流表项进行匹配;
[0200] 根据流表项中的操作进行操作,当完成转发最后一个子流表,并确定最后一个子 流表中流表项的最后一项操作指向触发表中触发索引Trigger ID时,执行最后一个子流表 中的流表项中的所有操作;
[0201] 将数据包跳转至触发表,每个Trigger ID对应相同操作类型的触发比较项。
[0202] 505、0FS根据与数据包相关的网络参数是否超出触发比较项的预设值的判断的结 果判断是否满足预置的触发上报条件,若是,则执行步骤506,若否,则结束;
[0203] 执行触发表中所有触发索引对应的触发比较项的判断流程;
[0204] 完成所有的触发比较项的判断后,获取判断的结果.
[0205] 506、(FS将超出触发比较项中的预设值的所有判断的结果设为网络状态信息;
[0206] 其中,流表项包括计数器和超时定时器,触发比较项具体包括:
[0207] 根据计数器对匹配数据包的计数超过预设数值时,确定满足预置的触发上报条 件;
[020引当超时定时器存在的最大空闲时间超过预设时间阔值或最大剩余时间低于预设 时间阔值中至少一个时,确定满足预置的触发上报条件,需要说明的是,本文中出现的预设 触发比较项可 W是 16 位化rcLtimeout、Flow t油le status64 位化cket Matches、Group status 32 位 Packet Count、Flow entry status 32 位 Duration(seconds)、Port status 64 位 Transmitted F*ackets、化rt status 64 位 Receive Overrun Errors 等等类似的检 查项,对此,本文中均不作限定。
[0209] 执行判断与数据包相关的网络参数是否超出触发比较项的预设值的流程;
[0210] 在完成触发比较项的判断流程后,确定判断的结果为满足预置的触发上报条件 时,将超出触发比较项中的预设值的所有判断的结果设为当前的网络状态信息,其中,预设 值为0的触发比较项不执行判断过程。
[0211] 507、(FS将网络状态信息发送给0FC ;
[0212] 执行触发索引中与该操作对应的触发操作项,并将化cket-in数据包发送给0FC。
[0213] 本发明实施例中,获取0FC下发的末端预设触发比较项的Flow-Mod消息,并使用 预先构造的末端设置有触发表的多流表结构,使得在匹配到相应的流表项后,确定流表项 中的操作指向触发表中触发索引时,将数据包发送至触发表;执行上报判断流程,使得网络 状态满足预置的触发上报条件时,将当前的网络状态信息发送给0FC,使得0FC能够对当前 网络状态做出及时有效的处理和实时监控,提高了 0FC对网络状态的敏感度、反应速度W 及网络管理质量。
[0214] 为便于理解,下面W-具体应用场景对本发明实施例进行详细说明,请参阅图6, 本发明实施例一种获取网络状态的方法另一实施例包括:
[0215] 601、(FS接收0FC发送的流表编辑消息Flow-Mod ;
[0216] Flow-Mod包括流表内容和触发比较项;
[0217] (FS根据流表内容构造多级流表,并根据触发比较项构造触发表;
[021引其中,具体构造多级流表实现方式如下:
[0219] (FS按照预设的匹配字段将流表内容进行划分,W获得η个子流表;
[0220] (FS按照预设顺序将子流表组合成η级流表。
[0221] η级流表中的Trigger-extension部分为本发明实施例中对Flow-Mod的扩展部分 即触发比较项,如说明书附图中的图15所示:
[0222] 602、0FS在η级流表末端添加触发表;
[0223] (FS将触发表添加到η级流表末端,并建立η级流表与触发表的对应关系,该η级 流表的扩展部分和步骤601中所描述的化igger-extension相同,此处不再赏述,η级流表 末端的触发表用于存储告警消息,将Flow-Mod存储在多级流表中;
[0224] 该对应关系为:
[0225] 将多级流表的最后一项操作设置为指向触发表中的触发索引化igger ID,具体实 现方式如下:
[0226] 根据流表项中的操作执行相应的操作,当完成转发最后一个子流表,并确定最后 一个子流表中流表项的任一操作指向触发表中触发索引化igger ID时,执行最后一个子流 表中的流表项中的所有操作;
[0227] 将Flow-Mod存储在多级流表中具体包括:
[022引将η级流表按照预设的匹配字段特征拆分为至少两个子流表,并将Flow-Mod进行 拆分至少两个子数据块,至少两个子数据块分别存储在相应的子流表中;
[0229] 将多级流表的最后一项操作设置为指向触发表中的触发索引。
[0230] 603、(FS将获取的数据包与η级流表进行匹配;
[0231] 其中,当数据包进入交换机后,将从流表0开始依次匹配,在后续处理中流表可W 按次序从小到大越级跳转,但不能从某一流表向前跳转至编号更小的流表。流表项将W优 先级高低的顺序与数据包进行匹配,当数据包成功匹配到一条流表项后,会首先更新该流 表项对应的计数器记录的统计数据。
[0232] 当该数据包匹配到一条流表项时,更新与流表项对应的计数器记录的统计数据, 比如counter信息,对此本文中均不作限定,其中,至少两个子数据包按照匹配到的流表项 的流表项优先级从高到低与流表项进行匹配;
[0233] 其中,具体通过流表项的匹配域与数据包进行匹配。
[0234] 604、当数据包匹配到η级流表中的流表项,0FS确定Flow entryl中的最后一项 操作action指向Trigger ID 2时,0FS将数据包发送至Trigger T油le ;
[0235] 根据流表项中的操作进行操作,当完成转发最后一个流表η,并确定流表η中流表 项的至少一个操作指向触发表中的触发索引Trigger ID时,执行最后一个子流表中的流表 项中的所有操作;
[0236] 将数据包发送至触发表,每个Trigger ID对应相同操作类型的触发比较项。
[0237] 在该数据包执行完Flow t油le 1、Flow t油le 2......Flow t油le η后,解析数 据包中的化igger-extension,将Flow t油le η的最后一项操作设置为转向触发表中的 化igger ID,具体如下表所示:
[023引
[0239] 605、(FS执行判断与数据包相关的网络参数是否超出触发比较项的预设值的流 程;
[0240] 在完成触发比较项的判断流程中,化;rt status64位Transmitted Packets标识 该端口收到的数据流量超过预设值,则确定判断的结果为满足预置的触发上报条件,故将 该项触发比较项的判断的结果设为当前的网络状态信息。
[024。 606、(FS根据与子数据包相匹配的流表项判断是否已构造化cket-in数据包,若 是,则进行步骤607,若否,则进行步骤608 ;
[0242] 607、0FS 构造一条 Reason 字段为 warning 的化cket-in 数据包;
[024引将告警类型添加至化cket-in数据包的Reason域中;
[0244] 将满足触发比较项添加到Reason域中;
[0245] 在确定触发比较项中至少存在一项触发比较项的值超过预设阔值时,将化cket 域添加到化cket-in数据包末端;
[0246] 每条包含告警类型的流表项中的操作都对应触发表中的触发操作项。
[0247] 608、0FS在化cket-in数据包末端添加触发表;
[024引该触发表中包含在执行触发上报条件的判断流程时,超过预设阔值的触发比较项 的数值。
[0249] 609、(FS将网络状态信息添加到化cket-in数据包中;
[0巧0] 610、(FS将添加网络状态信息的化cket-in数据包发送给0FC ;
[0巧1] 执行至少一个触发索引中与至少一个操作对应的触发操作项,将化cket-in数据 包发送给0FC。
[0巧2] 本发明实施例中,本发明实施例中,获取0FC下发的末端预设触发比较项的 Flow-Mod消息,并使用预先构造的末端设置有触发表的多流表结构,使得在匹配到相应的 流表项后,确定流表项中的操作指向触发表中触发索引时,将数据包跳转至触发表;执行 上报判断流程,使得网络状态满足预置的触发上报条件时,将当前的网络状态信息发送给 0FC,使得0FC能够对当前网络状态做出及时有效的处理和实时监控,提高了 0FC对网络状 态的敏感度、反应速度W及网络管理质量。
[0巧3] 上面W开放流交换机(FS的角度对本发明实施例中一种获取网络状态的方法进 行了描述,下面W开放流控制器0FC的角度对本发明实施例进行详细的说明,请参阅图7, 其中,触发表保存在0FC中,触发表用于存储触发比较项和开放流交换机(FS中所有流表的 流表项的信息,本发明实施例中一种获取网络状态的方法的另一实施例包括:
[0254] 701、开放流控制器0FC构建流表编辑消息Flow-Mod ;
[0巧5] Flow-Mod包括流表内容和触发比较项,触发比较项是指网络状态触发阔值集合, 用于判断是否需要上报网络状态;
[0256] 通过在Flow-Mod的末端添加触发比较项对Flow-Mod进行扩展,使得在下发流表 的同时也下发了预置的 触发上报条件;
[0巧7] 其中,该触发比较项用于当(FS将获取到的数据包与末端设置有所述触发表的多 级流表进行匹配,并且该数据包匹配到该多级流表中的最后一条流表项,确定流表项中的 最后一项操作指向所述触发表时,将所述数据包发送至所述触发表,W使所述(FS执行所 述触发表中所有触发索引各自对应的触发比较项的判断流程,当判断的结果为满足预置的 触发上报条件时,根据判断的结果生成当前的网络状态信息。
[0巧引 702、0FC向开放流交换机0FS发送Flow-Mod ;
[0259] 将该Flow-Mod发送至OFS,W使(FS根据该Flow-Mod中的流表内容和触发比较项 构建多级流表,并在多级流表末端添加该触发表,将Flow-Mod末端的触发比较项存储在多 级流表中的触发表,并将多级流表的最后一项操作设置为指向所述触发表中的触发索引, W使(FS将获取的数据包与该多级流表进行匹配时,将数据包跳转至触发表,从而执行预 设的触发上报条件的判断,W获得网络状态信息,并进行上报;
[0260] 703、0FC接收0FS发送的网络状态信息。
[0261] 在接受到(FS发送的网络状态信息后,0FC可W根据当前获取的网络状态信息对 网络实施的监控、可W进行有效或及时的处理,比如修改防火墙等。
[0262] 本发明实施例中,通过在Flow-Mod的末端添加触发比较项对Flow-Mod进行扩展, 使得在下发流表的同时也下发了预置的触发上报条件,使(FS可W根据Flow-Mod构造新的 多流表结构,执行触发比较项的判断流程得到当前的网络状态信息,然后及时的将网络状 态信息上报,实现了对网络的实时监控,提高了网络的安全性与稳定性。
[0263] 请参阅图8,本发明实施例中一种获取网络状态的方法的另一实施例包括:
[0264] 801、开放流控制器0FC构建流表编辑消息Flow-Mod ;
[0265] Flow-Mod包括流表内容和触发比较项,触发比较项是指网络状态触发阔值集合, 用于判断是否需要上报网络状态;
[0266] 通过在Flow-Mod的末端添加触发比较项对Flow-Mod进行扩展,使得在下发流表 的同时也下发了预置的触发上报条件;
[0267] 其中,该触发比较项用于当(FS将获取到的数据包与末端设置有所述触发表的多 级流表进行匹配,并且该数据包匹配到该多级流表中的最后一条流表项,确定流表项中的 最后一项操作指向所述触发表时,将所述数据包发送至所述触发表,W使所述(FS执行所 述触发表中所有触发索引各自对应的触发比较项的判断流程,当判断的结果为满足预置的 触发上报条件时,根据判断的结果生成当前的网络状态信息。
[026引 802、0FC向开放流交换机0FS发送Flow-Mod ;
[0269] 将该Flow-Mod发送至0FS,W使(FS根据该Flow-Mod中的流表内容和触发比较项 构建多级流表,并在多级流表末端添加该触发表,将Flow-Mod末端的触发比较项存储在多 级流表中的触发表,并将多级流表的最后一项操作设置为指向所述触发表中的触发索引, W使(FS将获取的数据包与该多级流表进行匹配时,将数据包跳转至触发表,从而执行预 设的触发上报条件的判断,W获得网络状态信息,并进行上报;
[0270] 803、0FC接收0FS发送的网络状态信息。
[0271] 在接受到(FS发送的网络状态信息后,0FC可W根据当前获取的网络状态信息对 网络实施的监控、可W进行有效或及时的处理,比如修改防火墙等。
[0272] 804、0FC将网络状态触发阔值集合下发到0FS ;
[0273] 将网络状态触发阔值集合下发到所述0FS,W使(FS根据比较结果更新流表项中 计数器记录的统计数据,并将该网络状态触发阔值集合进行比较;
[0274] 805、0FC根据网络状态信息更新Flow-Mod ;
[0275] 0FC根据所述网络状态消息更新触发比较项,并将更新的触发比较项添加到 Flow-Mod, W获得更新的 Flow-Mod ;
[0276] 0FC向0FS发送更新的Flow-Mod, W使得0FS根据更新的Flow-Mod更新多级流表。
[0277] 其中,OFC根据所述网络状态消息更新触发比较项具体实现方式如下:
[027引根据当前网络状态和设备的信息及更新后的流表项,从触发表中选择需要的触发 比较项,并将其余触发比较项置0 ;
[0279] 将选择的触发比较项添加到所述Flow-Mod的末端,W使Flow-Mod更新。
[0280] 本发明实施例中,通过在Flow-Mod的末端添加触发比较项对Flow-Mod进行扩 展,使得在下发流表的同时也下发了预置的触发上报条件,使(FS可W根据Flow-Mod构 造新的多流表结构,执行触发比较项的判断流程得到当前的网络状态信息,然后及时的将 网络状态信息上报,并根据接收到的网络状态信息更新触发表,W使根据需要更新下发的 Flow-Mod,实现了对网络的实时监控,提高了网络的安全性与稳定性。
[0281] W上对本发明实施例的一种网络状态获取的方法进行了举例说明,下面W装置角 度对本发明实施例中一种开放流交换机(FS进行说明,请参阅图9,本发明实施例中一种开 放流交换机的一个实施例包括:
[0282] 第一执行单元901,用于将获取到的数据包与多级流表进行匹配,获取匹配的结 果,所述多级流表包含操作指令和触发表,所述触发表包含触发比较项;
[0283] 第一确定单元902,用于所述匹配的结果,确定所述数据包对应的操作指令;
[0284] 第一判断单元903,用于当所述数据包对应的操作指令指向所述触发表时,所述 (FS根据所述触发表中的触发比较项对所述数据包进行上报条件判断,获取判断的结果;
[0285] 第二执行单元904、用于当所述判断的结果满足预置的触发上报条件时,所述0FS 根据所述判断的结果生成网络状态信息;
[0286] 第一发送单元905,用于向开放流控制器0FC发送所述网络状态信息。
[0287] 本发明实施例中,第一执行单元901将数据包与包含触发表的多级流表进行匹 配,数据包对应的操作指令指向触发表时,第一判断单元903执行触发表中的触发比较项 的判断流程,当判断的结果为满足预置的触发上报条件时,生成当前的网络状态信息;第一 发送单元904将网络状态信息发送给0FC,W使0FC可W实时获取到当前的网络状态信息和 对网络进行实时监控,提高了 0FC对网络状态的敏感度和反应速度,提高了网络管理质量。 [028引请参阅图10,本发明实施例中一种开放流交换机另一实施例包括:
[0289] 第一执行单元1001,用于将获取到的数据包与多级流表进行匹配,获取匹配的结 果,该多级流表包含操作指令和触发表,触发表包含触发比较项;
[0290] 第一确定单元1002,用于根据匹配的结果,确定数据包对应的操作指令;
[0291] 第一判断单元1003,用于当数据包对应的操作指令指向所述触发表时,触发表中 的触发比较项对数据包进行上报条件判断,获取判断的结果;
[0292] 第二执行单元1004、用于当判断的结果满足预置的触发上报条件时,根据判断的 结果生成网络状态信息;
[0293] 第一发送单元1005,用于向开放流控制器0FC发送网络状态信息。
[0294] 可选的,该(FS还包括:
[0295] 第一接收单元1006,用于接收0FC发送的流表编辑消息Flow-Mod,该Flow-Mod包 括流表内容和触发比较项;
[0296] 第一配置单元1007,用于根据流表内容构造多级流表;
[0297] 第二配置单元1008,用于根据触发比较项构造触发表;
[029引第Η执行单元1009,用于将触发表添加到多级流表末端,并建立多级流表与触发 表的对应关系。
[0299] 其中,第一配置单元1007具体包括:
[0300] 第一配置模块10071,用于按照预设的匹配字段将所述流表内容进行划分,W获得 至少两个子流表;
[0301] 第二配置模块10072,用于按照预设顺序将所述子流表组合成多级流表。
[0302] 本发明实施例中,第一执行单元1001将数据包与包含触发表的多级流表进行匹 配,数据包对应的操作指令指向触发表时,第一判断单元1003执行触发表中的触发比较项 的判断流程,第二执行单元1004将满足预置的触发上报条件的判断的结果生成当前的网 络状态信息;第一发送单元1005将网络状态信息发送给0FC,W使0FC可W实时获取到当 前的网络状态信息和对网络进行实时监控,提高了 0FC对网络状态的敏感度和反应速度, 提高了网络管理质量。
[0303] 请参阅图11,本发明实施例中一种开放流交换机另一实施例包括:
[0304] 第一执行单元1101,用于将获取到的数据包与多级流表进行匹配,获取匹配的结 果,多级流表包含操作指令和触发表,触发表包含触发比较项;
[0305] 第一确定单元1102,用于根据匹配的结果,确定数据包对应的操作指令;
[0306] 第一判断单元1103,用于当数据包对应的操作指令指向触发表时,根据触发表中 的触发比较项对数据包进行上报条件判断,获取判断的结果;
[0307] 第二执行单元1104、用于当判断的结果满足预置的触发上报条件时,根据判断的 结果生成网络状态信息;
[030引第一发送单元1105,用于向开放流控制器0FC发送网络状态信息。
[0309] 可选的,该0FS还包括:
[0310] 第一接收单元1106,用于接收0FC发送的流表编辑消息Flow-Mod,该Flow-Mod包 括流表内容和触发比较项;
[0311] 第一配置单元1107,用于根据流表内容构造多级流表;
[0312] 第二配置单元1108,用于根据触发比较项构造触发表;
[0313] 第Η执行单元1109,用于将触发表添加到多级流表末端,并建立多级流表与触发 表的对应关系。
[0314] 可选的,匹配的结果为数据包匹配到该多级流表中的一条流表项;
[0315] 该0FS还包括:
[0316] 第二判断单元1110,用于根据与所述数据包相匹配的流表项中的操作指令,判断 是否已构造化cket-in数据包;
[0317] 进一步,第二执行单元1104还包括:
[0318] 第Η配置模块11041,用于当没有构造所述化cket-in数据包时,构造化cket-in 数据包,并将所述网络状态信息添加到所述化cket-in数据包;
[0319] 第四配置模块11042,用于当已经构造所述化cket-in数据包时,则所述(FS构造 reanson字段为warning的化cket-in数据包,并将所述网络状态信息添加到reanson字段 为warning的化cket-in数据包。
[0320] 本发明实施例中,第一执行单元1101将数据包与包含触发表的多级流表进行匹 配,第Η执行单元1109根据第一接收单元1106接收到Flow-Mod构造多级流表W及建立 多级流表与触发表的对应关系,使得第一判断单元1103在数据包对应的操作指令指向触 发表时,执行触发表中的触发比较项的判断流程,第四配置模块11042构造 reanson字段为 warning的化cket-in数据包,并将所述网络状态信息添加到reanson字段为warning的 Packet-in数据包,保证在数据包不正常情况下也可W完成网络状态的上报;第一发送单 元1105将包含网络状态信息的化cket-in数据包发送给0FC,W使0FC可W实时获取到当 前的网络状态信息和对网络进行实时监控,提高了 0FC对网络状态的敏感度和反应速度, 提高了网络管理质量。
[0321] 请参阅图12,本发明实施例中一种开放流交换机另一实施例包括:
[0322] 第一执行单元1201,用于将获取到的数据包与多级流表进行匹配,获取匹配的结 果,多级流表包含操作指令和触发表,触发表包含触发比较项;
[0323] 第一确定单元1202,用于根据匹配的结果,确定数据包对应的操作指令;
[0324] 第一判断单元1203,用于当数据包对应的操作指令指向触发表时,根据触发表中 的触发比较项对数据包进行上报条件判断,获取判断的结果;
[0325] 第二执行单元1204、用于当判断的结果满足预置的触发上报条件时,根据判断的 结果生成网络状态信息;
[0326] 第一发送单元1205,用于向开放流控制器0FC发送网络状态信息。
[0327] 其中,第二执行单元1204,具体用于当所述判断的结果满足预置的触发上报条件 时,构造化cket-in数据包,并将所述网络状态信息添加到所述化cket-in数据包的扩展字 段;
[032引第一发送单元1205,具体用于向所述0FC发送添加所述网络状态信息的 Packet-in 数据包。
[0329] 可选的,该(FS还包括:
[0330] 第一接收单元1206,用于接收0FC发送的流表编辑消息Flow-Mod,该Flow-Mod包 括流表内容和触发比较项;
[0331] 第一配置单元1207,用于根据流表内容构造多级流表;
[0332] 第二配置单元1208,用于根据触发比较项构造触发表;
[0333] 第Η执行单元1209,用于将触发表添加到多级流表末端,并建立多级流表与触发 表的对应关系。
[0334] 可选的,该0FS还包括:
[0335] 更新单元1210,用于当数据包对应的操作指令指向所述触发表时,更新当前的网 络状态W及与数据包匹配的多级流表中的流表项对应的计数器。
[0336] 本发明实施例中,第一执行单元1201将数据包与包含触发表的多级流表进行匹 配,第Η执行单元1209根据第一接收单元1206接收到Flow-Mod构造多级流表W及建立多 级流表与触发表的对应关系,使得第一判断单元1203在数据包对应的操作指令指向触发 表时,更新单元1210更新当前的网络状态W及与数据包匹配的多级流表中的流表项对应 的计数器,并执行触发表中的触发比较项的判断流程,并 将满足预置的触发上报条件的判 断的结果生成当前的网络状态信息;第一发送单元1204将包含网络状态信息化cket-in数 据包发送给0FC,W使0FC可W实时获取到当前的网络状态信息和对网络进行实时监控,提 高了 OFC对网络状态的敏感度和反应速度,提高了网络管理质量。
[0337] 请参阅图13,本发明实施例中一种开放流控制器0FC的一个实施例包括:
[033引第一配置单元1301,用于构建流表编辑消息Flow-Mod, Flow-Mod包括流表内容 和触发比较项,该触发比较项是指网络状态触发阔值集合,用于判断是否需要上报网络状 态;
[0339] 第一发送单元1302,用于向开放流交换机(FS发送Flow-Mod, W使得(FS根据流 表内容和触发比较项构建多级流表,并根据多级流表上报网络状态信息;
[0340] 接收单元1303,用于接收(FS发送的网络状态信息。
[0341] 本发明实施例中,第一配置单元1301构建包括流表内容和触发比较项的 Flow-Mod,通过第一发送单元1302下发给0FS,使得0FS在将数据包与包含触发表的多级 流表进行匹配,且对应的操作指令指向触发表时,对触发比较项进行判断,并将满足预置的 触发上报条件的判断的结果生成网络状态信息,接收单元1303接收(FS发送的网络状态信 息,从而根据获取到当前的网络状态信息和对网络进行实时监控,提高了 0FC对网络状态 的敏感度、反应速度W及网络管理质量。
[0342] 请参阅图14,本发明实施例中一种开放流控制器0FC的一个实施例包括:
[0343] 第一配置单元1401,用于构建流表编辑消息Flow-Mod, Flow-Mod包括流表内容 和触发比较项,该触发比较项是指网络状态触发阔值集合,用于判断是否需要上报网络状 态;
[0344] 第一发送单元1402,用于向开放流交换机(FS发送Flow-Mod, W使得(FS根据流 表内容和触发比较项构建多级流表,并根据多级流表上报网络状态信息;
[0345] 接收单元1403,用于接收(FS发送的网络状态信息。
[034引可选的,本发明实施例中,0FC还包括:
[0347] 更新单元1404,用于根据网络状态消息更新触发比较项;
[034引第二配置单元1405,用于将更新的触发比较项添加到Flow-Mod, W获得更新的 Flow-Mod ;
[0349] 第二发送单元1406,用于向(FS发送更新的Flow-Mod, W使得(FS根据更新的 Flow-Mod更新多级流表。
[0350] 本发明实施例中,第一配置单元1401构建包括流表内容和触发比较项的 Flow-Mod,通过第一发送单元1402下发给0FS,使得(FS在将数据包与包含触发表的多级 流表进行匹配,且对应的操作指令指向触发表时,对触发比较项进行判断,并将满足预置的 触发上报条件的判断的结果生成网络状态信息,接收单元1403接收(FS发送的网络状态信 息,从而根据获取到当前的网络状态信息和对网络进行实时监控,提高了 0FC对网络状态 的敏感度、反应速度W及网络管理质量,另外,更新单元1404根据网络状态消息更新触发 比较项,W使第二发送单元1406将第二配置单元1405更新的Flow-Mod发送至0FS,W使得 (FS根据更新的Flow-Mod更新多级流表,使得对网络状态和设备的监控更加灵活和准确。
[0351] 补充说明,如图15所示,本发明实施例中,对数据包和多级流表进行扩展的字段 选项即为本文中所出现的预设触发比较项,具体操作时,送些扩展的字段选项可选如下:
[0352] 8位flag ;标识若该流表项被匹配到,则上报状态信息。
[0353] 16位HarcLtimeout ;标识匹配到该流表项时的剩余时间,若小于预设值,则上报 状态消息;为全ο则不检测该项。
[0354] Flow t油le status 64位化cket Matches ;标识匹配到该流表的数据包超过预设 值,则上报状态消息;为全0则不检测该项。
[035引 Flow entry status 64位Received化ckets ;标识匹配到该流表项的数据包超过 预设值,则上报状态信息;为全0则不检测该项。
[0356] 化;rt status64位Received化ckets ;标识该端口收到的数据流量超过预设值,则 上报状态消息;为全0则不检测该项。
[0357] 化;rt status64位Transmitted化ckets ;标识该端口传输的数据流量超过预设 值,则上报状态消息;为全0则不检测该项。
[035引化的status64位Receive化ops ;标识该端口丢弃的数据流量超过预设值,卯J上 报状态消息;为全0则不检测该项。
[0359] 如eue status64位Transmit化ckets ;标识该队列收到的数据流量超过预设值, 则上报状态消息;为全0则不检测该项。
[0360] Group status 32位化cket Count ;标识该组表收到的数据流量超过预设值,卯J上 报状态消息;为全0则不检测该项。
[0361] 因此上述列举的各项字段选项仅为可选条件的一部分,完整的可选条件包括如 下:
[0362] Flow t油le status 64位化cket Lookups ;表示查找到当前流表的数据包数量, 超过预设值则上报状态消息,预设值为全0是检测该项。
[0363] Flow t油le status 64位化cket Matches ;表示匹配到当前流表的数据包数量, 超过预设值则上报状态消息,预设值为全0是检测该项。
[0364] Flow entry status 64位Received化ckets ;表示当前流表项收到的数据包数 量,超过预设值则上报状态消息,预设值为全0是检测该项。
[0365] Flow entry status 64位Received Bytes ;表示当前流表项收到的数据包比特数 量,超过预设值则上报状态消息,预设值为全0是检测该项。
[0366] Flow entry status 32 位 Duration (seconds);表示当前流表项的持续时间 (砂),超过预设值则上报状态消息,预设值为全0是检测该项。
[0367] Flow entry status 32 位 Duration (nanoseconds);表示当前流表项的持续时间 (纳砂),超过预设值则上报状态消息,预设值为全0是检测该项。
[036引化的status 8位pcxrt number:表示本条流表涉及的端口数量,根据端口数量从 下列11种字段选项中选择相同的参数数量。
[0369] 1、化;rt status 64位Received化ckets ;表示端口收到的数据包数量,超过预设 值则上报状态消息,预设值为0时候不检查该项。
[0370] 2、化;rt status 64位Transmitted化ckets ;表示端口传输过的数据包数量,超过 预设值则上报状态消息,预设值为0时候不检查该项。
[0371] 3、化;rt status 64位Received Bytes ;表示端口收到的数据包比特数量,超过预 设值则上报状态消息,预设值为0时候不检查该项。
[0372] 4、化;rt status 64位Transmitted Bytes ;表示端口传输过的的数据包比特数量, 超过预设值则上报状态消息,预设值为0时候不检查该项。
[0373] 5 Jod status 64位Receive化ops ;表示端口收到丢弃的数据包数量,超过预设 值则上报状态消息,预设值为0时候不检查该项。
[0374] 6、化的status 64位化ansmitted化ops ;表示端口传输的丢弃数据包比特数量, 超过预设值则上报状态消息,预设值为0时候不检查该项。
[0375] 7、化;rt status 64位Receive Errors ;表示端口收到的错误数量,超过预设值则 上报状态消息,预设值为0时候不检查该项。
[0376] 8、化;rt status 64位Transmitted Errors ;表不端口传输的错误数量,超过预设 值则上报状态消息,预设值为0时候不检查该项。
[0377] 9、化;rt status 64位Receive Rrame Alignment Errors ;表不端口顿定位错误数 量,超过预设值则上报状态消息,预设值为0时候不检查该项。
[037引 ICKPort status 64位Receive Overrun Errors ;表不端口超速错误数量,超过预 设值则上报状态消息,预设值为0时候不检查该项。
[0379] 11、Po;rt status 64位 Receive CRC Errors ;表不端口 CRC错误数量,超过预设值 则上报状态消息,预设值为0时候不检查该项。
[0380] 12、化的status 64位Collisions ;表示端口冲突数量,超过预设值则上报状态 消息,预设值为0时候不检查该项。
[03引]13、化;rt status 32位Duration (seconds);表示端口时间,超过预设值则上报状 态消息,预设值为0时候不检查该项。
[0382] 14、化;rt status 32 位 Duration (nanoseconds);表不端 口时间(纳砂),超过预 设值则上报状态消息,预设值为0时候不检查该项。
[0383] 如eue status 8位queue number:表示本条流表涉及的队列数量,根据端口数量 从下列5种字段选项中选择相同的参数数量。
[0384] 1、queue status 64位Transmit化ckets ;标识该队列收到的数据包数量超过预 设值,则上报状态消息;为全0则不检测该项。
[0385] 2、queue status 64位Transmit Bytes ;标识该队列收到的数据比特数量超过预 设值,则上报状态消息;为全0则不检测该项。
[0386] 3、queue status 64位Transmit Overrun Errors ;标识该队列超速传输数量超过 预设值,则上报状态消息;为全0则不检测该项。
[0387] 4、queue status 32位Duration (seconds);表示队列时间,超过预设值则上报状 态消息,预设值为0时候不检查该项。
[0388] 5、queue status 32 位 Duration (nanoseconds);表不队列时间(纳砂),超过预 设值则上报状态消息,预设值为0时候不检查该项。
[0389] Group status 32 位 Reference Count (flow entries):表不当前组相关的流表项 数量,超过预设值则上报状态消息,预设值为0时候不检查该项。
[0390] Group status 64位化cket Count:表示当前组数据包数量,超过预设值则上报状 态消息,预设值为0时候不检查该项。
[0391] Group status 64位Byte Count:表示当前组比特数量,超过预设值则上报状态消 息,预设值为0时候不检查该项。
[0392] Group status 32位Duration (seconds):表示当前组时间,超过预设值则上报状 态消息,预设值为ο时候不检查该项。
[0393] Group status 32 位 Duration (nanoseconds):表示当前组时间(纳砂),超过预 设值则上报状态消息,预设值为0时候不检查该项。
[0394] Group Bucket status 64位化cket Count,表示当前bucket数据包数量,超过预 设值则上报状态消息,预设值为0时候不检查该项。
[0395] Group Bucket status 64位Byte Count,表示当前bucket比特数量,超过预设值 则上报状态消息,预设值为0时候不检查该项。
[0396] 请参考图16,图16为本发明实施例提供的开放流交换机(FS另一结构示意图,其 中,可包括至少一个处理器1601 (例如CPU, Central Processing化it),至少一个网络接 口或者其它通信接口,存储器1602,接收装置1603、发送装置1604和至少一个通信总线,用 于实现送些装置之间的连接通信。所述处理器1601用于执行存储器中存储的可执行模块, 例如计算机程序。所述存储器1602可能包含高速随机存取存储器(RAM, Random Access Memcxry),也可能还包括非不稳定的存储器(non-volatile memcxry),例如至少一个磁盘存 储器。通过至少一个网络接口(可W是有线或者无线)实现该系统网关与至少一个其它网 元之间的通信连接,可W使用互联网,广域网,本地网,城域网等。
[0397] 如图16所示,在一些实施方式中,存储器1602中存储了程序指令,程序指令可W 被处理器1601执行,处理器1601具体执行W下步骤:
[039引将获取到的数据包与多级流表进行匹配,获取匹配的结果,多级流表包含操作指 令和触发表,触发表包含触发比较项;
[0399] 根据匹配的结果,确定数据包对应的操作指令;
[0400] 当数据包对应的操作指令指向该触发表时,根据触发表中的触发比较项对数据包 进行上报条件判断,获取判断的结果;
[0401] 当判断的结果满足预置的触发上报条件时,根据判断的结果生成网络状态信息, 并向开放流控制器0FC发送网络状态信息。
[0402] 在一些实施方式中,处理器1601还可W执行W下步骤:
[0403] 接收0FC发送的流表编辑消息Flow-Mod, Flow-Mod包括流表内容和触发比较项;
[0404] 根据流表内容构造多级流表;
[0405] 根据触发比较项构造触发表;
[0406] 将触发表添加到多级流表末端,并建立多级流表与触发表的对应关系。
[0407] 在 一些实施方式中,处理器1601还可W执行W下步骤:
[0408] 按照预设的匹配字段将流表内容进行划分,W获得至少两个子流表;
[0409] 按照预设顺序将子流表组合成多级流表。
[0410] 在一些实施方式中,处理器1601还可W执行W下步骤:
[0411] 构造化cket-in数据包,并将网络状态信息添加到化cket-in数据包的扩展字 段;
[0412] 向0FC发送添加网络状态信息的化cket-in数据包。
[0413] 在一些实施方式中,处理器1601还可W执行W下步骤:
[0414] 根据与数据包相匹配的流表项中的操作指令,判断是否已构造化cket-in数据 包;
[0415] 当没有构造化cket-in数据包时,则构造化cket-in数据包,并将网络状态信息添 加到化cket-in数据包;
[0416] 当已经构造化cket-in数据包时,则构造 reanson字段为warning的化cket-in 数据包,并将网络状态信息添加到reanson字段为warning的化cket-in数据包。
[0417] 在一些实施方式中,处理器1601还可W执行W下步骤:
[0418] 当数据包对应的操作指令指向触发表时,更新当前的网络状态W及与数据包匹配 的多级流表中的流表项对应的计数器。
[0419] 请参考图17,图17为本发明实施例提供的开放流控制器0FC另一结构示意图,其 中,可包括至少一个处理器1701 (例如CPU, Central Processing化it),至少一个网络接 口或者其它通信接口,存储器1702、接收装置1703、发送装置1704,和至少一个通信总线, 用于实现送些装置之间的连接通信。所述处理器1701用于执行存储器中存储的可执行模 块,例如计算机程序。所述存储器1702可能包含高速随机存取存储器(RAM, Random Access Memcxry),也可能还包括非不稳定的存储器(non-volatile memcxry),例如至少一个磁盘存 储器。通过至少一个网络接口(可W是有线或者无线)实现该系统网关与至少一个其它网 元之间的通信连接,可W使用互联网,广域网,本地网,城域网等。
[0420] 如图17所示,在一些实施方式中,存储器1702中存储了程序指令,程序指令可W 被处理器1701执行,处理器1701具体执行W下步骤:
[0421] 构建流表编辑消息Flow-Mod, Flow-Mod包括流表内容和触发比较项,触发比较项 是指网络状态触发阔值集合,用于判断是否需要上报网络状态;
[0422] 向开放流交换机0FS发送Flow-Mod, W使(FS根据流表内容和触发比较项构建多 级流表,并根据多级流表上报网络状态信息;
[0423] 接收0FS发送的网络状态消息。
[0424] 在一些实施方式中,所述处理器1701还可W执行W下步骤:
[0425] 根据网络状态消息更新触发比较项;
[0426] 将更新的触发比较项添加到Flow-Mod, W获得更新的Flow-Mod ;
[0427] 向0FS发送更新的Flow-Mod, W使得0FS根据更新的Flow-Mod更新多级流表。
[0428] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部 分,可W参见其他实施例的相关描述。
[0429] 所属领域的技术人员可W清楚地了解到,为描述的方便和简洁,上述描述的系统, 装置和单元的具体工作过程,可W参考前述方法实施例中的对应过程,在此不再赏述。
[0430] 在本申请所提供的几个实施例中,应该理解到,所掲露的系统,装置和方法,可W 通过其它的方式实现。例如,W上所描述的装置实施例仅仅是示意性的,例如,所述单元的 划分,仅仅为一种逻辑功能划分,实际实现时可W有另外的划分方式,例如至少两个单元或 组件可W结合或者可W集成到另一个系统,或一些特征可W忽略,或不执行。另一点,所显 示或讨论的相互之间的禪合或直接禪合或通信连接可W是通过一些接口,装置或单元的间 接禪合或通信连接,可W是电性,机械或其它的形式。
[0431] 所述作为分离部件说明的单元可W是或者也可W不是物理上分开的,作为单元显 示的部件可W是或者也可W不是物理单元,即可W位于一个地方,或者也可W分布到至少 两个网络单元上。可W根据实际的需要选择其中的部分或者全部单元来实现本实施例方案 的目的。
[0432] 另外,在本发明各个实施例中的各功能单元可W集成在一个处理单元中,也可W 是各个单元单独物理存在,也可W两个或两个W上单元集成在一个单元中。上述集成的单 元既可W采用硬件的形式实现,也可W采用软件功能单元的形式实现。
[0433] 所述集成的单元如果W软件功能单元的形式实现并作为独立的产品销售或使用 时,可W存储在一个计算机可读取存储介质中。基于送样的理解,本发明的技术方案本质 上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可软件产品的形 式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用W使得一台计算 机设备(可W是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法 的全部或部分步骤。而前述的存储介质包括;U盘、移动硬盘、只读存储器(ROM, ReacK)nly Memcxry)、随机存取存储器(RAM, Random Access Memcxry)、磁碟或者光盘等各种可W存储程 序代码的介质。
[0434] W上对本发明所提供的一种运动目标检测的方法及装置进行了详细介绍,对于本 领域的一般技术人员,依据本发明实施例的思想,在【具体实施方式】及应用范围上均会有改 变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【主权项】
1. 一种获取网络状态的方法,其特征在于,所述方法包括: 开放流交换机OFS将获取到的数据包与多级流表进行匹配,获取匹配的结果,所述多 级流表包含操作指令和触发表,所述触发表包含触发比较项; 所述OFS根据所述匹配的结果,确定所述数据包对应的操作指令; 当所述数据包对应的操作指令指向所述触发表时,所述OFS根据所述触发表中的触发 比较项对所述数据包进行上报条件判断,获取判断的结果; 当所述判断的结果满足预置的触发上报条件时,所述OFS根据所述判断的结果生成网 络状态信息,并向开放流控制器OFC发送所述网络状态信息。2. 根据权利要求1所述的方法,其特征在于,所述开放流交换机OFS将获取到的数据包 与多级流表进行匹配之前还包括: 所述OFS接收所述OFC发送的流表编辑消息Flow-Mod,所述Flow-Mod包括流表内容和 所述触发比较项; 所述0FS根据所述流表内容构造所述多级流表; 所述0FS根据所述触发比较项构造所述触发表; 所述0FS将所述触发表添加到所述多级流表末端,并建立所述多级流表与所述触发表 的对应关系。3. 根据权利要求2所述的方法,其特征在于,所述0FS根据所述流表内容构造多级流表 包括: 所述0FS按照预设的匹配字段将所述流表内容进行划分,以获得至少两个子流表; 所述0FS按照预设顺序将所述子流表组合成所述多级流表。4. 根据权利要求1至3任一所述的方法,其特征在于,所述向开放流控制器0FC发送所 述网络状态信息具体包括: 所述0FS构造Packet-in数据包,并将所述网络状态信息添加到所述Packet-in数据 包的扩展字段; 所述0FS向所述0FC发送添加所述网络状态信息的Packet-in数据包。5. 根据权利要求4所述的方法,其特征在于,所述匹配的结果为所述数据包匹配到所 述多级流表中的一条流表项; 所述构造Packet-in数据包之前还包括: 所述0FS根据与所述数据包相匹配的流表项中的操作指令,判断是否已构造Packet-in数据包; 所述构造Packet-in数据包,并将所述网络状态信息添加到所述Packet-in数据包的 扩展字段具体包括: 当没有构造所述Packet-in数据包时,则所述0FS构造Packet-in数据包,并将所述网 络状态信息添加到所述Packet-in数据包; 当已经构造所述Packet-in数据包时,则所述0FS构造reanson字段为warning的Packet-in数据包,并将所述网络状态信息添加到reanson字段为warning的Packet-in数 据包。6. 根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括: 当所述数据包对应的操作指令指向所述触发表时,所述0FS更新当前的网络状态以及 与所述数据包匹配的多级流表中的流表项对应的计数器。7. -种获取网络状态的方法,其特征在于,所述方法包括: 开放流控制器OFC构建流表编辑消息Flow-Mod,所述Flow-Mod包括流表内容和触发比 较项,所述触发比较项是指网络状态触发阈值集合,用于判断是否需要上报网络状态; 所述0FC向开放流交换机0FS发送所述Flow-Mod,以使得所述0FS根据所述流表内容 和所述触发比较项构建多级流表,并根据所述多级流表上报网络状态信息; 所述0FC接收所述0FS发送的网络状态消息。8. 如权利要求7所述的方法,其特征在于,所述0FC接收所述0FS发送的网络状态消息 之后还包括: 所述0FC根据所述网络状态消息更新触发比较项; 所述0FC将更新的触发比较项添加到所述Flow-Mod,以获得更新的Flow-Mod; 所述0FC向所述0FS发送所述更新的Flow-Mod,以使得所述0FS根据所述更新的Flow-Mod更新多级流表。9. 一种开放流交换机0FS,其特征在于,所述0FS包括: 第一执行单元,用于将获取到的数据包与多级流表进行匹配,获取匹配的结果,所述多 级流表包含操作指令和触发表,所述触发表包含触发比较项; 第一确定单元,用于根据所述第一执行单元获取的匹配的结果,确定所述数据包对应 的操作指令; 第一判断单元,用于当所述数据包对应的操作指令指向所述触发表时,所述0FS根据 所述触发表中的触发比较项对所述数据包进行上报条件判断,获取判断的结果; 第二执行单元,用于当所述判断的结果满足预置的触发上报条件时,所述0FS根据所 述判断的结果生成网络状态信息; 第一发送单元,用于向开放流控制器0FC发送所述网络状态信息。10. 根据权利要求9所述的0FS,其特征在于,所述0FS还包括: 第一接收单元,用于接收所述0FC发送的流表编辑消息Flow-Mod,所述Flow-Mod包括 流表内容和所述触发比较项; 第一配置单元,用于根据所述流表内容构造所述多级流表; 第二配置单元,用于根据所述触发比较项构造所述触发表; 第三执行单元,用于将所述触发表添加到所述多级流表末端,并建立所述多级流表与 所述触发表的对应关系。11. 根据权利要求10所述的0FS,其特征在于,所述第一配置单元具体包括: 第一配置模块,用于按照预设的匹配字段将所述流表内容进行划分,以获得至少两个 子流表; 第二配置模块,用于按照预设顺序将所述子流表组合成所述多级流表。12. 根据权利要求9至11任一所述的0FS,其特征在于, 所述第二执行单元,具体用于当所述判断的结果满足预置的触发上报条件时,构造Packet-in数据包,并将所述网络状态信息添加到所述Packet-in数据包的扩展字段; 所述第一发送单元,具体用于向所述0FC发送添加所述网络状态信息的Packet-in数 据包。13. 根据权利要求12所述的OFS,其特征在于,所述匹配的结果为所述数据包匹配到所 述多级流表中的一条流表项; 所述0FS还包括: 第二判断单元,用于根据与所述数据包相匹配的流表项中的操作指令,判断是否已构 造Packet-in数据包; 进一步所述第二执行单元还包括: 第三配置模块,用于当没有构造所述Packet-in数据包时,构造Packet-in数据包,并 将所述网络状态信息添加到所述Packet-in数据包; 第四配置模块,用于当已经构造所述Packet-in数据包时,贝U所述0FS构造reanson字 段为warning的Packet-in数据包,并将所述网络状态信息添加到reanson字段为warning 的Packet-in数据包。14. 根据权利要求13所述的0FS,其特征在于,所述0FS还包括: 更新单元,用于当所述数据包对应的操作指令指向所述触发表时,更新当前的网络状 态以及与所述数据包匹配的多级流表中的流表项对应的计数器。15. -种开放流控制器0FC,其特征在于,包括: 第一配置单元,用于构建流表编辑消息Flow-Mod,所述Flow-Mod包括流表内容和触发 比较项,所述触发比较项是指网络状态触发阈值集合,用于判断是否需要上报网络状态; 第一发送单元,用于向开放流交换机0FS发送所述Flow-Mod,以使得所述0FS根据所述 流表内容和所述触发比较项构建多级流表,并根据所述多级流表上报网络状态信息; 接收单元,用于接收所述0FS发送的网络状态信息。16. 根据权利要求15所述的0FC,其特征在于,所述0FC还包括: 更新单元,用于根据所述网络状态消息更新触发比较项; 第二配置单元,用于将更新的触发比较项添加到所述Flow-Mod,以获得更新的Flow-Mod; 第二发送单元,用于向所述0FS发送所述更新的Flow-Mod,以使得所述0FS根据所述更 新的Flow-Mod更新多级流表。
【专利摘要】本发明实施例公开了一种获取网络状态的方法及装置,所述方法包括:开放流交换机OFS将获取到的数据包与包含操作指令和触发表的多级流表进行匹配;所述OFS根据匹配的结果,确定所述数据包对应的操作指令;当所述数据包对应的操作指令指向所述触发表时,所述OFS根据所述触发表中的触发比较项对所述数据包进行上报条件判断;当获取的判断的结果满足预置的触发上报条件时,所述OFS根据所述判断的结果生成网络状态信息,并向开放流控制器OFC发送所述网络状态信息,使OFC可以实时获取到当前的网络状态信息和对网络进行实时监控,提高了OFC对网络状态的敏感度、反应速度以及网络管理质量。
【IPC分类】H04L12/24, H04L12/26
【公开号】CN105490827
【申请号】CN201410474867
【发明人】王东晖, 李金明
【申请人】华为技术有限公司
【公开日】2016年4月13日
【申请日】2014年9月17日
【公告号】WO2016041341A1
转载请注明原文地址:https://www.famiwei.com/read-8913501.html

最新回复(0)