CN110545217B - 一种事件驱动的细粒度tcp流量测量方法 - Google Patents

一种事件驱动的细粒度tcp流量测量方法 Download PDF

Info

Publication number
CN110545217B
CN110545217B CN201910815603.XA CN201910815603A CN110545217B CN 110545217 B CN110545217 B CN 110545217B CN 201910815603 A CN201910815603 A CN 201910815603A CN 110545217 B CN110545217 B CN 110545217B
Authority
CN
China
Prior art keywords
observation data
message
tcp
message observation
packet
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.)
Active
Application number
CN201910815603.XA
Other languages
English (en)
Other versions
CN110545217A (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.)
Tianyi Safety Technology Co Ltd
Original Assignee
Southwest Jiaotong University
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 Southwest Jiaotong University filed Critical Southwest Jiaotong University
Priority to CN201910815603.XA priority Critical patent/CN110545217B/zh
Publication of CN110545217A publication Critical patent/CN110545217A/zh
Application granted granted Critical
Publication of CN110545217B publication Critical patent/CN110545217B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

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

本发明专利涉及通信领域中网络流量测量,具体涉及事件驱动的细粒度TCP流量测量方法,包括在网络设备上进行TCP报文观测数据识别和获取;在远端逻辑集中控制器进行网络中TCP以传输数据量的分析和估计。当网络设备在收到指定类型的TCP报文后,进行该操作:为该TCP报文生成观测数据并缓存在网络设备本地;如所要缓存的位置已经存有内容,则报文观测数据内容缓存失败,直接将准备要缓存的报文观测数据内容和缓存中对应位置的内容一并发送给控制器,并将该缓存位置内容置空;如果所要缓存的位置未存有内容,该报文观测数据内容缓存成功。本方法在不影响测量精度、准确度的同时,能进一步显著减少测量带来的网络开销。

Description

