CN103532779A - 一种快速定位分流设备丢包的方法及系统 - Google Patents

一种快速定位分流设备丢包的方法及系统 Download PDF

Info

Publication number
CN103532779A
CN103532779A CN201310471344.6A CN201310471344A CN103532779A CN 103532779 A CN103532779 A CN 103532779A CN 201310471344 A CN201310471344 A CN 201310471344A CN 103532779 A CN103532779 A CN 103532779A
Authority
CN
China
Prior art keywords
packet
shunting device
data
characteristic value
loss
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
CN201310471344.6A
Other languages
English (en)
Other versions
CN103532779B (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.)
Beijing Ruian Technology Co Ltd
Original Assignee
Beijing Ruian Technology 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 Beijing Ruian Technology Co Ltd filed Critical Beijing Ruian Technology Co Ltd
Priority to CN201310471344.6A priority Critical patent/CN103532779B/zh
Publication of CN103532779A publication Critical patent/CN103532779A/zh
Application granted granted Critical
Publication of CN103532779B publication Critical patent/CN103532779B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种快速定位分流设备丢包的方法及系统。本发明的方法包括:1)抓取分流设备处理后的数据包与PC测试机数据包;2)读取分流设备数据包,提取数据包特征;3)根据提取出的源IP、目的IP等特征,计算key值,构建分流设备数据包HASH表;4)读取PC数据包,提取数据包特征;5)根据提取出的PC数据包特征,在分流设备数据包HASH表中查找相同的结点,如果找到即进行下一个PC数据包的分析,如果没有找到,则说明分流设备有丢包。相应地,本发明的系统包括数据包抓取模块,数据包分析模块,数据包特征输出模块。本发明可快速定位分流设备丢包,并且通过多次抓取数据包快速准确地定位分流设备丢包。

Description

