CN107645409B - 一种确定数据的传输故障原因方法及装置 - Google Patents
一种确定数据的传输故障原因方法及装置 Download PDFInfo
- Publication number
- CN107645409B CN107645409B CN201710713222.1A CN201710713222A CN107645409B CN 107645409 B CN107645409 B CN 107645409B CN 201710713222 A CN201710713222 A CN 201710713222A CN 107645409 B CN107645409 B CN 107645409B
- Authority
- CN
- China
- Prior art keywords
- fault
- determining
- data
- transmission
- value
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种确定数据的传输故障原因方法及装置,能够提高在大流量下抓取故障特性信息的准确性,从而准确定位故障原因。本申请方法包括:获取数据在传输过程中所使用的传输协议信息;根据所述传输协议信息提取所述数据的故障特征信息;若检测到所述数据传输出现故障,则根据所述故障特征信息确定故障原因。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种确定数据的传输故障原因方法及装置。
背景技术
在第四代移动通信技术长期演进(Long Term Evolution,LTE)标准中,使用了正交振幅调制技术、多输入多输出技术以及载波聚合等关键技术使得数据传输过程中的数据传输速率越来越高,无线空口传输下行峰值速率超过1Gbps。现阶段,第三代合作伙伴计划(Third Generation Partnership Project,3GPP)定义了第五代移动通信技术,无线空口传输下行峰值速率达到20Gbps甚至50Gbps以上。数据传输过程是一个端到端的过程,从服务器经由数通设备、核心网、传输设备以及无线基站等中间设备到达客户端。传输过程中出现丢包、乱序或时延抖动时,会影响到数据传输速率,进而影响用户的业务体验。所以在进行数据传输过程中如果出现体验不佳情况时,需要定位数据的传输故障原因,以便根据传输故障原因提出相应的解决方案。
现有的一种确定数据的传输故障原因的方案为:采用实时报文全跟踪的方式,远端抓取大流量下的数据的全部报文,根据所抓取的全部报文定位故障特征,确定故障原因,进而采取相应的解决方案。
然而,由于大流量下的数据的传输速率高,采用实时报文全跟踪的方式,会超过数据传输设备的中央处理器(Central Processing Unit,CPU)、内存以及带宽的极限能力,从而导致故障特征信息抓取不全,难以确定故障原因。
发明内容
本申请提供了一种确定数据的传输故障原因方法及装置,能够提高在大流量下抓取故障特性信息的准确性,从而准确定位故障原因。
有鉴于此,本申请第一方面提供了一种确定数据的传输故障原因方法,可包括:获取数据在传输过程中所使用的传输协议信息,其中,数据的传输过程是一个端到端的过程,可以由服务器经由数通设备、核心网、传输设备以及无线基站等中间设备到达客户端。之后,根据传输协议信息提取数据的故障特征信息,如根据传输控制协议(TransmissionControl Protocol,TCP)提取数据的故障特征信息,根据用户数据协议(User DataProtocol,UDP)提取数据的故障特征信息,根据通用分组无线业务隧道协议(GeneralPacket Radio Service Tunnel Protocol,GTP)提取数据的故障特征信息。最后,如果检测到数据传输出现故障,则根据故障特征信息确定故障原因,进而根据故障原因排除故障,从而保证排除故障的及时性,降低了因故障所造成的影响。可见,由于获取传输协议信息相对于获取数据的全部报文对CPU、内存以及带宽的要求要低,从而在保证实时性的同时最大限度降低对系统的冲击,所以本申请更容易提取故障特性信息,从而更容易准确定位故障原因,进而可以根据故障原因排除相应的故障。
在一些可能的实现方式中,传输协议信息可以包括TCP,此时,根据传输协议信息提取数据的故障特征信息可以为:在TCP建立过程中,根据TCP提取数据的如下故障特征信息:接收窗口的窗口尺寸,最大分段大小(Maximum Segment Size,MSS)以及差分服务码点(Differentiated Services Code Point,DSCP)。
在一些可能的实现方式中,在TCP建立过程中,根据TCP所提取的数据的接收窗口的窗口尺寸用于分析是否会存在接收窗口的窗口尺寸设置过小导致限速,MSS过大导致报文分片,DSCP过小而确定存在带宽拥塞,因带宽拥塞丢弃低优先级的报文。TCP数据传输所使用的传输机制是滑窗机制,吞吐率等于接收窗口的窗口尺寸和发送窗口的窗口尺寸中的较小者除以环回时延(Round Trip Time,RTT),所以接收窗口的窗口尺寸会决定吞吐率能达到多大,如果接收窗口的窗口尺寸调得过小,比如小于第一预设阈值,那么吞吐率就会被限制,从而造成限速。客户端和服务器三次握手协商得到本次传输的最终数据传输报文大小,具体为客户端和服务器都会携带相应的MSS,经过三次握手协商后取两者中较小的MSS作为最终数据传输报文大小,如果数据传输报文大小超过中间传输设备的最大传输单元(Maximum Transmission Unit,MTU)的传输大小,则会导致报文分片,报文分片后单位时间内的报文数就会翻倍,会对中间传输设备带来一定的冲击,导致丢包或者乱序产生。DSCP的取值范围可以为0到63,取值越高对应的报文的优先级越高,所以DSCP代表报文的优先级,在网络中可能有好多种报文,带宽往往是有限的,所以可能会对需要优先传输的报文提高优先级,以优先传输。提取DSCP信息可以是为了如发现丢包时,是否选择不丢高优先级的报文,而选择丢弃低优先级的报文,由于丢弃低优先级报文从而判断网络中可能出现了带宽拥塞等。
在一些可能的实现方式中,传输协议信息可以包括TCP,此时,根据传输协议信息提取数据的故障特征信息还可以为:在TCP序号正常增长的数据传输过程中,根据TCP提取数据的如下故障特征信息:下行方向的流量大小和上行方向的流量大小、发送窗口的窗口尺寸、环回时延RTT以及确认ACK重传次数。上述下行方向的流量大小等于单位时间内接收报文数或单位时间内接收报文字节数或单位时间内接收报文比特数,上述上行方向的流量大小等于单位时间内发送报文数或单位时间内发送报文字节数或单位时间内发送报文比特数。
在一些可能的实现方式中,在TCP序号正常增长的数据传输过程中,根据TCP所提取的数据的下行方向的流量大小和上行方向的流量大小、发送窗口的窗口尺寸、RTT以及ACK重传次数等信息,用于分析数据传输过程中的发包特征,即是否存在突发流量,是否存在丢包或乱序以及限速等问题。如果确定下行方向的流量大小超过传输网络最大带宽,或确定上行方向的流量大小超过传输网络最大带宽,则确定故障原因包括突发流量。TCP数据传输所使用的传输机制是滑窗机制,吞吐率等于接收窗口的窗口尺寸和发送窗口的窗口尺寸中的较小者除以RTT,所以发送窗口的窗口尺寸以及RTT的数值会决定吞吐率能达到多大,如果发送窗口的窗口尺寸调得过小,比如小于第五预设阈值,RTT的数值调得过大,比如大于第四预设阈值,那么吞吐率就会被限制,从而造成限速。此外,若RTT的数值调得过大,则故障原因也会包括高时延或时延抖动。丢包和乱序都会触发重传ACK,根据ACK重传次数可以判断是否存在丢包会乱序。即如果确定ACK重传次数大于第六预设阈值,则确定故障原因包括丢包或乱序。
在一些可能的实现方式中,传输协议信息可以包括TCP,此时,根据传输协议信息提取数据的故障特征信息还可以为:在TCP序号异常增长的数据传输过程中,根据TCP提取数据的如下故障特征信息:序号跳变前后信息,序号跳变前后信息包括当前报文序列号、前报文序列号、当前报文长度、前报文长度、当前报文标识号以及前报文标识号。
在一些可能的实现方式中,在TCP序号异常增长的数据传输过程中,若当前报文序列号的数值减去所述前报文序列号的数值大于前报文长度的数值,则确定故障原因包括数据跳变。
在一些可能的实现方式中,在TCP序号异常增长的数据传输过程中,若当前报文序列号的数值减去前报文序列号的数值小于0,则判断当前报文标识号的数值减去前报文标识号的数值是否小于0;当当前报文标识号的数值减去前报文标识号的数值小于0时,则确定故障原因包括乱序;当当前报文标识号的数值减去前报文标识号的数值不小于0时,则在接收到当前报文序列号对应的报文之前,判断是否接收到当前报文序列号对应的初传报文;若接收到当前报文序列号对应的初传报文,则确定故障原因包括下游重传;若未接收到当前报文序列号对应的初传报文,则确定故障原因包括上游丢包。
在一些可能的实现方式中,传输协议包括用户数据协议UDP,UDP和TCP一样,均为应用层的传输协议,区别在于UDP没有序列号,所以在传输协议信息包括UDP的条件下,在UDP层提取数据的故障特征信息的方法可以为:根据UDP提取数据的如下故障特征信息:DSCP、互联网协议(Internet Protocol,IP)标识、生存时间(Time To Live,TTL)、分片标识、下行方向的流量大小和上行方向的流量大小。
本申请第二方面提供了一种确定数据的传输故障原因装置,该确定数据的传输故障原因装置可以实现上述第一方面或第一方面任一可选的实现方式所提供的方法的功能,该功能可以由软件实现,其软件包括与上述功能相应的模块,各模块用于执行相应的功能。
本申请第三方面提供了一种计算机存储介质,用于存储为上述确定数据的传输故障原因装置所用的计算机软件指令,其包括用于执行上述各方面中确定数据的传输故障原因装置所实现的功能所设计的程序。
从以上技术方案可以看出,本发明实施例具有以下优点:获取数据在传输过程中所使用的传输协议信息;根据所述传输协议信息提取所述数据的故障特征信息;若检测到所述数据传输出现故障,则根据所述故障特征信息确定故障原因。由于获取传输协议信息相对于获取数据的全部报文对CPU、内存以及带宽的要求要低,从而在保证实时性的同时最大限度降低对系统的冲击,所以本申请更容易提取故障特性信息,从而更容易准确定位故障原因,进而可以根据故障原因排除相应的故障。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种确定数据的传输故障原因方法流程图;
图2为本申请提供的一种TCP数据传输使用传输机制的示意图;
图3为本申请提供的另一种确定数据的传输故障原因方法流程图;
图4为本申请提供的另一种确定数据的传输故障原因方法流程图;
图5为本申请提供的另一种确定数据的传输故障原因方法流程图;
图6为本申请提供的一种确定数据的传输故障原因装置结构图;
图7为本申请提供的另一种确定数据的传输故障原因装置结构图。
具体实施方式
本申请提供了一种确定数据的传输故障原因方法及装置,能够提高在大流量下抓取故障特性信息的准确性,从而准确定位故障原因。
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在背景技术中提到,现有的确定数据的传输故障原因的方案,由于受限于数据传输设备的CPU、内存以及带宽的极限能力,现有方案难以获取数据的全部报文,从而导致故障特征信息抓取不全,难以确定故障原因。为了解决现有方案所存在的问题,本申请利用有限的数据传输设备的CPU、内存以及带宽,远端提取数据的故障特征信息,再根据故障特征信息定位故障原因,并根据故障原因进行优化。
下面通过具体实施例对本申请中的确定数据的传输故障原因方法进行说明,请参阅图1,本申请中确定数据的传输故障原因方法一个实施例包括:
101、获取数据在传输过程中所使用的传输协议信息;
本实施例中,数据的传输过程是一个端到端的过程,可以由服务器经由数通设备、核心网、传输设备以及无线基站等中间设备到达客户端。数据在传输过程中所使用的传输协议信息与3GPP定义的协议栈有关。协议栈规定在无线承载分组数据汇聚协议(PacketData Convergence Protocol,PDCP)协议层以上,依赖于IP进行数据传输,IP层以上的应用层使用TCP或者UDP传输,对于中间网元,如无线基站和核心网,还会使用GTP传输。
需要说明的是,IP层以上的应用层使用TCP传输指的是TCP数据传输,TCP数据传输使用的传输机制是滑窗机制,如图2所示,图2为本申请提供的一种TCP数据传输使用传输机制的示意图,该示意图中的数据传输为一种基于确认(ACKnowledge,ACK)反馈的数据传输,数据传输过程启动后随着服务器发送的数据包以及客户端的ACK回复,拥塞窗口不断增长,直到达到慢启动门限,这个过程叫TCP慢启动过程;然后进行拥塞避免过程,拥塞窗口随着ACK的恢复继续增大到最大窗口或达到最大传输带宽;若传输过程中发生丢包、乱序、时延抖动,客户端接收不到期望的数据包,则会触发重复ACK,导致拥塞窗口减半,然后进行快速重传过程;若服务器在规定时间内没有收到ACK的回复,则会触发超时重传过程,拥塞窗口从0开始增大。TCP数据传输过程中,传输网络不拥塞时TCP传输是一个尽力而为的过程,传输网络拥塞时通过窗口调整来保证TCP传输数据跟实际能力相匹配。
需要说明的是,在实际应用场景中,该数据可以为高速数据,高速数据又称为高速电路交换数据,高速数据具有业务速率高、流量大等特点。
102、根据传输协议信息提取数据的故障特征信息;
本实施例中,根据步骤101中的描述可知,传输协议信息可能为TCP,UDP或者GTP,当传输协议信息包括TCP时,根据TCP提取数据的故障特征信息,故障特征信息可以包括接收窗口的窗口尺寸、MSS以及DSCP,当传输协议信息包括UDP时,根据UDP提取数据的故障特征信息,当传输协议信息包括GTP时,根据GTP提取数据的故障特征信息。
103、若检测到数据传输出现故障,则根据故障特征信息确定故障原因。
本实施例中,在根据数据在传输过程中使用的传输协议信息实时提取数据的故障特征信息后,如果检测到数据传输出现故障,那么能够根据数据的故障特征信息及时分析故障原因及确定故障位置,进行根据故障原因及故障位置排除故障,从而保证排除故障的及时性,降低了因故障所造成的影响。
本实施例中,获取数据在传输过程中所使用的传输协议信息;根据传输协议信息提取数据的故障特征信息;若检测到数据传输出现故障,则根据故障特征信息确定故障原因。由于获取传输协议信息相对于获取数据的全部报文对CPU、内存以及带宽的要求要低,从而在保证实时性的同时最大限度降低对系统的冲击,所以本申请更容易提取故障特性信息,从而更容易准确定位故障原因,进而可以根据故障原因排除相应的故障。
下面以传输协议信息包括TCP为例,对本申请中的确定数据的传输故障原因方法进行说明,请参阅图3,本申请中确定数据的传输故障原因方法另一个实施例包括:
201、在确定数据在传输过程中所使用的传输协议信息包括TCP后,在TCP建立过程中,根据TCP提取数据的如下故障特征信息:接收窗口的窗口尺寸,MSS以及DSCP;
本实施例中,在获取数据在传输过程中所使用的传输协议信息并确定传输协议信息包括TCP后,在TCP建立过程中,根据TCP提取数据的如下故障特征信息:接收窗口的窗口尺寸,MSS以及DSCP。
202、若检测到数据传输出现故障,若确定接收窗口的窗口尺寸小于第一预设阈值,则确定故障原因包括限速;若确定MSS的数值大于第二预设阈值,则确定故障原因包括分片;若确定DSCP的数值小于第三预设阈值,则确定故障原因包括带宽拥塞。
本实施例中,在TCP建立过程中,根据TCP所提取的数据的接收窗口的窗口尺寸用于分析是否会存在接收窗口的窗口尺寸设置过小导致限速,MSS过大导致报文分片,DSCP过小而确定存在带宽拥塞,因带宽拥塞丢弃低优先级的报文。
TCP数据传输所使用的传输机制是滑窗机制,吞吐率等于接收窗口的窗口尺寸和发送窗口的窗口尺寸中的较小者除以RTT,所以接收窗口的窗口尺寸会决定吞吐率能达到多大,如果接收窗口的窗口尺寸调得过小,比如小于第一预设阈值,那么吞吐率就会被限制,从而造成限速。
客户端和服务器三次握手协商得到本次传输的最终数据传输报文大小,具体为客户端和服务器都会携带相应的MSS,经过三次握手协商后取两者中较小的MSS作为最终数据传输报文大小,如果数据传输报文大小超过中间传输设备的MTU的传输大小,则会导致报文分片,报文分片后单位时间内的报文数就会翻倍,会对中间传输设备带来一定的冲击,导致丢包或者乱序产生。
DSCP的取值范围可以为0到63,取值越高对应的报文的优先级越高,所以DSCP代表报文的优先级,在网络中可能有好多种报文,带宽往往是有限的,所以可能会对需要优先传输的报文提高优先级,以优先传输。提取DSCP信息可以是为了如发现丢包时,是否选择不丢高优先级的报文,而选择丢弃低优先级的报文,由于丢弃低优先级报文从而判断网络中可能出现了带宽拥塞等。
本实施例中,在传输协议信息包括TCP的条件下,在TCP建立过程,提取具体的一些故障特征信息,并根据所提取的故障特征信息确定故障原因,从而提供了一种具体的确定数据的传输故障原因的实现手段,充实了本申请技术方案。
需要说明的是,TCP数据传输过程包括三个过程,分别为TCP建立过程、TCP序号正常增长的数据传输过程以及TCP序号异常增长的数据传输过程。所以,数据的传输故障原因还可能发生在TCP序号正常增长的数据传输过程或TCP序号异常增长的数据传输过程。
下面以TCP序号正常增长的数据传输过程为例,对本申请中的确定数据的传输故障原因方法进行说明,请参阅图4,本申请中确定数据的传输故障原因方法另一个实施例包括:
301、在确定数据在传输过程中所使用的传输协议信息包括TCP后,在TCP序号正常增长的数据传输过程中,根据TCP提取数据的如下故障特征信息:下行方向的流量大小和上行方向的流量大小、发送窗口的窗口尺寸、RTT以及ACK重传次数;
本实施例中,在获取数据在传输过程中所使用的传输协议信息并确定传输协议信息包括TCP后,根据TCP提取数据的如下故障特征信息:下行方向的流量大小和上行方向的流量大小、发送窗口的窗口尺寸、RTT以及ACK重传次数。
需要说明的是,本实施例所提供的确定数据的传输故障原因装置可以在单位时间内提取统计信息,如接收报文数、发送报文数、接收报文字节数、发送报文字节数、发送窗口的窗口尺寸、RTT以及ACK重传次数,并存储所提取的统计信息。
上述下行方向的流量大小等于单位时间内接收报文数或单位时间内接收报文字节数或单位时间内接收报文比特数,上述上行方向的流量大小等于单位时间内发送报文数或单位时间内发送报文字节数或单位时间内发送报文比特数。
302、若检测到数据传输出现故障,若确定下行方向的流量大小超过传输网络最大带宽,或确定上行方向的流量大小超过传输网络最大带宽,则确定故障原因包括突发流量;若确定RTT的数值大于第四预设阈值,则确定故障原因包括高时延或时延抖动,若再确定发送窗口的窗口尺寸小于第五预设阈值,则确定故障原因还包括限速;若确定ACK重传次数大于第六预设阈值,则确定故障原因包括丢包或乱序。
本实施例中,在TCP序号正常增长的数据传输过程中,根据TCP所提取的数据的下行方向的流量大小和上行方向的流量大小、发送窗口的窗口尺寸、RTT以及ACK重传次数等信息,用于分析数据传输过程中的发包特征,即是否存在突发流量,是否存在丢包或乱序以及限速等问题。
如果确定下行方向的流量大小超过传输网络最大带宽,或确定上行方向的流量大小超过传输网络最大带宽,则确定故障原因包括突发流量。
TCP数据传输所使用的传输机制是滑窗机制,吞吐率等于接收窗口的窗口尺寸和发送窗口的窗口尺寸中的较小者除以RTT,所以发送窗口的窗口尺寸以及RTT的数值会决定吞吐率能达到多大,如果发送窗口的窗口尺寸调得过小,比如小于第五预设阈值,RTT的数值调得过大,比如大于第四预设阈值,那么吞吐率就会被限制,从而造成限速。此外,若RTT的数值调得过大,则故障原因也会包括高时延或时延抖动。
丢包和乱序都会触发重传ACK,根据ACK重传次数可以判断是否存在丢包会乱序。即如果确定ACK重传次数大于第六预设阈值,则确定故障原因包括丢包或乱序。
本实施例中,在传输协议信息包括TCP的条件下,在TCP序号正常增长的数据传输过程中,提取具体的一些故障特征信息,并根据所提取的故障特征信息确定故障原因,从而又提供了一种具体的确定数据的传输故障原因的实现手段,充实了本申请技术方案。
下面以TCP序号异常增长的数据传输过程为例,对本申请中的确定数据的传输故障原因方法进行说明,请参阅图5,本申请中确定数据的传输故障原因方法另一个实施例包括:
401、在确定数据在传输过程中所使用的传输协议信息包括TCP后,在TCP序号异常增长的数据传输过程中,根据TCP提取数据的如下故障特征信息:序号跳变前后信息,序号跳变前后信息包括当前报文序列号、前报文序列号、当前报文长度、前报文长度、当前报文标识号以及前报文标识号。
本实施例中,在获取数据在传输过程中所使用的传输协议信息并确定传输协议信息包括TCP后,根据TCP提取数据的如下故障特征信息:序号跳变前后信息,序号跳变前后信息包括当前报文序列号、前报文序列号、当前报文长度、前报文长度、当前报文标识号以及前报文标识号。
402、若当前报文序列号的数值减去所述前报文序列号的数值小于0,则判断当前报文标识号的数值减去前报文标识号的数值是否小于0,若是,则执行步骤403,若否,则执行步骤404;
本实施例中,如果当前报文序列号的数值减去前报文序列号的数值小于0,则进一步判断当前报文标识号的数值减去前报文标识号的数值是否小于0,若是,则执行步骤403,若否,则执行步骤404;
403、确定故障原因包括乱序;
本实施例中,如果当前报文标识号的数值减去前报文标识号的数值小于0,则确定故障原因包括乱序。
404、在接收到当前报文序列号对应的报文之前,判断是否接收到当前报文序列号对应的初传报文,若是,则执行步骤405,若否,则执行步骤406;
本实施例中,当当前报文标识号的数值减去前报文标识号的数值不小于0时,进一步判断在接收到当前报文序列号对应的第二报文之前,是否接收到当前报文序列号对应的第一报文,若接收到,则执行步骤405,若没有接收到,则执行步骤406。
可以理解的是,上述当前报文序列号可以发生跳变,如果发生跳变,则上述当前序列号对应的报文有两种,比如在第一时间点上述当前序列号对应的报文为第一报文(初传报文),在第二时间点上述当前序列号对应的报文为第二报文。
405、确定故障原因包括下游重传;
406、确定故障原因包括上游丢包。
需要说明的是,在一些可能的实施例中,若当前报文序列号的数值减去前报文序列号的数值大于前报文长度的数值,则确定故障原因包括数据跳变。
本实施例中,在传输协议信息包括TCP的条件下,在TCP序号异常增长的数据传输过程中,提取具体的一些故障特征信息,并根据所提取的故障特征信息确定故障原因,从而又提供了一种具体的确定数据的传输故障原因的实现手段,充实了本申请技术方案。
本申请分别通过图3、图4和图5所示实施例对TCP建立过程、TCP序号正常增长的数据传输过程以及TCP序号异常增长的数据传输过程下确定数据的传输故障原因方法进行描述说明,应理解,在实际应用中,图3、图4和图5所示实施例可以结合成一个实施例,即通过图3、图4和图5所示实施例的结合对TCP建立过程、TCP序号正常增长的数据传输过程以及TCP序号异常增长的数据传输过程下确定数据的传输故障原因方法进行描述说明,此处不再赘述。
上述图3、图4以及图5所示实施例是以TCP为例进行说明的,故障特征信息的提取过程是在TCP层完成的。在本申请的一些实施例中,故障特征信息的提取过程还可以在UDP层完成,或者故障特征信息的提取过程还可以在GTP层完成,相应的,传输协议信息还可以包括UDP或者GTP。
若传输协议信息包括UDP,应理解,UDP和TCP一样,均为应用层的传输协议,区别在于UDP没有序列号,所以在传输协议信息包括UDP的条件下,在UDP层提取数据的故障特征信息的方法可以为:根据UDP提取数据的如下故障特征信息:DSCP、IP标识、TTL、分片标识、下行方向的流量大小和上行方向的流量大小。
若传输协议信息包括GTP,1、如果GTP没有序列号,则在GTP层提取数据的故障特征信息的方法可以为:根据GTP提取数据的如下故障特征信息:协议类型、DSCP、IP标识、生存时间、分片标识、下行方向的流量大小和上行方向的流量大小。2、如果GTP携带有序列号,则在GTP层提取数据的故障特征信息的方法可以为:根据GTP提取数据的如下故障特征信息:协议类型、DSCP、IP标识、生存时间、分片标识、下行方向的流量大小和上行方向的流量大小、当前报文序列号、前报文序列号、当前报文长度、前报文长度、当前报文标识号以及前报文标识号。需要说明的是,本实施例中,在GTP层根据故障特征信息判断故障原因(如丢包、乱序、下游重传等)的方法,与前面所述的在TCP层根据故障特征信息判断故障原因的方法类似,此处不再赘述。
上面通过实施例介绍了本申请中的确定数据的传输故障原因方法,下面通过实施例介绍本申请中的确定数据的传输故障原因装置,请参阅图6,本申请中确定数据的传输故障原因装置一个实施例包括:
获取模块501,用于获取数据在传输过程中所使用的传输协议信息;
提取模块502,用于根据传输协议信息提取数据的故障特征信息;
确定模块503,用于若检测到数据传输出现故障,则根据故障特征信息确定故障原因。
本实施例中,获取模块501获取数据在传输过程中所使用的传输协议信息;提取模块502根据传输协议信息提取数据的故障特征信息;若检测到数据传输出现故障,则确定模块503根据故障特征信息确定故障原因。由于获取传输协议信息相对于获取数据的全部报文对CPU、内存以及带宽的要求要低,从而在保证实时性的同时最大限度降低对系统的冲击,所以本申请更容易提取故障特性信息,从而更容易准确定位故障原因,进而可以根据故障原因排除相应的故障。
进一步的,在一些可能的实施例中,提取模块502,具体用于当传输协议信息包括传输控制协议TCP时,在TCP建立过程中,根据TCP提取数据的如下故障特征信息:接收窗口的窗口尺寸、最大分段大小MSS以及差分服务码点DSCP。
相应的,确定模块503,具体用于若确定接收窗口的窗口尺寸小于第一预设阈值,则确定故障原因包括限速;若确定MSS的数值大于第二预设阈值,则确定故障原因包括分片;若确定DSCP的数值小于第三预设阈值,则确定故障原因包括带宽拥塞。
可见,在传输协议信息包括TCP的条件下,在TCP建立过程,提取具体的一些故障特征信息,并根据所提取的故障特征信息确定故障原因,从而提供了一种具体的确定数据的传输故障原因的实现手段,充实了本申请技术方案。
在一些可能的实施例中,提取模块502,具体用于当传输协议信息包括传输控制协议TCP时,在TCP序号正常增长的数据传输过程中,根据TCP提取数据的如下故障特征信息:下行方向的流量大小和上行方向的流量大小、发送窗口的窗口尺寸、环回时延RTT以及确认ACK重传次数。
相应的,确定模块503,具体用于若确定下行方向的流量大小超过传输网络最大带宽,或确定上行方向的流量大小超过传输网络最大带宽,则确定故障原因包括突发流量;若确定RTT的数值大于第四预设阈值,则确定故障原因包括高时延或时延抖动,若再确定发送窗口的窗口尺寸小于第五预设阈值,则确定故障原因还包括限速;若确定ACK重传次数大于第六预设阈值,则确定故障原因包括丢包或乱序。
可见,在传输协议信息包括TCP的条件下,在TCP序号正常增长的数据传输过程中,提取具体的一些故障特征信息,并根据所提取的故障特征信息确定故障原因,从而又提供了一种具体的确定数据的传输故障原因的实现手段,充实了本申请技术方案。
在一些可能的实施例中,提取模块502,具体用于当传输协议信息包括传输控制协议TCP时,在TCP序号异常增长的数据传输过程中,根据TCP提取数据的如下故障特征信息:序号跳变前后信息,序号跳变前后信息包括当前报文序列号、前报文序列号、当前报文长度、前报文长度、当前报文标识号以及前报文标识号。
相应的,确定模块503,具体用于若当前报文序列号的数值减去前报文序列号的数值大于前报文长度的数值,则确定故障原因包括数据跳变。
或,相应的,确定模块503,具体用于若当前报文序列号的数值减去前报文序列号的数值小于0,则判断当前报文标识号的数值减去前报文标识号的数值是否小于0;当当前报文标识号的数值减去前报文标识号的数值小于0时,则确定故障原因包括乱序;当当前报文标识号的数值减去前报文标识号的数值不小于0时,则在接收到当前报文序列号对应的报文之前,判断是否接收到当前报文序列号对应的初传报文;若接收到当前报文序列号对应的初传报文,则确定故障原因包括下游重传;若未接收到当前报文序列号对应的初传报文,则确定故障原因包括上游丢包。
可见,在传输协议信息包括TCP的条件下,在TCP序号异常增长的数据传输过程中,提取具体的一些故障特征信息,并根据所提取的故障特征信息确定故障原因,从而又提供了一种具体的确定数据的传输故障原因的实现手段,充实了本申请技术方案。
上面从模块化功能实体的角度对本申请中的确定数据的传输故障原因装置进行了描述,下面从硬件处理的角度对本申请中的确定数据的传输故障原因装置进行描述,请参阅图7,本申请中的确定数据的传输故障原因装置包括:接收器601、处理器602以及存储器603。
本申请涉及的确定数据的传输故障原因装置可以具有比图7所示出的更多或更少的部件,可以组合两个或更多个部件,或者可以具有不同的部件配置或设置,各个部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件或硬件和软件的组合实现。
接收器601用于执行如下操作:
获取数据在传输过程中所使用的传输协议信息;
处理器602用于执行如下操作:
根据传输协议信息提取数据的故障特征信息;
若检测到数据传输出现故障,则根据故障特征信息确定故障原因。
存储器603用于存储处理器602执行相应的操作所需的指令。
本实施例中,接收器601获取数据在传输过程中所使用的传输协议信息;处理器602根据传输协议信息提取数据的故障特征信息;若检测到数据传输出现故障,则处理器602根据故障特征信息确定故障原因。由于获取传输协议信息相对于获取数据的全部报文对CPU、内存以及带宽的要求要低,从而在保证实时性的同时最大限度降低对系统的冲击,所以本申请更容易提取故障特性信息,从而更容易准确定位故障原因,进而可以根据故障原因排除相应的故障。
处理器602还用于执行如下操作:
当传输协议信息包括传输控制协议TCP时,在TCP建立过程中,根据TCP提取所述数据的如下故障特征信息:接收窗口的窗口尺寸、最大分段大小MSS以及差分服务码点DSCP;
若确定接收窗口的窗口尺寸小于第一预设阈值,则确定故障原因包括限速;若确定MSS的数值大于第二预设阈值,则确定故障原因包括分片;若确定DSCP的数值小于第三预设阈值,则确定故障原因包括带宽拥塞。
处理器602还用于执行如下操作:
当传输协议信息包括传输控制协议TCP时,在TCP序号正常增长的数据传输过程中,根据TCP提取所述数据的如下故障特征信息:下行方向的流量大小和上行方向的流量大小、发送窗口的窗口尺寸、环回时延RTT以及确认ACK重传次数;
若确定下行方向的流量大小超过传输网络最大带宽,或确定上行方向的流量大小超过传输网络最大带宽,则确定故障原因包括突发流量;若确定RTT的数值大于第四预设阈值,则确定故障原因包括高时延或时延抖动,若再确定发送窗口的窗口尺寸小于第五预设阈值,则确定故障原因还包括限速;若确定ACK重传次数大于第六预设阈值,则确定故障原因包括丢包或乱序。
处理器602还用于执行如下操作:
当传输协议信息包括传输控制协议TCP时,在TCP序号异常增长的数据传输过程中,根据TCP提取数据的如下故障特征信息:序号跳变前后信息,序号跳变前后信息包括当前报文序列号、前报文序列号、当前报文长度、前报文长度、当前报文标识号以及前报文标识号;
若当前报文序列号的数值减去前报文序列号的数值大于前报文长度的数值,则确定故障原因包括数据跳变;
或,
若当前报文序列号的数值减去前报文序列号的数值小于0,则判断当前报文标识号的数值减去前报文标识号的数值是否小于0;当当前报文标识号的数值减去前报文标识号的数值小于0时,则确定故障原因包括乱序;当当前报文标识号的数值减去前报文标识号的数值不小于0时,则在接收到当前报文序列号对应的报文之前,判断是否接收到当前报文序列号对应的初传报文;
若接收到当前报文序列号对应的初传报文,则确定故障原因包括下游重传;
若未接收到当前报文序列号对应的初传报文,则确定故障原因包括上游丢包。
在上述实施例中,可以全部或部分地通过软件、硬件或者其组合来实现。当使用软件或软件硬件组合实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在存储介质中,或者从一个存储介质向另一存储介质传输。例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、双绞线、光纤)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述存储介质可以是计算机能够存储的任何介质或者是包含一个或多个介质集成的服务器、数据中心等数据存储设备。所述介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,光盘)、或者半导体介质(例如固态硬盘(SSD))等。
本领域普通技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络设备上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
本申请各实施例之间相关部分可以相互参考,包括:方法实施例之间相关部分可以相互参考;各装置实施例所提供的装置用于执行对应的方法实施例所提供的方法,故各装置实施例可以参考相关的方法实施例中的相关部分进行理解。
本申请各装置实施例中给出的装置结构图仅示出了对应的装置的简化设计。在实际应用中,该装置可以包含任意数量的通信模块,处理器,存储器等,以实现本申请各装置实施例中该装置所执行的功能或操作,而所有可以实现本申请的装置都在本申请的保护范围之内。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制。本领域普通技术人员可以对前述各实施例所记载的技术方案进行修改,而这些修改,并不使相应技术方案脱离权利要求的范围。
Claims (13)
1.一种确定数据的传输故障原因方法,其特征在于,包括:
获取数据在传输过程中所使用的传输协议信息;
根据所述传输协议信息提取所述数据的故障特征信息;
若检测到所述数据传输出现故障,则根据所述故障特征信息确定故障原因;
所述传输协议信息包括传输控制协议TCP,所述根据所述传输协议信息提取所述数据的故障特征信息包括:
在TCP建立过程中,根据所述TCP提取所述数据的如下故障特征信息:接收窗口的窗口尺寸、最大分段大小MSS以及差分服务码点DSCP;
或在TCP序号正常增长的数据传输过程中,根据所述TCP提取所述数据的如下故障特征信息:下行方向的流量大小和上行方向的流量大小、发送窗口的窗口尺寸、环回时延RTT以及确认ACK重传次数;
或在TCP序号异常增长的数据传输过程中,根据所述TCP提取所述数据的如下故障特征信息:序号跳变前后信息,所述序号跳变前后信息包括当前报文序列号、前报文序列号、当前报文长度、前报文长度、当前报文标识号以及前报文标识号。
2.根据权利要求1所述的方法,其特征在于,所述根据所述故障特征信息确定故障原因包括:
若确定所述接收窗口的窗口尺寸小于第一预设阈值,则确定故障原因包括限速;
若确定所述MSS的数值大于第二预设阈值,则确定故障原因包括分片;
若确定所述DSCP的数值小于第三预设阈值,则确定故障原因包括带宽拥塞。
3.根据权利要求1所述的方法,其特征在于,所述根据所述故障特征信息确定故障原因包括:
若确定所述下行方向的流量大小超过传输网络最大带宽,或确定所述上行方向的流量大小超过所述传输网络最大带宽,则确定故障原因包括突发流量;
若确定所述RTT的数值大于第四预设阈值,则确定故障原因包括高时延或时延抖动,若再确定所述发送窗口的窗口尺寸小于第五预设阈值,则确定故障原因还包括限速;
若确定所述ACK重传次数大于第六预设阈值,则确定故障原因包括丢包或乱序。
4.根据权利要求1所述的方法,其特征在于,所述根据所述故障特征信息确定故障原因包括:
若所述当前报文序列号的数值减去所述前报文序列号的数值大于前报文长度的数值,则确定故障原因包括数据跳变。
5.根据权利要求1所述的方法,其特征在于,所述根据所述故障特征信息确定故障原因包括:
若所述当前报文序列号的数值减去所述前报文序列号的数值小于0,则判断所述当前报文标识号的数值减去所述前报文标识号的数值是否小于0;当所述当前报文标识号的数值减去所述前报文标识号的数值小于0时,则确定故障原因包括乱序;当所述当前报文标识号的数值减去所述前报文标识号的数值不小于0时,则在接收到所述当前报文序列号对应的报文之前,判断是否接收到所述当前报文序列号对应的初传报文;
若接收到所述当前报文序列号对应的初传报文,则确定故障原因包括下游重传;
若未接收到所述当前报文序列号对应的初传报文,则确定故障原因包括上游丢包。
6.根据权利要求1至2任一项所述的方法,其特征在于,所述传输协议信息包括用户数据协议UDP。
7.一种确定数据的传输故障原因装置,其特征在于,包括:
获取模块,用于获取数据在传输过程中所使用的传输协议信息;
提取模块,用于根据所述传输协议信息提取所述数据的故障特征信息;
确定模块,用于若检测到数据传输出现故障,则根据所述故障特征信息确定故障原因;
所述提取模块,具体用于当所述传输协议信息包括传输控制协议TCP时,在TCP建立过程中,根据所述TCP提取所述数据的如下故障特征信息:接收窗口的窗口尺寸、最大分段大小MSS以及差分服务码点DSCP;
所述提取模块,具体用于当所述传输协议信息包括传输控制协议TCP时,在TCP序号正常增长的数据传输过程中,根据所述TCP提取所述数据的如下故障特征信息:下行方向的流量大小和上行方向的流量大小、发送窗口的窗口尺寸、环回时延RTT以及确认ACK重传次数;
所述提取模块,具体用于当所述传输协议信息包括传输控制协议TCP时,在TCP序号异常增长的数据传输过程中,根据所述TCP提取所述数据的如下故障特征信息:序号跳变前后信息,所述序号跳变前后信息包括当前报文序列号、前报文序列号、当前报文长度、前报文长度、当前报文标识号以及前报文标识号。
8.根据权利要求7所述的装置,其特征在于,所述确定模块,具体用于若确定所述接收窗口的窗口尺寸小于第一预设阈值,则确定故障原因包括限速;若确定所述MSS的数值大于第二预设阈值,则确定故障原因包括分片;若确定所述DSCP的数值小于第三预设阈值,则确定故障原因包括带宽拥塞。
9.根据权利要求7所述的装置,其特征在于,所述确定模块,具体用于若确定所述下行方向的流量大小超过传输网络最大带宽,或确定所述上行方向的流量大小超过所述传输网络最大带宽,则确定故障原因包括突发流量;若确定所述RTT的数值大于第四预设阈值,则确定故障原因包括高时延或时延抖动,若再确定所述发送窗口的窗口尺寸小于第五预设阈值,则确定故障原因还包括限速;若确定所述ACK重传次数大于第六预设阈值,则确定故障原因包括丢包或乱序。
10.根据权利要求7所述的装置,其特征在于,所述确定模块,具体用于若所述当前报文序列号的数值减去所述前报文序列号的数值大于前报文长度的数值,则确定故障原因包括数据跳变。
11.根据权利要求7所述的装置,其特征在于,所述确定模块,具体用于若所述当前报文序列号的数值减去所述前报文序列号的数值小于0,则判断所述当前报文标识号的数值减去所述前报文标识号的数值是否小于0;当所述当前报文标识号的数值减去所述前报文标识号的数值小于0时,则确定故障原因包括乱序;当所述当前报文标识号的数值减去所述前报文标识号的数值不小于0时,则在接收到所述当前报文序列号对应的报文之前,判断是否接收到所述当前报文序列号对应的初传报文;
若接收到所述当前报文序列号对应的初传报文,则确定故障原因包括下游重传;
若未接收到所述当前报文序列号对应的初传报文,则确定故障原因包括上游丢包。
12.根据权利要求7至8任一项所述的装置,其特征在于,所述传输协议包括用户数据协议UDP。
13.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710713222.1A CN107645409B (zh) | 2017-08-18 | 2017-08-18 | 一种确定数据的传输故障原因方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710713222.1A CN107645409B (zh) | 2017-08-18 | 2017-08-18 | 一种确定数据的传输故障原因方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107645409A CN107645409A (zh) | 2018-01-30 |
CN107645409B true CN107645409B (zh) | 2021-02-12 |
Family
ID=61110882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710713222.1A Active CN107645409B (zh) | 2017-08-18 | 2017-08-18 | 一种确定数据的传输故障原因方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107645409B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109495311B (zh) * | 2018-11-30 | 2022-05-20 | 锐捷网络股份有限公司 | 一种网络故障检测方法及装置 |
KR102362933B1 (ko) * | 2019-02-14 | 2022-02-14 | 미쓰비시덴키 가부시키가이샤 | 고장 지원 장치, 기록 매체에 저장된 고장 지원 프로그램 및 고장 지원 방법 |
CN110933234B (zh) * | 2019-11-18 | 2021-04-27 | 武汉绿色网络信息服务有限责任公司 | 一种VoLTE通话质量问题的自动定界方法和装置 |
CN111246312A (zh) * | 2020-01-15 | 2020-06-05 | 安徽文香信息技术有限公司 | 一种丢包处理方法及装置 |
CN114500399A (zh) * | 2021-12-28 | 2022-05-13 | 赛尔网络有限公司 | 数据传输方法、设备、介质和产品 |
CN116248545B (zh) * | 2022-12-28 | 2024-05-14 | 中国电信股份有限公司 | 网络传输链路的故障分析方法及装置 |
CN116506365B (zh) * | 2023-06-25 | 2023-09-05 | 杭州网鼎科技有限公司 | 一种多网络出口智能负载均衡方法、系统及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595584A (zh) * | 2013-11-13 | 2014-02-19 | 德科仕通信(上海)有限公司 | Web应用性能问题的诊断方法及系统 |
CN104754630A (zh) * | 2013-12-31 | 2015-07-01 | 华为技术有限公司 | 一种网络质量评估方法、装置及处理平台 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7299280B2 (en) * | 2001-10-17 | 2007-11-20 | The Regents Of University Of California | Method and apparatus for TCP with faster recovery |
-
2017
- 2017-08-18 CN CN201710713222.1A patent/CN107645409B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595584A (zh) * | 2013-11-13 | 2014-02-19 | 德科仕通信(上海)有限公司 | Web应用性能问题的诊断方法及系统 |
CN104754630A (zh) * | 2013-12-31 | 2015-07-01 | 华为技术有限公司 | 一种网络质量评估方法、装置及处理平台 |
Also Published As
Publication number | Publication date |
---|---|
CN107645409A (zh) | 2018-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107645409B (zh) | 一种确定数据的传输故障原因方法及装置 | |
EP3737016A1 (en) | Data transmission method, apparatus and system | |
US10021688B2 (en) | Managing pending acknowledgement packets in a communication device | |
US9325628B2 (en) | Packet handling method, forwarding device and system | |
Tsao et al. | On effectively exploiting multiple wireless interfaces in mobile hosts | |
CN106612284B (zh) | 一种流数据的传输方法和装置 | |
US10064073B2 (en) | Optimizing bandwidth of cognitive radios | |
CN112436924B (zh) | 一种数据传输方法及电子设备 | |
CN110875799A (zh) | 一种传输控制方法和装置 | |
US10524175B2 (en) | Data transmission method and network device | |
US20170027016A1 (en) | Communication device, wireless communication device, and communication method | |
CN109120540B (zh) | 传输报文的方法、代理服务器和计算机可读存储介质 | |
CN102769520B (zh) | 基于sctp协议的无线网络拥塞控制方法 | |
US20170070433A1 (en) | 5-way tcp optimization | |
CN106330406A (zh) | 一种基于tcp的数据传输方法及装置 | |
Custura et al. | Impact of acknowledgements using ietf quic on satellite performance | |
CN108429700B (zh) | 一种发送报文的方法及装置 | |
CN107493260B (zh) | 用于数据传输的自适应段尺寸的装置、系统和方法 | |
US20100067397A1 (en) | Method for determining a data transport unit parameter for the communication between two stations in a network of stations, network device adapted to act as a sending station and network device adapted to act as a receiving station in the method | |
EP3840325A1 (en) | System and method for authorizing traffic flows | |
US11502986B2 (en) | Reducing transmission delay of transmitting data in Wi-Fi | |
CN113424578B (zh) | 一种传输控制协议加速方法和装置 | |
CN106341348B (zh) | 一种面向tcp业务的流量控制方法及接入网网元 | |
WO2018174222A1 (ja) | 通信装置、通信方法及びプログラム | |
Liu et al. | Improving tcp performance over mobile data networks with opportunistic retransmission |
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 |