一种事件驱动的细粒度TCP流量测量方法
技术领域
本发明专利涉及通信领域中的网络流量测量,具体涉及一种事件驱动的细粒度TCP流量测量方法。
背景技术
在报文观测数据中心等应用场景中,为了更好的管控网络。网络管理者需要对网络中的各个流的大小(即,传输的报文观测数据量)进行监控和统计,以便检测网络攻击、诊断网络故障、优化网络路由等。针对这样的流量测量需求,现有的测量工具主要有netflow和sflow。netflow需要在网络设备上进行复杂的报文观测数据处理,在高速网络上需要特殊硬件的支持,因此目前支持的并不广;为了减少需要采集和处理的报文观测数据量,sflow对经过的报文观测数据进行随机采样,发送到远端服务器做进一步分析;这样设计降低了测试引入的额外开销,但是测量的精度受限,对突发小流不友好。另外的一些采用sketch或者选择性报文观测数据镜像的与sflow类似,另外也有一些研究方案将部分或者全部报文观测数据mirror到远端服务器进行处理,他们同样存在测试开销大的问题。现有的方案计算处理复杂,需要高性能的网络硬件实现高速网络中的测量,且测量的精度粗,对突发小流的测量不友好,测量的引入带宽开销和CPU处理开销大,扩展性弱。
发明内容
本发明的主要目的在于提供一种显著减少网络设备和控制器之间的通信开销、提供细粒度测量能力的TCP流量测量方法。
为了实现上述目的,本申请采用的技术方案是一种事件驱动的细粒度TCP流量测量方法,包括在网络设备上进行TCP报文观测数据的识别和采集,在远端逻辑集中控制器上进行TCP已传输数据量的分析和估计;
其中,当网络设备在收到指定类型的TCP报文后,进行该操作:将该报文的报文观测数据缓存在本地网络设备;
如果所要缓存的位置已经存有内容,则上述报文观测数据内容缓存失败;直接将准备要缓存的报文观测数据内容和缓存中对应位置的内容一并发送给控制器,并将该缓存位置内容置空;
如果所要缓存的位置未存有内容,该报文观测数据内容缓存成功。
进一步的是,上述直接将准备要缓存的报文观测数据内容和缓存中对应位置的内容一并发送给控制器时,上述网络设备周期性的将上述报文观测数据内容和缓存中对应位置的内容上报给控制器,这样以减少内容上报的频率和传输开销。
进一步的是,当网络中有多个网络设备均具备TCP报文观测数据采集能力时,远端控制器根据TCP流的路由,将不同TCP流的报文观测数据采集任务进行分割并分配到不同的设备上处理。
进一步的是,本事件驱动的细粒度TCP流量测量方法,还包括对网络设备上的报文观测数据采集任务进行划分,包括以下操作:
统计出所有能对TCP流生成报文观测数据的网络设备;
设定具有相同发送节点和接收节点的一组通信需求为一个通信对;
对所有的通信对按照估计包含的TCP流数目由大到小进行排序;
按照排序后获得的顺序,依次确定各个通信对所对应的报文观测数据采集任务,并将报文观测数据采集任务分配到不同的网络设备;
其中,将同时拥有多条传输路径且经过每条传输路径的TCP流数目已知的通信对组成的所有路径,构建一个有向无环图,该有向无环图的一条有向边对应传输路径上的一条单向链路;对该通信节点传输路径经过链路上的报文观测数据采集任务进行测量得到测量值,并根据每条链路上的测量值,依次为每个通信对的每个传输路径的上TCP流选择具体的报文观测数据采集节点。
即网络中有多个设备具备细粒度TCP报文观测数据采集能力,那么控制器可以对所有TCP流的报文观测数据采集任务进行划分,分发到不同设备,减少每个设备的处理负担。通过采用本报文观测数据采集任务划分方法,可以避免重复测量,均衡各个网络设备的报文观测数据采集任务负载。
进一步的是,上述通信对为一个子网或者主机到另外一个子网或者主机之间的传输路径。
进一步的是,对上述所有的通信对按照估计包含的TCP流数目由大到小进行排序,上述通信对还包括上述一个子网或者主机到另外一个子网或者主机之间的TCP流数目的信息。
进一步的是,只有某个TCP流在一个上述网络设备上设置为检测时,该网络设备才对TCP流进行报文检测处理并按需生成报文观测数据。
进一步的是,对于发送节点为s,接收节点为d的一组通信需求,其报文观测数据生成任务采集节点的选择操作包括以下步骤:
1)为有向无环图中每个边设置一个权重,取值代表由该链路上已安排的报文观测数据采集任务需要处理TCP流数目的估计值;
2)使用最小割算法,计算有向图中s到d的最小边割集E,使得删除该集合中的有向边后,s到d不再可达;如果存在多个最小割边集合,随机选择一个即可;
3)对于被选中的有向边集合E中从节点u到节点v的有向边u-v,将节点v设置为s到d的通信对所包含的流的报文观测数据采集节点,将该通信对中经过链路u-v的TCP流数目,累加到网络中有向边u-v的权重值上。
进一步的是,上述有向边集合E为选择的边割集中有向边权重之和最小的有向边集合。
进一步的是,本事件驱动的细粒度TCP流量测量方法还包括在网络设备上进行报文观测数据的采集,包括以下操作:
网络设备报文观测数据转发面当收到一个TCP报文后,如当前报文为SYN报文、FIN报文或SEQ=0的报文中的任意一种,则为该TCP报文生成报文观测数据,发送给网络设备的控制面;
网络设备的控制面缓存报文观测数据转发面提交的报文观测数据;
控制面接收上述报文观测数据后,控制面对报文观测数据进行以下处理:
S1.对上述报文观测数据中的五元组字段进行哈希计算,获得一个0到N-1之间的整数编号f;
S2.当缓存中第f个单元中缓存有报文观测数据,将该单元中缓存的报文观测数据和当前报文观测数据一起发送给远端控制器,并将该第f个单元中缓存的内容清空;
当缓存中第f个单元中没有缓存有报文观测数据,将当前报文观测数据缓存到f单元中;
S3.处理结束。
相比于其他报文观测数据采集方法,本方法是一种支持细粒度、低开销,具备可扩展性的测量方法,能够对包括小流在内的TCP流的传输报文观测数据量进行精确测量,并且能够在现有硬件上实现。
进一步的是,上述报文观测数据包括TCP报文的类型、报文到达时间、五元组信息和SEQ值。
进一步的是,上述控制面接收上述报文观测数据后,每隔一段时间,扫描一次缓存的所有报文观测数据并将其发送给远端控制器并清空控制面所缓存报文观测数据。
进一步的是,上述控制面向远端控制器发送报文观测数据时,该报文观测数据同时包含上述网络设备的身份编号。
进一步的是,网络设备的控制面通过一片连续内存以缓存报文观测数据转发面提交的报文观测数据。
进一步的是,上述一片连续内存包括N个存储单元,N个存储单元中的每个单元存储的内容包括所缓存报文观测数据的类型、报文到达时间、TCP五元组信息和SEQ值。
进一步的是,上述内存中缓存的报文观测数据类型包括四种,分别为:
NUL(0),表示未缓存内容;
SYN(1),表示缓存的内容为SYN报文的报文观测数据信息;
SEQ=0(2),表示缓存的内容为SEQ=0的报文的报文观测数据信息;
FIN(3),表示缓存的内容为FIN报文的报文观测数据信息。
进一步的是,采集到网络设备上的报文观测数据后,对每个TCP流已传输的数据量进行估计,包括:
将TCP报文的观测数据按照与流的隶属关系进行拆分;
针对隶属与每个流的TCP报文观测数据返估该流已传输的数据量。
进一步的是,上述报文观测数据包括TCP报文的类型、报文到达时间、五元组信息和SEQ值,该TCP流已传输数据量估计方法包括以下操作步骤:
S1.控制器接收采集设备汇报的TCP报文观测数据并根据报文观测数据的五元组值对报文观测数据进行分组;
S2.对于每组报文观测数据,如果有多个报文观测数据具有相同的类型以及SEQ值,且捕获时间(即报文到达时间)之差小于设定的时间T,则该多个报文观测数据为重传数据包的报文观测数据或者同一报文在不同设备上重复捕获的报文观测数据,只保留一个;
S3.对于去冗后的报文观测数据,挑选出其中类型为SYN的报文观测数据,按其捕获时间的先后顺序进行排序;
S4.按照SYN类型报文观测数据的捕获时间将时间划分为多个区间,将位于一个时间区间内的TCP报文观测数据划分为一个流,最后一个区间的报文观测数据划分为最后一个流;
S5.控制器针对隶属与每个流的报文观测数据,返估该TCP流已传输的数据量。
相比于其他方法,本发明上述方法能够正确识别SEQ可能出现的回绕,同时能够消除路由变更、重复报文观测引入的干扰,提高TCP已传输报文观测数据量估计的准确度。
进一步的是,远端控制器TCP流已传输数据量估计方法,上述报文观测数据包括TCP报文的类型、报文到达时间、五元组信息和SEQ值,包括以下操作步骤:
S1.控制器接收报文观测数据并根据报文观测数据的五元组值对报文报文观测数据进行分组;
S2.对于每组报文观测数据,如果有多个报文观测数据具有相同的类型和SEQ值,且捕获时间之差小于设定的时间T,则该多个报文观测数据为重传数据包的报文观测数据,或者同一报文在不同设备上重复捕获的报文观测数据,只保留一个;上述的时间T为设定的阈值;
S3.对于去冗后的所有报文观测数据,挑选出其中类型为SYN的报文观测数据,按其捕获时间的先后顺序进行排序;
S4.将位于一个时间区间的报文观测数据划分为一个流,将位于最后一个区间的报文观测数据划分为最后一个流;
S5.控制器针对隶属与每个TCP流的报文观测数据,估计该TCP流已传输的数据量。
进一步的是,控制器针对隶属与每个TCP流的报文观测数据,估计其已传输的数据量时,包括以下操作:
设SYN报文中的SEQ为SEQ1,FIN中的报文中的SEQ值为SEQ2,SEQ=0的报文出现的次数为k;
进行如下计算:
1)如果该流存在FIN报文观测数据,则该流大小=SEQ2-SEQ1+k*2^32;
2)如果该流不存在FIN报文观测数据且k>0,则该流大小=k*2^32-SEQ1,为不精确估计;
3)如果该流不存在FIN报文观测数据且k=0,则不进行估计。
进一步的是,将位于一个时间区间内的报文观测数据划分为一个TCP流,具体为:
控制器从去冗后的所有报文观测数据中,挑选出其中类型为SYN的报文观测数据,按其捕获时间的先后顺序进行排序。
进一步的是,上述进行排序具体为:
设共有多个SYN报文观测数据,排序后据根这些SYN报文观测数据的据捕获时间将时间划分为多段,位于一时间区间内的多个连续捕获的报文观测数据划分为一个单独的TCP流,位于最后一个区间的报文观测数据划分为最后一个流。
进一步的是,上述进行排序具体的步骤为:
1)设共有m个SYN报文观测数据,排序后它们的捕获时间分别为t[1],t[2],...,t[i],...,t[m];
2)控制器将所有位于时间区间[t[i]-T1-T2,t[i+1]-T1-T2)内的所有报文观测数据,划分为属于第i个流,其中i=1,2,...,m-1,共m-1个流;对于t[m]-T1-T2之后的所有报文观测数据,认为其属于最后一个流,即第m个流。
进一步的是,在网络设备每当收到指定类型的TCP报文后,将该TCP报文的类型、报文到达时间、五元组信息和SEQ值,即该报文的报文观测数据,发送给网络设备的控制面。
进一步的是,上述网络设备控制面将上述报文观测数据与其设备身份标识一并发送给远端控制器;远端控制器根据所有网络设备反馈的报文观测数据计算出各个TCP流的大小信息。
进一步的是,在远端控制器根据所有网络设备反馈的报文观测数据计算出各个TCP流的大小信息时,对于设定的时间段T内重复出现的五元组信息相同的报文观测数据,远端控制器不重复进行计算。
本发明的有益效果至少包括以下之一:
一、基于TCP事件的测量统计,能够精确统计出各个流实际传输的报文观测数据量,对小流友好,能够实现小流流量大小的精确统计;
二、测量信息聚合,在不影响测量精度、准确度的同时,能进一步显著减少测量带来的网络开销;
三、通过测量任务的拆分,即通过对报文观测数据采集任务进行分解,能够显著简化网络设备的测量工作负载,降低测量任务在实现上对网络设备硬件的要求。
下面结合附图和具体实施方式对本发明做进一步的说明。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显。或通过本发明的实践了解到。
附图说明
构成本发明的一部分的附图用来辅助对本发明的理解,附图中所提供的内容及其在本发明中有关的说明可用于解释本发明,但不构成对本发明的不当限定。在附图中:
图1为用于说明本实施例中的事件驱动的细粒度TCP流量测量方法总体流程图;
图2为用于说明本实施例中的事件驱动的细粒度TCP流量测量方法中报文观测数据采集任务进行划分的流程图;
图3为用于说明本实施例中的事件驱动的细粒度TCP流量测量方法中报文观测数据采集的流程图;
图4为用于说明本实施例中的事件驱动的细粒度TCP流量测量方法中控制器将报文观测数据按照流的隶属关系进行拆分的流程图;
图5为用于说明本实施例中采集任务进行划分的通信对所在网络的示意图;
图6为用于说明本实施例中采集任务进行划分的处理通信对b-h请求时对应的有向无环图;
图7为用于说明本实施例中采集任务进行划分的处理通信对a-g请求时对应的有向无环图。
具体实施方式
下面结合附图对本发明进行清楚、完整的说明。本领域普通技术人员在基于这些说明的情况下将能够实现本发明。在结合附图对本发明进行说明前,需要特别指出的是:
本发明中在包括下述说明在内的各部分中所提供的技术方案和技术特征,在不冲突的情况下,这些技术方案和技术特征可以相互组合。
此外,下述说明中涉及到的本发明的实施例通常仅是本发明一分部的实施例,而不是全部的实施例。因此,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
关于本发明中术语和单位。本发明的说明书和权利要求书及有关的部分中的术语“包括”以及它的任何变形,意图在于覆盖不排他的包含。
以上对本发明的有关内容进行了说明。本领域普通技术人员在基于这些说明的情况下将能够实现本发明。基于本发明的上述内容,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面结合附图对本发明进行清楚、完整的说明。本领域普通技术人员在基于这些说明的情况下将能够实现本发明。在结合附图对本发明进行说明前,需要特别指出的是:
本发明中在包括下述说明在内的各部分中所提供的技术方案和技术特征,在不冲突的情况下,这些技术方案和技术特征可以相互组合。
此外,下述说明中涉及到的本发明的实施例通常仅是本发明一分部的实施例,而不是全部的实施例。因此,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
关于本发明中术语和单位。本发明的说明书和权利要求书及有关的部分中的术语“包括”以及它的任何变形,意图在于覆盖不排他的包含。
以上对本发明的有关内容进行了说明。本领域普通技术人员在基于这些说明的情况下将能够实现本发明。基于本发明的上述内容,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本实施方式采用了一种事件驱动的细粒度TCP流量测量方法,在网络设备上进行TCP报文观测数据的采集,在远端逻辑集中控制器进行网络中TCP流已传输数据量的分析和估计;
其中,当网络设备在收到指定类型的TCP报文后,进行该操作:为该报文生成报文观测数据并缓存在网络设备本地;
如果所要缓存的位置已经存有内容,则上述报文观测数据内容缓存失败;直接将准备要缓存的报文观测数据内容和缓存中对应位置的内容一并发送给控制器,并将该缓存位置内容置空;
如果所要缓存的位置未存有内容,该报文观测数据内容缓存成功。
本方法的报文观测数据面功能能够在现有诸如P4可编程交换机上实现。
如图1,实施步骤:
S1、进行网络设备测量采集任务的划分;
S2、网络设备的报文观测数据转发面进行报文观测数据的采集;
S3、在远端控制器上对TCP流已传输的数据量进行分析和估计;
在本实施方式的细粒度TCP流量测量方法中,还采用了一种网络设备报文观测数据采集任务划分方法,可以避免重复测量,均衡各个网络设备的测量任务负载。这里考虑控制器知道网络中从一个子网或者主机,到另外一个子网或者主机之间的传输路径,以及对应的TCP流数目的场景(无需非常精确)。
我们将这样的一组通信需求,叫做一个通信对。
如图2,总体而言步骤为:
S101、统计出所有能对TCP流生成报文观测数据的网络设备;
S102、设定具有相同发送节点和接收节点的一组通信需求为一个通信对;
S103、对所有的通信对按照估计包含的TCP流数目由大到小进行排序;
S104、按照排序后获得的顺序,依次确定各个通信对所对应的报文观测数据采集任务,并将报文观测数据采集任务分配到不同的网络设备。
网络中有多个设备具备报文观测数据采集能力,那么控制器可以对报文观测数据的采集任务进行划分,分发到不同设备,减少每个设备的处理负担。此时,某个TCP在一个设备上只有当设置为检测时,该设备才对其进行上述报文检测和观测报文生成处理。
所以相应的,每个报文观测数据采集任务的具体划分方法如下:
1)对所有的通信对按照估计值包含的TCP流数目,从大到小进行排序;
2)按照排序后获得的顺序,依次决定各个通信对所对应的报文观测数据采集任务的安排。
对于每个通信对,假设为src到dst(这里的s和d可以是一个主机IP地址,也可以是一个子网地址前缀),该节点对在网络中的所有可行路形成了一个有向无环图(因为可能采用等价多路径路由,因此可能不止一条)。例如,参照图5,src标记为a,dst标记为g:
网络中有两个通信对a-g,以及b-h,此时网络中各有向边上均未安排测量任务。
其中,通信对a到g一共包含的流数目为3。其中,约有1.5经过路径a->c->e->g传输,另外1.5经过路径a->d->f->g传输(由于流数目是估计值,因此可以出现数目为小数的情况);
通信对b到h一共包含的流数目为5,其中,约有3经过路径b->c->e->h传输,另外该2经过路径b->d->f->h传输。
src在图中对应节点a,dst在图中对应节点g。
任务分配过程如下:
根据包含的流数对通信对进行排序,先多后少进行处理,所以首先处理通信对b-h的报文观测数据采集任务分配。
处理b-h请求时,对应的有向无环图为图6。
此时有向图中b-h有多个最小割,任意一个均可。
假设所使用的最小割算法恰好选中边b->c和d->f。
那么,节点c和f,分别将作为通信对b-h的报文观测数据采集节点,且有向边b->c的权重将更新为3,有向边d->f的权重更新为2。
之后,处理通信对a-g的报文观测数据采集任务,其对应的有向图为图7;
此时有向图中a-g有多个最小割,任意一个均可。
假设所使用的最小割算法恰好选中边a->c和a->d。
那么,节点c和d,分别将作为通信对a-g的报文观测数据采集节点,且有向边a->c的权重将更新为1.5,有向边a->d的权重更新为1.5。
其报文观测数据采集节点的选择决策过程如下:
1)为有向图中每个有向边设置一个权重,取值代表由该有向边(即链路)对应下一跳节点上对应入端口上需要测量的TCP流数目的估计值;
2)找到一个权重最小的有向边集合,假设为E,使得删除该集合中的有向边后,a到g不再可达;如果同时存在多个这样的有向边集合,随机挑选一个即可;
3)将E中的有向边对应的下跳网络设备作为该通信对中经过该链路的TCP流的报文观测数据采集节点,并更新对应有向边的测量任务负载权重值。
依次处理所有通信对的需求,最终即为每个需求都选择好了报文观测数据采集节点。
由此,通过该任务划分的方法能做到避免重复测量,均衡各个网络设备报文观测数据采集任务负载的目的。
如图3,对于每个收到的TCP报文,网络设备的报文观测数据转发面进行报文观测数据的采集,总体流程如下:
S201、网络设备报文观测数据转发面当收到一个TCP报文;
S202、如当前报文为SYN报文、FIN报文或SEQ=0的报文中的任意一种,则为该TCP报文生成报文观测数据,发送给网络设备的控制面,进行S202;
如当前报文不为SYN报文、FIN报文或SEQ=0的报文中的任意一种,跳转S206;
S203、网络设备的控制面缓存报文观测数据转发面提交的报文观测数据;控制面接收上述报文观测数据;
S204、控制面对上述报文观测数据中的五元组字段进行哈希计算,获得一个0到N-1之间的整数编号f;
S205、当缓存中第f个单元中缓存有报文观测数据,将该单元中缓存的报文观测数据和当前报文观测数据一起发送给远端控制器,并将该第f个单元中缓存的内容清空;
当缓存中第f个单元中没有缓存有报文观测数据,将当前报文观测数据缓存到f单元中;
S206、处理结束。
具体流程可按下列方式进行:
1)当收到一个报文后,判断当前报文是否为TCP报文中的SYN报文、FIN报文,或SEQ=0的报文,如果是则进行2),否则进行3);
2)为该TCP报文生成报文观测数据,发送给网络设备的控制面;
3)处理结束。
网络设备的控制面采用一片连续内存缓存报文观测数据面提交的报文观测数据信息,一共有N个存储单元,每个单元存储的内容包括:
1)报头类型(2bit):表示有4种可能的存储内容类型,即NUL(0),表示未缓存内容;SYN(1),表示缓存的内容为SYN报文的报文观测数据信息;SEQ=0(2),表示缓存的内容为SEQ=0报文的报文观测数据信息;以及FIN(3),表示缓存的内容为FIN报文的报文观测数据信息;
2)报文到达时间(32bit);
3)TCP五元组信息(对于IPv4,为104bit);即源IP地址(32bit)、目的IP地址(32bit)、源端口号(16bit)、目的端口号(16bit)、协议号(8bit);
4)SEQ值(32bit)
控制面对应的处理包含两种:
(一)在收到报文观测数据面发来的报文观测数据后,控制面:
1)对该报文五元组字段进行哈希计算,获得一个0到N-1之间的整数编号,作为该流在网络设备中的身份标识,假设为f;
2)判断缓存中第f个单元中是否缓存有报文观测数据,如果有,跳转到3),否者跳转到4)
3)将该单元中缓存的"报文类型、到达时间、五元组信息、以及SEQ值",和当前报文的"报文类型、到达时间、五元组信息、以及SEQ值"一起发送给远端控制器,并将该单元中缓存的内容清空;跳转到5);
4)当前报文的"报文类型、到达时间、五元组信息、以及SEQ值"缓存到f单元中;
5)处理结束;
(二)每隔时间T0,周期性地扫描一次缓存的所有报文观测数据,将其发送给远端控制器并清空。
网络设备控制面向远端控制器发送报文观测数据时,同时含本设备的身份标识,以便控制器识别和区分。
相比于其他报文观测数据采集方法,本方法是一种支持细粒度、低开销,具备可扩展性的测量方法,能够对包括小流在内的TCP流的传输报文观测数据量进行精确测量,并且能够在现有硬件上实现。
控制器收到的报文观测数据含以下几项信息:报文类型、到达时间、五元组信息、SEQ值、以及检测设备的编号。
从很长的时间周期来看,同一对发送主机和接收主机之间可能会进行多次通信,发生在不同时间的多个TCP流可能使用相同的端口号。
相应的,控制器需要对具有相同五元组的报文观测数据进分组,让每组内的报文观测数据对应一个流。
由于网络中不同设备的时钟之间不可能完全一样,并且一个TCP流的一些报文因为路由的变更,可能由不同设备捕获。为了减少时间设备之间时间误差的影响,网络中的所有设备需要进行时间同步。这里,假设不同设备之间时钟之间的最大差异为T1,网络的最大单向延迟为T2。
此外,TCP可能触发报文观测数据重传,对于这类重传数据包的报文观测数据,控制器也需要去冗。
在该事件驱动的细粒度TCP流量测量方法中,完成报文观测数据采集后,便可采用TCP流已传输数据量估计方法,用于远端控制器,具体操作如下:
远端控制器对获得的报文观测数据进行分类操作,控制器首先将这些报文观测数据按照流的隶属关系进行拆分,参照图4,处理流程如下:
S301、控制器将所有收到的报文观测数据,根据他们的五元组值进行分组;
S302、对于每组报文观测数据,如果有多个报文观测数据具有相同五元组信息,且捕获时间小于T3(该值可配置),则认为他们为重传数据包的报文观测数据,或者不同设备对同一个报文观测数据重复捕获的报文观测数据,只保留一个;
S303、对于去冗后的所有报文观测数据,挑选出其中类型为SYN的报文观测数据,按其捕获时间的先后顺序进行排序。假设一共有m个SYN报文观测数据,排序后它们的捕获时间分别为t[1],t[2],...,t[i],...,t[m];
S304、控制器将所有位于时间区间[t[i]-T1-T2,t[i+1]-T1-T2)内的所有报文的报文观测数据对应的TCP报文观测数据划分为属于一个单独的流,其中i=1,2,...,m-1,共m-1个流;对于t[m]-T1-T2之后的所有报文观测数据,认为其属于最后一个流;
S305、控制器针对隶属与每个流的报文观测数据,返估该TCP流已传输的数据量。
假设SYN报文观测数据中的SEQ为SEQ1,FIN报文观测数据的SEQ值为SEQ2,SEQ=0的报文观测数据出现的次数为k。那么计算过程如下:
1)如果该流存在FIN报文观测数据,则该流大小=SEQ2-SEQ1+k*2^32;
2)如果该流不存在FIN报文观测数据且k>0,则该流大小=k*2^32-SEQ1,为不精确估计;
3)如果该流不存在FIN报文观测数据且k=0,则不进行估计。
以上对本发明的有关内容进行了说明。本领域普通技术人员在基于这些说明的情况下将能够实现本发明。基于本发明的上述内容,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