一种快速定位分流设备丢包的方法及系统
技术领域
本发明涉及互联网信息采集领域,尤其是涉及一种快速定位分流设备丢包的方法及系统。
背景技术
分流设备主要应用于互联网信息采集领域,随着网络的扩容,分流设备处理的数据量与日俱增,40G(giga,十亿)分流设备已经成为主流。分流设备的数据完整性决定着其采集数据的完整性,而采集数据的完整性决定着业务应用的质量。在现在网络环境下大量真实数据包里查找丢包现象成为一个重要且复杂的工作。
通常信息采集业务都需要采集特定协议的数据,并非所有互联网协议都需要采集,因此需要在分流设备上配置过滤规则,选择要下放的数据包。在采集业务发现数据丢失的情况下,先要确定丢失数据是否命中过滤规则,如果不是,则要定位分流设备是否丢包。传统分流设备丢包定位方法主要有两种:
1、通过抓取经过分流设备的数据包,基于TCP(TransmissionControlProtocol,传输控制协议)、GRE(GenericRoutingEncapsulation,通用路由封装协议)等协议栈的特性,利用协议栈里序号的连续性,手工分析大量数据流,如果没有命中过滤规则,如果在连续数据包里有某序号的包丢失,则可以确定有丢包情况;
2、通过抓取原始数据包和经过分流设备的数据包,将这两种数据包中同一条数据流进行比较,这种方法需要wireshark(前称Ethereal,网络封包分析软件)等数据包分析工具的辅助,如果两种数据包中同一条数据流中数据包相同,则认为没有丢包,如果不相同,但是没有命中过滤规则,则认为分流设备有丢包情况。
发明人在实际操作中,发现这两种方法在分析数据包时,需要分析成百上千个数据包,耗费大量人力而且用时较长,丢包概率越小耗时会越长,在大数据量情况下已经不能满足需要。
发明内容
本发明的一个目的在于提供一种快速定位分流设备丢包的方法,利用对数据包比较算法的优化,从而解决传统分流设备丢包定位方法效率低下的问题。
本发明的另一目的在于提供一种快速定位分流设备丢包的系统。
本发明的快速定位分流设备丢包的方法,其步骤包括:
1)抓取分流设备处理后的数据包与PC测试机上的数据包;
2)在PC测试机上产生测试流量;
3)先停止PC测试机抓包,保存数据包,即PC数据包;再停止分流设备处理后的数据包抓包,保存数据包,即分流设备数据包;
4)数据包分析程序先读取分流设备数据包,提取出每个分流设备数据包的特征值;
5)将每个分流设备数据包的特征值存放在HASH表中,形成分流设备数据包HASH表;
6)数据包分析程序然后读取PC数据包,提取出每个PC数据包的特征值;
7)在分流设备数据包HASH表中根据PC数据包特征值查找是否有相同数据包特征值的结点,如果没有查找到相同的结点,则说明分流设备有丢包。
进一步地,步骤1)中,通过tcpdump(linux、unix系统抓包工具)手段抓取分流设备处理后的数据包;通过wireshark(windows系统抓包工具)手段抓取PC(personalcomputer,个人计算机)测试机上的数据包,该数据包为PC测试机上网卡上所有数据包;
进一步地,分流设备通过过滤规则对数据进行采集,过滤不需要的数据包,经分流设备处理后的数据包流入到一台服务器进行业务处理,在服务器上用tcpdump进行抓包。
进一步地,步骤2)中所述PC测试机为普通PC机。
进一步地,步骤3)中产生的测试流量经过路由及分流设备。
为了测试结果可靠有效,所述测试流量为真实流量,如发送、接收电子邮件、浏览网页、论坛发帖、观看在线视频等。
进一步地,步骤4)中,根据TCP/IP(transmissioncontrolprotocol/internetprotocol,传输控制协议/因特网互联协议)协议栈将每个分流设备数据包进行解析,提取出每个分流设备数据包的特征值。
进一步地,步骤4)中,所述分流设备数据包的特征值包括:源IP,源端口,目的IP,目的端口,TCP序列号(UDP(userdatagramprotocol,用户数据报协议)赋值为0),TCP确认序列号(UDP赋值为0),IP标识,IP头里的数据包长度,TCP的窗口大小(UDP赋值为0),协议类型,这些特征值可以确定唯一标识的一个数据包。
进一步地,步骤5)中,根据提取出的每个分流设备数据包的特征值中的源IP,目的IP计算key值,组建成HASH表。
进一步地,所述HASH表的key值由数据包的源IP,目的IP经过jhash算法(jhash算法是linux内核开源代码,对IP类数值散列较好)运行所得,从而起到优化存储,加速数据查询速度的作用。
进一步地,步骤6)中根据TCP/IP协议栈将每个PC数据包进行解析,提取出每个PC数据包的特征值。
进一步地,步骤6)中提取的PC数据包特征值与步骤4)提取的分流设备数据包特征值一致。
进一步地,步骤7)中,如果查找到有相同数据包特征值的结点,则说明分流设备数据包有相应数据包,循环进行下一个PC数据包的分析。
进一步地,步骤7)中还包括,将丢失的数据包的特征格式化输出,便于分流设备人员进行定位原因。
进一步地,为方便后续相关人员定位具体问题,尽可能地输出丢失数据包的信息,格式化输出格式如下例所述:
sip=192.168.3.120,sport=23120,dip=10.0.0.123,dport=80,seq=322212,ack=221421,len=1322,proto=tcp
其中,sip为源IP地址,sport为源端口,dip为目的IP地址,dport为目的端口,seq为TCP序列号,ack为TCP确认序列号,len为IP头里的长度值,proto为协议类型。
一种快速定位分流设备丢包的系统,包括数据包抓取模块,数据包分析模块,数据包特征输出模块。
所述数据包抓取模块主要负责数据包抓取工作,同时抓取分流设备处理后的数据包与PC测试数据包。
所述数据包分析模块是用来负责将分流设备丢失的数据包找出来。它先读取分流设备数据包,提取分流设备数据包特征值,并将上述特征值加入到HASH表中,接着读取PC数据包、提取数据包特征值,从分流设备数据包HASH表中查找相同结点,如果能找到,则说明此包没有丢失,如果找不到,则说明此包有丢失。
所述数据包特征输出模块用于格式化输出丢失数据包的特征信息。
与现有技术相比,本发明的有益效果在于:
传统分流设备定位方法只适用于网络流量小且丢包严重的环境。本发明所述方法及系统不但适用于网络流量小且丢包严重的环境,还适用于现代高速、大流量的网络环境,利用特征提取与查找实现高性能数据包分析,它使数个G的数据包查找在秒级内完成。利用本发明,不但可以在真实采集环境下完成丢包情况的测试;而且大大地提高了定位人员的效率,将枯燥的数据包分析工作,变为高效率的工作。
附图说明
图1为本发明整体拓扑方案示意图。
图2为本发明数据包抓取流程图。
图3为本发明数据包分析流程图。
图4为本发明分流设备数据包HASH表结构图。
图5为传统方法与本发明方法耗时对比图。
具体实施方式
下面结合附图,进一步详细描述本发明的实施例:
整个系统需要普通PC机一台,现在网络上运行的分流设备,安装有linux操作系统的服务器一台,分流设备处理后的流量需要定向到服务器上。操作人员在PC机与服务器上抓包,数据包分析程序可以运行在服务器上,通过运行数据包分析程序,即可输出被丢包的数据包特征。本发明的整体拓扑方案如图1所示。具体的实施过程包括如下步骤:
(1)安装数据包分析程序
在服务器上安装数据包分析程序,建立两个数据包存放目录用于程序读包,分别为:PC数据包目录与分流设备数据包目录。
(2)在PC机与服务器上抓包
操作人员需要在PC机与服务器上同时开始抓包,抓包流程如图2所示。
其中,分流设备采集数据并通过过滤规则过滤不需要的数据包,经分流设备处理后的数据包流入到服务器上进行业务处理,在服务器上用tcpdump进行抓包;同时,通过wireshark手段抓取PC机上的数据包。
接着,在PC机上进行如发送、接收电子邮件,浏览网页,论坛发帖,观看在线视频等操作,产生真实的流量,作为测试流量。
之后按以下顺序停止抓包:先停止PC机抓包,再停止分流设备处理后的数据包抓包。
(3)将数据包放入到相应目录
将PC机上抓取的数据包放入到服务器的PC数据包目录,将服务器上抓取的数据包放入到服务器的分流设备数据包目录。
(4)启动数据包分析程序
启动数据包分析程序,对数据包进行分析的过程,如图3所示。
数据包分析程序先读取分流设备数据包,根据TCP/IP协议栈将每个分流设备数据包进行解析,提取出每个分流设备数据包的特征值。该特征值包括:源IP,源端口,目的IP,目的端口,TCP序列号(UDP赋值为0),TCP确认序列号(UDP赋值为0),IP标识,IP头里的数据包长度,TCP的窗口大小(UDP赋值为0),协议类型,这些特征值可以确定唯一标识的一个数据包。
根据提取出的每个分流设备数据包的特征值中的源IP,目的IP经过jhash算法(jhash算法是linux内核开源代码,对IP类数值散列较好)计算key值,组建成HASH表,如图4所示。
数据包分析程序然后读取PC数据包,根据TCP/IP协议栈将每个PC数据包进行解析,提取出每个PC数据包的特征值,该特征值同样包括:源IP,源端口,目的IP,目的端口,TCP序列号(UDP赋值为0),TCP确认序列号(UDP赋值为0),IP标识,IP头里的数据包长度,TCP的窗口大小(UDP赋值为0)和协议类型。
最后,数据包分析程序在分流设备数据包HASH表中根据PC数据包特征值查找是否有相同数据包特征值的结点,如果查找到有相同数据包特征值的结点,则说明分流设备数据包有相应数据包,循环进行下一个PC数据包的分析;如果没有查找到相同的结点,则说明分流设备有丢包。
(5)将丢失数据包的特征格式化输出
为方便后续相关人员定位丢包的原因,本发明快速定位分流设备丢包的系统还设有数据包特征输出模块,用于将丢失的数据包的特征格式化输出,格式化可以定制,其中一种格式化输出格式如下例所述:
sip=192.168.3.120,sport=23120,dip=10.0.0.123,dport=80,seq=322212,ack=221421,len=1322,proto=tcp
其中,sip为源IP地址,sport为源端口,dip为目的IP地址,dport为目的端口,seq为TCP序列号,ack为TCP确认序列号,len为IP头里的长度值,proto为协议类型。
上述丢失数据包的特征一般以文件的形式输出到本地磁盘。
到此,快速定位分流设备丢包的发明实施完毕,如果想再次定位分流设备丢包,只需将抓取的数据包分别放入到PC数据包目录与分流设备数据包目录里即可。
另外,为了验证本发明的技术效果,发明人对本发明及传统分析方法耗时情况进行了对比,如图5所示。以数据量为4G时为例,利用传统定位分析方法,进行定位所需时间为2小时,而利用本发明的定位方法,仅需要20秒便能实现分流设备丢包的准确定位。

Claims (10)

1.一种快速定位分流设备丢包的方法,其步骤包括:
1)抓取分流设备处理后的数据包与PC测试机上的数据包;
2)在PC测试机上产生测试流量;
3)先停止PC测试机抓包,保存数据包,即PC数据包;再停止分流设备处理后的数据包抓包,保存数据包,即分流设备数据包;
4)数据包分析程序先读取分流设备数据包,提取出每个分流设备数据包的特征值;
5)将每个分流设备数据包的特征值存放在HASH表中,形成分流设备数据包HASH表;
6)数据包分析程序然后读取PC数据包,提取出每个PC数据包的特征值;
7)在分流设备数据包HASH表中根据PC数据包特征值查找是否有相同数据包特征值的结点,如果没有查找到相同的结点,则说明分流设备有丢包。
2.如权利要求1所述的快速定位分流设备丢包的方法,其特征在于,通过tcpdump手段抓取分流设备处理后的数据包;通过wireshark手段抓取PC测试机上的数据包。
3.如权利要求1所述的快速定位分流设备丢包的方法,其特征在于,步骤3)中产生的测试流量经过路由及分流设备。
4.如权利要求1所述的快速定位分流设备丢包的方法,其特征在于,步骤5)中,根据提取出的每个分流设备数据包的特征值中的源IP,目的IP计算key值,组建成HASH表。
5.如权利要求4所述的快速定位分流设备丢包的方法,其特征在于,所述HASH表的key值由数据包的源IP,目的IP经过jhash算法运行所得。
6.如权利要求1所述的快速定位分流设备丢包的方法,其特征在于,步骤4)和6)中根据TCP/IP协议栈分别将每个分流设备数据包和每个PC数据包进行解析,提取出每个分流设备数据包和每个PC数据包的特征值。
7.如权利要求1所述的快速定位分流设备丢包的方法,其特征在于,步骤4)和6)中,所述分流设备数据包的特征值分别包括:源IP,源端口,目的IP,目的端口,TCP序列号,TCP确认序列号,IP标识,IP头里的数据包长度,TCP的窗口大小和协议类型。
8.如权利要求1所述的快速定位分流设备丢包的方法,其特征在于,步骤7)中,如果查找到有相同数据包特征值的结点,则说明分流设备数据包有相应数据包,循环进行下一个PC数据包的分析。
9.如权利要求1所述的快速定位分流设备丢包的方法,其特征在于,步骤7)中还包括,将丢失的数据包的特征格式化输出。
10.一种快速定位分流设备丢包的系统,包括数据包抓取模块,数据包分析模块,数据包特征输出模块;
所述数据包抓取模块同时抓取分流设备处理后的数据包与PC测试数据包;
所述数据包分析模块先读取分流设备数据包,提取分流设备数据包特征值,并将上述特征值加入到HASH表中,接着读取PC数据包,提取数据包特征值,从分流设备数据包HASH表中查找相同特征值结点,如果找不到,则说明此包有丢失;
所述数据包特征输出模块用于格式化输出丢失数据包的特征信息。
CN201310471344.6A 2013-10-10 2013-10-10 一种快速定位分流设备丢包的方法及系统 Active CN103532779B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310471344.6A CN103532779B (zh) 2013-10-10 2013-10-10 一种快速定位分流设备丢包的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310471344.6A CN103532779B (zh) 2013-10-10 2013-10-10 一种快速定位分流设备丢包的方法及系统

