网络通信模块故障定位手册
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章
对于不同的SDH设备,ECC通信模块故障定位的常用命令也不尽相同。
2.12500C设备主要的命令
1.help命令
命令用途:
显示所有的TELNET调试维护命令;
命令格式:
help;
命令示例:
图2.1 help命令
示例说明:
显示了ECC的所有调试和维护命令,可以方便查询ECC调试和维护命令。
2.ifconfig命令
15.sccreset命令
命令用途:
先将所有的PPP通道DOWN掉,然后再初始化所有的PPP通道,相当于对所有的PPP通道进行复位;
命令格式:
sccreset;
命令示例:
图2.15 sccreset命令
示例说明:
sccreset命令是由底层没有准备好的状态,来启动LCP状态机进入到starting,然后底层驱动口关闭,接着重新初始化驱动口和PPP通道,sccreset涉及了驱动层和PPP层的重新初始化和启动。
16.sccclose命令
命令用途:
关闭所有的PPP通道;
命令格式:
sccclose;
命令示例:
图2.16 sccclose命令
示例说明:
sccclose命令是由上层(管理者)来关闭PPP的LCP链路通道,只对链路层协议进行了关闭。
17.sheap命令
技术文件
技术文件名称:网络通信模块故障定位手册
技术文件编号:
版本:V2.0
文件质量等级:
共24页
(包括封面)
拟制
审核
会签
标准化
批准
深圳市中兴通讯股份有限公司
SDH是一个将复接、线路传输及交换功能结合在一起的综合信息网,其丰富的功能和优越的性能只有通过先进的网管系统才能体现出来。SDH强大而灵活多变的组网能力,必然带来网络结构的复杂,作为网管信息通道的ECC协议栈自然成为SDH网管系统中最复杂也是最核心的技术。
其中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通道存在(相应槽位有单板在位),但从未打开过。
route-a;
命令示例:
图2.5 route命令
示例说明:
如图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等命令检查一下定时器(时间)是否运行正常,或检查一下网络中是否有重复培植的网络地址。
7.ping命令
命令用途:
用于查看ppp通道的稳定性;
命令格式:
ping–shost [count/timeout];
命令示例:
图2.7ping命令
示例说明:
如图2.6,ping的过程中,如果发现丢包很严重,则此通道有问题,可能是光纤未插好。
8.date命令
命令用途:
用于查询系统和修改时间,注意修改系统时间时要慎重,防止由于8中所述问题导致ECC路由不通;可以查询NCP运行的时间,通过NCP运行的时间可以判断NCP是否复过位。
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;
4.sccinfo命令
命令用途:
显示NCP板ECC通讯口状态;
命令格式:
sccinfo;
命令示例:
图2.4 sccinfo命令
示例说明:
channel:逻辑通道号,其与单板的关系科利用ppptable命令查看
tx_packets:正确发送的数据包记数
tx_dropped:等待发送超时主动丢弃的数据包记数
#define TX_CHECKERR 0x20000002/*连接由于发送错被强制关闭*/
#define RX_CHECKERR 0x20000003/*连接由于接收错被强制关闭*/
#define TXRX_CHECKERR 0x20000004/*连接由于发送和接收错被强制关闭*/
其它错误码请查pSOSystem操作系统的相关手册。
open PPP接口号;
命令示例:
openppp0;
图2.11 netstat命令
示例说明:
12.close命令
命令用途:
关闭特定的PPP接口;
命令格式:
close PPP接口号;
命令示例:
图2.12 close命令
示例说明:
13.enableppp命令
命令用途:
启用某个PPP端口。;
命令格式:
enableppp槽位号端口号;
tx_errors:发送错误的数据包记数
rx_packets:正确接收的数据包记数
rx_errors:接收错误的数据包记数
注意:如果某通道不能正确收发数据则此通道对应的ECC处理单板可能有问题,利用ppptable可以查找ppp通道与单板的对应关系
5.route命令
命令用途:
可以查看路由配置表;
命令格式:
9.netstat命令
命令用途:
用于查看网络连接情况;
命令格式:
netstat;
命令示例:
图2.9netstat命令
示例说明:
10.arp命令
命令用途:
用于查看MAC地址表。;
命令格式:
arp-a;
命令示例:
图2.10 arp命令
示例说明:
11.open命令
命令用途:
打开特定的PPP接口;
命令格式:
命令格式:
date;
命令示例:
图2.8date命令
示例说明:
注意:
由于路由协议在计算路由时需要根据相对时间来判断信息是否失效,所以同一网络中各网元之间的系统时间不能在运行中随意变化且相差很大(目前我们是根据系统时间而不是时钟芯片的时间计算,各网元之间的时间不能超过35年)。要注意目前我们的NCP程序在设置NCP时间有些版本在设置小于2000年的时间时可能会存在正确的设置了时钟芯片的时间,但却没有正确设置NCP上的系统时间从而导致ECC路由不通。这里时钟芯片的时间就是后台网管取上来的时间,而NCP上的系统时间是指NCP上所运行操作系统的时间,可通过调试和维护命令中的date设置和查询。
命令示例:
图2.3 ppptable命令
示例说明:
PPP0、PPP1、PPP2表示已经创建的PPP通道(与之对应的端口序号为2、3、4),HDLC的收发地址表示光板或其它对应处理板的槽位号,HDLC的收发端口表示光板或其它对应处理板上的相应的端口号。一般情况下HDLC的收发地址都是一样的,若是中继则不一样,状态表示此通道是否被禁止(0表示允许,1表示禁止)。通常将ifconfig和ppptable命令结合起来使用。
第二部分详细介绍了ECC通信模块故障定位的常用命令。此部分主要涉及2500C设备的ECC调试命令,详细说明了各个命令的用法并举例说明,能够对开发人员正确快捷的使用各个TELNET调试命令来定位故障打下了基础。
第三部分介绍ECC通信模块故障定位的常用方法,并举例说明了如何利用调试命令来定位故障。
第一章
命令用途:
用于查看那些端口已经建立连接;
命令格式:
ifconfig-a;
命令示例:
图2.2 ifconfig命令
示例说明:
图2.2中,1、2、3、4、37表示该网元的所有端口序号;
1端口表示以太网;
2、3、4端口表示串口(光口或电口,对应于通道PPP0、PPP1、PPP2),
37端口表示本地环回地址。
在各个网元内部,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。
目前中兴的SDH设备的网络通信模块主要由ECC模块实现,采用的是TCP/IP协议来实现各个网元之间的互联。
从硬件角度来看,后台网管到各个网元的之间的通信硬件体系如图1.1。后台网管通过网口与网元1相连,通过SOCKET套接字实现后台网管与前台软件之间的信息交互;网元1和网元2之间是通过光纤相连,物理上是通过SDH的帧结构中的DCC1-DCC3(DCC1-DCC12)字节,采用TCP/IP协议来实现网元之间的互联,各个网元相当于一个简单的路由器,能够独立的实现路由选择。
图1.2 186转发模块结构
从上图可知,由于环节较多ECC故障比较难定位,我们又缺乏有效的测试仪表,目前的仪表只能测试线路上与开销有关的错误,无法测试上图所示环节的故障,故利用软件编写了一个ECC维护、调试模块希望对定位和解决相关故障有所帮助,特别提醒大家注意接收帧错误的类型,在实际调试中出现的比较多,在上电、复位和拔插光纤的过程中偶尔出现错误是正常现象不用理会,只有当错误的记数在较长的时间内持续增长时才表明有错,超时和CTS类的错位只要出现的频率不是很高可以不理会。
在使用ECC协议栈时,通常会出现不通的现象,如何快捷方便的定位故障,我们提供了一系列的TELNET调试命令,可以很好的定位故障或有助于故障的分析。
本手册的读者
主要是为采用ECC协议栈模块在嵌入式领域进行底层板级通讯应用程序开发的人员提供故障定位的方法。
本手册的结构
本手册分为两大部分。
第一部分介绍了网络通信模块的体系结构。从这一部分大家可以对ECC协议栈有一个整体了解,便于理解定位故障的手段。
6.qxinfo命令
命令用途:
可源自文库查看与网元相连的网管的IP地址,及其连接状态、最近断链的原因;
命令格式:
qxinfon (0-15);
命令示例:
图2.6 qxinfo命令
示例说明:
如图2.6,表明与网元相连的网管的IP地址是193.193.198.8。
其中自定义错误码如下:
#define CONNECT_CLOSE 0x20000001/*连接被对端关闭*/
命令示例:
图2.13enableppp命令
示例说明:
14.disableppp命令
命令用途:
禁用某个PPP端口;
命令格式:
disableppp槽位号端口号
命令示例:
图2.14 disableppp命令
示例说明:
禁用端口,首先关闭该槽位号和端口号所对应的PPP端口,然后将PPP端口的使能状态置为1,除非用enableppp打开该端口,否则不能自动或手动打开该PPP端口。该功能主要用于和其他公司的设备对接时使用,因为可能各个公司所用的网元间的通信协议不一定相同,为了避免其他的设备的ECC信息对我们的系统造成不必要的影响,需要将该端口禁止掉。
对于不同的SDH设备,ECC通信模块故障定位的常用命令也不尽相同。
2.12500C设备主要的命令
1.help命令
命令用途:
显示所有的TELNET调试维护命令;
命令格式:
help;
命令示例:
图2.1 help命令
示例说明:
显示了ECC的所有调试和维护命令,可以方便查询ECC调试和维护命令。
2.ifconfig命令
15.sccreset命令
命令用途:
先将所有的PPP通道DOWN掉,然后再初始化所有的PPP通道,相当于对所有的PPP通道进行复位;
命令格式:
sccreset;
命令示例:
图2.15 sccreset命令
示例说明:
sccreset命令是由底层没有准备好的状态,来启动LCP状态机进入到starting,然后底层驱动口关闭,接着重新初始化驱动口和PPP通道,sccreset涉及了驱动层和PPP层的重新初始化和启动。
16.sccclose命令
命令用途:
关闭所有的PPP通道;
命令格式:
sccclose;
命令示例:
图2.16 sccclose命令
示例说明:
sccclose命令是由上层(管理者)来关闭PPP的LCP链路通道,只对链路层协议进行了关闭。
17.sheap命令
技术文件
技术文件名称:网络通信模块故障定位手册
技术文件编号:
版本:V2.0
文件质量等级:
共24页
(包括封面)
拟制
审核
会签
标准化
批准
深圳市中兴通讯股份有限公司
SDH是一个将复接、线路传输及交换功能结合在一起的综合信息网,其丰富的功能和优越的性能只有通过先进的网管系统才能体现出来。SDH强大而灵活多变的组网能力,必然带来网络结构的复杂,作为网管信息通道的ECC协议栈自然成为SDH网管系统中最复杂也是最核心的技术。
其中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通道存在(相应槽位有单板在位),但从未打开过。
route-a;
命令示例:
图2.5 route命令
示例说明:
如图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等命令检查一下定时器(时间)是否运行正常,或检查一下网络中是否有重复培植的网络地址。
7.ping命令
命令用途:
用于查看ppp通道的稳定性;
命令格式:
ping–shost [count/timeout];
命令示例:
图2.7ping命令
示例说明:
如图2.6,ping的过程中,如果发现丢包很严重,则此通道有问题,可能是光纤未插好。
8.date命令
命令用途:
用于查询系统和修改时间,注意修改系统时间时要慎重,防止由于8中所述问题导致ECC路由不通;可以查询NCP运行的时间,通过NCP运行的时间可以判断NCP是否复过位。
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;
4.sccinfo命令
命令用途:
显示NCP板ECC通讯口状态;
命令格式:
sccinfo;
命令示例:
图2.4 sccinfo命令
示例说明:
channel:逻辑通道号,其与单板的关系科利用ppptable命令查看
tx_packets:正确发送的数据包记数
tx_dropped:等待发送超时主动丢弃的数据包记数
#define TX_CHECKERR 0x20000002/*连接由于发送错被强制关闭*/
#define RX_CHECKERR 0x20000003/*连接由于接收错被强制关闭*/
#define TXRX_CHECKERR 0x20000004/*连接由于发送和接收错被强制关闭*/
其它错误码请查pSOSystem操作系统的相关手册。
open PPP接口号;
命令示例:
openppp0;
图2.11 netstat命令
示例说明:
12.close命令
命令用途:
关闭特定的PPP接口;
命令格式:
close PPP接口号;
命令示例:
图2.12 close命令
示例说明:
13.enableppp命令
命令用途:
启用某个PPP端口。;
命令格式:
enableppp槽位号端口号;
tx_errors:发送错误的数据包记数
rx_packets:正确接收的数据包记数
rx_errors:接收错误的数据包记数
注意:如果某通道不能正确收发数据则此通道对应的ECC处理单板可能有问题,利用ppptable可以查找ppp通道与单板的对应关系
5.route命令
命令用途:
可以查看路由配置表;
命令格式:
9.netstat命令
命令用途:
用于查看网络连接情况;
命令格式:
netstat;
命令示例:
图2.9netstat命令
示例说明:
10.arp命令
命令用途:
用于查看MAC地址表。;
命令格式:
arp-a;
命令示例:
图2.10 arp命令
示例说明:
11.open命令
命令用途:
打开特定的PPP接口;
命令格式:
命令格式:
date;
命令示例:
图2.8date命令
示例说明:
注意:
由于路由协议在计算路由时需要根据相对时间来判断信息是否失效,所以同一网络中各网元之间的系统时间不能在运行中随意变化且相差很大(目前我们是根据系统时间而不是时钟芯片的时间计算,各网元之间的时间不能超过35年)。要注意目前我们的NCP程序在设置NCP时间有些版本在设置小于2000年的时间时可能会存在正确的设置了时钟芯片的时间,但却没有正确设置NCP上的系统时间从而导致ECC路由不通。这里时钟芯片的时间就是后台网管取上来的时间,而NCP上的系统时间是指NCP上所运行操作系统的时间,可通过调试和维护命令中的date设置和查询。
命令示例:
图2.3 ppptable命令
示例说明:
PPP0、PPP1、PPP2表示已经创建的PPP通道(与之对应的端口序号为2、3、4),HDLC的收发地址表示光板或其它对应处理板的槽位号,HDLC的收发端口表示光板或其它对应处理板上的相应的端口号。一般情况下HDLC的收发地址都是一样的,若是中继则不一样,状态表示此通道是否被禁止(0表示允许,1表示禁止)。通常将ifconfig和ppptable命令结合起来使用。
第二部分详细介绍了ECC通信模块故障定位的常用命令。此部分主要涉及2500C设备的ECC调试命令,详细说明了各个命令的用法并举例说明,能够对开发人员正确快捷的使用各个TELNET调试命令来定位故障打下了基础。
第三部分介绍ECC通信模块故障定位的常用方法,并举例说明了如何利用调试命令来定位故障。
第一章
命令用途:
用于查看那些端口已经建立连接;
命令格式:
ifconfig-a;
命令示例:
图2.2 ifconfig命令
示例说明:
图2.2中,1、2、3、4、37表示该网元的所有端口序号;
1端口表示以太网;
2、3、4端口表示串口(光口或电口,对应于通道PPP0、PPP1、PPP2),
37端口表示本地环回地址。
在各个网元内部,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。
目前中兴的SDH设备的网络通信模块主要由ECC模块实现,采用的是TCP/IP协议来实现各个网元之间的互联。
从硬件角度来看,后台网管到各个网元的之间的通信硬件体系如图1.1。后台网管通过网口与网元1相连,通过SOCKET套接字实现后台网管与前台软件之间的信息交互;网元1和网元2之间是通过光纤相连,物理上是通过SDH的帧结构中的DCC1-DCC3(DCC1-DCC12)字节,采用TCP/IP协议来实现网元之间的互联,各个网元相当于一个简单的路由器,能够独立的实现路由选择。
图1.2 186转发模块结构
从上图可知,由于环节较多ECC故障比较难定位,我们又缺乏有效的测试仪表,目前的仪表只能测试线路上与开销有关的错误,无法测试上图所示环节的故障,故利用软件编写了一个ECC维护、调试模块希望对定位和解决相关故障有所帮助,特别提醒大家注意接收帧错误的类型,在实际调试中出现的比较多,在上电、复位和拔插光纤的过程中偶尔出现错误是正常现象不用理会,只有当错误的记数在较长的时间内持续增长时才表明有错,超时和CTS类的错位只要出现的频率不是很高可以不理会。
在使用ECC协议栈时,通常会出现不通的现象,如何快捷方便的定位故障,我们提供了一系列的TELNET调试命令,可以很好的定位故障或有助于故障的分析。
本手册的读者
主要是为采用ECC协议栈模块在嵌入式领域进行底层板级通讯应用程序开发的人员提供故障定位的方法。
本手册的结构
本手册分为两大部分。
第一部分介绍了网络通信模块的体系结构。从这一部分大家可以对ECC协议栈有一个整体了解,便于理解定位故障的手段。
6.qxinfo命令
命令用途:
可源自文库查看与网元相连的网管的IP地址,及其连接状态、最近断链的原因;
命令格式:
qxinfon (0-15);
命令示例:
图2.6 qxinfo命令
示例说明:
如图2.6,表明与网元相连的网管的IP地址是193.193.198.8。
其中自定义错误码如下:
#define CONNECT_CLOSE 0x20000001/*连接被对端关闭*/
命令示例:
图2.13enableppp命令
示例说明:
14.disableppp命令
命令用途:
禁用某个PPP端口;
命令格式:
disableppp槽位号端口号
命令示例:
图2.14 disableppp命令
示例说明:
禁用端口,首先关闭该槽位号和端口号所对应的PPP端口,然后将PPP端口的使能状态置为1,除非用enableppp打开该端口,否则不能自动或手动打开该PPP端口。该功能主要用于和其他公司的设备对接时使用,因为可能各个公司所用的网元间的通信协议不一定相同,为了避免其他的设备的ECC信息对我们的系统造成不必要的影响,需要将该端口禁止掉。