Claims (7)

1.一种事件驱动的细粒度TCP流量测量方法,包括信息识别与获取、TCP流已传输数据量的分析和估计,对网络设备报文观测数据采集任务进行划分,其特征在于,
在网络设备上进行TCP报文观测数据的识别和获取;
在远端逻辑集中控制器进行网络中TCP流已传输数据量的分析和估计;
其中,当网络设备在收到指定类型的TCP报文后,进行该操作:为该报文生成观测数据并缓存在网络设备本地;
如果所要缓存的位置已经存有内容,则所述报文观测数据信息内容缓存失败;直接将准备要缓存的报文观测数据信息内容和缓存中对应位置的内容一并发送给控制器,并将该缓存位置内容置空;
如果所要缓存的位置未存有内容,该报文观测数据信息内容缓存成功;
所述直接将准备要缓存的报文观测数据内容和缓存中对应位置的内容一并发送给控制器时,所述网络设备周期性的将所述报文观测数据内容和缓存中对应位置的内容上报给控制器;
当网络中有多个网络设备均具备TCP报文观测数据采集能力时,远端控制器根据TCP流的路由,将不同网络的TCP流的报文观测数据采集任务进行分割并分配到不同的具备TCP报文观测数据采集能力的网络设备上处理;
所述对网络设备报文观测数据采集任务进行划分,包括以下操作:
统计出所有能对TCP报文进行观测数据采集的网络设备;
设定具有相同发送节点和接收节点的一组通信需求为一个通信对;
对所有的通信对按照估计包含的TCP流数目由大到小进行排序;
按照排序后获得的顺序,依次确定各个通信对所对应的观测数据采集任务,并将观测数据采集任务分配到不同的网络设备;
其中,将同时拥有多条传输路径且经过每条传输路径的TCP流数目已知的通信对组成的所有路径,构建一个有向无环图,该有向无环图的一条有向边对应传输路径上的一条单向链路;对该通信节点传输路径经过链路上的报文观测数据采集任务进行测量得到测量值,并根据每条链路上的测量值,依次为每个通信对的每个传输路径的上TCP流选择具体的报文观测数据采集节点。
2.如权利要求1所述的一种事件驱动的细粒度TCP流量测量方法,其特征在于,还包括在网络设备上进行报文观测数据的采集,包括以下操作:
网络设备数据转发面当收到一个TCP报文后,如该报文为SYN报文、FIN报文或SEQ=0的报文中的任意一种,则为该TCP报文生成观测数据,发送给网络设备的控制面;
网络设备的控制面缓存数据转发面提交的报文观测数据;
控制面接收所述报文观测数据后,控制面对报文观测数据进行以下处理:
S1.对所述报文观测数据中的五元组字段进行哈希计算,获得一个0到N-1之间的整数编号f;
S2.当缓存中第f个单元中缓存有报文观测数据,将该单元中缓存的观测数据和当前报文观测数据一起发送给远端控制器,并将该第f个单元中缓存的内容清空;
当缓存中第f个单元中没有缓存有报文观测数据,将当前报文观测数据缓存到f单元中;
S3.处理结束。
3.如权利要求2所述的一种事件驱动的细粒度TCP流量测量方法,其特征在于,从网络设备上采集到TCP报文观测数据后,对每个TCP流已传输的数据量进行估计,包括:
将TCP报文的观测数据按照与流的隶属关系进行拆分;
针对隶属与每个流的TCP报文观测数据返估该流已发送的数据量。
4.如权利要求3所述的TCP流已传输数据量估计方法,其特征在于,所述报文观测数据包括TCP报文的类型、报文到达时间、五元组信息和SEQ值,该TCP流已传输数据量估计方法包括以下操作步骤:
S1.控制器接收TCP报文观测数据并根据报文观测数据的五元组值对报文观测数据进行分组;
S2.对于每组报文观测数据,如果有多个观测数据具有相同的类型以及SEQ值,且捕获时间之差小于设定的时间T,则该多个报文观测数据为重传数据包的观测数据或者同一报文在不同设备上重复捕获的观测数据,只保留一个;
S3.对于去冗后的报文观测数据,挑选出其中类型为SYN的观测数据,按其捕获时间的先后顺序进行排序;
S4.按照SYN类型报文观测数据的捕获时间将时间划分为多个区间,将位于一个时间区间内的TCP报文观测数据划分为一个流,最后一个区间的报文观测数据划分为最后一个流;
S5.控制器针对隶属与每个流的报文观测数据,返估该TCP流已传输的数据量。
5.如权利要求1所述的一种事件驱动的细粒度TCP流量测量方法,其特征在于,在网络设备每当收到类型为SYN、FIN或SEQ=0的报文后,将报文的TCP报文的类型、报文到达时间、五元组信息和SEQ值作为该报文的观测数据,传递给网络设备的控制面。
6.如权利要求5所述的一种事件驱动的细粒度TCP流量测量方法,其特征在于,所述网络设备控制面将所述报文观测数据与本设备的身份标识信息一并发送给远端控制器;远端控制器根据所有网络设备反馈的报文观测数据信息计算出各个TCP流的大小信息。
7.如权利要求6所述的一种事件驱动的细粒度TCP流量测量方法,其特征在于,在远端控制器根据不同网络设备反馈的报文观测数据计算出各个TCP流的大小信息时,对于设定的时间段T内重复出现的五元组信息相同的报文观测数据,远端控制器不重复进行计算。
CN201910815603.XA 2019-08-30 2019-08-30 一种事件驱动的细粒度tcp流量测量方法 Active CN110545217B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910815603.XA CN110545217B (zh) 2019-08-30 2019-08-30 一种事件驱动的细粒度tcp流量测量方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910815603.XA CN110545217B (zh) 2019-08-30 2019-08-30 一种事件驱动的细粒度tcp流量测量方法

