CN100361461C - 基于抽样测量的端到端运行性能监测方法 - Google Patents
基于抽样测量的端到端运行性能监测方法 Download PDFInfo
- Publication number
- CN100361461C CN100361461C CNB2005100376650A CN200510037665A CN100361461C CN 100361461 C CN100361461 C CN 100361461C CN B2005100376650 A CNB2005100376650 A CN B2005100376650A CN 200510037665 A CN200510037665 A CN 200510037665A CN 100361461 C CN100361461 C CN 100361461C
- Authority
- CN
- China
- Prior art keywords
- point
- mask
- cooperative
- sampling
- result
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于抽样测量的端到端运行性能监测方法,通过在网络上设置监测点,被动测量网络单项延迟和丢包率的方法来监测网络的流量运行情况,设定各监测点统一的密钥,通过密钥与报文生成一个哈希值,在网络上随机抽取一定比例的报文,监测点设置两个缓冲池,将该报文头的前40个字节和该报文的8个字节时间戳存储在当前缓冲池中,另一缓冲池用来转发数据,通过数据运算得到网络的单项延迟和丢包率,由此得出网络运行性能,本发明具有对测量器的性能影响很小,测量方法安全,抽样精度高,不需要进行抽样掩码协商也可保证不同的测量点测量到相同的报文等优点。
Description
技术领域
本发明涉及一种用于检测网络性能的方法,尤其涉及一种基于抽样测量的端到端运行性能监测方法。
背景技术
Internet管理的理论研究和技术开发并不是一个新的课题,但过去主要集中在网络管理。然而,上世纪九十年代中期以来,随着Internet的发展,大型公司、政府机关、科研单位、私营企业和一般消费者逐渐利用基于Internet的服务作为进行商业活动的基本手段,服务管理和用户管理成为Internet管理的重点,Internet服务管理的研究重点也从有效性管理转到可接受的服务质量(quality of service,QoS)的管理。当前网络管理大多用于网络管理和系统管理,这些管理主要从网络和系统的观点来管理网络,不适用于目前的端至端服务的管理。网络管理员为了管理端至端服务,需要有基于Internet服务管理的服务级别管理和报告工具,基于SNMP的故障检测及修复工具不再能满足网络管理员的需求。
当前服务系统一般是由多个服务提供商提供,所以,为了给用户提供端至端服务质量保证,就要求各服务提供商都能保证其相应部分的可用性和性能。用户不关心提供服务的各个组成部分,只关心QoS。对QoS的期望使用户同它们的服务提供商协商QoS级别,这通过SLA(service level agreements)来实现。SLA是服务提供商和用户之间为指定期望的QoS级别,签订的一个服务期望行为和QoS参数的合同。目前SLA管理的研究主要以下三方面:SLA参数定义,目前还没有SLA参数的公共标准;SLA测量,主要研究如何精确地测量服务提供商提供给用户的QoS,SLA测量是SLA管理的基础;SLA/QoS管理,实时监控、分析和报告提供给用户的QoS。
对端至端性能进行监测的关键在于统一监测内容,使网络的性能状态不仅纵向可比,而且具有横向的可比性,才能形成对网络使用状况的正确评价。但是,由目前的情况看来,这方面的研究还未形成统一的标准。IETF的IPPM工作组定义了一系列描述网络性能的参量建议,如one-way delay,one-way packet loss,round-trip delay等,明确了测量对象的参数,单位,定义和方法。并据此在http://www.advanced.org/csg-ippm/建立了Current SurveyorNetwork Map,通过发送带有时标的测试报文对美国38个主节点间的one-way delay和packet loss进行了测量。这似乎是唯一的一个根据已成形的定义对网络性能进行监测的网络状况报告。参照国外同类工作的成果,建立统一的目标体系,SLA参数定义是网络性能监测的首要前提。
由于Internet存在很大的异质性、巨大的传输流量、流量的多种特性、用户对各种不同应用的需求,因此网络行为研究相当具有挑战性且相当复杂。由于已有的理论模型不能有效地描述和分析实际网络行为,使用这些模型通常难以得出正确结论。因此基于测量的网络管理方法被广泛使用,主要的研究团体有CAIDA、MERIT、ITA、OC3和IETF。对网络设备和连接的数据进行采集以后,需要从过去的数据中了解网络运行的状态,以提前知道可能出现的问题,合理安排网络负载。同时,在充分了解设备和连接的使用情况下,对未来的网络规划作出指导。目前国内外对网络的状态参数序列进行分析的工作还没有怎么展开。目前国外有很多机构对其自身提供的网络服务进行一定程度的测量分析并相互进行了合作,以期获得对网络状态的全面认识,如CAIDA(Cooperative Association for Internet Data Analysis)对网络数据流的测量和分析方面的工作。但目前研究大多是根据某些特定应用的要求而进行的,目标比较随意,还没有形成较完整的体系,已经出现的一些理论模型与实际运用还有一定的差距。如加利福利亚大学用一些简单的算法由历史数据对网络的延时、吞吐量进行短期的预报以支持负载动态调整;波士顿大学通过对信道的可用带宽的测试数据进行动态服务器的选择,但它只是根据当前状况进行选择,而没有做较长远的分析。总地来说,现有的研究是直接根据测量值进行一些网络负载的即时优化,没有对数据的长期分析、综合运用。因此可以说,对网络的状态参数进行系统地分析研究目前还处于初始阶段。
目前的测量项目主要是入侵式测量、非入侵式测量及轮询MIB。入侵测量有许多直接测量方法,但入侵流量会影响网络流量;非入侵测量测量期间不影响网络流量,但高速网络环境中容易丢失信息,且难以监测端至端网络性能;轮询MIB测量方法简单,但有些必要的数据难以得到,且难以用于大规模高速网络环境中。
目前主要的测量项目有:CAIDA的skitter项目测量从22个源点到全世界IP路径和RTT,以获取和跟踪全球Internet拓扑。CoralReef项目是CAIDA使用被动流量监测器收集和分析数据,CoralReef现在可用于OC3、OC12和OC48的高速主干网络环境中。NSF和DARPA的NIMI项目的目的是建立网络测量通用平台体系结构,NIMI原型遵循IPPM测度标准,测量延迟、丢包和单向路由。IEPM项目是SLAC/DOC等组织使用PingER工具主动监测端至端的Internet性能。Abilene是美国连接地区网络Gbps交换点的一个高级主干网络,支持大学进行高级网络应用的研究工作,网络监控行为主要是主动的广播ping测量和基于SNMP的测量。Mantra是CAIDA用于在路由器级监控各种组播行为的工具。NLANR的测量和运行分析组(MOAT)维护一个网络分析体系结构(NAI),用于研究Internet服务模型和测度,MOAT的PMA项目从记录文件中获取IP报头信息和从多个测量点获取SNMP ROM数据,AMP项目从100多个校园网络中获取主动测量数据。网络气象服务(NWS)是一个分布式系统,周期监控和动态预测NPACI网络性能。
传统的SLA管理工具不能收集性能参数,即使能够收集性能参数,也难协同参数之间的关系,确定服务是否达到SLA协议所规定的质量水平。服务提供商目前的网络管理解决方案,不能实现端至端性能管理,因此,SLA促使服务提供商从传统的基于SNMP的解决方案转向SLA管理工具。目前市场上有一些服务等级跟踪和报告的工具,这些工具正从传统的网络和系统管理转向服务管理,但管理系统真正能达到ISP管理的SLA还需要一定时间。这些工具包括:Cisco公司的Cisco Works2000 SMS工具,Response Networks的Pulsar xSP,Info Vista公司的Info Vista系统,INS的VitalSuite,ConCord Communications的Network HealthReporter和Agilent Technologies的Firehunter等。其中有的产品仅能监控网络服务,有的能监控终端用户的应用程序,但这些工具基本都是采用轮询MIB数据库和使用简单的ping工具,且只能测量低速小型网络的SLA。
传统测量单向延迟和丢包率的方法是主动测量方法,即主动方式从测量点A发送流量到达测量点B,根据测试报文的信息计算测量点A、B之间的单向丢包率和单向延迟这两个性能测度指标。但是主动测量方法具有两个方面的缺点:(1)主动测试流量干扰网络正常流量的运行情况;(2)从测量点A到测量点B之间的路由器和网关对可能对不同的流量采用不同的处理方式,可能会造成测试流量的丢失或排队延迟,这样使得测量结果不能反映真实的网络端到端的性能状况。
发明内容
本发明提供一种能够提高测量点的测量效率、测量系统的安全性及抽样控制精度并能减少分布式测量点之间协同信息基于抽样测量的端到端运行性能监测方法。
本发明采用如下技术方案:
一种基于抽样测量的端到端运行性能监测方法:
第1步:在网络上布置至少2个监测点,在每个监测点上设置测量器和服务器,在每个监测点配置各个监测点的监测范围,整个系统最多可以测量n(n-1)条路径的性能,对于一个测量点,为从本地测量点到协同测量点的测量路径和从协同测量点到本地测量点的测量路径都设置二个存储空间,一个存储空间用于存储中间结果packet_storage,另一个存储空间用于存储该路径的最终测量结果performance_storage,在每个监测点配置GPS时钟同步系统,在各个监测点通过分光器从测量光纤上分出10%光强的光至测量器,
第2步:在每个测量点上配置一个相同的密钥值key,在测量器上设置两个缓冲池:存储缓冲池basket1和转发缓冲池basket2,以及性能处理的时间粒度time_scale,
第3步:在每个测量点上配置各自的抽样比例ratio,抽样比例ratio取值范围为0到1之间,设置一个抽样掩码长度集合mask_length,集合空间大小为16,初始值为空,将抽样比例ratio依次和1/21,1/22,1/23,1/24,1/25,1/26,1/27,1/28,1/29,1/210,1/211,1/212,1/213,1/214,1/215,1/216这16个数进行比较,如果ratio大于某一个数,则将第一个小于抽样比例ratio的数的分母指数记录在抽样掩码长度集合mask_length中,抽样比例ratio减去该第一个小于抽样比例ratio的数后所得的结果继续与此后的数进行比较,将此后数中的第一个小于所得结果的数的分母指数记录在抽样掩码长度集合mask_length中,然后将所得结果减去上述第一个小于所得结果的数,如此反复,直至将这16个数比较结束为止,
第4步:从抽样掩码长度集合mask_length中依次读取元素,定义一个比特串,该比特串的长度为当前读取元素的值,将mask_length集合中小于当前读取元素值的所有元素值位置上设置为0,其余位置上设置为1,将该比特串作为一个掩码,记录在掩码集合mask中,
第5步:测量器收到每个报文执行以下步骤:
5.1测量器一旦收到一个报文立即为该报文打一个测量器当前时戳;
5.2从报文头中提取32比特的源IP、32比特的宿IP、16比特的源端口、16比特的宿端口、16比特的报文标识IPID,
5.3将源IP的后16比特进行3位左循环运算,并将生成的结果和宿IP后16比特进行异或运算,生成一个16比特串hash1;将源IP的前16比特进行4位左循环运算,并将生成的结果和宿IP前16比特进行异或运算,生成一个16比特串hash2;将源端口的16比特进行5位左循环运算,并将生成的结果和宿端口的16比特进行异或运算,生成一个16比特串hash3;将上述3个16比特串hash1,hash2及hash3与报文标识IPID进行异或运算,生成16比特串的哈希值hash,
5.4将生成的哈希值hash与密钥key进行异或生成最终的哈希值hash;
5.5依次从掩码集合mask中读取元素,从16个比特的最终哈希值hash中第一个比特开始抽取掩码长度的比特串,并将该比特串与当前读取掩码进行比较,抽取具有与掩码相同的比特串的报文,并将该报文头的前40个字节和该报文的8个字节时间戳存储在当前缓冲池中,
第6步:继续执行第5步处理新到达的报文,如果当前缓冲池满,将当前缓冲池设置为转发缓冲池,同时将测量器中的另一个缓冲池设置为当前缓冲池,并将转发缓冲池中的数据以UDP报文的方式转发给后台服务器,
第7步:后台服务器接受来自测量器的UDP报文,并从UDP报文中读取报文头详细信息和时戳信息,
第8步:根据报文头的源宿Ip地址,以及服务器中配置的每个测量点管辖的地址空间,将报文头信息及其时戳信息存储到该报文所属路径的中间存储结果空间packet_storage中,
第9步:继续根据第7步处理下一个到达的报文,如果测量时间进入一个新的时间粒度区间,则将协同测量点中从协同测量点到本地测量点路径的中间存储结果空间packet_storage中的上一个时间粒度区间中的报文头信息及其时戳信息传送到本地测量点服务器中,同时将协同测量点的抽样比例传送到本地测量点,
第10步:比较本地测量点的抽样比例和协同测量点的抽样比例,对具有大抽样比例的中间存储结果空间的上一时间粒度区间中的数据使用小的抽样比例继续使用5.2步到5.5步的方法进行第二次抽样,
第11步:将协同测量点到本地测量点路径中协同测量点上一时间粒度区间中中间存储结果空间中元素的数目number1减去本地测量点一时间粒度区间中中间存储结果空间中元素的数目number2,并将二者的结果除以协同测量点上一时间粒度区间中中间存储结果空间中元素的数目number1,其结果就是从协同测量点到本地测量点路径的单向丢包率,并将结果储存到该路径的最终测量结果存储空间performance_storage中,
第12步:比较协同测量点到本地测量点路径中协同测量点上一时间粒度区间中中间存储结果空间中的元素和本地测量点一时间粒度区间中中间存储结果空间中的元素,选择两集合中元素的源IP、宿IP、源端口、宿端口、报文标识IPID都相同的报文头数据,并使用协同测量点的元素时间戳减去本地测量点的元素时间戳数据,并将结果存储在一个时间差值集合中,
第13步:从时间差值集合中读取集合元素的个数、最小元素的值、以及中间大小元素的值,以最小元素的值为最小单向延迟,以中间大小元素的值为中值单向延迟,并将上述三个值存储到从协同测量点到本地测量点路径的的最终测量结果存储空间performance_storage中,
第14步:将上一时间粒度区间中从协同测量点到本地测量点路径上的最小单向延迟、中值单向延迟、单向丢包率和测量的个数的结果,传送到协同测量点服务器的从协同测量点到本地测量点路径的最终测量结果存储空间performance_storage中。
2、根据权利要求1所述的基于抽样测量的端到端运行性能监测方法,其特征在于第2步所述性能处理的时间粒度time_scale设置为5分钟。
与现有技术相比,本发明具有如下优点:
(1)基于标识多掩码抽样方法主要是异或、移位运算,便于用硬件实现,使用该方法对测量器的性能影响很小;
(2)标识值处理中引入了密钥,在不影响标识值的随机性和协同性基础上,增加了测量方法的安全性;
(3)多测量掩码使得抽样概率可以自由调整,具有多种选择抽样概率,实现抽样控制精度到达1/65536;
(4)由于掩码计算方法决定大抽样概率的抽样样本包含小抽样概率样本,因此多个测量点不需要采用相同的抽样概率,也不需要进行抽样掩码协商,可以保证不同的测量点测量到相同的报文。
附图说明
图1是网络端到端性能被动测量体系结构图;
图2是测量系统网络环境图,其中,测量器通过一条专用线路与服务器连接,用于传递测量数据和控制信息,并在需要时,通过服务器与Intranet(园区网)和Internet(互联网)上的其他设备交互。
具体实施方式
实施例1
一种基于抽样测量的端到端运行性能监测方法:
第1步:在网络上布置至少2个监测点,在每个监测点上设置测量器和服务器,在每个监测点配置各个监测点的监测范围,整个系统最多可以测量n(n-1)条路径的性能,对于一个测量点,为从本地测量点到协同测量点的测量路径和从协同测量点到本地测量点的测量路径都设置二个存储空间,一个存储空间用于存储中间结果packet_storage,另一个存储空间用于存储该路径的最终测量结果performance_storage,在每个监测点配置GPS时钟同步系统,在各个监测点通过分光器从测量光纤上分出10%光强的光至测量器,
第2步:在每个测量点上配置一个相同的密钥值key,在测量器上设置两个缓冲池:存储缓冲池basket1和转发缓冲池basket2,以及性能处理的时间粒度time_scale,
第3步:在每个测量点上配置各自的抽样比例ratio,抽样比例ratio取值范围为0到1之间,设置一个抽样掩码长度集合mask_length,集合空间大小为16,初始值为空,将抽样比例ratio依次和1/21.1/22,1/23,1/24,1/25,1/26,1/27,1/28,1/29,1/210,1/211,1/212,1/213,1/214,1/215,1/216这16个数进行比较,如果ratio大于某一个数,则将第一个小于抽样比例ratio的数的分母指数记录在抽样掩码长度集合mask_length中,抽样比例ratio减去该第一个小于抽样比例ratio的数后所得的结果继续与此后的数进行比较,将此后数中的第一个小于所得结果的数的分母指数记录在抽样掩码长度集合mask_length中,然后将所得结果减去上述第一个小于所得结果的数,如此反复,直至将这16个数比较结束为止,
第4步:从抽样掩码长度集合mask_length中依次读取元素,定义一个比特串,该比特串的长度为当前读取元素的值,将mask_length集合中小于当前读取元素值的所有元素值位置上设置为0,其余位置上设置为1,将该比特串作为一个掩码,记录在掩码集合mask中,
第5步:测量器收到每个报文执行以下步骤:
5.1测量器一旦收到一个报文立即为该报文打一个测量器当前时戳;
5.2从报文头中提取32比特的源IP、32比特的宿IP、16比特的源端口、16比特的宿端口、16比特的报文标识IPID,
5.3将源IP的后16比特进行3位左循环运算,并将生成的结果和宿IP后16比特进行异或运算,生成一个16比特串hash1;将源IP的前16比特进行4位左循环运算,并将生成的结果和宿IP前16比特进行异或运算,生成一个16比特串hash2;将源端口的16比特进行5位左循环运算,并将生成的结果和宿端口的16比特进行异或运算,生成一个16比特串hash3;将上述3个16比特串hash1,hash2及hash3与报文标识IPID进行异或运算,生成16比特串的哈希值hash,
5.4将生成的哈希值hash与密钥key进行异或生成最终的哈希值hash;
5.5依次从掩码集合mask中读取元素,从16个比特的最终哈希值hash中第一个比特开始抽取掩码长度的比特串,并将该比特串与当前读取掩码进行比较,抽取具有与掩码相同的比特串的报文,并将该报文头的前40个字节和该报文的8个字节时间戳存储在当前缓冲池中,
第6步:继续执行第5步处理新到达的报文,如果当前缓冲池满,将当前缓冲池设置为转发缓冲池,同时将测量器中的另一个缓冲池设置为当前缓冲池,并将转发缓冲池中的数据以UDP报文的方式转发给后台服务器,
第7步:后台服务器接受来自测量器的UDP报文,并从UDP报文中读取报文头详细信息和时戳信息,
第8步:根据报文头的源宿IP地址,以及服务器中配置的每个测量点管辖的地址空间,将报文头信息及其时戳信息存储到该报文所属路径的中间存储结果空间packet_storage中,
第9步:继续根据第7步处理下一个到达的报文,如果测量时间进入一个新的时间粒度区间,则将协同测量点中从协同测量点到本地测量点路径的中间存储结果空间packet_storage中的上一个时间粒度区间中的报文头信息及其时戳信息传送到本地测量点服务器中,同时将协同测量点的抽样比例传送到本地测量点,
第10步:比较本地测量点的抽样比例和协同测量点的抽样比例,对具有大抽样比例的中间存储结果空间的上一时间粒度区间中的数据使用小的抽样比例继续使用5.2步到5.5步的方法进行第二次抽样,
第11步:将协同测量点到本地测量点路径中协同测量点上一时间粒度区间中中间存储结果空间中元素的数目number1减去本地测量点一时间粒度区间中中间存储结果空间中元素的数目number2,并将二者的结果除以协同测量点上一时间粒度区间中中间存储结果空间中元素的数目number1,其结果就是从协同测量点到本地测量点路径的单向丢包率,并将结果储存到该路径的最终测量结果存储空间performance_storage中,
第12步:比较协同测量点到本地测量点路径中协同测量点上一时间粒度区间中中间存储结果空间中的元素和本地测量点一时间粒度区间中中间存储结果空间中的元素,选择两集合中元素的源IP、宿IP、源端口、宿端口、报文标识IPID都相同的报文头数据,并使用协同测量点的元素时间戳减去本地测量点的元素时间戳数据,并将结果存储在一个时间差值集合中,
第13步:从时间差值集合中读取集合元素的个数、最小元素的值、以及中间大小元素的值,以最小元素的值为最小单向延迟,以中间大小元素的值为中值单向延迟,并将上述三个值存储到从协同测量点到本地测量点路径的的最终测量结果存储空间performance_storage中,
第14步:将上一时间粒度区间中从协同测量点到本地测量点路径上的最小单向延迟、中值单向延迟、单向丢包率和测量的个数的结果,传送到协同测量点服务器的从协同测量点到本地测量点路径的最终测量结果存储空间performance_storage中。
实施例2
第1步:在网络上布置至少2个监测点,在每个监测点上设置测量器和服务器,在每个监测点配置各个监测点的监测范围,整个系统最多可以测量n(n-1)条路径的性能,对于一个测量点,为从本地测量点到协同测量点的测量路径和从协同测量点到本地测量点的测量路径都设置二个存储空间,一个存储空间用于存储中间结果packet_storage,另一个存储空间用于存储该路径的最终测量结果performance_storage,在每个监测点配置GPS时钟同步系统,在各个监测点通过分光器从测量光纤上分出10%光强的光至测量器,例如:设置两个测量点:测量点A和测量点B,测量点A监测从测量点A到测量点B的路径(A->B)和测量点B到测量点A(B->A)的两条路径,同样测量点B也监测从测量点A到测量点B的路径(A->B)和测量点B到测量点A的路径(B->A)两条路径,在每个路径上设置两个存储空间,
第2步:在每个测量点上配置一个相同的密钥值key,在测量器上设置两个缓冲池:存储缓冲池basket1和转发缓冲池basket2,以及性能处理的时间粒度time_scale(如设置time_scale粒度为5分钟),
第3步:在每个测量点上配置各自的抽样比例ratio,抽样比例ratio取值范围为0到1之间,设置一个抽样掩码长度集合mask_length,集合空间大小为16,初始值为空,将抽样比例ratio依次和1/21,1/22,1/23,1/24,1/25,1/26,1/27,1/28,1/29,1/210,1/211,1/212,1/213,1/214,1/215,1/216这16个数进行比较,如果ratio大于某一个数,则将第一个小于抽样比例ratio的数的分母指数记录在抽样掩码长度集合mask_length中,抽样比例ratio减去该第一个小于抽样比例ratio的数后所得的结果继续与此后的数进行比较,将此后数中的第一个小于所得结果的数的分母指数记录在抽样掩码长度集合mask_length中,然后将所得结果减去上述第一个小于所得结果的数,如此反复,直至将这16个数比较结束为止,
算法:设抽样掩码长度存放数组为mask_length[]=“”;
抽样掩码个数number=0;
抽样比率为ratio;
for i from 1 to 16
{
if ratio>=1/2i then
ratio=ratio-1/2i
mask_length[number]=i
number++;
end if
}
return number,mask_length[]
例如:
将0.356和0.41分解成以下公式:
0.356=1/22+1/24+1/25+1/27+1/28+1/211+1/215+0.00001245
0.41=1/22+1/23+1/25+1/29+1/210+1/211+1/212+1/214+1/216+0.000011
第4步:从抽样掩码长度集合mask_length中依次读取元素,定义一个比特串,该比特串的长度为当前读取元素的值,将mask_length集合中小于当前读取元素值的所有元素值位置上设置为0,其余位置上设置为1,将该比特串作为一个掩码,记录在掩码集合mask中,
例如:
0.356匹配掩码表
掩码位置 | 抽样比率(分数) | 抽样比率(小数) | 抽样掩码 |
2 | 1/2<sup>2</sup> | 0.25 | 11 |
4 | 1/2<sup>4</sup> | 0.125 | 1101 |
5 | 1/2<sup>5</sup> | 0.0625 | 10101 |
7 | 1/2<sup>7</sup> | 0.0078125 | 1100101 |
8 | 1/2<sup>8</sup> | 0.00390625 | 10100101 |
11 | 1/2<sup>11</sup> | 0.00048828125 | 11100100101 |
15 | 1/2<sup>15</sup> | 0.000030517578125 | 111101100100101 |
0.41匹配掩码表
掩码位置 | 抽样比率(分数) | 抽样比率(小数) | 抽样掩码 |
2 | 1/2<sup>2</sup> | 0.25 | 11 |
3 | 1/2<sup>3</sup> | 0.125 | 101 |
5 | 1/2<sup>5</sup> | 0.03125 | 11001 |
9 | 1/2<sup>9</sup> | 0.001953125 | 111101001 |
10 | 1/2<sup>10</sup> | 0.0009765625 | 1011101001 |
11 | 1/2<sup>11</sup> | 0.00048828125 | 10011101001 |
12 | 1/2<sup>12</sup> | 0.000244140625 | 100011101001 |
14 | 1/2<sup>14</sup> | 0.00006103515625 | 11000011101001 |
16 | 1/2<sup>16</sup> | 0.0000152587890625 | 1101000011101001 |
从0.356抽样掩码表和0.41抽样掩码表中可以知道,0.41抽样掩码表中的第二项掩码101包含0.356抽样掩码表的第二项到第六项的内容。
第5步:测量器收到每个报文执行以下步骤:
5.1测量器一旦收到一个报文立即为该报文打一个测量器当前时戳;
5.2从报文头中提取32比特的源IP、32比特的宿IP、16比特的源端口、16比特的宿端口、16比特的报文标识IPID,
5.3将源IP的后16比特进行3位左循环运算,并将生成的结果和宿IP后16比特进行异或运算,生成一个16比特串hash1;将源IP的前16比特进行4位左循环运算,并将生成的结果和宿IP前16比特进行异或运算,生成一个16比特串hash2;将源端口的16比特进行5位左循环运算,并将生成的结果和宿端口的16比特进行异或运算,生成一个16比特串hash3;将上述3个16比特串hash1,hash2及hash3与报文标识IPID进行异或运算,生成16比特串的哈希值hash,
算法:
设bsip为源IP前16比特、asip为源IP后16比特、bdip为宿IP前16比特、adip为宿IP后16比特、sport为源端口、dport为宿端口、IPID为报文标识;
设hash1、hash为16比特无符号整型;
hash=IPID;
hash1=asip<<3|asip>>(16-3);
hash1=hash1^adip;
hash^=hash1;
hash1=bsip<<4|bsip>>(16-4);
hash1=hash1^bdip;
hash^=hash1;
hash1=sport<<5|sport>>(16-5);
hash1=hash1^dport;
hash^=hash1;
5.4将生成的哈希值hash与密钥key进行异或生成最终的哈希值hash;
算法:
hash=hash^key
5.5依次从掩码集合mask中读取元素,从16个比特的最终哈希值hash中第一个比特开始抽取掩码长度的比特串,并将该比特串与当前读取掩码进行比较,抽取具有与掩码相同的比特串的报文,并将该报文头的前40个字节和该报文的8个字节时间戳存储在当前缓冲池中,
算法:
各抽样掩码长度集合为mask_length[i],(i=1,number),其中number表示掩码的个数;
cur mask=0; //指定第一个子掩码;
for(i==1;i<=16;i++) //标识值共有16个比特,因此最多需要循环16次;
if(hash[i]==0) //hash[i]表示标识值的第i个比特的值(0或1);
{
if(i>mask_length[cur_mask]) 抽样该报文;
else if(i<mask_length[cur_mask]) 不抽样该报文;
-11-
else if(i==mask_length[cur_mask])
{
if(cur_mask==number) //已经指到了最后一个掩码
不抽样该报文
else
cur mask++; //查找下一个抽样掩码
}
}
第6步:继续执行第5步处理新到达的报文,如果当前缓冲池满,将当前缓冲池设置为转发缓冲池,同时将测量器中的另一个缓冲池设置为当前缓冲池,并将转发缓冲池中的数据以UDP报文的方式转发给后台服务器,
第7步:后台服务器接受来自测量器的UDP报文,并从UDP报文中读取报文头详细信息和时戳信息;
第8步:根据报文头的源宿IP地址,以及服务器中配置的每个测量点管辖的地址空间,将报文头信息及其时戳信息存储到该报文所属路径的中间存储结果空间packet_storage中,
第9步:继续根据第7步处理下一个到达的报文,如果测量时间进入一个新的时间粒度区间,则将协同测量点中从协同测量点到本地测量点路径的中间存储结果空间packet_storage中的上一个时间粒度区间中的报文头信息及其时戳信息传送到本地测量点服务器中,同时将协同测量点的抽样比例传送到本地测量点,
第10步:比较本地测量点的抽样比例和协同测量点的抽样比例,对具有大抽样比例的中间存储结果空间的上一时间粒度区间中的数据使用小的抽样比例继续使用5.2步到5.5步的方法进行第二次抽样,
第11步:将协同测量点到本地测量点路径中协同测量点上一时间粒度区间中中间存储结果空间中元素的数目number1减去本地测量点一时间粒度区间中中间存储结果空间中元素的数目number2,并将二者的结果除以协同测量点上一时间粒度区间中中间存储结果空间中元素的数目number1,其结果就是从协同测量点到本地测量点路径的单向丢包率,并将结果储存到该路径的最终测量结果存储空间performance_storage中,
第12步:比较协同测量点到本地测量点路径中协同测量点上一时间粒度区间中中间存储结果空间中的元素和本地测量点一时间粒度区间中中间存储结果空间中的元素,选择两集合中元素的源IP、宿IP、源端口、宿端口、报文标识IPID都相同的报文头数据,并使用协同测量点的元素时间戳减去本地测量点的元素时间戳数据,并将结果存储在一个时间差值集合中,
第13步:从时间差值集合中读取集合元素的个数、最小元素的值(最小单向延迟)、以及中间大小元素的值(中值单向延迟),并将这三个值存储到从协同测量点到本地测量点路径的的最终测量结果存储空间performance_storage中,
第14步:将上一时间粒度区间中从协同测量点到本地测量点路径上的最小单向延迟、中值单向延迟、单向丢包率和测量的个数的结果,传送到协同测量点服务器的从协同测量点到本地测量点路径的最终测量结果存储空间performance_storage中。
Claims (2)
1、一种基于抽样测量的端到端运行性能监测方法,其特征在于:
第1步:在网络上布置至少2个监测点,在每个监测点上设置测量器和服务器,在每个监测点配置各个监测点的监测范围,整个系统最多可以测量n(n-1)条路径的性能,对于一个测量点,为从本地测量点到协同测量点的测量路径和从协同测量点到本地测量点的测量路径都设置二个存储空间,一个存储空间用于存储中间结果packet_storage,另一个存储空间用于存储该路径的最终测量结果performance_storage,在每个监测点配置GPS时钟同步系统,在各个监测点通过分光器从测量光纤上分出10%光强的光至测量器,
第2步:在每个测量点上配置一个相同的密钥值key,在测量器上设置两个缓冲池:存储缓冲池basketl和转发缓冲池basket2,以及性能处理的时间粒度time_scale,
第3步:在每个测量点上配置各自的抽样比例ratio,抽样比例ratio取值范围为0到1之间,设置一个抽样掩码长度集合mask_length,集合空间大小为16,初始值为空,将抽样比例ratio依次和1/21,1/22,1/23,1/24,1/25,1/26,1/27,1/28,1/29,1/210,1/211,1/212,1/213,1/214,1/215,1/216这16个数进行比较,如果ratio大于某一个数,则将第一个小于抽样比例ratio的数的分母指数记录在抽样掩码长度集合mask_length中,抽样比例ratio减去该第一个小于抽样比例ratio的数后所得的结果继续与此后的数进行比较,将此后数中的第一个小于所得结果的数的分母指数记录在抽样掩码长度集合mask_length中,然后将所得结果减去上述第一个小于所得结果的数,如此反复,直至将这16个数比较结束为止,
第4步:从抽样掩码长度集合mask_length中依次读取元素,定义一个比特串,该比特串的长度为当前读取元素的值,将mask_length集合中小于当前读取元素值的所有元素值位置上设置为0,其余位置上设置为1,将该比特串作为一个掩码,记录在掩码集合mask中,
第5步:测量器收到每个报文执行以下步骤:
5.1测量器一旦收到一个报文立即为该报文打一个测量器当前时戳;
5.2从报文头中提取32比特的源IP、32比特的宿IP、16比特的源端口、16比特的宿端口、16比特的报文标识IPID,
5.3将源IP的后16比特进行3位左循环运算,并将生成的结果和宿IP后16比特进行异或运算,生成一个16比特串hash1;将源IP的前16比特进行4位左循环运算,并将生成的结果和宿IP前16比特进行异或运算,生成一个16比特串hash2;将源端口的16比特进行5位左循环运算,并将生成的结果和宿端口的16比特进行异或运算,生成一个16比特串hash3;将上述3个16比特串hash1,hash2及hash3与报文标识IPID进行异或运算,生成16比特串的哈希值hash,
5.4将生成的哈希值hash与密钥key进行异或生成最终的哈希值hash;
5.5依次从掩码集合mask中读取元素,从16个比特的最终哈希值hash中第一个比特开始抽取掩码长度的比特串,并将该比特串与当前读取掩码进行比较,抽取具有与掩码相同的比特串的报文,并将该报文头的前40个字节和该报文的8个字节时间戳存储在当前缓冲池中,
第6步:继续执行第5步处理新到达的报文,如果当前缓冲池满,将当前缓冲池设置为转发缓冲池,同时将测量器中的另一个缓冲池设置为当前缓冲池,并将转发缓冲池中的数据以UDP报文的方式转发给后台服务器,
第7步:后台服务器接受来自测量器的UDP报文,并从UDP报文中读取报文头详细信息和时戳信息,
第8步:根据报文头的源宿IP地址,以及服务器中配置的每个测量点管辖的地址空间,将报文头信息及其时戳信息存储到该报文所属路径的中间存储结果空间packet_storage中,
第9步:继续根据第7步处理下一个到达的报文,如果测量时间进入一个新的时间粒度区间,则将协同测量点中从协同测量点到本地测量点路径的中间存储结果空间packe_storage中的上一个时间粒度区间中的报文头信息及其时戳信息传送到本地测量点服务器中,同时将协同测量点的抽样比例传送到本地测量点,
第10步:比较本地测量点的抽样比例和协同测量点的抽样比例,对具有大抽样比例的中间存储结果空间的上一时间粒度区间中的数据使用小的抽样比例继续使用5.2步到5.5步的方法进行第二次抽样,
第11步:将协同测量点到本地测量点路径中协同测量点上一时间粒度区间中中间存储结果空间中元素的数目number1减去本地测量点一时间粒度区间中中间存储结果空间中元素的数目number2,并将二者的结果除以协同测量点上一时间粒度区间中中间存储结果空间中元素的数目number1,其结果就是从协同测量点到本地测量点路径的单向丢包率,并将结果储存到该路径的最终测量结果存储空间performance_storage中,
第12步:比较协同测量点到本地测量点路径中协同测量点上一时间粒度区间中中间存储结果空间中的元素和本地测量点一时间粒度区间中中间存储结果空间中的元素,选择两集合中元素的源IP、宿IP、源端口、宿端口、报文标识IPID都相同的报文头数据,并使用协同测量点的元素时间戳减去本地测量点的元素时间戳数据,并将结果存储在一个时间差值集合中,
第13步:从时间差值集合中读取集合元素的个数、最小元素的值、以及中间大小元素的值,以最小元素的值为最小单向延迟,以中间大小元素的值为中值单向延迟,并将上述三个值存储到从协同测量点到本地测量点路径的的最终测量结果存储空间performance_storage中,
第14步:将上一时间粒度区间中从协同测量点到本地测量点路径上的最小单向延迟、中值单向延迟、单向丢包率和测量的个数的结果,传送到协同测量点服务器的从协同测量点到本地测量点路径的最终测量结果存储空间performance_storage中。
2、根据权利要求1所述的基于抽样测量的端到端运行性能监测方法,其特征在于第2步所述性能处理的时间粒度time_scale设置为5分钟。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100376650A CN100361461C (zh) | 2005-01-11 | 2005-01-11 | 基于抽样测量的端到端运行性能监测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100376650A CN100361461C (zh) | 2005-01-11 | 2005-01-11 | 基于抽样测量的端到端运行性能监测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1645825A CN1645825A (zh) | 2005-07-27 |
CN100361461C true CN100361461C (zh) | 2008-01-09 |
Family
ID=34876167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100376650A Expired - Fee Related CN100361461C (zh) | 2005-01-11 | 2005-01-11 | 基于抽样测量的端到端运行性能监测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100361461C (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101212360B (zh) * | 2006-12-28 | 2010-12-29 | 中国移动通信集团公司 | 网络性能测量方法 |
CN101212361B (zh) * | 2006-12-28 | 2011-06-15 | 中国移动通信集团公司 | 网络性能测量方法 |
CN101212358B (zh) * | 2006-12-28 | 2010-05-19 | 中国移动通信集团公司 | 网络性能测量方法 |
US20080181134A1 (en) * | 2007-01-29 | 2008-07-31 | Nikolaos Anerousis | System and method for monitoring large-scale distribution networks by data sampling |
EP2556623A4 (en) * | 2010-03-24 | 2017-03-08 | Nokia Technologies Oy | Method and apparatus for establishing an electrical connection and establishing a fiber optic connection |
CN101938459A (zh) * | 2010-06-22 | 2011-01-05 | 北京豪讯美通科技有限公司 | 全程全网安全协同防御系统 |
CN106845578A (zh) * | 2016-09-29 | 2017-06-13 | 成都市食品药品检验研究院 | 基于条码图像识别的自动查询、填报、违法取证方法 |
CN107465771B (zh) * | 2017-09-20 | 2020-05-19 | 广东工业大学 | 一种网络地址段划分方法及系统 |
CN107589991A (zh) * | 2017-10-31 | 2018-01-16 | 麦格创科技(深圳)有限公司 | 分布式系统的网页分配方法及系统 |
CN110943877B (zh) * | 2018-09-21 | 2022-02-22 | 华为技术有限公司 | 网络状态测量方法、设备及系统 |
IT201800010791A1 (it) | 2018-12-04 | 2020-06-04 | Telecom Italia Spa | Misura di prestazioni in una rete di comunicazioni a commutazione di pacchetto |
CN114143086B (zh) * | 2021-11-30 | 2023-09-26 | 北京天融信网络安全技术有限公司 | 一种Web应用识别方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421349B1 (en) * | 1997-07-11 | 2002-07-16 | Telecommunications Research Laboratories | Distributed preconfiguration of spare capacity in closed paths for network restoration |
US6738355B1 (en) * | 2000-11-01 | 2004-05-18 | Agilent Technologies, Inc. | Synchronization method for multi-probe communications network monitoring |
-
2005
- 2005-01-11 CN CNB2005100376650A patent/CN100361461C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421349B1 (en) * | 1997-07-11 | 2002-07-16 | Telecommunications Research Laboratories | Distributed preconfiguration of spare capacity in closed paths for network restoration |
US6738355B1 (en) * | 2000-11-01 | 2004-05-18 | Agilent Technologies, Inc. | Synchronization method for multi-probe communications network monitoring |
Non-Patent Citations (3)
Title |
---|
Distributed Sampling Measurement Model in a Large-ScaleHigh-Speed IP Networks. GongJian, ChengGuang.Journal of Southeast University,Vol.18 No.1. 2002 * |
基于分组标识的网络流量抽样测量模型. 程光,龚俭,丁伟.电子学报,第30卷第12A期. 2002 * |
基于统计分析的高速网络分布式抽样测量模型. 程光,龚俭,丁伟.计算机学报,第26卷第10期. 2003 * |
Also Published As
Publication number | Publication date |
---|---|
CN1645825A (zh) | 2005-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100361461C (zh) | 基于抽样测量的端到端运行性能监测方法 | |
CN111602370B (zh) | 使用有限额外字节的带内遥测 | |
US8045478B2 (en) | Performance measurement in a packet transmission network | |
US20090180393A1 (en) | Sampling apparatus distinguishing a failure in a network even by using a single sampling and a method therefor | |
US20150271034A1 (en) | System and method for accurately displaying communications traffic information | |
US7898969B2 (en) | Performance measurement in a packet transmission network | |
CN103401716B (zh) | 网络性能测量的方法、网管设备和网元设备 | |
Plonka et al. | Assessing performance of Internet services on IPv6 | |
Kocak et al. | Performance measurement of IP networks using two-way active measurement protocol | |
Brownlee | Flow-based measurement: IPFIX development and deployment | |
CN107454647A (zh) | 周期性路由信息的发送方法及装置 | |
CN110838950B (zh) | 一种网络性能抖动值的确定方法及装置 | |
CN102124698B (zh) | 用于在网络管理环境中导出结构化数据的系统和方法 | |
Corral et al. | End-to-end active measurement architecture in ip networks (saturne) | |
JP4938042B2 (ja) | フロー情報送信装置、中間装置、フロー情報送信方法およびプログラム | |
Liu et al. | SFANT: A SRv6-Based Flexible and Active Network Telemetry Scheme in Programming Data Plane | |
Wang et al. | A new virtual indexing method for measuring host connection degrees | |
Zhang et al. | INT-Balance: In-Band Network-Wide Telemetry with Balanced Monitoring Path Planning | |
Ehrlich et al. | Passive flow monitoring of hybrid network connections regarding quality of service parameters for the industrial automation | |
CN112737874B (zh) | 报文的丢包统计实现方法及装置 | |
Pu et al. | Design of Industrial Network Topology Discovery Algorithm Based on Multi-protocol | |
Claffy et al. | The 10th workshop on active internet measurements (AIMS-10) report | |
Graur et al. | Steps towards decentralized deterministic network coding | |
Shi et al. | Intrinsic monitoring within an IPv6 network: mapping node information to network paths | |
Kobayashi et al. | IP Multicast Traffic Measurement Method with IPFIX/PSAMP |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080109 Termination date: 20110111 |