CN105556916A - 网络流的信息统计方法和装置 - Google Patents

网络流的信息统计方法和装置 Download PDF

Info

Publication number
CN105556916A
CN105556916A CN201480038251.7A CN201480038251A CN105556916A CN 105556916 A CN105556916 A CN 105556916A CN 201480038251 A CN201480038251 A CN 201480038251A CN 105556916 A CN105556916 A CN 105556916A
Authority
CN
China
Prior art keywords
network flow
packet
switching equipment
mark
flow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480038251.7A
Other languages
English (en)
Other versions
CN105556916B (zh
Inventor
苏金钊
王蛟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN105556916A publication Critical patent/CN105556916A/zh
Application granted granted Critical
Publication of CN105556916B publication Critical patent/CN105556916B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种网络流的信息统计方法和装置,通过交换设备接收数据包,根据数据包在交换设备中从入端口到出端口经过的所有的流表项,统计数据包所属的网络流的信息,由于同一个网络流数据包在交换设备中从入端口到出端口经过的所有的流表项相同,不同的网络流在交换设备中从入端口到出端口经过的所有的流表项不同,也就是,从入端口到出端口经过的所有的流表项能够唯一标识一条网络流,因此,根据数据包在交换设备中从入端口到出端口经过的所有的流表项,统计数据包所属的网络流的信息,能准确统计出交换设备转发每一条网络流的信息,提高交换设备对网络流的信息统计的准确性。

Description

网络流的信息统计方法和装置
技术领域
本发明实施例涉及通信技术, 尤其涉及一种网络流的信息统计方法和装 置。 背景技术
软件定义网络 (Software Defined Network, 以下简称: SDN) 的核心思 想是将网络控制转发逻辑和物理转发面分离, 网络控制转发逻辑由控制器执 行, 物理转发面由交换设备执行, 交换设备根据控制器下发的转发表项转发 数据包,控制器和交换设备之间最常用的协议称为(OpenFlow,以下简称: OF) 协议。 在 SDN中, 控制器能从全局视角掌控资源分配和网络流调度, 优化资 源利用率, 但是, 控制器如何得到 SDN中每条网络流的信息, 是一个至关重 要的问题。
现有技术中, 交换设备统计经过每个流表项的网络流的转发的包数、 字 节数、 流表项数目及时间相关信息。 OpenFlow标准通过在控制器和交换设备 间交互网络流统计请求消息和应答消息, 可以获得交换设备某张流表中匹配 域为指定字段的单条或多条流表项转发的包数、 字节数、 流表项数目及时间 相关信息。
然而, 由于同一流表项可能被多条网络流成功匹配, 因此流表项的统计 值是多条成功匹配该表项的网络流的汇聚值, 并非统计每条网络流的信息, 无法体现交换设备转发单条网络流的数据量, 从这些流表项的统计信息中也 无法计算得出每条网络流的信息; 而且同一条网络流有可能被交换设备中不 同流表的多条流表项匹配,导致交换设备对每条网络流的转发数据重复统计, 综上所述, 采用现有技术的方法, 交换设备对网络流的信息统计的准确性不 高。 发明内容
本发明实施例提供一种网络流的信息统计方法和装置, 提高交换设备对 网络流的信息统计的准确性。
本发明实施例第一方面提供一种网络流的信息统计方法, 包括: 交换设备接收数据包;
所述交换设备按照所述数据包在所述交换设备中从入端口到出端口 经过的所有流表项, 生成所述数据包所属的网络流的标识;
所述交换设备更新所述网络流的标识对应的网络流的信息。
结合第一方面, 在第一种可能的实现方式中, 所述交换设备按照所述 数据包在所述交换设备中从入端口到出端口经过的所有流表项, 生成所述 数据包所属的网络流的标识, 包括:
所述交换设备获取所述数据包在所述交换设备中从入端口到出端口 经过的所有流表项的标识;
所述交换设备根据所述数据包在所述交换设备中从入端口到出端口 经过的所有流表项的标识, 生成所述数据包的网络流的标识。
结合第一方面的第一种可能的实现方式, 在第二种可能的实现方式 中, 所述交换设备根据所述数据包在所述交换设备中从入端口到出端口经 过的所有流表项的标识, 生成所述数据包的网络流的标识, 包括:
所述交换设备将所述数据包在所述交换设备中从入端口到出端口经 过的所有流表项的标识依次排列, 生成所述数据包的网络流的标识。
结合第一方面, 在第三种可能的实现方式中, 所述交换设备更新所述 网络流的标识对应的网络流的信息之前, 还包括:
建立存储网络流的标识以及所述网络流的标识对应的网络流的信息 的存储空间。
结合第一方面的第三种可能的实现方式, 在第四种可能的实现方式 中, 所述交换设备更新所述网络流的标识对应的网络流的信息, 包括: 所述交换设备査找所述存储空间中是否存储有所述数据包所属的网 络流的标识;
若所述存储空间中有所述数据包所属的网络流的标识, 则更新所述网 络流的标识对应的网络流的信息。
结合第一方面的第四种可能的实现方式, 在第五种可能的实现方式 中, 所述方法还包括: 若所述存储空间中无所述数据包所属的网络流的标 识, 则在所述存储空间中添加所述网络流的标识, 并更新所述网络流的标 识对应的网络流的信息。
结合第一方面或第一方面的第一种至第五种可能的实现方式中任一 种可能的实现方式, 在第七种可能的实现方式中, 所述交换设备按照所述 数据包在所述交换设备中从入端口到出端口经过的所有流表项, 生成所述 数据包所属的网络流的标识之前, 还包括:
所述交换设备査看流表空间中是否存储有与所述数据包匹配的流表 项;
若流表空间中未存储有与所述数据包匹配的流表项, 所述交换设备则 将所述数据包发送给控制器, 以使所述控制器根据所述数据包生成与所述 数据包匹配的流表项;
所述交换设备接收所述控制器发送的与所述数据包匹配的流表项。 结合第一方面或第一方面的第一种至第六种可能的实现方式中任一 种可能的实现方式, 在第七种可能的实现方式中, 所述方法还包括:
所述交换设备接收控制器发送的査询网络流的信息的请求, 所述请求 中包含匹配域;
所述交换设备根据所述匹配域生成待査询的网络流的标识;
所述交换设备获取所述待査询的网络流的标识对应的网络流的信息; 所述交换设备将所述待査询的网络流的标识对应的网络流的信息发 送给所述控制器。
结合第一方面或第一方面的第一种至第七种可能的实现方式中任一 种可能的实现方式, 在第八种可能的实现方式中, 所述网络流的信息包括 下述至少一种信息:
所述交换设备转发所述网络流的数据包的数量;
所述交换设备转发所述网络流的数据包的大小;
所述交换设备转发所述网络流的数据包的平均大小;
所述交换设备转发所述网络流的数据包的间隔时间;
所述交换设备转发所述网络流的转发速率;
所述交换设备转发所述网络流的占用带宽。
本发明实施例第二方面提供一种网络流的信息统计装置, 包括: 数据包收发模块, 用于接收数据包;
网络流统计模块, 用于按照所述数据包在所述交换设备中从入端口到 出端口经过的所有流表项, 生成所述数据包所属的网络流的标识; 更新所 述网络流的标识对应的网络流的信息。
结合第二方面, 在第一种可能的实现方式中, 所述网络流统计模块, 包括:
第一获取单元, 用于获取所述数据包在所述交换设备中从入端口到出 端口经过的所有流表项的标识;
处理单元, 用于根据所述数据包在所述交换设备中从入端口到出端口 经过的所有流表项的标识, 生成所述数据包的网络流的标识。
结合第二方面的第一种可能的实现方式, 在第二种可能的实现方式 中, 所述处理单元具体用于将所述数据包在所述交换设备中从入端口到出 端口经过的所有流表项的标识依次排列, 生成所述数据包的网络流的标 识。
结合第二方面, 在第三种可能的实现方式中, 所述网络流统计模块, 还包括: 建立单元, 用于建立存储网络流的标识以及所述网络流的标识对 应的网络流的信息的存储空间。
结合第二方面的第三种可能的实现方式, 在第四种可能的实现方式 中, 所述网络流统计模块, 还包括:
査找单元, 用于査找所述存储空间中是否存储有所述数据包所属的网 络流的标识;
更新单元, 用于若所述存储空间中有所述数据包所属的网络流的标 识, 则更新所述网络流的标识对应的网络流的信息。
结合第二方面的第四种可能的实现方式, 在第五种可能的实现方式 中, 所述更新单元, 还用于若所述存储空间中无所述数据包所属的网络流 的标识, 则在所述存储空间中添加所述网络流的标识, 并更新所述网络流 的标识对应的网络流的信息。
结合第二方面或第二方面的第一种至第五种可能的实现方式中任一 种可能的实现方式, 在第六种可能的实现方式中, 还包括: 流表匹配模块 用于査看流表空间中是否存储有与所述数据包匹配的流表项; 若流表空间 中未存储有与所述数据包匹配的流表项, 则将所述数据包发送给控制器, 以使所述控制器根据所述数据包生成与所述数据包匹配的流表项; 接收所 述控制器发送的与所述数据包匹配的流表项。
结合第二方面或第二方面的第一种至第六种可能的实现方式中任一 种可能的实现方式, 在第七种可能的实现方式中, 所述网络流统计模块, 还包括:
接收单元, 用于接收控制器发送的査询网络流的信息的请求, 所述请 求中包含匹配域;
生成单元, 用于根据所述匹配域生成待査询的网络流的标识; 第二获取单元, 用于获取所述待査询的网络流的标识对应的网络流的
I Ή自、 .,
发送单元, 用于将所述待査询的网络流的标识对应的网络流的信息发 送给所述控制器。
结合第二方面或第二方面的第一种至第七种可能的实现方式中任一 种可能的实现方式, 在第八种可能的实现方式中, 所述网络流的信息包括 下述至少一种信息:
所述交换设备转发所述网络流的数据包的数量;
所述交换设备转发所述网络流的数据包的大小;
所述交换设备转发所述网络流的数据包的平均大小;
所述交换设备转发所述网络流的数据包的间隔时间;
所述交换设备转发所述网络流的转发速率;
所述交换设备转发所述网络流的占用带宽。
本发明实施例第三方面提供一种网络流的信息统计装置, 所述网络流 信息统计装置为交换设备, 所述交换设备包括: 处理器、 存储器、 通信接 口和总线, 其中, 所述处理器、 所述存储器和所述通信接口通过所述总线 通信;
所述交换设备还包括: 数据包收发模块和网络流统计模块, 其中, 所述数据包收发模块, 用于接收数据包;
所述网络流统计模块, 用于按照所述数据包在所述交换设备中从入端 口到出端口经过的所有流表项, 生成所述数据包所属的网络流的标识; 更 新所述网络流的标识对应的网络流的信息。
本发明实施例提供的网络流的信息统计方法和装置, 通过交换设备接收 数据包, 根据数据包在交换设备中从入端口到出端口经过的所有的流表项, 统计数据包所属的网络流的信息, 由于同一个网络流数据包在交换设备中从 入端口到出端口经过的所有的流表项相同, 不同的网络流在交换设备中从入 端口到出端口经过的所有的流表项不同, 也就是, 从入端口到出端口经过的 所有的流表项能够唯一标识一条网络流, 因此, 根据数据包在交换设备中从 入端口到出端口经过的所有的流表项, 统计数据包所属的网络流的信息, 能 准确统计出交换设备转发每一条网络流的信息, 提高交换设备对网络流的信 息统计的准确性。 附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面 描述中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。
图 1为本发明实施例应用场景示意图;
图 2为本发明实施例 SDN网络流的处理流程示意图;
图 3为本发明实施例控制器的结构示意图;
图 4为本发明实施例交换设备的结构示意图;
图 5为本发明网络流的信息统计方法实施例一的流程示意图; 图 6为本发明网络流的信息统计方法实施例二的流程示意图; 图 7为本发明二叉树的存储结构示意图;
图 8为本发明网络流的信息统计方法实施例三的流程示意图; 图 9为本发明网络流的信息统计装置实施例一的结构示意图; 图 10为本发明网络流的信息统计装置实施例二的结构示意图; 图 11为本发明网络流的信息统计装置实施例三的结构示意图。 具体实施方式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进 行清楚、完整地描述, 显然,所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没 有做出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的 范围。
本发明实施例的应用场景主要为 SDN, SDN主要由执行网络控制逻辑的 控制器和若干执行数据面转发的交换设备组成, 控制器和单个交换设备间通 过专用的物理连线或带内方式建立通信, 它们之间最常用的通信接口为 OF 协议, 本发明实施例的应用场景示意图如图 1所示, 图 1为本发明实施例应 用场景示意图, 在图 1 中, 控制器与交换设备之间的互联以虚线示出, 交换 设备之间的互联以实线示出。
SDN网络中交换设备除和控制器及其他交换设备互联外,还可能连接部分 终端设备, 终端设备承载了上层的网络业务。 在源终端设备上用户发起新业 务请求后, 源终端设备将网络流 (新业务的数据流) 首个数据包发送至其最 邻近的接入交换设备上, 由于交换设备的流表空间内并无针对该数据包的转 发表项, 交换设备尝试匹配失败, 在缓存首个数据包的同时将该首个数据包 封装为请示消息并上报至控制器 (在 OpenFlow协议中该请示消息称为 " Packetln消息" ) , 控制器査看首个数据包中的源网络协议 (Internet Protocol , 以下简称: IP ) 地址、 目的 IP地址、 Vlan域值等信息, 依据当前 的路由策略, 为该首个数据包所属的网络流计算最优路径, 并向最优路径上 的交换设备下发流表项修改消息 (在 0penFlO 办议中为该流表项修改该消息 称为 "FlowMod消息" ) , 收到 FlowMod消息的交换设备, 依据控制器下发的 FlowMod消息中的指令在自身流表内添加、删除或更新对应流表项, 并在收到 同一个网络流的数据包后, 査找流表空间并依据匹配的流表项的指令完成报 文在数据面的转发。 网络流的处理流程如图 2所示, 图 2为本发明实施例 SDN 网络流的处理流程示意图, 其中, 网络流的首个数据包从源终端设备到目的 终端设备的处理流程如带箭头实线所示, 箭头实线旁的序号表明对首个数据 包处理的先后顺序。
本发明实施例是通过根据数据包在一个交换设备中从入端口到出端 口经过的所有的流表项来来标识一条网络流, 由于同一个网络流数据包在 交换设备中从入端口到出端口经过的所有的流表项相同, 不同的网络流在交 换设备中从入端口到出端口经过的所有的流表项不同, 因此, 根据数据包在 一个交换设备中从入端口到出端口经过的所有的流表项来生成的网络流 的标识能够唯一标识一条网络流, 基于上述网络流的标识统计数据包所属 的网络流的信息, 能准确统计出交换设备转发每一条网络流的信息, 提高交 换设备对网络流的信息统计的准确性。
本发明实施例涉及的控制器如图 3所示, 图 3为本发明实施例控制器的结 构示意图, 控制器一般运行在硬件配置较高的服务器上, 采用通用的体系架 构, 通过网络适配器与外部的交换设备通信。 控制器主要包括消息收发、 交 换设备配置管理、 拓扑发现、 链路管理、 设备管理等模块, 为了保存从交换 设备收集到的网络状态信息, 需要维护网络信息库 (Network Information Base, 以下简称: NIB ) , 以方便上层的控制程序基于实时的 NIB做出最优决 策。
本发明实施例涉及的交换设备的结构如图 4所示, 图 4为本发明实施 例交换设备的结构示意图, 它的硬件部分包含处理器、 存储器件、 专用硬 件电路、 网络适配器以及其他外设等, 交换设备通过网络适配器与控制器 交互, 利用静态随机访问存储器 (Static Random Access Memory, 以下简 称: SRAM )、三态内容寻址存储器(Ternary Content Addressable Memory, 以下简称: TCAM ) 等存储器件保存交换设备的流表空间等。 软件部分除 包含数据包收发、流表匹配模块外,本发明实施例新增了网络流统计模块, 主要用于存储和维护网络流的标识以及与网络流的信息的映射, 具体地, 流表匹配模块对数据包收发模块收到的数据包进行流表项的匹配, 网络流 统计模块根据流表匹配模块的匹配结果存储和维护网络流标识, 并根据流 表匹配模块的匹配结果统计网络流的信息。 其中, 网络流的信息包含下述 至少一种信息: 交换设备转发网络流的数据包的数量; 交换设备转发网络 流的数据包的大小; 交换设备转发网络流的数据包的平均大小; 交换设备 转发网络流的数据包的间隔时间; 交换设备转发网络流的转发速率; 交换 设备转发网络流的占用带宽等。
下面以具体地实施例对本发明的技术方案进行详细说明。 下面这几个 具体的实施例可以相互结合, 对于相同或相似的概念或过程可能在某些实 施例不再赘述。 本发明各实施例中的交换设备指 OF交换设备。 图 5为本发明网络流的信息统计方法实施例一的流程示意图, 如图 5 所示, 本实施例的执行主体为交换设备, 本实施例的方法如下:
S501 : 交换设备接收数据包。
交换设备接收的数据包可能来自于终端设备, 也可能来自于其他的转 发设备。
具体地, 该歩骤可以由图 4中的数据包收发模块执行。
S502: 交换设备按照数据包在交换设备中从入端口到出端口经过的所 有流表项, 生成数据包所属的网络流的标识。
具体地, 交换设备获取所述数据包在所述交换设备中从入端口到出端 口经过的所有流表项的标识; 交换设备根据所述数据包在所述交换设备中 从入端口到出端口经过的所有流表项的标识, 生成所述数据包的网络流的 标识。
S503 : 交换设备更新网络流的标识对应的网络流的信息。
交换设备接收到数据包之后, 交换设备的流表匹配模块在流表空间中 査找与上述数据包匹配的流表项, 按照匹配的流表项中的指令转发数据 包, 交换设备的网络流统计模块根据数据包在交换设备中从入端口到出端 口经过的所有的流表项标识上述数据包所属的网络流, 并统计上述网络流 的信息。
具体地, 网络流的信息包含下述至少一种信息: 交换设备转发网络流 的数据包的数量; 交换设备转发网络流的数据包的大小; 交换设备转发网 络流的数据包的平均大小; 交换设备转发网络流的数据包的间隔时间; 交 换设备转发网络流的转发速率; 交换设备转发网络流的占用带宽等。 举例 来说, 假设, 交换设备将数据包在所述交换设备中从入端口到出端口经过 的所有流表项的标识依次排列, 生成所述数据包的网络流的标识。 数据包 在交换设备中从入端口到出端口经过的所有的流表项分别为流表 1的表项 1、 流表 2的表项 2和流表 3的表项 3, 假设 " 011 " 为流表 1的表项 1的 标识, " 022 "为流表 2的表项 2的标识, " 033 "为流表 3的表项 3的标 识, 则生成数据包所属的网络流的标识为 " 011022033 " , 网络流的信息 为交换设备转发网络流的数据包的大小和交换设备转发网络流的数据包 的平均大小, 则, 根据该数据包的大小统计交换设备转发网络流的数据包 的大小, 具体为, 假设接收数据包之前, 最近一次统计的交换设备转发网 络流标识为 "011022033" 的流的数据包的总的大小为 10M, 交换设备本 次转发的网络流标识为 "011022033"的流的数据包的大小为 2M, 则将交 换设备转发网络流标识为 "011022033" 的流的数据包的大小更改为 12M (10M+2M) 。 在另外一种实现场景中, 假设交换设备 3次转发网络流标 识为 "011022033" 的流的数据包的总的大小为 10M, 则接收数据包之前 最近一次统计的交换设备转发网络流标识为 "011022033" 的流的数据包 的平均大小为 (10/3) M, 如果交换设备本次转发的网络流标识为
"011022033"的流的数据包的大小为 2M, 也就是, 交换设备 4次转发的 网络流标识为 "011022033" 的流的数据包的总大小为 12M, 则交换设备 转发网络网络流标识为 "011022033"的流的数据包的平均大小更新为 3M ( (10+2) /4) M。 对于其他网络流信息的统计与此类似, 在此不再赘述。
本实施例中, 通过交换设备接收数据包, 根据数据包在交换设备中从入 端口到出端口经过的所有的流表项, 统计数据包所属的网络流的信息, 由于 同一个网络流数据包在交换设备中从入端口到出端口经过的所有流表项相 同,不同的网络流在交换设备中从入端口到出端口经过的所有的流表项不同, 也就是, 从入端口到出端口经过的所有的流表项能够唯一标识一条网络流, 因此, 根据数据包在交换设备中从入端口到出端口经过的所有的流表项, 统 计数据包所属的网络流的信息, 能准确统计出交换设备转发每一条网络流的 信息, 提高交换设备对网络流的信息统计的准确性。
图 6为本发明网络流的信息统计方法实施例二的流程示意图, 如图 6 所示, 本实施例的执行主体为交换设备, 本实施例的方法如下:
S601: 交换设备接收数据包。
该歩骤具体地可由交换设备的数据包收发模块执行。
S602: 交换设备査看流表空间中是否存储有与数据包匹配的流表项。 若否, 执行 S603, 若是, 执行 S605。
交换设备的流表匹配模块査看流表空间中是否存储有与数据包匹配 的流表项, 流表空间中包含多个流表, 每个流表中存储有多个流表项, 不 同的流表具有不同的匹配域, 如果数据包为一个网络流的首个数据包, 通 常第一个接收该数据包的流表空间中不会存储有与数据包匹配的流表项, 则执行 S603 ; 如果交换设备的流表空间中存储有与数据包匹配的流表项, 则执行 S605。
S603 : 交换设备将数据包发送给控制器, 以使控制器根据数据包生成 与上述数据包匹配的流表项。
交换设备中与控制器交互的通信模块将数据包封装为 " Packetln消息" 上报至控制器。 控制器根据数据包生成与上述数据包匹配的流表项之后, 通过 " FlowMod消息" 发送给交换设备。
S604: 交换设备接收控制器发送的与数据包匹配的流表项。
交换设备的数据包收发模块接收控制器发送的与数据包匹配的流表 项, 交换设备的流表匹配模块在自身的流表空间内安装与数据包匹配的流 表项。
S605 : 交换设备按照数据包在交换设备中从入端口到出端口经过的所 有的流表项, 生成数据包所属的网络流的标识。
交换设备的流表匹配模块根据上述数据包匹配的流表项的指令将上 述数据包从入端口到出端口转发出去, 交换设备的网络流统计模块按照数 据包在交换设备中从入端口到出端口经过的所有的流表项, 生成数据包所 属的网络流的标识。
网络流的标识也称为 (FlowID ) , 数据包所属的网络流的标识是依据 数据包在交换设备中从入端口到出端口经过的流表项对应地段编码组成 的, 网络流的标识的格式如表 1所示:
表 1 网络流的标识的格式
段编码数 N等于交换设备中的流表的数目,每个段编码的值等于流表 项在所处的流表内的相对位置信息, 该位置信息可以为序号, 相对表头偏 移量、 Cookie或者匹配域的哈希 (Hash )值等, 对此, 本发明实施例不作 限制。
以位置信息为流表项在流表中的序号为例来举例说明: 数据包在交换 设备的转发过程中, 会依次匹配由交换机内若干流表组成的流水线处理, 但数据包可能跳过某张流表或者经中间某张流表处理后从交换机的某个 端口上离开交换设备, 若数据包在交换设备的转发过程中只使用了交换设 备的部分流表,则没有使用的流表对应的段编码由特殊字符(例如: "#,,) 填充, 一个交换设备的流表空间内有 4个流表, 其中, 一个数据流一次通 过流表 1的第 2条流表项、 流表 2的第 3条流表项, 然后直接跳转到流表
4的第 1条流表项离开该交换设备, 则, 该数据包所属的网络流的标识可 以记为: "0102###00", 其中, "01"表示流表 1的第 2条流表项, "02" 表示流表 2的第 3条流表项; "###"表示不经过流表 3, "00"表示流表
4的第 1条流表项; 其中, 具体地每个流表的段编码通过几个比特来表示, 与该流表能够存储的流表项的多少有关。
再以位置信息为 Cookie为例来举例说明: Cookie是由控制器在下发 (FlowMod) 消息增加流表项时, 为新增流表项指定的标识, 网络流的标 nJ il H {H3{H2{Hx{Cookie\ Cookie2),-\ CookieA)† ,其中 H H2、 H3、 H4 分别为 cookie的哈希 (Hash) 函数, -1表示没有使用第三个流表的流表项。 再以位置信息为匹配域的哈希值为例来举例说明, 则网络流的标识可 通过 Η {Η32λ{\,00 :IB:21:CC:ED: C3),192.168.0.1,6843),0),192.168.0.2.7652) 计 算, 同样 H,、 H2、 H3、 H4为四个匹配域的哈希 (Hash) 函数。 本发明实施例确定或者生成网络流的标识的方法包括但不限于上述 几种方法, 只要是依据数据包在交换设备中从入端口到出端口经过的流表 项生成的即可, 对此, 本发明实施例不作限制。
S606: 交换设备更新所述网络流的标识对应的网络流的信息。
具体地, 交换设备的网络流统计模块査找存储空间中是否存储有数据 包所属的网络流的标识。 若存储空间中有数据包所属的网络流的标识, 则 更新网络流的标识对应的网络流的信息。 若存储空间中无数据包所属的网 络流的标识, 则在存储空间中添加网络流的标识, 并更新网络流的标识对 应的网络流的信息。 具体如何更新网络流的标识对应的网络流的信息可以 参见 S502的详细描述, 在此不再赘述。
需要说明的是, 在上述实施例中, 交换设备更新所述网络流的标识对 应的网络流的信息之前, 还包括: 建立存储网络流的标识以及所述网络流 的标识对应的网络流的信息的存储空间。 存储网络流的标识以及网络流的标识对应的网络流的信息的存储空 间可以为表格、 二叉树等。 表格如表 2所示:
表 2
也可以以二叉树形式存储, 在以二叉树存储的存储空间中, 网络流的 标识为树中节点的键 (Key ) 域, 网络流的信息为数据中节点时间保存的 数据(data)域,对二叉树动态插入、删除、査找时间复杂度均为 0 ( IgN ), 其中 N为交换设备转发的网络流的数目。
收到新的数据包之后, 若存储网络流的标识以及网络流的标识对应的 网络流的信息的存储空间中不包含网络流的标识, 则在存储空间中插入新 的网络流的标识, 并更新网络流的信息, 若存储网络流的标识以及所述网 络流的标识对应的网络流的信息的存储空间中包含网络流的标识, 则直接 更新网络流的信息。
为便于网络流的信息的査找与存储, 本发明实施例通过对网络流的大 小关系进行规定, 可以将网络流的标识按照大小顺序进行存储, 从而减小 网络流的信息的存储和査找的复杂度, 使得网络流信息的査找与存储更加 方便, 网络流的标识的大小关系可以遵循如下几个原则:
1、 所有网络流的网络流的标识长度相等; 2、 同一个流表内段编码为 特殊字符 (例如: "#" ) 的小于任意有效段编码; 同一流表内段编码较 大的网络流的标识也越大; 3、 网络流的标识的第一个段编码 (对应第一 个流表) 权重最高, 最后一个段编码 (对应最后一张流表) 权重最低, 段 编码权重随 pipeline中流表编号增加依次降低。
假设有 4个网络流的标识如表 3所
那么依据上述原则, 则 4个网络流的标识的大小关系如下: m , 在二叉树中的存储结构可以如图 7所示, 图 7为本发明二叉 树的存储结构示意图。 本实施例中, 通过交换设备接收数据包, 査看流表空间中是否存储有 与数据包匹配的流表项, 如果存储有与数据包匹配的流表项, 则按照数据 包在交换设备中从入端口到出端口经过的所有的流表项, 确定数据包所属 的网络流的标识, 并更新网络流的标识对应的网络流的信息。 如果未存储 有数据包匹配的流表项, 则交换设备将数据包发送给控制器, 以使控制器 根据数据包生成与数据包匹配的流表项, 通过接收控制器发送的与数据包 匹配的流表项, 交换设备按照数据包在交换设备中从入端口到出端口经过 的所有的流表项, 确定数据包所属的网络流的标识, 并更新网络流的标识 对应的网络流的信息。 由于同一个网络流数据包在交换设备中从入端口到出 端口经过的所有的流表项相同, 不同的网络流在交换设备中从入端口到出端 口经过的所有的流表项不同, 也就是, 从入端口到出端口经过的所有的流表 项能够唯一标识一条网络流, 因此, 根据数据包在交换设备中从入端口到出 端口经过的所有的流表项, 统计数据包所属的网络流的信息, 能准确统计出 交换设备转发每一条网络流的信息, 提高交换设备对网络流的信息统计的准 确性。
图 8为本发明网络流的信息统计方法实施例三的流程示意图, 图 8所 示实施例是在图 5或图 6所示实施例的基础上, 控制器从交换设备中获取 网络流的信息的过程, 如图 8所示, 本实施例的方法如下:
S801 : 交换设备接收控制器发送的査询网络流的信息的请求。
其中, 上述请求中包含匹配域。
该歩骤由交换设备中与控制器交互的通信模块执行。
S802: 交换设备根据匹配域生成待査询的网络流的标识。
交换设备的流表匹配模块根据请求中包含的匹配域与每个流表进行 匹配, 网络流统计模块根据依次匹配上的流表项生成待査询的网络流的标 识。 该方法与 S605的方法类似, 在此不再赘述。
S803 : 交换设备获取待査询的网络流的标识对应的网络流的信息。 交换设备的网络流统计模块从存储网络流的标识以及所述网络流的 标识对应的网络流的信息的存储空间中査询与待査询的网络流的标识对 应的网络流的信息。
与待査询的网络流的标识匹配的网络流可能为一条也可能为多条。
S804: 交换设备将待査询的网络流的标识对应的网络流的信息发送给 控制器。
具体地, 交换设备中与控制器交互的通信模块将待査询的网络流的标 识对应的网络流的信息发送给控制器。
与待査询的网络流的标识对应的网络流的信息可以包含匹配的网络 流的数目, 以及匹配的每个网络流的信息。
本实施例中, 控制器通过在请求消息中携带指定的匹配域的信息, 使 交换设备根据匹配域的信息生成待査询的网络流的标识, 并在存储空间中 査询与上述待査询的网络流的标识对应的网络流的信息, 将待査询的网络 流的标识对应的网络流的信息发送给控制器。 从而, 使控制器可以准确获 知网络中各交换设备的转发的网络流的信息。控制器也可以将获取到的网 络流的信息以 API形式提供给上层应用,可做进一歩网络流统计信息聚合 或采取相应策略。
图 9为本发明网络流的信息统计装置实施例一的结构示意图, 本实施 例的装置包括数据包收发模块 901和网络流统计模块 902, 其中, 数据包 收发模块 901用于接收数据包; 网络流统计模块 902用于按照上述数据包 在上述交换设备中从入端口到出端口经过的所有流表项, 生成上述数据包 所属的网络流的标识; 更新上述网络流的标识对应的网络流的信息。
在上述实施例中, 所述网络流统计模块 902进一歩地包括第一获取单 元和处理单元, 其中, 第一获取单元, 用于获取所述数据包在所述交换设 备中从入端口到出端口经过的所有流表项的标识; 处理单元, 用于根据所 述数据包在所述交换设备中从入端口到出端口经过的所有流表项的标识, 生成所述数据包的网络流的标识。
在上述实施例中, 所述处理单元具体用于将所述数据包在所述交换设 备中从入端口到出端口经过的所有流表项的标识依次排列, 生成所述数据 包的网络流的标识。
在上述实施例中,所述网络流统计模块 902进一歩地还包括建立单元, 建立单元用于建立存储网络流的标识以及所述网络流的标识对应的网络 流的信息的存储空间。
在上述实施例中, 所述网络流统计模块, 进一歩地还包括: 査找单元, 用于査找所述存储空间中是否存储有所述数据包所属的网络流的标识; 更 新单元, 用于若所述存储空间中有所述数据包所属的网络流的标识, 则更 新所述网络流的标识对应的网络流的信息。
在上述实施例中, 所述更新单元还用于若所述存储空间中无所述数据 包所属的网络流的标识, 则在所述存储空间中添加所述网络流的标识, 并 更新所述网络流的标识对应的网络流的信息。
上述实施例中, 通过数据包收发模块接收数据包, 网络流统计模块根据 数据包在交换设备中从入端口到出端口经过的所有的流表项, 统计数据包所 属的网络流的信息, 由于同一个网络流数据包在交换设备中从入端口到出端 口经过的所有流表项相同, 不同的网络流在交换设备中从入端口到出端口经 过的所有的流表项不同, 也就是, 从入端口到出端口经过的所有的流表项能 够唯一标识一条网络流, 因此, 根据数据包在交换设备中从入端口到出端口 经过的所有的流表项, 统计数据包所属的网络流的信息, 能准确统计出交换 设备转发每一条网络流的信息,提高交换设备对网络流的信息统计的准确性。
图 10为本发明网络流的信息统计装置实施例二的结构示意图, 图 10 是在图 9所示实施例的基础上, 进一歩地还包括流表匹配模块 903, 流表 匹配模块 903用于査看流表空间中是否存储有与上述数据包匹配的流表 项; 若流表空间中未存储有与上述数据包匹配的流表项, 则将上述数据包 发送给控制器, 以使上述控制器根据上述数据包生成与上述数据包匹配的 流表项; 接收上述控制器发送的与上述数据包匹配的流表项。
在上述实施例中, 网络流统计模块 902还包括接收单元、 生成单元、 第二获取单元和发送单元, 其中, 接收单元, 用于接收控制器发送的査询 网络流的信息的请求, 所述请求中包含匹配域; 生成单元, 用于根据所述 匹配域生成待査询的网络流的标识; 第二获取单元, 用于获取所述待査询 的网络流的标识对应的网络流的信息; 发送单元, 用于将所述待査询的网 络流的标识对应的网络流的信息发送给所述控制器。
在上述实施例中, 所述处理单元具体用于将所述数据包在所述交换设 备中从入端口到出端口经过的所有流表项的标识依次排列, 生成所述数据 包的网络流的标识。
在上述实施例中, 所述网络流统计模块 902还包括: 建立单元, 用于 建立存储网络流的标识以及所述网络流的标识对应的网络流的信息的存 储空间。
在上述实施例中, 所述网络流统计模块 902还包括査找单元和更新单 元, 其中, 査找单元, 用于査找所述存储空间中是否存储有所述数据包所 属的网络流的标识; 更新单元, 用于若所述存储空间中有所述数据包所属 的网络流的标识, 则更新所述网络流的标识对应的网络流的信息。
在上述实施例中, 更新单元还用于若所述存储空间中无所述数据包所 属的网络流的标识, 则在所述存储空间中添加所述网络流的标识, 并更新 所述网络流的标识对应的网络流的信息。
在上述实施例中, 流表匹配模块 903还用于査看流表空间中是否存储 有与所述数据包匹配的流表项; 若流表空间中未存储有与所述数据包匹配 的流表项, 则将所述数据包发送给控制器, 以使所述控制器根据所述数据 包生成与所述数据包匹配的流表项; 接收所述控制器发送的与所述数据包 匹配的流表项。
上述实施例, 通过数据包收发模块接收数据包, 流表匹配模块査看流 表空间中是否存储有与数据包匹配的流表项, 如果存储有与数据包匹配的 流表项, 则网络流统计模块按照数据包在交换设备中从入端口到出端口经 过的所有的流表项, 确定数据包所属的网络流的标识, 并更新网络流的标 识对应的网络流的信息。 如果未存储有数据包匹配的流表项, 则流表匹配 模块将数据包发送给控制器, 以使控制器根据数据包生成与数据包匹配的 流表项, 通过接收控制器发送的与数据包匹配的流表项, 网络流统计模块 按照数据包在交换设备中从入端口到出端口经过的所有的流表项, 确定数 据包所属的网络流的标识, 并更新网络流的标识对应的网络流的信息。 由 于同一个网络流数据包在交换设备中从入端口到出端口经过的所有的流表项 相同, 不同的网络流在交换设备中从入端口到出端口经过的所有的流表项不 同, 也就是, 从入端口到出端口经过的所有的流表项能够唯一标识一条网络 流, 因此, 根据数据包在交换设备中从入端口到出端口经过的所有的流表项, 统计数据包所属的网络流的信息, 能准确统计出交换设备转发每一条网络流 的信息, 提高交换设备对网络流的信息统计的准确性。
在上述实施例中, 网络流统计模块 902还包括接收单元、 生成单元、 第二获取单元和发送单元, 其中, 接收单元用于接收控制器发送的査询网 络流的信息的请求, 所述请求中包含匹配域; 生成单元用于根据所述匹配 域生成待査询的网络流的标识; 第二获取单元用于获取所述待査询的网络 流的标识对应的网络流的信息; 发送单元用于将所述待査询的网络流的标 识对应的网络流的信息发送给所述控制器。
在上述实施例中, 所述网络流的信息包括下述至少一种信息: 所述交 换设备转发所述网络流的数据包的数量; 所述交换设备转发所述网络流的 数据包的大小; 所述交换设备转发所述网络流的数据包的平均大小; 所述 交换设备转发所述网络流的数据包的间隔时间; 所述交换设备转发所述网 络流的转发速率; 所述交换设备转发所述网络流的占用带宽。
上述实施例, 控制器通过在请求消息中携带指定的匹配域的信息, 使 网络流统计模块根据匹配域的信息生成待査询的网络流的标识, 并在存储 空间中査询与上述待査询的网络流的标识对应的网络流的信息, 将待査询 的网络流的标识对应的网络流的信息发送给控制器。 从而, 使控制器可以 准确获知网络中各交换设备的转发的网络流的信息。 控制器也可以将获取 到的网络流的信息以 API形式提供给上层应用,可做进一歩网络流统计信 息聚合或采取相应策略。
图 11为本发明网络流的信息统计装置实施例三的结构示意图,本实施 例的网络流的信息统计装置为交换设备, 如图 11所示, 上述交换设备至少包 括: 处理器 1101、 存储器 1102、 通信接口 1103和总线 1104。 其中, 所述处 理器 1101、 所述存储器 1102和所述通信接口 1103通过所述总线 1104通信。
所述交换设备还包括: 数据包收发模块和网络流统计模块, 其中, 所述数据包收发模块 1105用于接收数据包;
所述网络流统计模块 1106 用于按照所述数据包在所述交换设备中从入端 口到出端口经过的所有流表项生成所述数据包所属的网络流的标识; 更新所述 网络流的标识对应的网络流的信息。
本发明实施例还提供一种计算机可读介质, 包含计算机执行指令, 所述 计算机执行指令用于交换设备执行本发明网络流的信息统计方法实施例一 至实施例三中任一实施例所述的方法。
本领域普通技术人员可以理解: 实现上述各方法实施例的全部或部分 歩骤可以通过程序指令相关的硬件来完成。 前述的程序可以存储于一计算 机可读取存储介质中。 该程序在执行时, 执行包括上述各方法实施例的歩 骤; 而前述的存储介质包括: ROM、 RAM, 磁碟或者光盘等各种可以存 储程序代码的介质。
最后应说明的是: 以上各实施例仅用以说明本发明的技术方案, 而非对 其限制; 尽管参照前述各实施例对本发明进行了详细的说明, 本领域的普通 技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征进行等同替换; 而这些修改或者替换, 并 不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (18)

  1. 权 利 要 求 书
    1、 一种网络流的信息统计方法, 其特征在于, 包括:
    交换设备接收数据包;
    所述交换设备按照所述数据包在所述交换设备中从入端口到出端口 经过的所有流表项, 生成所述数据包所属的网络流的标识;
    所述交换设备更新所述网络流的标识对应的网络流的信息。
  2. 2、 根据权利要求 1所述的方法, 其特征在于, 所述交换设备按照所 述数据包在所述交换设备中从入端口到出端口经过的所有流表项, 生成所 述数据包所属的网络流的标识, 包括:
    所述交换设备获取所述数据包在所述交换设备中从入端口到出端口 经过的所有流表项的标识;
    所述交换设备根据所述数据包在所述交换设备中从入端口到出端口 经过的所有流表项的标识, 生成所述数据包的网络流的标识。
  3. 3、 根据权利要求 2所述的方法, 其特征在于, 所述交换设备根据所 述数据包在所述交换设备中从入端口到出端口经过的所有流表项的标识, 生成所述数据包的网络流的标识, 包括:
    所述交换设备将所述数据包在所述交换设备中从入端口到出端口经 过的所有流表项的标识依次排列, 生成所述数据包的网络流的标识。
  4. 4、 根据权利要求 1所述的方法, 其特征在于, 所述交换设备更新所 述网络流的标识对应的网络流的信息之前, 还包括:
    建立存储网络流的标识以及所述网络流的标识对应的网络流的信息 的存储空间。
  5. 5、 根据权利要求 4所述的方法, 其特征在于, 所述交换设备更新所 述网络流的标识对应的网络流的信息, 包括:
    所述交换设备査找所述存储空间中是否存储有所述数据包所属的网 络流的标识;
    若所述存储空间中有所述数据包所属的网络流的标识, 则更新所述网 络流的标识对应的网络流的信息。
  6. 6、 根据权利要求 5所述的方法, 其特征在于, 还包括: 若所述存储 空间中无所述数据包所属的网络流的标识, 则在所述存储空间中添加所述 网络流的标识, 并更新所述网络流的标识对应的网络流的信息。
  7. 7、 根据权利要求 1~6任一项所述的方法, 其特征在于, 所述交换设 备按照所述数据包在所述交换设备中从入端口到出端口经过的所有流表 项, 生成所述数据包所属的网络流的标识之前, 还包括:
    所述交换设备査看流表空间中是否存储有与所述数据包匹配的流表 项;
    若流表空间中未存储有与所述数据包匹配的流表项, 所述交换设备则 将所述数据包发送给控制器, 以使所述控制器根据所述数据包生成与所述 数据包匹配的流表项;
    所述交换设备接收所述控制器发送的与所述数据包匹配的流表项。
  8. 8、 根据权利要求 1~7任一项所述的方法, 其特征在于, 还包括: 所述交换设备接收控制器发送的査询网络流的信息的请求, 所述请求 中包含匹配域;
    所述交换设备根据所述匹配域生成待査询的网络流的标识;
    所述交换设备获取所述待査询的网络流的标识对应的网络流的信息; 所述交换设备将所述待査询的网络流的标识对应的网络流的信息发 送给所述控制器。
  9. 9、 根据权利要求 1~8任一项所述的方法, 其特征在于, 所述网络流 的信息包括下述至少一种信息:
    所述交换设备转发所述网络流的数据包的数量;
    所述交换设备转发所述网络流的数据包的大小;
    所述交换设备转发所述网络流的数据包的平均大小;
    所述交换设备转发所述网络流的数据包的间隔时间;
    所述交换设备转发所述网络流的转发速率;
    所述交换设备转发所述网络流的占用带宽。
  10. 10、 一种网络流的信息统计装置, 其特征在于, 包括:
    数据包收发模块, 用于接收数据包;
    网络流统计模块, 用于按照所述数据包在所述交换设备中从入端口到 出端口经过的所有流表项, 生成所述数据包所属的网络流的标识; 更新所 述网络流的标识对应的网络流的信息。 11、 根据权利要求 10所述的装置, 其特征在于, 所述网络流统计模 块, 包括:
    第一获取单元, 用于获取所述数据包在所述交换设备中从入端口到出 端口经过的所有流表项的标识;
    处理单元, 用于根据所述数据包在所述交换设备中从入端口到出端口 经过的所有流表项的标识, 生成所述数据包的网络流的标识。
  11. 12、 根据权利要求 11所述的装置, 其特征在于, 所述处理单元具体 用于将所述数据包在所述交换设备中从入端口到出端口经过的所有流表 项的标识依次排列, 生成所述数据包的网络流的标识。
  12. 13、 根据权利要求 10所述的装置, 其特征在于, 所述网络流统计模 块, 还包括: 建立单元, 用于建立存储网络流的标识以及所述网络流的标 识对应的网络流的信息的存储空间。
  13. 14、 根据权利要求 13所述的装置, 其特征在于, 所述网络流统计模 块, 还包括:
    査找单元, 用于査找所述存储空间中是否存储有所述数据包所属的网 络流的标识;
    更新单元, 用于若所述存储空间中有所述数据包所属的网络流的标 识, 则更新所述网络流的标识对应的网络流的信息。
  14. 15、 根据权利要求 14所述的装置, 其特征在于, 所述更新单元还用 于若所述存储空间中无所述数据包所属的网络流的标识, 则在所述存储空 间中添加所述网络流的标识, 并更新所述网络流的标识对应的网络流的信 息。
  15. 16、 根据权利要求 10~15任一项所述的装置, 其特征在于, 流表匹配 模块还用于査看流表空间中是否存储有与所述数据包匹配的流表项; 若流 表空间中未存储有与所述数据包匹配的流表项, 则将所述数据包发送给控 制器, 以使所述控制器根据所述数据包生成与所述数据包匹配的流表项; 接收所述控制器发送的与所述数据包匹配的流表项。
  16. 17、 根据权利要求 10~16任一项所述的装置, 其特征在于, 所述网络 流统计模块, 还包括:
    接收单元, 用于接收控制器发送的査询网络流的信息的请求, 所述请 求中包含匹配域;
    生成单元, 用于根据所述匹配域生成待査询的网络流的标识; 第二获取单元, 用于获取所述待査询的网络流的标识对应的网络流的
    I Ή自、 .,
    发送单元, 用于将所述待査询的网络流的标识对应的网络流的信息发 送给所述控制器。
  17. 18、 根据权利要求 10~17任一项所述的装置, 其特征在于, 所述网络 流的信息包括下述至少一种信息:
    所述交换设备转发所述网络流的数据包的数量;
    所述交换设备转发所述网络流的数据包的大小;
    所述交换设备转发所述网络流的数据包的平均大小;
    所述交换设备转发所述网络流的数据包的间隔时间;
    所述交换设备转发所述网络流的转发速率;
    所述交换设备转发所述网络流的占用带宽。
  18. 19、 一种网络流的信息统计装置, 所述网络流信息统计装置为交换设 备, 其特征在于, 所述交换设备包括: 处理器、 存储器、 通信接口和总线, 其中, 所述处理器、 所述存储器和所述通信接口通过所述总线通信;
    所述交换设备还包括: 数据包收发模块和网络流统计模块, 其中, 所述数据包收发模块, 用于接收数据包;
    所述网络流统计模块, 用于按照所述数据包在所述交换设备中从入端 口到出端口经过的所有流表项, 生成所述数据包所属的网络流的标识; 更 新所述网络流的标识对应的网络流的信息。
CN201480038251.7A 2014-08-25 2014-08-25 网络流的信息统计方法和装置 Active CN105556916B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/085108 WO2016029345A1 (zh) 2014-08-25 2014-08-25 网络流的信息统计方法和装置

Publications (2)

Publication Number Publication Date
CN105556916A true CN105556916A (zh) 2016-05-04
CN105556916B CN105556916B (zh) 2019-03-08

Family

ID=55398563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480038251.7A Active CN105556916B (zh) 2014-08-25 2014-08-25 网络流的信息统计方法和装置

Country Status (4)

Country Link
US (1) US9973400B2 (zh)
EP (1) EP3179687B1 (zh)
CN (1) CN105556916B (zh)
WO (1) WO2016029345A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109474540A (zh) * 2018-09-12 2019-03-15 北京奇安信科技有限公司 一种识别opc流量的方法及装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10135670B2 (en) * 2014-12-22 2018-11-20 Hewlett Packard Enterprise Development Lp Response to an inoperative network device managed by a controller
US10033638B1 (en) * 2015-05-29 2018-07-24 Netronome Systems, Inc. Executing a selected sequence of instructions depending on packet type in an exact-match flow switch
US10243778B2 (en) * 2015-08-11 2019-03-26 Telefonaktiebolaget L M Ericsson (Publ) Method and system for debugging in a software-defined networking (SDN) system
CN107547293B (zh) * 2016-06-29 2020-09-08 新华三技术有限公司 一种流路径探测方法和装置
US10623308B2 (en) * 2017-02-17 2020-04-14 Dell Products L.P. Flow routing system
US11431829B2 (en) 2019-03-06 2022-08-30 Parsons Corporation Multi-tiered packet processing
CN111130946B (zh) * 2019-12-30 2022-03-25 联想(北京)有限公司 一种深度报文识别的加速方法、装置和存储介质
US20230318958A1 (en) * 2022-03-29 2023-10-05 Cisco Technology, Inc. End-to-end flow visibility in a data network including service appliances

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007336512A (ja) * 2006-05-18 2007-12-27 Alaxala Networks Corp 統計情報収集システム及び統計情報収集装置
US20130176888A1 (en) * 2010-10-15 2013-07-11 Kazushi Kubota Switch system, and monitoring centralized control method
WO2013133400A1 (ja) * 2012-03-09 2013-09-12 日本電気株式会社 制御装置、通信システム、スイッチ制御方法及びプログラム
CN103314557A (zh) * 2011-01-17 2013-09-18 日本电气株式会社 网络系统、控制器、交换机和业务监控方法
US20140146674A1 (en) * 2012-11-29 2014-05-29 Futurewei Technologies, Inc. Packet Prioritization in a Software-Defined Network Implementing OpenFlow

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101321088A (zh) * 2008-07-18 2008-12-10 北京星网锐捷网络技术有限公司 一种统计ip数据流信息的方法及装置
JP5660049B2 (ja) * 2009-12-17 2015-01-28 日本電気株式会社 負荷分散システム、負荷分散方法、負荷分散システムを構成する装置およびプログラム
US20120099591A1 (en) * 2010-10-26 2012-04-26 Dell Products, Lp System and Method for Scalable Flow Aware Network Architecture for Openflow Based Network Virtualization
EP2693708B1 (en) * 2011-03-29 2019-09-04 Nec Corporation Network system and method for acquiring vlan tag information
WO2012177213A2 (en) * 2011-06-20 2012-12-27 Telefonaktiebolaget L M Ericsson (Publ) Methods and devices for monitoring a data path
US8964563B2 (en) * 2011-07-08 2015-02-24 Telefonaktiebolaget L M Ericsson (Publ) Controller driven OAM for OpenFlow
US9450870B2 (en) * 2011-11-10 2016-09-20 Brocade Communications Systems, Inc. System and method for flow management in software-defined networks
US8718064B2 (en) * 2011-12-22 2014-05-06 Telefonaktiebolaget L M Ericsson (Publ) Forwarding element for flexible and extensible flow processing software-defined networks
US8751645B2 (en) * 2012-07-20 2014-06-10 Telefonaktiebolaget L M Ericsson (Publ) Lattice based traffic measurement at a switch in a communication network
US9215093B2 (en) * 2012-10-30 2015-12-15 Futurewei Technologies, Inc. Encoding packets for transport over SDN networks
EP3059906B1 (en) * 2013-11-19 2018-06-20 Huawei Technologies Co., Ltd. Table items addressing method, switch, and controller based on flow table
US20150180769A1 (en) * 2013-12-20 2015-06-25 Alcatel-Lucent Usa Inc. Scale-up of sdn control plane using virtual switch based overlay
US9548927B2 (en) * 2014-06-17 2017-01-17 Comcast Cable Communications, Llc Flow-based load balancing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007336512A (ja) * 2006-05-18 2007-12-27 Alaxala Networks Corp 統計情報収集システム及び統計情報収集装置
US20130176888A1 (en) * 2010-10-15 2013-07-11 Kazushi Kubota Switch system, and monitoring centralized control method
CN103314557A (zh) * 2011-01-17 2013-09-18 日本电气株式会社 网络系统、控制器、交换机和业务监控方法
WO2013133400A1 (ja) * 2012-03-09 2013-09-12 日本電気株式会社 制御装置、通信システム、スイッチ制御方法及びプログラム
US20140146674A1 (en) * 2012-11-29 2014-05-29 Futurewei Technologies, Inc. Packet Prioritization in a Software-Defined Network Implementing OpenFlow

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ONF: "《OpenFlow Switch Specification》", 28 February 2011 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109474540A (zh) * 2018-09-12 2019-03-15 北京奇安信科技有限公司 一种识别opc流量的方法及装置
CN109474540B (zh) * 2018-09-12 2022-06-10 奇安信科技集团股份有限公司 一种识别opc流量的方法及装置

Also Published As

Publication number Publication date
EP3179687A4 (en) 2017-07-05
EP3179687B1 (en) 2020-02-12
EP3179687A1 (en) 2017-06-14
CN105556916B (zh) 2019-03-08
WO2016029345A1 (zh) 2016-03-03
US20170171039A1 (en) 2017-06-15
US9973400B2 (en) 2018-05-15

Similar Documents

Publication Publication Date Title
CN105556916A (zh) 网络流的信息统计方法和装置
CN104811387B (zh) 具有位索引显式复制的等价多路径
CN107948076B (zh) 一种转发报文的方法及装置
CN104283806B (zh) 业务链处理方法和设备
CN104040527B (zh) 通过三层网络连接二层域
WO2021047678A1 (zh) 算力路由方法及装置
CN103797774B (zh) 一种网络地址转换设备及方法
CN107579923A (zh) 一种sdn网络的链路负载均衡方法和sdn控制器
CN105634956B (zh) 一种报文转发方法、装置和系统
CN103166874A (zh) 一种报文转发方法及设备
CN104038425B (zh) 转发以太网报文的方法和装置
CN101789949B (zh) 一种实现负荷分担的方法和路由设备
CN105337819A (zh) 宽带接入网关的数据处理方法、宽带接入网关及网络系统
CN104852855B (zh) 拥塞控制方法、装置及设备
CN109547354A (zh) 负载均衡方法、装置、系统、核心层交换机及存储介质
CN105516302B (zh) 一种数据处理方法及网络设备
CN107046506A (zh) 一种报文处理方法、流分类器和业务功能实例
US20120185487A1 (en) Method, device and system for publication and acquisition of content
CN107566237A (zh) 一种数据报文处理方法及装置
CN104301229B (zh) 数据包转发方法、路由表生成方法及装置
CN102647487A (zh) 一种节约ip地址的方法及接入代理设备
CN103916253A (zh) 一种基于信息中心网络的信息传输方法及其系统
CN106850547A (zh) 一种基于http协议的数据还原方法及系统
CN102916897A (zh) 一种实现vrrp负载分担的方法和设备
CN106789425A (zh) 一种确定重复报文的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant