网络通信模块故障定位手册讲课教案Word格式文档下载.docx
《网络通信模块故障定位手册讲课教案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《网络通信模块故障定位手册讲课教案Word格式文档下载.docx(32页珍藏版)》请在冰点文库上搜索。
![网络通信模块故障定位手册讲课教案Word格式文档下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/6/6a993603-7e0a-4d32-9bf1-567f37ada48f/6a993603-7e0a-4d32-9bf1-567f37ada48f1.gif)
从硬件角度来看,后台网管到各个网元的之间的通信硬件体系如图1.1。
后台网管通过网口与网元1相连,通过SOCKET套接字实现后台网管与前台软件之间的信息交互;
网元1和网元2之间是通过光纤相连,物理上是通过SDH的帧结构中的DCC1-DCC3(DCC1-DCC12)字节,采用TCP/IP协议来实现网元之间的互联,各个网元相当于一个简单的路由器,能够独立的实现路由选择。
在各个网元内部,ECC模块涉及两块单板,一块是NCP板,一块是光板,NCP板与光板之间采用总线或点对点方式实现连接,NCP板的网管信息、链路层协议维护信息及OSPF路由协议信息,都要通过光板实现存储转发,由FPGA将这些信息嵌入到SDH的帧中。
图1.1ECC通信模块体系结构
在实际中,将NCP到光板186侧的通讯口称为ECC口,186到FPGA侧的通讯口称为DCC口,NCP发送的数据信息经过HDLC总线,由186的ECC接口实现接收,然后采用SDMA方式送给FPGA,FPGA收到的数据信息经过HDLC总线,由186的DCC接口实现接收,然后采用SDMA方式送到ECC侧的HDLC总线上。
详细的186侧转发模块的结构如图1.2。
图1.2186转发模块结构
从上图可知,由于环节较多ECC故障比较难定位,我们又缺乏有效的测试仪表,目前的仪表只能测试线路上与开销有关的错误,无法测试上图所示环节的故障,故利用软件编写了一个ECC维护、调试模块希望对定位和解决相关故障有所帮助,特别提醒大家注意接收帧错误的类型,在实际调试中出现的比较多,在上电、复位和拔插光纤的过程中偶尔出现错误是正常现象不用理会,只有当错误的记数在较长的时间内持续增长时才表明有错,超时和CTS类的错位只要出现的频率不是很高可以不理会。
第二章ECC通信模块故障定位的常用命令
对于不同的SDH设备,ECC通信模块故障定位的常用命令也不尽相同。
2.12500C设备主要的命令
1.help命令
命令用途:
显示所有的TELNET调试维护命令;
命令格式:
help;
命令示例:
图2.1help命令
示例说明:
显示了ECC的所有调试和维护命令,可以方便查询ECC调试和维护命令。
2.ifconfig命令
用于查看那些端口已经建立连接;
ifconfig-a;
图2.2ifconfig命令
图2.2中,1、2、3、4、37表示该网元的所有端口序号;
1端口表示以太网;
2、3、4端口表示串口(光口或电口,对应于通道PPP0、PPP1、PPP2),
37端口表示本地环回地址。
其中POINTTOPOINT,UP表示点到点协议已经运行,端口已经被打开(及已经和对端建立点到点连接),若此时本端和对端的端口地址一样通常表示此端口的收与发相连(即端口被环回),利用端口环回通常可以检测端口的好坏(二型机特别要注意2.5G的光板和LP板,尤其是在做中继时,二型机有极少数的光板插在槽位上会导致此网元所有光方向的ECC都不通),若无UP则表示PPP端口未被打开,PPP通道的连接未建立。
若协议的地址分配管理模块发现存在底层的PPP通道,即会给其分配一个通道号(如1、2、3等),并分配一个IP地址,在此通道未被打开(即UP)之前IP地址分配为0.0.0.0,若被打开则根据其所在槽位,由地址分配管理模块给其分配一个有效的IP地址,通常有如下几种情况:
a、端口2(即PPP0),表示PPP0通道存在(相应槽位有单板在位),但从未打开过。
b、端口3(即PPP1),表示PPP1通道存在(相应槽位有单板在位),并且被打开,本端的通道地址为193.193.200.43(通常对应的网元地址为193.193.200.18),对端的通道地址为193.193.201.44(通常对端的网元地址为193.193.201.18)。
c、若本端和对端的端口地址一样,但端口未被打开,则表示此通道以前被打开过,但目前已被关闭。
若端口被打开则表示此端口被环回。
d、若本端地址为0,对端端口地址非0,则表示则表示此通道以前被打开过,但目前已被关闭,而且相应槽位的单板已被拔掉。
注意:
可以将ifconfig–a简化为if–a使用,只要前面字符没有重复的命令可以利用简写输入。
3.ppptable命令
利用此命令可以查看端口配置表;
ppptable;
图2.3ppptable命令
PPP0、PPP1、PPP2表示已经创建的PPP通道(与之对应的端口序号为2、3、4),HDLC的收发地址表示光板或其它对应处理板的槽位号,HDLC的收发端口表示光板或其它对应处理板上的相应的端口号。
一般情况下HDLC的收发地址都是一样的,若是中继则不一样,状态表示此通道是否被禁止(0表示允许,1表示禁止)。
通常将ifconfig和ppptable命令结合起来使用。
4.sccinfo命令
显示NCP板ECC通讯口状态;
sccinfo;
图2.4sccinfo命令
channel:
逻辑通道号,其与单板的关系科利用ppptable命令查看
tx_packets:
正确发送的数据包记数
tx_dropped:
等待发送超时主动丢弃的数据包记数
tx_errors:
发送错误的数据包记数
rx_packets:
正确接收的数据包记数
rx_errors:
接收错误的数据包记数
如果某通道不能正确收发数据则此通道对应的ECC处理单板可能有问题,利用ppptable可以查找ppp通道与单板的对应关系
5.route命令
可以查看路由配置表;
route-a;
图2.5route命令
如图2.5,127.0.0.1表示本地环回的路由,192.0.0.0和195.0.0.0表示到区域192和195的聚合路由,193.193.0.0、193.193.198.0、193.193.199.0表示区域193内部的网络路由,193.193.199.43和193.193.201.44表示端口的路由。
通常有到端口的路由就应该有到此网络的路由。
结合图2.3和图2.4我们可以发现到193.193.201.0有端口相连但却无路由,肯定不对,可以检测一下是否与193.193.201.44连接的通道是否不稳定,或通过date等命令检查一下定时器(时间)是否运行正常,或检查一下网络中是否有重复培植的网络地址。
6.qxinfo命令
可以查看与网元相连的网管的IP地址,及其连接状态、最近断链的原因;
qxinfon(0-15);
图2.6qxinfo命令
如图2.6,表明与网元相连的网管的IP地址是193.193.198.8。
其中自定义错误码如下:
#defineCONNECT_CLOSE0x20000001/*连接被对端关闭*/
#defineTX_CHECKERR0x20000002/*连接由于发送错被强制关闭*/
#defineRX_CHECKERR0x20000003/*连接由于接收错被强制关闭*/
#defineTXRX_CHECKERR0x20000004/*连接由于发送和接收错被强制关闭*/
其它错误码请查pSOSystem操作系统的相关手册。
7.ping命令
用于查看ppp通道的稳定性;
ping–shost[count/timeout];
图2.7ping命令
如图2.6,ping的过程中,如果发现丢包很严重,则此通道有问题,可能是光纤未插好。
8.date命令
用于查询系统和修改时间,注意修改系统时间时要慎重,防止由于8中所述问题导致ECC路由不通;
可以查询NCP运行的时间,通过NCP运行的时间可以判断NCP是否复过位。
date;
图2.8date命令
由于路由协议在计算路由时需要根据相对时间来判断信息是否失效,所以同一网络中各网元之间的系统时间不能在运行中随意变化且相差很大(目前我们是根据系统时间而不是时钟芯片的时间计算,各网元之间的时间不能超过35年)。
要注意目前我们的NCP程序在设置NCP时间有些版本在设置小于2000年的时间时可能会存在正确的设置了时钟芯片的时间,但却没有正确设置NCP上的系统时间从而导致ECC路由不通。
这里时钟芯片的时间就是后台网管取上来的时间,而NCP上的系统时间是指NCP上所运行操作系统的时间,可通过调试和维护命令中的date设置和查询。
9.netstat命令
用于查看网络连接情况;
netstat;
图2.9netstat命令
10.arp命令
用于查看MAC地址表。
;
arp-a;
图2.10arp命令
11.open命令
打开特定的PPP接口;
openPPP接口号;
openppp0;
图2.11netstat命令
12.close命令
关闭特定的PPP接口;
closePPP接口号;
图2.12close命令
13.enableppp命令
启用某个PPP端口。
enableppp槽位号端口号;
图2.13enableppp命令
14.disableppp命令
禁用某个PPP端口;
disableppp槽位号端口号
图2.14disableppp命令
禁用端口,首先关闭该槽位号和端口号所对应的PPP端口,然后将PPP端口的使能状态置为1,除非用enableppp打开该端口,否则不能自动或手动打开该PPP端口。
该功能主要用于和其他公司的设备对接时使用,因为可能各个公司所用的网元间的通信协议不一定相同,为了避免其他的设备的ECC信息对我们的系统造成不必要的影响,需要将该端口禁止掉。
15.sccreset命令
先将所有的PPP通道DOWN掉,然后再初始化所有的PPP通道,相当于对所有的PPP通道进行复位;
sccreset;
图2.15sccreset命令
sccreset命令是由底层没有准备好的状态,来启动LCP状态机进入到starting,然后底层驱动口关闭,接着重新初始化驱动口和PPP通道,sccreset涉及了驱动层和PPP层的重新初始化和启动。
16.sccclose命令
关闭所有的PPP通道;
sccclose;
图2.16sccclose命令
sccclose命令是由上层(管理者)来关闭PPP的LCP链路通道,只对链路层协议进行了关闭。
17.sheap命令
检查单板的堆使用情况;
sheap子架号槽位号CPU号;
sheap131
图2.17sheap命令
Total:
总内存字节
Used:
已分配字节
Unused:
未分配字节
通常可利用此命令来判断是否存在内存泄漏。
18.memstat命令
检查单板内存分配情况;
memstat子架号槽位号CPU号;
图2.18memstat命令
App_ReqCount:
应用模块申请分配内存次数(目前和S口放在一起)
App_MemCount:
应用模块分配的内存总字节(目前和S口放在一起)
Sport_ReqCount:
S口模块申请分配内存次数(目前包括应用模块)
Sport_MemCount:
S口模块分配的内存总字节(目前包括应用模块)
Ecc_ReqCount:
ECC口模块申请分配内存次数
Ecc_MemCount:
ECC口模块分配的内存总字节
通常可利用此命令来判断是否存在内存泄漏,和各模块的内存使用情况。
19.ds命令
检查通讯口的状态;
ds子架号槽位号CPU号端口号命令码0
其中端口为0表示S口,1表示ECC口(ECC模块与NCP相连的通讯口),端口为2到5表示DCC口(与相应光端口的FPGA相连的通讯口);
a、在Telnet的命令窗口输入没ds1121000,回车,则输出显示窗口显示如下:
b、在Telnet的命令窗口输入ds1121200,回车,则输出显示窗口显示如下:
图2.19ds命令
1、186侧数据显示,ECC口产生了1017422次接收和549864次发送,其中在发送中出现了102326次帧错误、接收溢出次数260478,发送中出现117次超时错误。
2、186侧数据显示,DCC口产生了556945次发送和550264次接收,其中发送没有出现错误;
接收出现了141次错误帧,120次接收缓冲区溢出,1次帧接收长度错,4次接收缓冲区溢出。
其中:
Rx:
接收正确记数
RxErr:
接收错误记数
RxErrOv:
BD表接收缓冲区地址错记数
RxErrLe:
接收长度错记数
RxErrRa:
接收地址错记数记数
RxErrFe:
接收错误帧记数(包含帧错误、CRC校验错、OverFlow等,详见附件)。
RxErrRfo:
接收缓冲区溢出记数;
对扩展控制器表示ReceiveFrameOverflow
RxErrRfs:
接收阻塞自动恢复记数;
对扩展控制器表示ReceiveFrameStart记数
Tx:
发送正确记数
TxCts:
发送冲突记数
TxErr:
发送错误记数
TxErrTo:
发送超时记数
TxErrBa:
BD表发送缓冲区地址错记数
TxErrRa:
BD表发送环地址错记数
TxErrXmr:
内存分配失败;
对于扩展控制器表示TransmitMessageRepeat记数
TxErrXdu:
发送端口号错误;
对扩展控制器表示:
TransmitDataUnderrun记数。
TxErrNb:
发送阻塞自动恢复记数;
发送缓冲区不可用
注意:
在目前采用接收溢出丢包的策略下发送超时不一定会引起丢包的发送错,以前采用发送超时丢包会引起丢包的发送错。
如果发送或接收正确记数一致保持不变,则可能出现吊死情况
20.commreset命令
复位通讯模块;
commreset子架号槽位号CPU号通讯模块标识
其中通讯模块标识为1表示复位S口模块,为2表示复位Ecc模块。
图2.20commreset命令
单板186侧S口模块和ECC口模块复位,用于确定是否是S口或ECC口模块程序的问题。
21.sid命令
读HDLC寄存器;
sid子架号槽位号CPU号HDLC寄存器地址
在Telnet的命令窗口输入sid1121fc80,回车,输出显示窗口显示地址为fc80的寄存器的值
22.sod命令
写HDLC寄存器;
sod子架号槽位号CPU号HDLC寄存器地址
在Telnet的命令窗口输入sod1121fc804,回车,输出显示窗口显示地址为fc80的寄存器的值
图221sidsod命令
在ECC定位故障中该命令还是比较有效的,186侧置外部环回(即将186的收接到发上),就相当于860侧外部环回,这样可以用EPING命令查看是否故障出现在NCP侧,可以将NCP侧的问题和186侧的问题分离开。
23.showmem命令
显示NCP板与pNA模块有关的内存;
showmem
在Telnet的命令窗口输入showmem回车,输出显示窗口显示如下:
图2.22showmem命令
此命令是由PNA模块通过IOCTL(SIOCGDBSTAT,SIOCGMBSTAT)调用提供对BUFFER和MESSAGEblock的统计,
图2.22中:
205092048700
表明了消息块总数为20509,空闲20487,等待次数为0,失败次数为0
32:
2048204700
表明了缓冲区类型为32,总数为2048,空闲2047,等待次数为0,失败次数为0。
利用此命令可以查协议中内存使用情况,来判断sys_config,h中NC_MBLKS和NC_BUFS_n(n=0,32,64,128,512,1024,2048,4096…)是否配置合理。
24.showal命令
显示与ECC口通讯模块有关的内存;
showal;
图2.23showal命令
0/1:
0表示目前分配的块数,1示最大分配块数;
x/y:
x代表从y中PPP协议层分配的内存块的数量,y数值越大,说明PPP的ZBUF缓冲池中分的内存块越多,如果太多,说明有可能存在内存碎片,导致内存泄漏。
25.showser命令
显示NCP板ECC底层通道的收发是否存在错误信息;
showser;
在Telnet的命令窗口输入showal回车,输出显示窗口显示如下
图2.24showser命令
在图2.24中各个项的代表的意义:
低层通道号:
PPP通道号
校验错:
接收校验错
发送错:
发送Underrun
接收错:
接收Overrun
中断:
BreakReceived
丢弃:
Frameaborted
可用于查看是否驱动层存在接收和发送数据错误的信息,如果大量存在接收帧错误,一般应定位为时钟的问题。
26、eping命令
在ECC口实现PING命令,用于测试光纤环回和186侧外部环回及860自环的稳定性和通断状态。
eping槽位号端口号(数据长度次数超时时间);
图2.25eping命令
如图2.25,采用sod来将AMD186的的HDLC的端口置成本地环回,EPING命令能够正常收发,可以用来将186侧和FPGA侧的故障分离开;
如果将本网元的光板光纤环回,这个程序就经过FPGA,采用EPING命令PING光板的地址和端口,看是否光纤环回是正常的,如果正常说明FPGA没有问题,如果EPING不通,要查看光纤的连接情况或用sod置186本地环回,将故障分离。
26、a-getreset命令
查看NCP板和单板软件复位和硬件复位情况。
a-getresetCPU号槽位号端口号;
图2.26a-getreset命令
图2.26中,ResetType复位类型有3类,1为硬件复位,2为软件复位,3为其他复位;
time为复位的时间记录。
此命令有助于在进行ECC大流量测试,查看NCP板和光板是否存在复位。
第三章ECC通信模块故障定位的常用方法
一、故障定位的一般方法:
1、ping数据包,观察ECC的状况(ECC不通、时通时断或不是走最短路径);
2、用ping和tracert命令可以大致判断ECC故障出现在哪两个网元之间;
3、用telnet命令分别登陆出现故障的两个网元,用route–a、if–a、ppptable等命令查看路由是否正确,如果不正确确定是那条路由不正确从而确定是那块光板的问题;
4、用sccinfo命令查看NCP到光板的收发是否正常;
5、用ds命令查看出现ECC故障的光板的详细情况,看看收发是否正常,是否有不正常的性能记数。
6、复位NCP板是否可以消除故障,如果复位NCP板故障消失,那么可以将故障降级,因为在实际情况下复位NCP一般是不会影响业务的;
7、用commreset命令复位ECC模块看看故障是否消失,可以确定是否是ECC模块的问题;
8、最后复位光板,如果是只有复位光板才能清除的故障问题比较复杂,可能会设计软件、逻辑和硬件各个方面。
二、常见故障的定位实例
1、PING接入网元不通
a、首先查看主机网口的IP地址和NCP板的IP地址是否在一个子网中,如果没有和NCP板的IP地址在一子网的网口IP地址,需要手动在主机上添加一个与NCP板IP地址在同一子网的网口IP地址(或直接修改主机网卡的网关);
b、还可能由于接入网元的IP地址设置存在问题,如果接入网元的端口IP地址和主机IP地址相同,也会出现接入网元网管管不上和PING不通的现象,所以在设置网元IP地址的时候,一般采用x.x.x.18设置,主机IP地址设置为x.x.x.n(1-17),这样设置保证不会出现类似的