Publications (2)

Publication Number Publication Date
CN103532779A true CN103532779A (zh) 2014-01-22
CN103532779B CN103532779B (zh) 2017-07-18

Family

ID=49934478

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310471344.6A Active CN103532779B (zh) 2013-10-10 2013-10-10 一种快速定位分流设备丢包的方法及系统

Country Status (1)

Country Link
CN (1) CN103532779B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104539470A (zh) * 2014-11-28 2015-04-22 北京锐安科技有限公司 测试分流设备是否丢包的方法、测试客户端及系统
CN109005081A (zh) * 2018-06-26 2018-12-14 卡斯柯信号有限公司 一种丢包自动检测系统及方法
CN111917580A (zh) * 2020-07-28 2020-11-10 平安普惠企业管理有限公司 抓包处理方法、装置、设备以及计算机可读存储介质
CN114006838A (zh) * 2021-10-30 2022-02-01 杭州迪普信息技术有限公司 流控设备的测试方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1700664A (zh) * 2005-06-10 2005-11-23 重庆邮电学院 基于Linux内核的高速网络流量测量器及流量测量方法
CN101325534A (zh) * 2007-06-15 2008-12-17 上海亿人通信终端有限公司 基于网络处理器的访问控制列表实现方法
CN101867601A (zh) * 2010-05-14 2010-10-20 北京理工大学 文件级p2p网络流量识别方法
CN102204164A (zh) * 2011-05-24 2011-09-28 华为技术有限公司 网络丢包信息报告方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1700664A (zh) * 2005-06-10 2005-11-23 重庆邮电学院 基于Linux内核的高速网络流量测量器及流量测量方法
CN101325534A (zh) * 2007-06-15 2008-12-17 上海亿人通信终端有限公司 基于网络处理器的访问控制列表实现方法
CN101867601A (zh) * 2010-05-14 2010-10-20 北京理工大学 文件级p2p网络流量识别方法
CN102204164A (zh) * 2011-05-24 2011-09-28 华为技术有限公司 网络丢包信息报告方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104539470A (zh) * 2014-11-28 2015-04-22 北京锐安科技有限公司 测试分流设备是否丢包的方法、测试客户端及系统
CN109005081A (zh) * 2018-06-26 2018-12-14 卡斯柯信号有限公司 一种丢包自动检测系统及方法
CN111917580A (zh) * 2020-07-28 2020-11-10 平安普惠企业管理有限公司 抓包处理方法、装置、设备以及计算机可读存储介质
CN114006838A (zh) * 2021-10-30 2022-02-01 杭州迪普信息技术有限公司 流控设备的测试方法及系统

