一种以太网路由器/交换机丢包故障自动诊断方法技术

技术编号:12067578 阅读:169 留言:0更新日期:2015-09-18 01:46
本发明专利技术公开了一种以太网路由器/交换机丢包故障自动诊断方法。该方法首先定时采样报文,提取路由器/交换机的寄存器信息,软件仿真路由器/交换机硬件芯片转发流程,并将报文转发仿真的结果计入统计信息。当出现故障时,故障维护人员将软件仿真统计信息输出出来,根据业务故障的报文类型在丢包计数表中查找丢包原因,即可找到故障原因。该方法可以快速诊断以太网转发丢包类故障,特别是对于复现概率小而影响恶劣的故障尤其有效。本发明专利技术不需要编写打点定位版本,减少定位版本制作时间;软件可长时间持续工作,不需人工介入值守,大大降低人力投入并提高故障定位效率。

【技术实现步骤摘要】

本专利技术涉及以太网路由器/交换机转发数据丢包故障的自动采集、分析及统计的方法,属于以太网路由器/交换机领域。
技术介绍
以太网交换机和路由器是个很复杂的系统,在实际应用中承担底层传输数据的功能。在实际的数据传输中,报文丢包故障是客观存在的现象。有些报文丢包是传输的正常现象,这类报文对上层业务不构成影响;有些报文的传输丢弃对于上层业务来说是有较大影响的,故障表现为业务的性能瓶颈、毛刺、时延长、甚至业务间中断等。当上层业务出现问题时,常常要求路由交换模块维护人员协同排查问题。尤其是当运营商的业务出现故障时,如何快速准确的定位故障原因成为一个急迫的现实问题。对于以太网路由器/交换机转发类故障定位来说,传统排查问题的方法是人工排查,先从理论上分析系统组网和业务数据转发的途径,然后针对性搜集各相关模块的软硬件信息包括统计信息、寄存器信息、软件状态机等,接着人工分析可能出问题的环节,再逐步缩小范围分析验证。由于投入使用的系统复杂,网络节点众多,这个排查定位问题的过程往往费时费力,效率极其低下。为了减少故障维护的工作量,释放人力,提高故障定位效率,本专利技术提出了一种基于芯片硬件架构软件仿真,软件获取报文描述符,仿真报文在硬件芯片的处理流程。在仿真报文处理流程时,不考虑芯片如何硬件实现,仅根据黑盒原理实现芯片转发结果,即根据芯片转发原理,在指定的处理环节,根据当前的硬件寄存器信息设置转发的硬件条件,在该条件下以太网报文应该做转发还是丢弃处理或送下一环节处理,对应的报文描述符软件打上相应的处理结果,相关计数器做累加操作,送下一环节进行仿真。上述过程反复进行迭代,直到报文最终仿真结果出来。芯片软件仿真方法是以路由器/交换机的硬件芯片转发架构为基础,根据实时采集的芯片寄存器信息仿真报文在硬件芯片中的转发处理流程,并将仿真的结果计入统计信息。由于硬件寄存器的信息是实时的,获取的报文描述符也是实时的,硬件芯片转发流程是固定的,用软件将报文描述符代入芯片转发寄存器和转发流程仿真,与芯片自己硬件转发报文效果等同,得出的报文仿真结果是真实可靠的。相关处理环节的统计计数可以帮助系统维护人员快速直接判断当前系统的运行情况,当系统有丢包故障时,相关计数信息可以直接指出丢包的寄存器和丢包原因。传统故障定位需要判断影响业务的报文种类,人工采集寄存信息,结合芯片转发的硬件架构,人工判断丢包原因。当判断条件不清晰时,常常需要制作打点版本辅助定位问题,工作量大且效率低下。相比传统定位方法,本专利技术软件仿真不仅定位准确,而且方便快捷。因为软件处理周期很快,可以反复迭代,除用于常规数据采集分析外,当出现故障时,定向分析某类报文丢包原因时,也可以通过设置过滤条件,快速收敛定位范围。特别是对于复现概率小而影响恶劣的故障,本专利技术不需要重新编写打点定位版本,减少定位版本制作时间;同时软件可长时间持续工作,不需人工介入值守,大大降低人力投入并提高故障定位效率。本专利技术外在表现为故障定位时,一键采集并分析出故障丢包原因,自动故障定位效率很高。
技术实现思路
技术问题:本专利技术要解决的技术问题是利用软件实时获取报文描述符并用软件仿真该报文在芯片中的处理流程,将处理结果计入统计数据,用软件处理的方式替代人工分析报文转发出现丢包故障的原因,可以显著降低维护人员的工作量并提高故障定位效率。技术方案:为了解决上述技术问题,本专利技术提供了一种动态采集转发报文的描述符、实时采集芯片转发寄存器信息,软件根据芯片转发流程仿真报文在芯片的处理过程做转发决定,并根据处理结果计入统计信息,包括以下步骤: 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、软件仿真报文在硬件芯片的转发流程 I)把报文的描述符代入硬件芯片的转发流程; 2)根据报文的描述符的具体数据仿真报文经过路由器/交换机转发芯片的处理环节; 3)在仿真报文经过的路由器/交换机芯片处理环节时,根据前面获取的硬件寄存器信息,判断报文在当前硬件状态下的处理结果,并将结果统计计数; 4)根据3)的处理结果,将报文送到下一环节进行处理; 5)反复迭代2)、3)、4)直至报文被转发出去或丢弃处理; 4、将报文的转发处理信息计入统计表中 1)根据报文的类型、长度、协议类型、进入的端口号、转发环节的寄存器类型等分别设立转发和丢弃两种计数器; 2)提供设置统计的时长单位,和统计的类型的接口,方便维护人员阅读统计结果; 3)提供日志记录功能,将相关的统计信息写入日志,供历史分析使用; 4)提供在线查询统计信息接口,在线查询当前的转发统计信息。有益效果:本专利技术与现有技术相比,具有以下优点: a)可以通过设置过滤条件,快速收敛定位范围。b)不需要重新编写打点定位版本,减少定位版本制作时间; c)软件可长时间持续工作,不需人工介入,大大降低人力投入并提高故障定位效率【附图说明】图1是基于芯片仿真自动诊断以太网路由器/交换机丢包故障的软件框架图。【具体实施方式】下面结合附图对本发当前第1页1 2 本文档来自技高网
...

【技术保护点】
一种以太网路由器/交换机丢包故障自动诊断方法,其特征在于,该方法包含以下步骤:1)cpu提取报文的描述符;2)仿真报文在硬件芯片中的转发处理结果;3)将报文的描述符类型、各环节的转发结果进行分类统计,并计入日志信息。

【技术特征摘要】

【专利技术属性】
技术研发人员:张登银王雪强
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1