CN109218119A - 网络丢包诊断方法及网络设备 - Google Patents
网络丢包诊断方法及网络设备 Download PDFInfo
- Publication number
- CN109218119A CN109218119A CN201710525031.2A CN201710525031A CN109218119A CN 109218119 A CN109218119 A CN 109218119A CN 201710525031 A CN201710525031 A CN 201710525031A CN 109218119 A CN109218119 A CN 109218119A
- Authority
- CN
- China
- Prior art keywords
- message
- packet loss
- receiving queue
- distribution information
- total amount
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
- H04L43/0835—One way packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
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
本发明实施例提供一种网络丢包诊断方法,应用于网络设备。所述方法包括:接收网络接口线速速率输入的报文;将输入的报文经处理器IO通道存入接收队列中;取出所述接收队列中的报文,获得从所述接收队列取出报文的报文数目分布信息;根据输入的报文总数量与所述报文数目分布信息,判断是否发生丢包;在判定发生丢包时,对所述报文数目分布信息进行分析得到丢包原因。所述网络丢包诊断方法能够对网络设备的丢包情况进行诊断,并在所述网络设备丢包时对丢包原因进行精确定位,提高网络设备的开发效率。
Description
技术领域
本发明涉及数据通信技术领域,具体而言,涉及一种网络丢包诊断方法及网络设备。
背景技术
随着数据通信技术的不断发展,数据通信技术的应用愈发广泛。同时人们对网络传输带宽的需求量也不断增大,网络设备(比如,路由器或具有路由功能的其他电子设备)供应商需要开发性能更好、带宽更大的网络设备以满足社会的需求。而在网络设备的开发过程中通常需要解决因各种原因导致网络设备丢包的问题,这给网络设备的开发带来了极大的困扰。因此,在网络设备出现丢包现象时对丢包原因的诊断问题便是数据通信技术中的一个极为重要的问题。
就目前而言,现有技术中对网络设备丢包原因的诊断方法是通过对网络设备处理单位报文的时间进行统计的方式估算网络设备的处理性能,再通过估算的结果推测出丢包原因。但是这种诊断方法中统计得到的单位报文处理时间会由于网络设备的数据转发线程在操作系统上发生调度、被中断或处理异常信号等而导致得到的时间精度不高,对应推测得到的丢包原因的可靠性不高,误差较大,无法精确地对丢包原因进行诊断。因此,如何提供一种能够在网络设备出现丢包现象时对丢包原因进行精确定位的诊断方法,对本领域技术人员而言,是急需解决的技术问题。
发明内容
为了克服现有技术中的上述不足,本发明的目的在于提供一种网络丢包诊断方法及网络设备。所述网络丢包诊断方法能够对网络设备的丢包情况进行诊断,并在所述网络设备丢包时对丢包原因进行精确定位,提高网络设备的开发效率。
就网络丢包诊断方法而言,本发明较佳的实施例提供一种网络丢包诊断方法,应用于网络设备。所述方法包括:
接收网络接口线速速率输入的报文;
将输入的报文经处理器IO通道存入接收队列中;
取出所述接收队列中的报文,获得从所述接收队列取出报文的报文数目分布信息;
根据输入的报文总数量与所述报文数目分布信息,判断是否发生丢包;
在判定发生丢包时,对所述报文数目分布信息进行分析得到丢包原因。
就网络设备而言,本发明较佳的实施例提供一种网络设备。所述设备包括:
报文接收模块,用于接收以网络接口线速速率从网络接口输入的报文,并将输入的报文经处理器IO通道存入接收队列中;
报文读取模块,用于取出所述接收队列中的报文,获得从所述接收队列取出报文的报文数目分布信息;
丢包判断模块,用于根据输入的报文总数量与所述报文数目分布信息,判断是否发生丢包;
丢包原因获取模块,用于在判定发生丢包时,对所述报文数目分布信息进行分析得到丢包原因。
相对于现有技术而言,本发明较佳的实施例提供的网络丢包诊断方法
及网络设备具有以下有益效果:所述网络丢包诊断方法能够对网络设备的丢包情况进行诊断,并在所述网络设备丢包时对丢包原因进行精确定位,提高网络设备的开发效率。具体地,所述方法通过接收以网络接口线速速率从网络接口输入的报文,将输入的报文经处理器IO通道存入接收队列中,并取出所述接收队列中的报文,以获得从所述接收队列取出报文的报文数目分布信息;所述方法根据输入的报文总数量与所述报文数目分布信息,判断是否发生丢包;所述方法在判定发生丢包时,对所述报文数目分布信息进行分析得到丢包原因,从而实现对丢包原因的精确诊断,提高网络设备的开发效率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明权利要求保护范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明较佳的实施例提供的网络丢包诊断方法的一种流程示意图。
图2为图1中所示的步骤S230包括的子步骤的一种流程示意图。
图3为图1中所示的步骤S240包括的子步骤的一种流程示意图。
图4为图1中所示的步骤S250包括的子步骤的一种流程示意图。
图5为本发明较佳的实施例提供的网络丢包诊断方法的另一种流程示意图。
图6为本发明较佳的实施例提供的网络设备的一种方框示意图。
图7为图6中所示的报文读取模块的一种方框示意图。
图8为图6中所示的丢包判断模块的一种方框示意图。
图9为图6中所示的丢包原因获取模块的一种方框示意图。
图10为本发明较佳的实施例提供的网络设备的另一种方框示意图。
图标:100-网络设备;110-报文接收模块;120-报文读取模块;130-丢包判断模块;140-丢包原因获取模块;121-报文取出子模块;122-数目统计子模块;131-数量获取子模块;132-丢包判定子模块;141-数目对比子模块;142-原因判定子模块;150-缓存配置模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,是本发明较佳的实施例提供的网络丢包诊断方法的一种流程示意图。所述网络丢包诊断方法应用于所述网络设备100,用于对网络设备100的丢包情况进行诊断,并在所述网络设备100丢包时对丢包原因进行精确定位,提高网络设备100的开发效率。下面对图1所示的网络丢包诊断方法的具体流程和步骤进行详细阐述。
在本发明实施例中,所述网络丢包诊断方法包括以下步骤:
步骤S210,接收网络接口线速速率输入的报文。
在本实施例中,所述网络设备100包括网络接口、内存及处理器,所述网络设备100可通过所述网络接口接收从所述网络设备100外输入的报文。其中,所述报文的输入速率为所述网络接口的线速速率,所述报文可由测试仪以网络接口线速速率从所述网络接口输入给所述网络设备100。在本实施例的一种实施例方式中,所述网络接口的接口芯片上设置有DMA(Direct Memory Access,直接内存访问)控制器,所述DMA控制器可将输入的报文以DMA的方式传输给所述处理器的处理器IO通道,从而实现对从所述网络接口输入的报文的接收。
在本实施例中,所述网络设备100在接收从网络接口输入的报文的过程中可通过所述网络接口的接口芯片的硬件接收统计得到输入的报文总数量。
步骤S220,将输入的报文经处理器IO通道存入接收队列中。
在本实施例中,所述处理器包括IO控制器,所述处理器与所述内存之间通过内部总线连接,所述处理器通过所述IO控制器及所述内部总线组成所述处理器IO通道,用于将接收到的报文以DMA的方式经所述处理器IO通道传输给所述内存。其中,所述内存中存在用于存储报文的接收队列(recv que)。在本实施例的一种实施方式中,所述IO控制器采用PCIE控制器,所述PCIE控制器与所述接口芯片的DMA控制器之间通过PCIE总线连接,从所述网络接口输入的报文通过所述DMA控制器以DMA的方式经所述PCIE总线及所述处理器IO通道直接存入到所述内存的接收队列中。其中,所述接收队列能够缓存的最大报文数目可由所述网络设备100的开发人员进行不同的设置。
步骤S230,取出所述接收队列中的报文,获得从所述接收队列取出报文的报文数目分布信息。
在本实施例中,所述内存中存储有用于实现网络设备100对接收到的报文进行读取的软件,所述软件可由所述处理器运行,以取出所述接收队列中的报文。所述网络设备100可通过所述软件取出存入到所述接收队列中的报文。所述网络设备100在所述软件取出接收队列中的报文的过程中,可对所述软件每轮从接收队列取出报文的数目进行统计,得到所述软件取出的报文对应的报文数目分布信息。所述报文数目分布信息为所述软件每轮取出的报文数目的分布情况,而通过对每轮取出的报文数目进行加法运算,即可得到所述软件取出的报文总数量,即所述网络设备100实际能够转发的报文总数量。
具体地,请参照图2,是图1中所示的步骤S230包括的子步骤的一种流程示意图。在本发明实施例中,所述步骤S230可以包括子步骤S231及子步骤S232。其中,所述子步骤S231及子步骤S232如下所示:
子步骤S231,以轮询的方式取出接收队列中的报文,其中,每轮取出报文的最大数目等于所述接收队列的最大报文缓存数目。
在本实施例中,所述网络设备100可控制所述软件以轮询的方式取出接收队列中的报文,实现所述网络设备100对输入的报文的读取功能,其中,所述软件每轮取出报文的最大数目等于所述接收队列的最大报文缓存数目。具体地,所述软件每轮取出报文的数目在接收队列满时,等于所述接收队列的最大报文缓存数目;所述软件每轮取出报文的数目在接收队列未满时,等于所述接收队列当前缓存的所有报文数目。所述软件每轮进行的报文读取当所述接收队列为空或所述软件一次性取出的报文数目等于接收队列的最大报文缓存数目时结束,所述软件在每轮进行的报文读取结束后都将开启下一轮的报文读取。
在本实施例中,接收从网络设备100的网络接口输入的报文的步骤、将输入的报文存入所述接收队列中的步骤,及控制软件以轮询的方式取出接收队列中的报文的步骤都是在对所述网络设备100进行性能调试的时间段内执行的。
子步骤S232,对每轮取出的报文数目进行统计,得到从所述接收队列取出报文对应的报文数目分布信息。
在本实施例中,所述网络设备100在控制所述软件对接收队列中的报文进行读取时,可得到所述软件每轮取出的报文数目。所述网络设备100通过对软件每轮取出的报文数目进行统计,得到软件从所述接收队列中取出报文对应的报文数目分布信息。
步骤S240,根据输入的报文总数量与所述报文数目分布信息,判断所述是否发生丢包。
在本实施例中,所述网络设备100可根据输入的报文总数量,及所述软件从所述接收队列中取出报文对应的报文数目分布信息,判断所述网络设备100是否发生丢包问题。
具体地,请参照图3,是图1中所示的步骤S240包括的子步骤的一种流程示意图。在本发明实施例中,所述步骤S240可以包括子步骤S241、子步骤S242及子步骤S243。其中,所述子步骤S241、子步骤S242及子步骤S243如下所示:
子步骤S241,根据报文数目分布信息得到取出的报文总数量。
在本实施例中,所述网络设备100可从所述报文数目分布信息中得到软件每轮取出的报文数目,并通过对每轮取出的报文数目进行加法运算,得到所述软件取出的报文总数量。
子步骤S242,将取出的报文总数量与输入的报文总数量进行比较。
在本实施例中,所述软件取出的报文总数量为所述网络设备100从接收到的报文中实际能够进行转发的报文总数量。所述网络设备100通过将取出的报文总数量与从所述网络接口输入的报文总数量进行比较,可判断出所述网络设备100是否发生丢包问题。
在本实施例的一种实施方式中,输入的报文总数量可通过网络设备100的接口芯片的硬件接收统计得到,所述软件取出的报文总数量可通过对每轮取出的报文数目进行加法运算得到。在本实施例的另一种实施方式中,输入的报文总数量可通过发送报文的测试仪得到,取出的报文总数量可通过网络设备100将取出的报文转发到测试仪后由测试仪得到。
子步骤S243,当取出的报文总数量小于输入的报文总数量时,判定发生丢包。
在本实施例中,当取出的报文总数量与输入的报文总数量之间的比较结果为取出的报文总数量小于输入的报文总数量时,所述比较结果表明所述网络设备100并未能够完全地对从所述网络接口输入的报文进行接收及读取,则可判定所述网络设备100发生了丢包问题。
步骤S250,在判定发生丢包时,对所述报文数目分布信息进行分析得到丢包原因。
在本实施例中,所述网络设备100在被判定为发生丢包现象时,可通过对软件取出报文对应的报文数目分布信息进行分析,得到所述网络设备100的丢包原因,提高所述网络设备100在开发过程中的解决报文接收转发功能上的丢包问题的效率。
具体地,请参照图4,是图1中所示的步骤S250包括的子步骤的一种流程示意图。在本发明实施例中,所述步骤S250可以包括子步骤S251、子步骤S252及子步骤S253。其中,所述子步骤S251、子步骤S252及子步骤S253如下所示:
子步骤S251,将报文数目分布信息中每轮取出的报文数目与接收队列的最大缓存数目进行对比。
在本实施例中,所述网络设备100可通过对报文数目分布信息中的软件每轮取出的报文数目进行查询,得到软件每轮取出的报文数目。所述网络设备100在得到软件每轮取出的报文数目时,将每轮取出的报文数目与接收队列的最大缓存数目进行对比,用于判断所述网络设备100的丢包原因。
在本实施例中,所述报文数目分布信息中各轮取出的报文数目可以表征所述网络设备100对输入的报文的接收性能,所述网络设备100通过对各轮取出的报文数目进行分析,便可得到所述网络设备100的丢包原因是因处理器IO性能不足引起的丢包,还是因软件处理性能不足引起的丢包。其中,所述处理器IO性能为所述处理器将进入所述处理器的报文存入所述内存的接收队列的能力,所述软件处理性能为所述软件取出存入所述内存的接收队列中的报文的能力。
子步骤S252,当每轮取出的报文数目都等于最大报文缓存数目时,判定丢包原因为软件处理性能不足。
在本实施例中,因所述网络设备100从所述网络接口接收到的报文是以所述网络接口线速速率输入的报文,在所述网络设备100发生丢包现象时,所述软件取出的报文数目存在两种状况:一种是每轮取出的报文数目都等于最大报文缓存数目的状况,另一种是每轮取出的报文数目都小于最大报文缓存数目的状况。
而在本实施例中,当每轮取出的报文数目都等于最大报文缓存数目时,表明所述网络设备100的处理器IO性能足够而所述网络设备100的软件处理性能不足,所述软件取出接收队列中的报文的频率太低,输入的报文在接收队列上发生积压,所述软件读取报文的操作在所述接收队列被放满的情况下进行,所述软件每轮取出的报文数目都等于接收队列的最大报文缓存数目,从而导致所述接收队列拥塞而丢包,则可判定所述网络设备100的丢包原因为所述网络设备100的软件处理性能不足。
子步骤S253,当每轮取出的报文数目都小于最大报文缓存数目时,判定丢包原因为处理器IO性能不足。
在本实施例中,当每轮取出的报文数目都小于最大报文缓存数目时,表明所述网络设备100的处理器IO性能不足而所述网络设备100的软件处理性能足够,使得输入的报文经处理器IO通道存入接收队列时出现拥塞,输入的一部分报文在IO控制器处丢包,而由于所述软件处理性能足够,所述软件在接收队列处取出报文的频率较高,以致于在所述接收队列未被放满的情况下,所述软件便对所述接收队列中缓存的报文进行了读取,使得所述软件每轮取出的报文数目都小于最大报文缓存数目,则可判定所述网络设备100的丢包原因为所述网络设备100的处理器IO性能不足。
请参照图5,是本发明较佳的实施例提供的网络丢包诊断方法的另一种流程示意图。在本发明实施例中,所述网络丢包诊断方法还可以包括:
步骤S260,配置接收队列的最大报文缓存数目。
在本实施例中,所述网络设备100的开发人员可在进行网络设备100的报文接收转发性能的调试之前对所述内存的接收队列的最大报文缓存数目进行配置,以确保所述网络设备100对报文的接收转发功能的正常运行。在本实施例中,所述最大报文缓存数目的数值可以是256,也可以是128,还可以是64,所述最大报文缓存数目的数值由所述网络设备100的开发人员根据需求进行不同的设置。在本实施例的一种实施方式中,所述最大报文缓存数目的数值优选为256。
请参照图6,是本发明较佳的实施例提供的网络设备100的一种方框示意图。在本发明实施例中,所述网络设备100用于对报文进行接收转发。所述网络设备100可以包括:报文接收模块110、报文读取模块120、、丢包判断模块130及丢包原因获取模块140。
所述报文接收模块110,用于接收以网络接口线速速率从网络接口输入的报文,并将输入的报文经处理器IO通道存入接收队列中。
在本实施例中,所述报文接收模块110可通过所述网络设备100的网络接口接收从所述网络设备100外以网络接口线速速率输入的报文,并在接收从网络设备100的网络接口输入的报文的过程中对输入的报文总数量进行监控。所述报文接收模块110在将从所述网络接口输入的报文以DMA的方式经所述DMA控制器及所述PCIE总线传输入所述处理器后,控制所述PCIE控制器及内部总线形成处理器IO通道,用于将接收到的报文直接存入到所述内存的接收队列中。所述报文接收模块110可以执行图1中的步骤S210及步骤S220,具体的描述可参照上文中对步骤S210及步骤S220详细描述。
所述报文读取模块120,用于取出所述接收队列中的报文,获得从所述接收队列取出报文的报文数目分布信息。
在本实施例中,所述报文读取模块120可通过所述内存中存储的用于实现网络设备100对接收到的报文进行读取的软件,取出所述接收队列中的报文。所述报文读取模块120在通过所述软件取出所述接收队列中的报文的过程中,可对所述软件从接收队列取出报文的数目进行统计,得到所述软件取出的报文对应的报文数目分布信息。
具体地,请参照图7,是图6中所示的报文读取模块120的一种方框示意图。在本发明实施例中,所述报文读取模块120包括报文取出子模块121及数目统计子模块122。
所述报文取出子模块121,用于以轮询的方式取出接收队列中的报文,其中,每轮取出报文的最大数目等于所述接收队列的最大报文缓存数目。
在本实施例中,所述报文取出子模块121可控制所述软件以轮询的方式取出接收队列中的报文,实现所述网络设备100对输入的报文的读取功能,其中,所述软件每轮取出报文的最大数目等于所述接收队列的最大报文缓存数目。
所述数目统计子模块122,用于对每轮取出的报文数目进行统计,得到从所述接收队列取出报文对应的报文数目分布信息。
在本实施例中,所述数目统计子模块122可在所述报文取出子模块121控制所述软件对接收队列中的报文进行读取时,对软件每轮取出的报文数目进行统计,得到软件从所述接收队列中取出报文对应的报文数目分布信息。
所述丢包判断模块130,用于根据输入的报文总数量与所述报文数目分布信息,判断是否发生丢包。
在本实施例中,所述丢包判断模块130可根据输入的报文总数量,及所述软件从所述接收队列中取出报文对应的报文数目分布信息,判断所述网络设备100是否发生丢包问题。
具体地,请参照图8,是图6中所示的丢包判断模块130的一种方框示意图。在本发明实施例中,所述丢包判断模块130包括数量获取子模块131及丢包判定子模块132。
所述数量获取子模块131,用于根据报文数目分布信息得到取出的报文总数量。
在本实施例中,所述数量获取子模块131从所述报文数目分布信息中得到软件每轮取出的报文数目,并通过对每轮取出的报文数目进行加法运算,得到所述软件取出的报文总数量。
所述丢包判定子模块132,用于将取出的报文总数量与输入的报文总数量进行比较,并当取出的报文总数量小于输入的报文总数量时,判定发生丢包。
在本实施例中,当取出的报文总数量与输入的报文总数量之间的比较结果为取出的报文总数量小于输入的报文总数量时,表明所述网络设备100并未能够完全地对从所述网络接口输入的报文进行接收及读取,则可判定所述网络设备100发生了丢包问题。
所述丢包原因获取模块140,用于在判定发生丢包时,对所述报文数目分布信息进行分析得到丢包原因。
在本实施例中,所述网络设备100的丢包原因包括:因处理器IO性能不足引起的丢包,及因软件处理性能不足引起的丢包。所述丢包原因获取模块140在判定所述网络设备100发生丢包时,可通过对软件接收报文对应的报文数目分布信息进行分析,得到所述网络设备100的丢包原因,提高所述网络设备100在开发过程中的解决报文接收转发功能上的丢包问题的效率。
具体地,请参照图9,是图6中所示的丢包原因获取模块140的一种方框示意图。在本发明实施例中,所述丢包原因获取模块140包括数目对比子模块141及原因判定子模块142。
所述数目对比子模块141,用于将所述报文数目分布信息中每轮取出的报文数目与所述接收队列的最大缓存数目进行对比。
在本实施例中,所述数目对比子模块141可通过对报文数目分布信息中的软件每轮取出的报文数目进行查询,得到软件每轮取出的报文数目,并在得到软件每轮取出的报文数目时,将每轮取出的报文数目与接收队列的最大缓存数目进行对比,用于判断所述网络设备100的丢包原因。
所述原因判定子模块142,用于当每轮取出的报文数目都等于最大报文缓存数目时,判定丢包原因为软件处理性能不足,还用于当每轮取出的报文数目都小于最大报文缓存数目时,判定丢包原因为处理器IO性能不足。
在本实施例中,因所述网络设备100从所述网络接口接收到的报文是以所述网络接口线速速率输入的报文,在所述网络设备100发生丢包现象时,所述软件取出的报文数目存在两种状况:一种是每轮取出的报文数目都等于最大报文缓存数目的状况,另一种是每轮取出的报文数目都小于最大报文缓存数目的状况。
而在本实施例中,当每轮取出的报文数目都等于最大报文缓存数目时,表明所述网络设备100的处理器IO性能足够而所述网络设备100的软件处理性能不足,所述软件取出接收队列中的报文的频率太低,输入的报文在接收队列上发生积压,所述软件读取报文的操作在所述接收队列被放满的情况下进行,所述软件每轮取出的报文数目都等于接收队列的最大报文缓存数目,从而导致所述接收队列拥塞而丢包,则可判定所述网络设备100的丢包原因为所述网络设备100的软件处理性能不足。
当每轮取出的报文数目都小于最大报文缓存数目时,表明所述网络设备100的处理器IO性能不足而所述网络设备100的软件处理性能足够,使得输入的报文经处理器IO通道存入接收队列时出现拥塞,输入的一部分报文在IO控制器处丢包,而由于所述软件处理性能足够,所述软件在接收队列处取出报文的频率较高,以致于在所述接收队列未被放满的情况下,所述软件便对所述接收队列中缓存的报文进行了读取,使得所述软件每轮取出的报文数目都小于最大报文缓存数目,则可判定所述网络设备100的丢包原因为所述网络设备100的处理器IO性能不足。
请参照图10,本发明较佳的实施例提供的网络设备100的另一种方框示意图。在本发明实施例中,所述网络设备100还可以包括缓存配置模块150。
所述缓存配置模块150,用于配置接收队列的最大报文缓存数目。
在本实施例中,所述网络设备100的开发人员可通过所述缓存配置模块150对所述内存的接收队列的最大报文缓存数目进行配置,以确保所述网络设备100对报文的接收转发功能的正常运行。在本实施例中,所述最大报文缓存数目的数值可以是256,也可以是128,还可以是64。在本实施例的一种实施方式中,所述最大报文缓存数目的数值优选为256。
综上所述,在本发明较佳的实施例提供的网络丢包诊断方法及网络设备中,所述网络丢包诊断方法能够对网络设备的丢包情况进行诊断,并在所述网络设备丢包时对丢包原因进行精确定位,提高网络设备的开发效率。具体地,所述方法通过接收以网络接口线速速率从网络接口输入的报文,将输入的报文经处理器IO通道存入接收队列中,并取出所述接收队列中的报文,以获得从所述接收队列取出报文的报文数目分布信息;所述方法根据输入的报文总数量与所述报文数目分布信息,判断是否发生丢包;所述方法在判定发生丢包时,对所述报文数目分布信息进行分析得到丢包原因,从而实现对丢包原因的精确诊断,提高网络设备的开发效率。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种网络丢包诊断方法,应用于网络设备,其特征在于,所述方法包括:
接收网络接口线速速率输入的报文;
将输入的报文经处理器IO通道存入接收队列中;
取出所述接收队列中的报文,获得从所述接收队列取出报文的报文数目分布信息;
根据输入的报文总数量与所述报文数目分布信息,判断是否发生丢包;
在判定发生丢包时,对所述报文数目分布信息进行分析得到丢包原因。
2.根据权利要求1所述的方法,其特征在于,所述取出所述接收队列中的报文,获得从所述接收队列取出报文的报文数目分布信息的步骤包括:
以轮询的方式取出接收队列中的报文,其中,每轮取出报文的最大数目等于所述接收队列的最大报文缓存数目;
对每轮取出的报文数目进行统计,得到从所述接收队列取出报文的报文数目分布信息。
3.根据权利要求2所述的方法,其特征在于,根据输入的报文总数量与所述报文数目分布信息,判断是否发生丢包的步骤包括:
根据所述报文数目分布信息得到取出的报文总数量;
将取出的报文总数量与输入的报文总数量进行比较;
当取出的报文总数量小于输入的报文总数量时,判定发生丢包。
4.根据权利要求2所述的方法,其特征在于,在判定发生丢包时,对所述报文数目分布信息进行分析得到丢包原因的步骤包括:
将所述报文数目分布信息中每轮取出的报文数目与所述接收队列的最大缓存数目进行对比;
当每轮取出的报文数目都等于最大报文缓存数目时,判定丢包原因为软件处理性能不足;
当每轮取出的报文数目都小于最大报文缓存数目时,判定丢包原因为处理器IO性能不足。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
配置所述接收队列的最大报文缓存数目。
6.一种网络设备,其特征在于,所述设备包括:
报文接收模块,用于接收以网络接口线速速率从网络接口输入的报文,并将输入的报文经处理器IO通道存入接收队列中;
报文读取模块,用于取出所述接收队列中的报文,获得从所述接收队列取出报文的报文数目分布信息;
丢包判断模块,用于根据输入的报文总数量与所述报文数目分布信息,判断是否发生丢包;
丢包原因获取模块,用于在判定发生丢包时,对所述报文数目分布信息进行分析得到丢包原因。
7.根据权利要求6所述的设备,其特征在于,所述报文读取模块包括:
报文取出子模块,用于以轮询的方式取出接收队列中的报文,其中,每轮取出报文的最大数目等于所述接收队列的最大报文缓存数目;
数目统计子模块,用于对每轮取出的报文数目进行统计,得到从所述接收队列取出报文的报文数目分布信息。
8.根据权利要求7所述的设备,其特征在于,所述丢包判断模块包括:
数量获取子模块,用于根据所述报文数目分布信息得到取出的报文总数量;
丢包判定子模块,用于将取出的报文总数量与输入的报文总数量进行比较,并在取出的报文总数量小于输入的报文总数量时,判定发生丢包。
9.根据权利要求7所述的设备,其特征在于,所述丢包原因获取模块包括:
数目对比子模块,用于将所述报文数目分布信息中每轮取出的报文数目与所述接收队列的最大缓存数目进行对比;
原因判定子模块,用于当每轮取出的报文数目都等于最大报文缓存数目时,判定丢包原因为软件处理性能不足,还用于当每轮取出的报文数目都小于最大报文缓存数目时,判定丢包原因为处理器IO性能不足。
10.根据权利要求6所述的设备,其特征在于,所述设备还包括:
缓存配置模块,用于配置所述接收队列的最大报文缓存数目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710525031.2A CN109218119B (zh) | 2017-06-30 | 2017-06-30 | 网络丢包诊断方法及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710525031.2A CN109218119B (zh) | 2017-06-30 | 2017-06-30 | 网络丢包诊断方法及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109218119A true CN109218119A (zh) | 2019-01-15 |
CN109218119B CN109218119B (zh) | 2020-11-27 |
Family
ID=64961183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710525031.2A Active CN109218119B (zh) | 2017-06-30 | 2017-06-30 | 网络丢包诊断方法及网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109218119B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877659A (zh) * | 2010-06-30 | 2010-11-03 | 中兴通讯股份有限公司 | 一种丢包监控的方法、设备和系统 |
CN101902398A (zh) * | 2010-07-12 | 2010-12-01 | 中兴通讯股份有限公司 | 一种收发数据包的方法和系统 |
CN102340442A (zh) * | 2010-07-21 | 2012-02-01 | 杭州华三通信技术有限公司 | 调整接口接收队列长度的方法及装置 |
CN102480430A (zh) * | 2010-11-24 | 2012-05-30 | 迈普通信技术股份有限公司 | 实现报文保序的方法和装置 |
CN102984035A (zh) * | 2013-01-04 | 2013-03-20 | 盛科网络(苏州)有限公司 | 网络数据丢包率的环回测试方法及系统 |
CN103986548A (zh) * | 2013-02-07 | 2014-08-13 | 华为技术有限公司 | 一种确定丢包原因的方法和终端 |
CN104917641A (zh) * | 2014-03-11 | 2015-09-16 | 中国电信股份有限公司 | 一种用于测试丢包的方法、测试设备和系统 |
US9438497B2 (en) * | 2013-05-06 | 2016-09-06 | Viavi Solutions Inc. | Method and system for measuring packet loss |
-
2017
- 2017-06-30 CN CN201710525031.2A patent/CN109218119B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877659A (zh) * | 2010-06-30 | 2010-11-03 | 中兴通讯股份有限公司 | 一种丢包监控的方法、设备和系统 |
CN101902398A (zh) * | 2010-07-12 | 2010-12-01 | 中兴通讯股份有限公司 | 一种收发数据包的方法和系统 |
CN102340442A (zh) * | 2010-07-21 | 2012-02-01 | 杭州华三通信技术有限公司 | 调整接口接收队列长度的方法及装置 |
CN102480430A (zh) * | 2010-11-24 | 2012-05-30 | 迈普通信技术股份有限公司 | 实现报文保序的方法和装置 |
CN102984035A (zh) * | 2013-01-04 | 2013-03-20 | 盛科网络(苏州)有限公司 | 网络数据丢包率的环回测试方法及系统 |
CN103986548A (zh) * | 2013-02-07 | 2014-08-13 | 华为技术有限公司 | 一种确定丢包原因的方法和终端 |
US9438497B2 (en) * | 2013-05-06 | 2016-09-06 | Viavi Solutions Inc. | Method and system for measuring packet loss |
CN104917641A (zh) * | 2014-03-11 | 2015-09-16 | 中国电信股份有限公司 | 一种用于测试丢包的方法、测试设备和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109218119B (zh) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8315179B2 (en) | System and method for authorizing threshold testing within a network | |
US8817649B2 (en) | Adaptive monitoring of telecommunications networks | |
CN105281945B (zh) | 基于数据流的确定性网络完整性故障检测方法 | |
CN110324210A (zh) | 基于icmp协议进行隐蔽信道通信的检测方法及装置 | |
JP5431467B2 (ja) | 特定のトラフィックフローにバックプレッシャーフロー制御を提供すること | |
US10528682B2 (en) | Automatic performance characterization of a network-on-chip (NOC) interconnect | |
CN114095457A (zh) | 基于流的共享缓冲区资源管理 | |
US20140143777A1 (en) | Resource Scheduling Method and Device | |
US8867353B2 (en) | System and method for achieving lossless packet delivery in packet rate oversubscribed systems | |
CN102387044A (zh) | 一种对通信网络进行测试方法 | |
CN106919622A (zh) | 用于分布式数据处理的方法和设备 | |
CN110474842A (zh) | 一种通信方法、客户终端设备及传输网络 | |
EP2681872B1 (en) | Event monitoring devices and methods | |
US5802041A (en) | Monitoring ethernet lans using latency with minimum information | |
US20210014135A1 (en) | Wan tunnel kpi/sla prediction and schedule recommender | |
CN109218119A (zh) | 网络丢包诊断方法及网络设备 | |
CN112968818B (zh) | 一种列车以太网异常数据检测系统、设备及方法 | |
US20190068475A1 (en) | System and method for the utilization of mesh networks and distributed data buffering to increase data retention | |
US20140056148A1 (en) | System and Method for Detecting Rogue Traffic Using Flow Statistics with a List of Authorized Engines | |
CN113923164A (zh) | 链路拥塞检测方法及相关设备 | |
CN111756798A (zh) | 基于网关级联的服务调度方法、装置、设备和存储介质 | |
CN114189454B (zh) | 网络调度策略的评估方法、框架、装置及电子设备 | |
CN114125906B (zh) | 网络异常的诊断方法、装置、计算设备及计算机存储介质 | |
Bayati et al. | A tool based on traffic traces and stochastic monotonicity to analyze data centers and their energy consumption | |
CN117336140A (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 |