Also Published As

Publication number Publication date
CN103532779B (zh) 2017-07-18

Similar Documents

Publication Publication Date Title
US8510830B2 (en) Method and apparatus for efficient netflow data analysis
CN102315974B (zh) 基于层次化特征分析的tcp、udp流量在线识别方法和装置
CN102420701B (zh) 一种互联网业务流特征的提取方法
US9917783B2 (en) Method, system and non-transitory computer readable medium for profiling network traffic of a network
CN102035698B (zh) 基于决策树分类算法的http隧道检测方法
CN108600049B (zh) 数据中心网络tcp连接的性能测量方法、装置及存储介质
CN112039904A (zh) 一种网络流量分析与文件提取系统及方法
CN106330584A (zh) 一种业务流的识别方法及识别装置
CN102611626B (zh) 网络流量解析系统及方法
CN107018001B (zh) 一种应用故障定位方法及装置
CN104486161A (zh) 一种网络流量的识别方法及装置
CN106789242A (zh) 一种基于手机客户端软件动态特征库的识别应用智能分析引擎
CN103532779A (zh) 一种快速定位分流设备丢包的方法及系统
CN109831448A (zh) 针对特定加密网页访问行为的检测方法
CN103259737A (zh) 一种并行存储高速网络流量的快速定位方法
CN109450733A (zh) 一种基于机器学习的网络终端设备识别方法及系统
US10069797B2 (en) 10Gbps line rate stream to disk with fast retrieval (metadata) and network statistics
CN108132986B (zh) 一种飞行器海量传感器试验数据的快速处理方法
CN103260190A (zh) 基于演进分组系统网路的安全审计系统及其方法
CN106535240A (zh) 基于云平台的移动app集中性能分析方法
CN104917628A (zh) 一种以太网路由器/交换机丢包故障自动诊断方法
CN104657747A (zh) 一种基于统计特征的网络游戏流分类方法
CN109005082A (zh) 一种利用crc校验字段捕获以太网报文的方法及装置
US20170126550A1 (en) Selecting a flow data source
CN103580956A (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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Feng Jianye

Inventor after: Liu Tao

Inventor before: Feng Jianye

PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Method and system for rapidly positioning packet loss of distribution equipment

Effective date of registration: 20180627

Granted publication date: 20170718

Pledgee: China Co. truction Bank Corp Beijing Zhongguancun branch

Pledgor: RUN TECHNOLOGIES Co.,Ltd. BEIJING

Registration number: 2018110000015

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20210128

Granted publication date: 20170718

Pledgee: China Co. truction Bank Corp Beijing Zhongguancun branch

Pledgor: Run Technologies Co.,Ltd. Beijing

Registration number: 2018110000015

PC01 Cancellation of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Method and System for Quickly Locating Packet Loss in Shunt Equipment

Effective date of registration: 20230807

Granted publication date: 20170718

Pledgee: Bank of China Limited Beijing Xicheng Branch

Pledgor: RUN TECHNOLOGIES Co.,Ltd. BEIJING

Registration number: Y2023980051158

PE01 Entry into force of the registration of the contract for pledge of patent right