CN109547288A - 一种协议无关转发网络可编程流测量方法 - Google Patents

一种协议无关转发网络可编程流测量方法 Download PDF

Info

Publication number
CN109547288A
CN109547288A CN201811440237.6A CN201811440237A CN109547288A CN 109547288 A CN109547288 A CN 109547288A CN 201811440237 A CN201811440237 A CN 201811440237A CN 109547288 A CN109547288 A CN 109547288A
Authority
CN
China
Prior art keywords
stream
instruction sequence
message
measurement
programmable
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
CN201811440237.6A
Other languages
English (en)
Other versions
CN109547288B (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.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
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 Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN201811440237.6A priority Critical patent/CN109547288B/zh
Publication of CN109547288A publication Critical patent/CN109547288A/zh
Application granted granted Critical
Publication of CN109547288B publication Critical patent/CN109547288B/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
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种协议无关转发网络可编程流测量方法,控制器向交换机下发消息以传送流定义字段集和协议无关转发指令序列;控制器向交换机下发流表项,交换机执行报文测量指令序列,流标识作为该报文测量指令序列的输入参数,该指令序列修改存储所述流属性的指令可访问全局存储空间;交换机生成测量报告并向流采集器发送,测量报告中包含一个或多个流信息,每个流的可编程属性通过执行报告生成指令序列获得;流标识作为该报告生成指令序列的输入参数,可编程流属性为该报告生成指令序列的输出参数;报告生成指令序列访问存储所述可编程流属性或其相关数据的指令可访问全局存储空间以获取可编程流属性。

Description

一种协议无关转发网络可编程流测量方法
技术领域
本发明涉及互联网技术领域,具体涉及基于协议无关转发(POF)的软件定义网络(SDN)中一种可编程流测量方法。
背景技术
协议无关转发(POF)是对软件定义网络(SDN)南向接口协议OpenFlow的扩展。POF提供了SDN控制器直接指定规则匹配字段和指令操作字段的偏移量和长度的能力,定义了字段修改、插入、删除、数学与逻辑运算、校验和计算、指令跳转等指令用于对报文进行各种操作,另外还增加了流元数据(Flow Metadata)、指令修改等新特性。在POF网络中,数据平面无需具备特定网络协议的知识,只需要按照控制器下发的规则即可实现各类数据平面协议功能,从而实现了数据平面的深度可编程能力,同时也为实现更为丰富的网络功能提供了可能性。
对于报文流的测量是网络规划、计费、流量工程、负载均衡、入侵检测与预防等网络应用的基础,对于保证服务质量(QoS)有重要的意义。目前广泛使用的报文流的测量工具有Cisco公司提出的NetFlow和IETF基于NetFlow进行标准化的IPFIX(IP FlowInformation Export)等。这些方法存在以下局限性:
(1)NetFlow/IPFIX在向采集器(Collector)发送测量报告消息时,消息中的信息单元(Information Element)需要预先定义并标准化。当有新的协议被定义或者新的流属性被定义时,均需要向IANA(Internet Assigned Numbers Authority)注册新的信息单元,而交换机、路由器等输出器和采集器均需要进行升级以支持新的信息单元,这导致了NetFlow/IPFIX对新协议和新应用的支持非常缓慢;
(2)NetFlow/IPFIX用于定义流的关键字(Flow Key)以及测量报告消息中包含的具体信息单元均需要配置而不能进行编程,不适用于SDN(软件定义网络)环境。
总之,现有的NetFlow/IPFIX等测量工具不能灵活支持新的网络协议和应用,也不能很好地满足SDN网络中流定义和测量报告消息信息单元可编程的要求。
发明内容
本发明针对现有技术中存在的问题,提供了一种协议无关转发网络中流测量方法,能够灵活地支持新的网络协议和应用,控制器也可以对数据平面的流定义以及测量报告消息格式进行编程。
本发明的技术方案为:
一种协议无关转发网络可编程流测量方法,步骤为:
(1)控制器向交换机下发消息以传送以下信息:流定义字段集和协议无关转发指令序列;其中流定义字段集包括一个报文字段集合,用于定义报文是否属于同一个流:流定义字段集中所有字段值均相等的报文属于同一个流,每个流定义字段集均有一个唯一的标识;协议无关转发指令序列分为两类,一类在对报文进行测量时执行,称为报文测量指令序列,另一类在生成测量报告时执行,称为报告生成指令序列;每个协议无关转发指令序列包含一个或多个协议无关转发指令,每个协议无关转发指令序列均有一个唯一的标识;报文测量指令序列和报告生成指令序列用于统计和输出控制器可编程的流属性,称为可编程流属性;
(2)控制器向交换机下发流表项,所述流表项包括一个匹配字段集合和测量指令,所述测量指令中直接或间接指定了报文被测量时使用的流定义字段集、报文测量指令序列和报告生成指令序列;
(3)当一个接收的报文匹配所述流表项时,所述报文被测量,此时如果所述报文中所有由测量指令指定的流定义字段集中的字段值均与一个已有的流的相应字段值相等,则所述报文也属于这个流;如果所述报文中由测量指令指定的流定义字段集中的字段值至少有一个与所有已有流不相等,则新创建一个流;每个流均有一个唯一的标识;
(4)交换机执行报文测量指令序列,流标识作为该报文测量指令序列的输入参数,该指令序列修改存储所述可编程流属性值或可编程流属性相关数据的指令可访问全局存储空间;
(5)交换机生成测量报告并向流采集器发送,测量报告中包含一个或多个流的信息,每个流的可编程属性通过执行报告生成指令序列获得;流标识作为该报告生成指令序列的输入参数,可编程流属性为该报告生成指令序列的输出参数;报告生成指令序列访问存储所述可编程流属性值或可编程流属性相关数据的指令可访问全局存储空间以获取可编程流属性。
本发明的另一种协议无关转发网络可编程流测量方法,步骤为:
(1)控制器向交换机下发消息以传送以下信息:流定义字段集和协议无关转发指令序列;所述流定义字段集包括一个报文字段集合,用于定义报文是否属于同一个流:字段集中所有字段值均相等的报文属于同一个流,每个流定义字段集均有一个唯一的标识;
协议无关转发指令序列分为两类,一类在对报文进行测量时执行,称为报文测量指令序列,另一类在生成测量报告时执行,称为报告生成指令序列;每个协议无关转发指令序列包含一个或多个协议无关转发指令,每个指令序列均有一个唯一的标识;报文测量指令序列和报告生成指令序列用于统计和输出控制器可编程的流属性,称为可编程流属性;
(2)控制器向交换机下发消息启动在一个测量域内的测量,并直接或间接指定报文被测量时使用的流定义字段集、报文测量指令序列和报告生成指令序列,一个测量域可以是一个端口、板卡或网桥等;
(3)当一个测量域收到一个报文时,如果所述报文中所有由前述消息指定的流定义字段集中的字段值均与一个已有的流的相应字段值相等,则该报文也属于这个流;如果所述报文中由前述消息指定的流定义字段集中的字段值至少有一个与所有已有流不相等,则新创建一个流;每个流均有一个唯一的标识;
(4)交换机执行报文测量指令序列,流标识作为该报文测量指令序列的输入参数,该指令序列修改存储所述可编程流属性值或可编程流属性相关数据的指令可访问全局存储空间;
(5)交换机生成测量报告并向流采集器发送,测量报告中包含一个或多个流的信息,每个流的可编程属性通过执行报告生成指令序列获得;流标识作为该报告生成指令序列的输入参数,可编程流属性为该报告生成指令序列的输出参数;报告生成指令序列访问存储所述可编程流属性值或可编程流属性相关数据的指令可访问全局存储空间以获取可编程流属性。
所述步骤(4)和(5)中,指令可访问全局存储空间为协议无关转发流元数据。
所述步骤(4)和(5)中,流标识由交换机平台在调用报文测量指令序列或报告生成指令序列时存入一个扩展的数据区域从而传递给报文测量指令序列或报告生成指令序列,这个扩展的数据区域称为指令序列数据存储空间;步骤(5)中,可编程流属性由报告生成指令序列存储在指令序列数据存储空间中传送给交换机平台。
协议无关转发指令可以通过特定的字段类型访问所述指令序列数据存储空间字段。
所述指令序列数据存储空间只在指令序列和调用指令序列的进程或线程中有效。
所述指令序列数据存储空间在软件交换机中存在于进程或线程的堆栈中。
交换机在流结束时执行步骤(5)以生成测量报告并向流采集器发送。
交换机周期性地执行步骤(5)以生成测量报告并向流采集器发送。
交换机在存储流记录的存储空间不足时删除部分流记录,此时对删除的流记录执行步骤(5),以生成测量报告并向流采集器发送。
本发明由于能够通过流定义字段集描述属于同一个流的报文特征,并能够通过报文测量指令序列生成各类可编程流属性,因此本发明具有以下积极效果:
(1)可以支持任意协议流量的测量而无需修改交换机、控制器软硬件实现,缩短了新协议部署的时间,降低了部署成本;
(2)无需对测量报告消息中的信息单元预先进行标准化,可以快速部署各种细粒度、高灵活性的测量应用。
附图说明
图1为POF流测量系统结构图;
图2为通过下发包含测量指令的流表项的方式启动测量的流程图;
图3为通过下发消息的方式启动测量的流程图。
具体实施方式
下面结合附图及实施例对本发明进行详细说明。
本发明的一种协议无关转发网络可编程流测量方法,其步骤为:
(1)控制器向交换机下发消息以传送以下信息:
流定义字段集,一个流定义字段集包括一个报文字段集合,用于定义哪些报文属于同一个流:字段集中所有字段值均相等的报文属于同一个流,每个流定义字段集均有一个唯一的标识;
两类协议无关转发指令序列,一类在对报文进行测量时执行(称为报文测量指令序列),一类在生成测量报告时执行(称为报告生成指令序列),每个序列包含一个或多个协议无关转发指令,每个指令序列均有一个唯一的标识;这两类指令序列用于统计和输出控制器可编程的流属性,称为可编程流属性;
(1)控制器向交换机下发流表项,该流表项包括一个匹配字段集合和一个指令序列,其指令序列中包含测量指令,测量指令中直接或间接指定了报文被测量时使用的流定义字段集、报文测量指令序列和报告生成指令序列;或者控制器向交换机下发消息启动在一个测量域内的测量,并直接或间接指定报文被测量时使用的流定义字段集、报文测量指令序列和报告生成指令序列,一个测量域可以是一个端口、板卡或网桥等;
(2)当一个接收的报文匹配所述流表项时,或者当一个测量域收到一个报文时,该报文被测量,此时如果所述报文中所有指定的流定义字段集中的字段值均与一个已有的流的相应字段值相等,则该报文也属于这个流;如果所述报文中指定的流定义字段集中的字段值至少有一个与所有已有流不相等,则新创建一个流;每个流均有一个唯一的标识;
(3)交换机执行报文测量指令序列,流标识可以作为该报文测量指令序列的输入参数,该指令序列修改存储所述可编程流属性值或可编程流属性相关数据的指令可访问全局存储空间;
(4)交换机生成测量报告并向流采集器发送,测量报告中包含一个或多个流的信息,每个流的可编程属性通过执行报告生成指令序列获得;流标识可以作为该报告生成指令序列的输入参数,可编程流属性为该报告生成指令序列的输出参数;报告生成指令序列访问存储所述可编程流属性值或可编程流属性相关数据的指令可访问全局存储空间以获取可编程流属性。
进一步的,步骤(4)和(5)中,指令可访问全局存储空间为协议无关转发流元数据。
进一步的,步骤(4)和(5)中,流标识由交换机平台在调用报文测量指令序列或报告生成指令序列时存入一个扩展的数据区域从而传递给报文测量指令序列或报告生成指令序列,这个扩展的数据区域称为指令序列数据存储空间,步骤(5)中,可编程流属性由报告生成指令序列存储在指令序列数据存储空间中传送给交换机平台;
进一步的,协议无关转发指令可以通过特定的字段类型,例如0xfff1,访问所述指令序列数据存储空间字段;所述指令序列数据存储空间只在指令序列和调用指令序列的进程或线程中有效;在软件交换机中,所述指令序列数据存储空间存在于进程或线程的堆栈中。
进一步的,交换机在流结束时执行步骤(5)以生成测量报告并向流采集器发送。
进一步的,交换机周期性地执行步骤(5)以生成测量报告并向流采集器发送。
进一步的,交换机在存储流记录的存储空间不足时删除部分流记录,此时对删除的流记录执行步骤(5)以生成测量报告并向流采集器发送。
本发明提出的技术方案架构如图1所示。POF交换机接收控制器下发的转发规则和其他控制消息。POF交换机上包含一个测量模块,可以由硬件或软件实现。需要测量的报文被复制至测量模块进行处理,生成流记录。交换机将流记录信息通过测量报告发送至采集器。采集器为运行在服务器或其他硬件平台上的软件程序,对测量报告进行进一步处理,并向用户或其他软件程序提供访问接口。
本发明对POF协议和现有测量方法进行的主要扩展如下:
(1)流定义字段集
一个流定义字段集包括一组报文字段,用于定义哪些报文属于同一个流,流定义字段集中所有字段值均相等的报文属于同一个流,否则属于不同的流。
现有的测量方法只能依据TCP或UDP五元组(IP源地址、IP目的地址、IP Protocol、TCP/UDP源端口号和TCP/UDP目的端口号)等字段定义哪些报文属于同一个流,不能支持新的网络协议,也不能支持隧道封装内层的报文流测量。使用流定义字段集可以灵活定义哪些报文属于同一个流。考虑这样的例子:在VxLan隧道的中间节点对隧道承载的流量进行测量,统计隧道内承载的各个TCP流的乱序和重传报文比率,以便监控网络运行状态并为网络优化提供参考。在这个场景下,外层VxLan封装以及内层IP源地址、IP目的地址、IPProtocol、TCP源端口号和TCP目的端口号相同的报文属于同一个TCP流,即流定义字段集包括以下字段:
外层EtherType
外层IP源地址
外层IP目的地址
外层IP Protocol
外层UDP源端口号
外层UDP目的端口号
VxLAN头部VNI
内层EtherType
内层IP源地址
内层IP目的地址
内层IP Protocol
内层TCP源端口号
内层TCP目的端口号
为了便于引用,每个流定义字段集均有一个唯一的标识。例如在前述例子中,流定义字段集的标识可以记为FD_1。
(2)报文测量指令序列和报告生成指令序列
现有的测量方法一般只能对流的一些简单属性进行统计,例如开始时间、结束时间、报文计数、字节计数等,不能进行较为复杂或灵活的统计,例如前述例子中的TCP流的报文乱序和重传比率。本发明提出的技术方案能够支持由控制器编程的流属性,称为可编程流属性。可编程流属性通过执行POF指令序列进行统计和输出。一个POF指令序列包括多个按顺序执行的POF指令,现有POF协议中的指令块(Instruction Block)是指令序列的一个例子。指令序列分为两类,一类在测量报文时执行,称为报文测量指令序列,这个指令序列中的指令可以对报文进行处理并将可编程流属性值或与可编程流属性相关的数据记录下来。在前述例子中,在测量报文时通过执行报文测量指令序列记录每个TCP流的报文总计数、最大序列号,并判断被测量报文的序列号是否小于或等于最大序列号,如果小于或等于,被测量的报文即为乱序或重传报文,这些报文的计数也被记录下来。另一类指令序列在生成测量报告时执行,称为报告生成指令序列,这个指令序列中的指令可以读出可编程流属性值或对记录的数据进行处理以计算出可编程流属性值,并将可编程流属性值按一定的格式输出至交换机平台(即交换机中不可由控制器编程的软硬件部分)。交换机平台不解析报告生成指令序列输出的可编程流属性值,只是将可编程流属性值复制至测量报告中。在前述例子中,报告生成指令序列将流的乱序和重传报文计数除于流的报文总计数(需要扩展POF的CALC_FIELD指令以支持除法)得到乱序和重传报文比率,并将比率值输出。
为了便于引用,每个指令序列均有一个唯一的标识。例如在前述例子中,报文测量指令序列和报告生成指令序列的标识可以分别记为IS_1和IS_2。
可编程流属性值或计算这些属性值需要的相关数据存储在一个POF指令可以访问、在交换机运行时一直有效(不随报文的接收/发送而分配/释放)的存储空间内,该存储空间称为指令可访问全局存储空间。在POF协议中,流元数据是指令可访问全局存储空间的一个例子。
(3)指令序列数据存储空间
在交换机平台调用指令序列时,需要输入一些参数,例如前述例子中报文测量指令序列为了计算不同流使用的指令可访问全局内存空间单元的位置,需要输入流标识。另外指令序列执行结束后可能需要输出一些数据,例如前述例子中报告生成指令序列输出的乱序和重传报文比率值。本发明扩展POF协议,增加了一种新的数据存储空间,用于交换机平台向指令序列传递输入参数、指令序列向交换机平台输出数据以及指令序列执行中存储临时数据,称为指令序列数据存储空间。交换机平台将指令序列需要的输入参数写入指令序列数据存储空间,然后调用指令序列;指令序列将返回交换机平台的输出参数也写入指令序列数据存储空间,供交换机平台读取。输入参数和输出参数在指令序列数据存储空间的位置可以通过标准化等方式约定。
指令序列数据存储空间的一种实现方式是使用指令可访问全局存储空间的一部分作为指令序列数据存储空间。
指令序列数据存储空间的另外一种实现方式是使用指令可访问全局存储空间之外的内存空间。在这种方式中,POF指令可以通过pof_match结构访问指令序列数据存储空间的字段,其字段类型为一指定值(例如0xfff1)。如果交换机平台支持多个上下文(例如软件线程)并发调用指令序列,以这种方式实现的指令序列数据存储空间可以仅在各上下文内可见。在软件交换机中,以这种方式实现的指令序列数据存储空间可以位于进程或线程的堆栈中。
本发明提出的技术方案之一如图2所示。详细说明如下:
在测量开始前POF控制器需要向交换机下发流定义字段集。在前述统计VxLan隧道内TCP乱序和重传报文比率的例子中,POF控制器向交换机下发流定义字段集FD_1。
在测量开始前POF控制器还需要向交换机下发报文测量指令序列和报告生成指令序列。在前述例子中,POF控制器向交换机下发报文测量指令序列IS_1和报告生成指令序列IS_2。
POF控制器可以按任意先后顺序向交换机下发流定义字段集和指令序列。
控制器向交换机下发流表项,流表项包括用于过滤需要测量报文的匹配字段集合和测量指令(同时还可能包括其他指令,例如通过某一个端口发送报文的OUTPUT指令)。测量指令中可以直接指定报文被测量时使用的流定义字段集、报文测量指令序列和报告生成指令序列,也可以通过引用包含流定义字段集、报文测量指令序列和报告生成指令序列等参数的其他对象(例如模板)间接指定报文被测量时使用的流定义字段集、报文测量指令序列和报告生成指令序列。
对报文执行测量指令将对报文按一定比例采样,采样的报文将被复制至交换机的测量模块进行处理。
在前述测量VxLan隧道内TCP乱序和重传报文比率的例子中,VxLan隧道内的报文需要被测量,流表项的匹配条件如下:
字段 匹配值
外层Ethertype 0x0800
外层IP源地址 隧道源地址
外层IP目的地址 隧道目的地址
外层协议类型 0x11(UDP)
外层目的端口号 0x12be(VxLAN)
测量指令参数如下:
参数
流定义字段集 FD_1
报文测量指令序列 IS_1
报告生成指令序列 IS_2
采样概率 1(1:1采样)
当一个报文匹配上述流表项并被采样时,该报文将被复制至交换机测量模块进行处理。测量模块保存了所有被测量流的记录列表。每个流都有一个唯一的标识。测量模块将测量指令中指定的流定义字段集中包含的字段(称为该报文的键值)从报文中提取出来,然后从流记录列表中查找是否存在一个流,其键值(即该流中报文的键值)与被测量的报文相同。如果不存在这样一个流,则新创建一个流,为流分配一个标识,记录流的键值,如果报文测量指令序列需要的话可以将流的标识存入指令序列数据存储空间;如果存在这样一个流,在报文测量指令序列需要的情况下可以将这个流的标识存入指令序列数据存储空间。
交换机平台然后执行报文测量指令序列,在测量VxLan隧道内TCP乱序和重传报文比率的例子中,将调用指令序列IS_1,该指令序列将更新指令可访问全局存储空间中存储的流的报文总数,并在报文为乱序或重传报文的情况下更新指令可访问全局存储空间中存储的该流的乱序和重传计数。
交换机平台可能还会记录或更新流的非可编程属性,例如流开始时间等。
当一个流结束后(例如在5秒钟内没有收到报文),或者距离上次发送测量报告以经过去了一定的时间(例如10秒),交换机通过测量报告消息向流采集器发送这个流的信息。另外当系统中存储流记录的空间已经用完,需要删除部分流记录以创建新的流记录时,交换机通过测量报告消息向流采集器发送被删除流的信息。每个测量报告中包含一个或多个流的信息。交换机平台执行报告生成指令序列获取流的可编程流属性值,并将可编程流属性值由指令序列数据存储空间复制至测量报告中。测量报告中还可能包含非可编程属性,例如流开始时间等。然后交换机平台将测量报告发送至流采集器。在测量VxLan隧道内TCP乱序和重传报文比率的例子中,交换机首先将流标识存入指令序列数据存储空间的前四个字节,然后执行报告生成指令序列IS_2。该指令序列将乱序和重传报文计数除以流的报文总计数得到乱序和重传报文比率,并将比率值存储在指令序列数据存储空间。
本发明提出的另一技术方案如图3所示。与前一技术方案的不同之处在于前一技术方案通过控制器下发流表项启动测量;此技术方案通过由控制器下发一个扩展的POF消息启动某一测量域接收的报文的测量,一个测量域可以是一个端口、板卡或网桥等。控制器在向交换机下发流定义指令集、报文测量指令序列和报告生成指令序列后,下发这个扩展的消息,在消息中可以直接指定报文被测量时使用的流定义字段集、报文测量指令序列和报告生成指令序列,也可以通过引用包含流定义字段集、报文测量指令序列和报告生成指令序列等参数的其他对象(例如模板)间接指定报文被测量时使用的流定义字段集、报文测量指令序列和报告生成指令序列。此技术方案的其余步骤与前一技术方案相同。
提供以上实施方式仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

Claims (10)

1.一种协议无关转发网络可编程流测量方法,其特征在于,步骤为:
(1)控制器向交换机下发消息以传送以下信息:流定义字段集和协议无关转发指令序列;其中流定义字段集包括一个报文字段集合,用于定义报文是否属于同一个流:流定义字段集中所有字段值均相等的报文属于同一个流,每个流定义字段集均有一个唯一的标识;协议无关转发指令序列分为两类,一类在对报文进行测量时执行,称为报文测量指令序列,另一类在生成测量报告时执行,称为报告生成指令序列;每个协议无关转发指令序列包含一个或多个协议无关转发指令,每个协议无关转发指令序列均有一个唯一的标识;报文测量指令序列和报告生成指令序列用于统计和输出控制器可编程的流属性,称为可编程流属性;
(2)控制器向交换机下发流表项,所述流表项包括一个匹配字段集合和测量指令,所述测量指令中直接或间接指定了报文被测量时使用的流定义字段集、报文测量指令序列和报告生成指令序列;
(3)当一个接收的报文匹配所述流表项时,所述报文被测量,此时如果所述报文中所有由测量指令指定的流定义字段集中的字段值均与一个已有的流的相应字段值相等,则所述报文也属于这个流;如果所述报文中由测量指令指定的流定义字段集中的字段值至少有一个与所有已有流不相等,则新创建一个流;每个流均有一个唯一的标识;
(4)交换机执行报文测量指令序列,流标识作为该报文测量指令序列的输入参数,该指令序列修改存储所述可编程流属性值或可编程流属性相关数据的指令可访问全局存储空间;
(5)交换机生成测量报告并向流采集器发送,测量报告中包含一个或多个流的信息,每个流的可编程属性通过执行报告生成指令序列获得;流标识作为该报告生成指令序列的输入参数,可编程流属性为该报告生成指令序列的输出参数;报告生成指令序列访问存储所述可编程流属性值或可编程流属性相关数据的指令可访问全局存储空间以获取可编程流属性。
2.一种协议无关转发网络可编程流测量方法,其特征在于,步骤为:
(1)控制器向交换机下发消息以传送以下信息:流定义字段集和协议无关转发指令序列;所述流定义字段集包括一个报文字段集合,用于定义报文是否属于同一个流:字段集中所有字段值均相等的报文属于同一个流,每个流定义字段集均有一个唯一的标识;
协议无关转发指令序列分为两类,一类在对报文进行测量时执行,称为报文测量指令序列,另一类在生成测量报告时执行,称为报告生成指令序列;每个协议无关转发指令序列包含一个或多个协议无关转发指令,每个指令序列均有一个唯一的标识;报文测量指令序列和报告生成指令序列用于统计和输出控制器可编程的流属性,称为可编程流属性;
(2)控制器向交换机下发消息启动在一个测量域内的测量,并直接或间接指定报文被测量时使用的流定义字段集、报文测量指令序列和报告生成指令序列,一个测量域可以是一个端口、板卡或网桥等;
(3)当一个测量域收到一个报文时,如果所述报文中所有由前述消息指定的流定义字段集中的字段值均与一个已有的流的相应字段值相等,则该报文也属于这个流;如果所述报文中由前述消息指定的流定义字段集中的字段值至少有一个与所有已有流不相等,则新创建一个流;每个流均有一个唯一的标识;
(4)交换机执行报文测量指令序列,流标识作为该报文测量指令序列的输入参数,该指令序列修改存储所述可编程流属性值或可编程流属性相关数据的指令可访问全局存储空间;
(5)交换机生成测量报告并向流采集器发送,测量报告中包含一个或多个流的信息,每个流的可编程属性通过执行报告生成指令序列获得;流标识作为该报告生成指令序列的输入参数,可编程流属性为该报告生成指令序列的输出参数;报告生成指令序列访问存储所述可编程流属性值或可编程流属性相关数据的指令可访问全局存储空间以获取可编程流属性。
3.根据权利要求1或2所述的方法,其特征在于:所述步骤(4)和(5)中,指令可访问全局存储空间为协议无关转发流元数据。
4.根据权利要求1或2所述的方法,其特征在于:所述步骤(4)和(5)中,流标识由交换机平台在调用报文测量指令序列或报告生成指令序列时存入一个扩展的数据区域从而传递给报文测量指令序列或报告生成指令序列,这个扩展的数据区域称为指令序列数据存储空间;步骤(5)中,可编程流属性由报告生成指令序列存储在指令序列数据存储空间中传送给交换机平台。
5.根据权利要求4所述的方法,其特征在于,协议无关转发指令可以通过特定的字段类型访问所述指令序列数据存储空间字段。
6.根据权利要求4所述的方法,其特征在于:所述指令序列数据存储空间只在指令序列和调用指令序列的进程或线程中有效。
7.根据权利要求6所述的方法,其特征在于:所述指令序列数据存储空间在软件交换机中存在于进程或线程的堆栈中。
8.根据权利要求1或2所述的方法,其特征在于:交换机在流结束时执行步骤(5)以生成测量报告并向流采集器发送。
9.根据权利要求1或2所述的方法,其特征在于:交换机周期性地执行步骤(5)以生成测量报告并向流采集器发送。
10.权利要求1或2所述的方法,其特征在于:交换机在存储流记录的存储空间不足时删除部分流记录,此时对删除的流记录执行步骤(5),以生成测量报告并向流采集器发送。
CN201811440237.6A 2018-11-29 2018-11-29 一种协议无关转发网络可编程流测量方法 Active CN109547288B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811440237.6A CN109547288B (zh) 2018-11-29 2018-11-29 一种协议无关转发网络可编程流测量方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811440237.6A CN109547288B (zh) 2018-11-29 2018-11-29 一种协议无关转发网络可编程流测量方法

Publications (2)

Publication Number Publication Date
CN109547288A true CN109547288A (zh) 2019-03-29
CN109547288B CN109547288B (zh) 2020-08-07

Family

ID=65851014

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811440237.6A Active CN109547288B (zh) 2018-11-29 2018-11-29 一种协议无关转发网络可编程流测量方法

Country Status (1)

Country Link
CN (1) CN109547288B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110445671A (zh) * 2019-06-27 2019-11-12 浪潮思科网络科技有限公司 一种基于sdn的网络流量监控方法
CN111600811A (zh) * 2020-04-14 2020-08-28 新华三信息安全技术有限公司 一种报文处理方法和装置
CN112286701A (zh) * 2020-10-27 2021-01-29 深圳市拓邦软件技术有限公司 一种物联网通信方法、系统、物联网设备及云端
CN113037657A (zh) * 2021-03-23 2021-06-25 北京汇钧科技有限公司 流量的调度方法、装置、电子设备及计算机可读介质
CN114073049A (zh) * 2019-09-21 2022-02-18 华为技术有限公司 用于可靠性测量的方法和网络节点

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105812179A (zh) * 2016-03-09 2016-07-27 中国科学院信息工程研究所 一种协议无关转发网络事件处理方法
CN106506402A (zh) * 2016-10-21 2017-03-15 中国科学院声学研究所 一种协议无关转发流缓存方法
CN107222353A (zh) * 2017-07-11 2017-09-29 中国科学技术大学 支持协议无关的软件定义网络虚拟化管理平台
US20180097722A1 (en) * 2016-09-30 2018-04-05 Huawei Technologies Co., Ltd. Method and apparatus for encapsulating / decapsulating data packets at a radio access node

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105812179A (zh) * 2016-03-09 2016-07-27 中国科学院信息工程研究所 一种协议无关转发网络事件处理方法
US20180097722A1 (en) * 2016-09-30 2018-04-05 Huawei Technologies Co., Ltd. Method and apparatus for encapsulating / decapsulating data packets at a radio access node
CN106506402A (zh) * 2016-10-21 2017-03-15 中国科学院声学研究所 一种协议无关转发流缓存方法
CN107222353A (zh) * 2017-07-11 2017-09-29 中国科学技术大学 支持协议无关的软件定义网络虚拟化管理平台

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
刘正印等: "基于协议无感知转发的服务功能链", 《计算机系统应用》 *
常坤: "协议无关网络编程方法研究及其环境研制", 《中国优秀硕士学位论文全文数据库》 *
李佟等: "基于标签的POF网络虚拟化技术研究", 《计算机应用研究》 *
赵敏等: "P4与POF协议无关可编程网络技术比较研究", 《网络新媒体技术》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110445671A (zh) * 2019-06-27 2019-11-12 浪潮思科网络科技有限公司 一种基于sdn的网络流量监控方法
CN114073049A (zh) * 2019-09-21 2022-02-18 华为技术有限公司 用于可靠性测量的方法和网络节点
CN114073049B (zh) * 2019-09-21 2023-11-17 华为技术有限公司 用于可靠性测量的方法和网络节点
CN111600811A (zh) * 2020-04-14 2020-08-28 新华三信息安全技术有限公司 一种报文处理方法和装置
CN112286701A (zh) * 2020-10-27 2021-01-29 深圳市拓邦软件技术有限公司 一种物联网通信方法、系统、物联网设备及云端
CN113037657A (zh) * 2021-03-23 2021-06-25 北京汇钧科技有限公司 流量的调度方法、装置、电子设备及计算机可读介质
CN113037657B (zh) * 2021-03-23 2022-09-06 北京汇钧科技有限公司 流量的调度方法、装置、电子设备及计算机可读介质

Also Published As

Publication number Publication date
CN109547288B (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
CN109547288A (zh) 一种协议无关转发网络可编程流测量方法
CN109743340B (zh) 报文处理的方法和网络装置
Chung et al. NS by Example
US9043461B2 (en) Firewall event reduction for rule use counting
Carneiro et al. Flowmonitor: a network monitoring framework for the network simulator 3 (ns-3)
EP2429128B1 (en) Flow statistics aggregation
US9531620B2 (en) Control plane packet traffic statistics
EP3355534B1 (en) Tracing network packets at a managed forwarding element
EP2974171B1 (en) A framework for dynamically programmed network packet processing
CN106797328A (zh) 收集和分析所选择的网络流量
US20120026914A1 (en) Analyzing Network Activity by Presenting Topology Information with Application Traffic Quantity
US10686867B2 (en) Scaled in-order record input ingestion for file-based streams in multi-threaded environments
CN112714047A (zh) 基于工控协议流量的测试方法、装置、设备及存储介质
CN110324198A (zh) 丢包处理方法和丢包处理装置
CN109067938A (zh) 一种测试dns服务器的方法及装置
CN105407073A (zh) 一种基于开放流OpenFlow协议的流表老化方法、设备和系统
CN110247908A (zh) 基于可编程网络交换技术的数据发送的方法、装置和系统
CN105099916A (zh) 开放流路由交换设备及其对数据报文的处理方法
CN106302021A (zh) 一种网络流转发异常检测方法
US11012542B2 (en) Data processing method and apparatus
CN110932971A (zh) 一种基于请求信息逐层重构的域间路径分析方法
CN106209440B (zh) 软件定义网络SDN中的服务质量QoS实现方法和装置
CN101552747B (zh) 路由管理方法、装置和系统
US20150304200A1 (en) Traffic information collection system and collection control node
WO2022152230A1 (zh) 信息流识别方法、网络芯片及网络设备

Legal Events

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