CN104917628A - 一种以太网路由器/交换机丢包故障自动诊断方法 - Google Patents
一种以太网路由器/交换机丢包故障自动诊断方法 Download PDFInfo
- Publication number
- CN104917628A CN104917628A CN201510167520.6A CN201510167520A CN104917628A CN 104917628 A CN104917628 A CN 104917628A CN 201510167520 A CN201510167520 A CN 201510167520A CN 104917628 A CN104917628 A CN 104917628A
- Authority
- CN
- China
- Prior art keywords
- message
- fault
- forwarding
- packet loss
- router
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种以太网路由器/交换机丢包故障自动诊断方法。该方法首先定时采样报文,提取路由器/交换机的寄存器信息,软件仿真路由器/交换机硬件芯片转发流程,并将报文转发仿真的结果计入统计信息。当出现故障时,故障维护人员将软件仿真统计信息输出出来,根据业务故障的报文类型在丢包计数表中查找丢包原因,即可找到故障原因。该方法可以快速诊断以太网转发丢包类故障,特别是对于复现概率小而影响恶劣的故障尤其有效。本发明不需要编写打点定位版本,减少定位版本制作时间;软件可长时间持续工作,不需人工介入值守,大大降低人力投入并提高故障定位效率。
Description
技术领域
本发明涉及以太网路由器/交换机转发数据丢包故障的自动采集、分析及统计的方法,属于以太网路由器/交换机领域。
背景技术
以太网交换机和路由器是个很复杂的系统,在实际应用中承担底层传输数据的功能。在实际的数据传输中,报文丢包故障是客观存在的现象。有些报文丢包是传输的正常现象,这类报文对上层业务不构成影响;有些报文的传输丢弃对于上层业务来说是有较大影响的,故障表现为业务的性能瓶颈、毛刺、时延长、甚至业务间中断等。当上层业务出现问题时,常常要求路由交换模块维护人员协同排查问题。尤其是当运营商的业务出现故障时,如何快速准确的定位故障原因成为一个急迫的现实问题。
对于以太网路由器/交换机转发类故障定位来说,传统排查问题的方法是人工排查,先从理论上分析系统组网和业务数据转发的途径,然后针对性搜集各相关模块的软硬件信息包括统计信息、寄存器信息、软件状态机等,接着人工分析可能出问题的环节,再逐步缩小范围分析验证。由于投入使用的系统复杂,网络节点众多,这个排查定位问题的过程往往费时费力,效率极其低下。
为了减少故障维护的工作量,释放人力,提高故障定位效率,本发明提出了一种基于芯片硬件架构软件仿真,软件获取报文描述符,仿真报文在硬件芯片的处理流程。在仿真报文处理流程时,不考虑芯片如何硬件实现,仅根据黑盒原理实现芯片转发结果,即根据芯片转发原理,在指定的处理环节,根据当前的硬件寄存器信息设置转发的硬件条件,在该条件下以太网报文应该做转发还是丢弃处理或送下一环节处理,对应的报文描述符软件打上相应的处理结果,相关计数器做累加操作,送下一环节进行仿真。上述过程反复进行迭代,直到报文最终仿真结果出来。
芯片软件仿真方法是以路由器/交换机的硬件芯片转发架构为基础,根据实时采集的芯片寄存器信息仿真报文在硬件芯片中的转发处理流程,并将仿真的结果计入统计信息。由于硬件寄存器的信息是实时的,获取的报文描述符也是实时的,硬件芯片转发流程是固定的,用软件将报文描述符代入芯片转发寄存器和转发流程仿真,与芯片自己硬件转发报文效果等同,得出的报文仿真结果是真实可靠的。相关处理环节的统计计数可以帮助系统维护人员快速直接判断当前系统的运行情况,当系统有丢包故障时,相关计数信息可以直接指出丢包的寄存器和丢包原因。
传统故障定位需要判断影响业务的报文种类,人工采集寄存信息,结合芯片转发的硬件架构,人工判断丢包原因。当判断条件不清晰时,常常需要制作打点版本辅助定位问题,工作量大且效率低下。相比传统定位方法,本发明软件仿真不仅定位准确,而且方便快捷。因为软件处理周期很快,可以反复迭代,除用于常规数据采集分析外,当出现故障时,定向分析某类报文丢包原因时,也可以通过设置过滤条件,快速收敛定位范围。特别是对于复现概率小而影响恶劣的故障,本发明不需要重新编写打点定位版本,减少定位版本制作时间;同时软件可长时间持续工作,不需人工介入值守,大大降低人力投入并提高故障定位效率。
本发明外在表现为故障定位时,一键采集并分析出故障丢包原因,自动故障定位效率很高。
发明内容
技术问题:本发明要解决的技术问题是利用软件实时获取报文描述符并用软件仿真该报文在芯片中的处理流程,将处理结果计入统计数据,用软件处理的方式替代人工分析报文转发出现丢包故障的原因,可以显著降低维护人员的工作量并提高故障定位效率。
技术方案:为了解决上述技术问题,本发明提供了一种动态采集转发报文的描述符、实时采集芯片转发寄存器信息,软件根据芯片转发流程仿真报文在芯片的处理过程做转发决定,并根据处理结果计入统计信息,包括以下步骤:
1、提取报文的描述符
软件提供设置报文采样频率接口,系统根据设置的采样频率对各转发端口的报文进行采样。采样频率的设置原则是采样的速率不能对CPU的性能造成冲击,同时不能影响CPU正常业务的处理。CPU根据报文上送的CPU CODE识别哪些报文是采样上来的报文,哪些报文是正常送给CPU处理的报文。其中采样报文送到专用缓存区缓存,不能走CPU处理正常业务报文的通道,防止采样报文干扰业务层和协议层的处理。
软件定时在各转发端口上采样报文,将采样的报文送给CPU进行描述符提取。CPU收到采样报文后,首先按源mac、目的mac、VLAN、协议号、CRC校验和提取描述符信息。然后根据协议类型进一步按该协议规定使用的字段信息提取相关数据,例如:报文协议号是0x0800,表示报文是IP类型,要提取源IP、目的IP、TTL、包头校验和、根据ip的子协议号更进一步提取对应的TCP、UDP等字段信息;例如报文协议类型是0x8847-0x8848,表示是MPLS类型,提取标签信息等等。将提取的各字段信息分类写入报文的描述符中。提取的原则是把报文涉及到的以太网报文的各协议字段全部提取出来,除计算报文校验和外,对报文携带的数据内容可不关心。
此外,软件还需提供报文采样过滤接口,设置后CPU只采样指定类型的报文,针对某类类型报文丢包故障诊断时非常有效。
2、CPU提取交换机/路由器硬件寄存器信息
CPU定时获取整个芯片的各转发寄存器信息,由于交换机/路由器使用的硬件芯片往往比较复杂,寄存器种类繁多,表项很大,如果全部提取用于软件仿真,虽然准确度很高,但会对系统内存和采样寄存器的CPU开销造成较大压力。出于系统的性能、内存和仿真的准确度综合考虑,一般只采样各转发流程的用到的关键寄存器即可。
采集的寄存器信息包括但不仅限于VLAN、MPLS/MinM/TRILL、L2、L3、ACL、TRUNK、INGRESS MIRROR、MMU、L3 TUNNEL、VLAN/STP、EGRESS MIRROR、PORT等相关寄存器信息。
3、软件仿真报文在硬件芯片的转发流程
1)把报文的描述符代入硬件芯片的转发流程;
2)根据报文的描述符的具体数据仿真报文经过路由器/交换机转发芯片的处理环节;
3)在仿真报文经过的路由器/交换机芯片处理环节时,根据前面获取的硬件寄存器信息,判断报文在当前硬件状态下的处理结果,并将结果统计计数;
4)根据3)的处理结果,将报文送到下一环节进行处理;
5)反复迭代2)、3)、4)直至报文被转发出去或丢弃处理;
4、将报文的转发处理信息计入统计表中
1)根据报文的类型、长度、协议类型、进入的端口号、转发环节的寄存器类型等分别设立转发和丢弃两种计数器;
2)提供设置统计的时长单位,和统计的类型的接口,方便维护人员阅读统计结果;
3)提供日志记录功能,将相关的统计信息写入日志,供历史分析使用;
4)提供在线查询统计信息接口,在线查询当前的转发统计信息。
有益效果:本发明与现有技术相比,具有以下优点:
a) 可以通过设置过滤条件,快速收敛定位范围。
b) 不需要重新编写打点定位版本,减少定位版本制作时间;
c) 软件可长时间持续工作,不需人工介入,大大降低人力投入并提高故障定位效率
附图说明
图1是基于芯片仿真自动诊断以太网路由器/交换机丢包故障的软件框架图。
具体实施方式
下面结合附图对本发明涉及的以太网报文丢包原因技术方案的实施作进一步的详细描述:
第一步,设置芯片定时采样报文功能,将各转发端口的入向报文送给CPU,设置报文采样的优先级,要求采样的速率不能对CPU的性能造成冲击,同时不能影响CPU正常业务的处理。CPU根据报文上送的CPU CODE识别哪些报文是采样上来的报文,哪些报文是送给CPU处理的报文。其中采样报文送到专用缓存区缓存,不能走CPU处理正常业务报文的通道,防止采样报文干扰业务层和协议层的处理。
软件创建线程,对缓存区的报文进行解析,提取报文的描述符,如:目的MAC、源MAC、VLAN号、协议号、CRC校验、报文的入端口信息等。根据协议号提取具体的字段,例如:报文是0x0800,表示报文是IP类型,要提取源IP、目的IP、更进一步提取对应的TCP、UDP字段信息;例如报文协议类型是0x8847-0x8848,表示是MPLS类型,提取标签信息等等。
第二步,软件提取转发芯片寄存器信息或软件处理环节信息,采集的信息包括但不仅限于VLAN、MPLS/MinM/TRILL、L2、L3、ACL、TRUNK、INGRESS MIRROR、MMU、L3 TUNNEL、VLAN/STP、EGRESS MIRROR、PORT等相关寄存器信息。
第三步,软件将报文描述符代入芯片转发流程,根据各实时获取的寄存器信息判断报文在芯片的转发流向。因为是用软件仿真芯片硬件转发流程,所以软件处理过程与芯片的硬件型号和芯片系列的处理流程是强相关的。软件在具体处理过程中,再根据芯片具体的系列类型进行开关量的细分。
该仿真是基于黑盒测试的原理,设置开关量,符合条件则通过,不符合条件则丢弃,然后根据相关结果进行计数,这是一个简单的判断过程,因为硬件已经实现转发功能,不需要软件再次实现具体的转发功能,只需要黑盒判断是否通过转发开关及统计,因此实现起来简单快捷。因软件严格按照芯片的转发逻辑进行报文转发判断,且判断的寄存器信息是实时获取的,因此得到的数据转发结果也是真实可靠的。
下面以普通IP报文转发流程为例,说明软件是如何用描述符代入芯片转发流程的;其他类型报文转发仿真方法类同,不再详述。
(1)芯片首先检查报文源MAC是否合法,如果源MAC是组播或广播MAC,则丢弃;如果源MAC在L2中被置为DISCARD,则丢弃;
(2)其次根据报文的目的MAC+VLAN,判断下一步转发流程;如果目的MAC是广播MAC,则在VLAN内广播,此时要检查入口广播限速标记,根据标记信息打上可能丢弃的统计;
如果目的MAC是组播MAC,则查组播表L3开关是否打开,如果打开走L3 组播路由,此时判断L3接口表和L3路由表信息,如果不匹配,则丢弃;匹配,则做IP校验、TTL减1,源目的MAC替换等操作,根据IP校验结果和TTL的值判断是否丢弃;否则查L2 组播表,命中走已知组播转发,未命中走未知组播转发(此时需要检查未知组播限速标记和VLAN禁止未知组播转发标记),根据标记值做丢弃/可能丢弃或转发的统计;
如果目的MAC是单播MAC,则查L2表,如果命中,查对应表项L3字段是否置位,置位走L3转发(处理流程同L3组播);未置位走L2已知单播转发,做相应INGRESS L2 PASS统计;否则走L2未知单播转发(此时检查L2未知单播是否限速,做转发/可能限速的统计)。
(3)报文端口入向MTU和STP状态检查,看看报文是否超过入端口MTU,超过做丢弃处理;如果端口STP是BLOCK,报文目的MAC不是BPDU类型且ACL规则未设置允许该类报文进来,则做丢弃处理。
(4)报文进入EGRESS通道前,检查MMU的当前配置和占用资源信息,如果MMU资源出现不足时,做MMU丢弃统计计数。
(5)报文进入EGRSS通道后,检查目的端口是普通端口还是TRUNK端口,如果是TRUNK端口,根据TRUNK HASH规则计算索引后将对应出端口找出来;此外还要检查VLAN STP是否BLOCK,如果BLOCK,而报文非BPDU类型报文做丢弃处理;如果STP设置FORWARDING,则做转发处理;检查出端口MTU配置,如果报文长度超过出端口MTU,则报文做丢弃处理。然后将相关信息计数后结束转发流程仿真。
第四步,软件根据各报文描述符信息,对芯片转发的采样信息做详细统计。例如根据报文MAC分广播、组播、单播;根据报文长度进行详细划分,并分类统计。根据描述符简述,分类统计各处理环节丢包、可能丢包、放行计数,及最终转发决定计数。当出现故障时,故障维护人员将软件仿真统计信息输出出来,根据业务故障的报文类型在丢包计数表中查找丢包原因,即可找到故障原因。如果故障原因还不能完全确定,可以通过设置软件仿真报文的过滤规则,针对性采样业务报文进行软件丢包仿真,直接定位出丢包具体原因。这样可以避免在局方换打点版本等操作,大大减少后期故障维护的难度和工作量,提高了故障定位效率。
Claims (4)
1.一种以太网路由器/交换机丢包故障自动诊断方法,其特征在于,该方法包含以下步骤:
1)cpu提取报文的描述符;
2)仿真报文在硬件芯片中的转发处理结果;
3)将报文的描述符类型、各环节的转发结果进行分类统计,并计入日志信息。
2.根据权利要求1所述的方法,其特征在于,所述步骤1)中,按照如下步骤提取报文描述符:
定时采样报文,将此采样报文拷贝一份送给系统CPU;提供采样频率的设置接口;提供采样过滤接口,精确过滤指定类型的报文。
3.根据权利要求1的方法,其特征在于,步骤2)中,仿真报文在硬件芯片转发的具体流程为:
1)把报文的描述符代入硬件芯片的转发流程;
2) 根据报文的描述符的具体数据仿真报文经过路由器/交换机转发芯片的处理环节;
3)在仿真报文经过的路由器/交换机芯片处理环节时,实时获取该环节所需要的硬件寄存器信息,判断报文在当前硬件状态下的处理结果,并将结果统计计数;
4)根据3)的处理结果,将报文送到下一环节进行处理;
5)反复迭代2)、3)、4)直至报文被仿真转发出去或丢弃处理。
4.根据权利要求1所述的方法,其特征在于,步骤3)中,分类统计报文转发结果的流程为:
1)根据报文的类型、长度、协议类型、进入的端口号、转发环节的寄存器类型等分别设立转发和丢弃两种计数器;
2)提供设置统计的时长单位,和统计的类型的接口,方便维护人员阅读统计结果;
3)提供日志记录功能,供历史分析使用;
4)提供在线查询统计信息接口,在线查询当前的转发统计信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510167520.6A CN104917628B (zh) | 2015-04-09 | 2015-04-09 | 一种以太网路由器/交换机丢包故障自动诊断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510167520.6A CN104917628B (zh) | 2015-04-09 | 2015-04-09 | 一种以太网路由器/交换机丢包故障自动诊断方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104917628A true CN104917628A (zh) | 2015-09-16 |
CN104917628B CN104917628B (zh) | 2018-10-23 |
Family
ID=54086357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510167520.6A Active CN104917628B (zh) | 2015-04-09 | 2015-04-09 | 一种以太网路由器/交换机丢包故障自动诊断方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104917628B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109327344A (zh) * | 2018-11-29 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种白盒交换机故障诊断方法及装置 |
CN110661716A (zh) * | 2019-09-16 | 2020-01-07 | 锐捷网络股份有限公司 | 网络丢包的通知方法、监控装置、交换机和存储介质 |
CN112073256A (zh) * | 2020-06-01 | 2020-12-11 | 新华三信息安全技术有限公司 | 一种丢包处理方法、装置、设备及机器可读存储介质 |
CN112787857A (zh) * | 2020-12-29 | 2021-05-11 | 中国航空工业集团公司西安飞机设计研究所 | 一种远程数据集中器数据监控与故障定位方法 |
CN114125912A (zh) * | 2021-10-27 | 2022-03-01 | 中盈优创资讯科技有限公司 | 一种5g专线业务丢包故障定位方法及装置 |
CN114489014A (zh) * | 2022-01-27 | 2022-05-13 | 东风商用车有限公司 | 一种总线控制器故障排查方法与系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050022089A1 (en) * | 2003-07-25 | 2005-01-27 | Nokia Corporation | System and method for a communication network |
CN1855855A (zh) * | 2005-04-28 | 2006-11-01 | 华为技术有限公司 | 仿真路由分析测试的装置及其方法 |
CN103560923A (zh) * | 2013-11-20 | 2014-02-05 | 烽火通信科技股份有限公司 | 分组传送网的网络故障快速定位方法 |
-
2015
- 2015-04-09 CN CN201510167520.6A patent/CN104917628B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050022089A1 (en) * | 2003-07-25 | 2005-01-27 | Nokia Corporation | System and method for a communication network |
CN1855855A (zh) * | 2005-04-28 | 2006-11-01 | 华为技术有限公司 | 仿真路由分析测试的装置及其方法 |
CN103560923A (zh) * | 2013-11-20 | 2014-02-05 | 烽火通信科技股份有限公司 | 分组传送网的网络故障快速定位方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109327344A (zh) * | 2018-11-29 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种白盒交换机故障诊断方法及装置 |
CN109327344B (zh) * | 2018-11-29 | 2021-10-26 | 郑州云海信息技术有限公司 | 一种白盒交换机故障诊断方法及装置 |
CN110661716A (zh) * | 2019-09-16 | 2020-01-07 | 锐捷网络股份有限公司 | 网络丢包的通知方法、监控装置、交换机和存储介质 |
CN110661716B (zh) * | 2019-09-16 | 2022-07-19 | 锐捷网络股份有限公司 | 网络丢包的通知方法、监控装置、交换机和存储介质 |
CN112073256A (zh) * | 2020-06-01 | 2020-12-11 | 新华三信息安全技术有限公司 | 一种丢包处理方法、装置、设备及机器可读存储介质 |
CN112787857A (zh) * | 2020-12-29 | 2021-05-11 | 中国航空工业集团公司西安飞机设计研究所 | 一种远程数据集中器数据监控与故障定位方法 |
CN114125912A (zh) * | 2021-10-27 | 2022-03-01 | 中盈优创资讯科技有限公司 | 一种5g专线业务丢包故障定位方法及装置 |
CN114125912B (zh) * | 2021-10-27 | 2023-09-29 | 中盈优创资讯科技有限公司 | 一种5g专线业务丢包故障定位方法及装置 |
CN114489014A (zh) * | 2022-01-27 | 2022-05-13 | 东风商用车有限公司 | 一种总线控制器故障排查方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104917628B (zh) | 2018-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104917628A (zh) | 一种以太网路由器/交换机丢包故障自动诊断方法 | |
CN102315974B (zh) | 基于层次化特征分析的tcp、udp流量在线识别方法和装置 | |
CN107404400A (zh) | 一种网络态势感知实现方法及装置 | |
CN102420701B (zh) | 一种互联网业务流特征的提取方法 | |
CN112085039A (zh) | 一种基于随机森林的icmp隐蔽通道检测方法 | |
US20130064095A1 (en) | Traffic Item Impairment Emulation | |
CN111935063B (zh) | 一种终端设备异常网络访问行为监测系统及方法 | |
CN101594265B (zh) | 一种网络故障诊断方法、装置和网络设备 | |
CN106330584A (zh) | 一种业务流的识别方法及识别装置 | |
CN105099916B (zh) | 开放流路由交换设备及其对数据报文的处理方法 | |
CN106789242A (zh) | 一种基于手机客户端软件动态特征库的识别应用智能分析引擎 | |
CN102739457A (zh) | 一种基于dpi和svm技术的网络流量识别系统及方法 | |
CN104468252A (zh) | 一种基于正迁移学习的智能网络业务识别方法 | |
CN110855493A (zh) | 用于混合环境的应用拓扑图绘制装置 | |
CN106789728A (zh) | 一种基于NetFPGA的VoIP流量实时识别方法 | |
CN113347258B (zh) | 云流量下的数据采集监控分析的方法及系统 | |
WO2022176035A1 (ja) | 変換装置、変換方法及び変換プログラム | |
Wang et al. | Honeynet construction based on intrusion detection | |
CN103916289B (zh) | Ipfix输出器中的报文筛选装置及方法 | |
CN112073326A (zh) | 一种智能变电站过程层网络数据流控制方法 | |
CN114531380B (zh) | 一种镜像质量核查方法、装置及电子设备 | |
CN102223261A (zh) | 一种针对报文进行采样的方法及装置 | |
CN113037542A (zh) | 一种基于软件定义网络的云网络拓扑构建方法 | |
CN115396363B (zh) | 一种sdn网络环境下的流量分类方法及系统 | |
CN114095383B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201207 Address after: 648 Zhujiang Road, Xuanwu District, Nanjing, Jiangsu Province, 210018 Patentee after: Jiangsu anlante Intelligent Technology Co., Ltd Address before: 210003 Gulou District, Jiangsu, Nanjing new model road, No. 66 Patentee before: NANJING University OF POSTS AND TELECOMMUNICATIONS |