Publications (2)

Publication Number Publication Date
CN110545217A CN110545217A (zh) 2019-12-06
CN110545217B true CN110545217B (zh) 2022-07-05

Family

ID=68710959

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910815603.XA Active CN110545217B (zh) 2019-08-30 2019-08-30 一种事件驱动的细粒度tcp流量测量方法

Country Status (1)

Country Link
CN (1) CN110545217B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107294743A (zh) * 2016-03-30 2017-10-24 华为技术有限公司 一种网络路径探测方法、控制器及网络设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051952A (zh) * 2007-04-18 2007-10-10 东南大学 高速多链路逻辑信道环境下的自适应抽样流测量方法
CN101834763B (zh) * 2010-06-25 2011-11-09 山东大学 高速网络环境下多类型大流并行测量方法
US8593958B2 (en) * 2011-09-14 2013-11-26 Telefonaktiebologet L M Ericsson (Publ) Network-wide flow monitoring in split architecture networks
CN102437959B (zh) * 2011-12-20 2014-07-16 东南大学 基于双超时网络报文的组流方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107294743A (zh) * 2016-03-30 2017-10-24 华为技术有限公司 一种网络路径探测方法、控制器及网络设备

Also Published As

Publication number Publication date
CN110545217A (zh) 2019-12-06

Similar Documents

Publication Publication Date Title
CN108028778B (zh) 生成信息传输性能警告的方法、系统和装置
US6188674B1 (en) Method and apparatus for packet loss measurement in packet networks
KR101123020B1 (ko) 고속 트래픽 측정 및 분석 방법론들 및 프로토콜들
US8811395B2 (en) System and method for determination of routing information in a network
Percacci et al. Scale-free behavior of the Internet global performance
JP5296803B2 (ja) 処理メトリック情報のノード間における交換
EP3496346B1 (en) Data message forwarding method and apparatus
EP3295612B1 (en) Uplink performance management
CN103959713A (zh) 对通信网络中的数据流的测量
CN110557302B (zh) 网络设备报文观测数据采集方法
CN108234320B (zh) 报文传输方法及交换机
CN110572332B (zh) 网络设备报文观测数据采集任务划分方法
CN110545217B (zh) 一种事件驱动的细粒度tcp流量测量方法
CN110572300B (zh) Tcp流已传输数据量估计方法
JP2019087800A (ja) パケット解析プログラム、パケット解析装置、及び、パケット解析方法
CN111901237B (zh) 源路由选路方法及系统、相关设备及计算机可读存储介质
CN113132179A (zh) 测量分组驻留和传播时间
Elattar et al. Reliable multipath communication approach for internet-based cyber-physical systems
CN112910795B (zh) 一种基于众源的边缘负载均衡方法和系统
CN113767597B (zh) 用于基于周期的负载均衡的网络设备、系统和方法
CN113812119B (zh) 用于性能测量的网络节点
CN114157595A (zh) 一种通信系统、数据处理方法以及相关设备
CN107592269B (zh) 传输路径的负载信息的方法和网络节点
Ervasti A survey on network measurement: Concepts, techniques, and tools
CN114500357B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231007

Address after: 518000 1104, Building A, Zhiyun Industrial Park, No. 13, Huaxing Road, Henglang Community, Longhua District, Shenzhen, Guangdong Province

Patentee after: Shenzhen Hongyue Information Technology Co.,Ltd.

Address before: 610031 No. 111, North Section of Second Ring Road, Chengdu City, Sichuan Province

Patentee before: SOUTHWEST JIAOTONG University

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240119

Address after: Chinatelecom tower, No. 19, Chaoyangmen North Street, Dongcheng District, Beijing 100010

Patentee after: Tianyi Safety Technology Co.,Ltd.

Address before: 518000 1104, Building A, Zhiyun Industrial Park, No. 13, Huaxing Road, Henglang Community, Longhua District, Shenzhen, Guangdong Province

Patentee before: Shenzhen Hongyue Information Technology Co.,Ltd.