分类: 系统运维
2013-07-18 11:05:25
在广域网络互联中,经常遇到物理线路有问题的情况,或者物理线路虽然连通,但上层网络协议不稳定的情况.这时候,需要我们采取各种的方法来排除故障.
推荐经常用到的有关打环的技术,loop.
从它名称看出,所谓打环就是将网络的发送端经过一个环路环回到此的接收端.
这个环路可以是一个远程的环,远环;或者可以是自己设备内部的一个环,内环.
环路的形成根据设备的不同情况,可能是逻辑上处理或者物理上来做.比如可能需要在DTU设备上做某几个针脚的短接,也可能只需要在某cisco路由器中设置一条命令就可以,命令格式:
interface pos 1/0
loop line
or..
interface pos 1/0
loop internal
打上环路后,用show interface
XX,可以查看环路的状态,在interface下将会出现一个(looped),如果在interface可以立即反映的话,就一切OK,否则的话,如
在配置上没有错误的话,便是线路十分的不好,哈,哈,可以和电信服务商联系了。
硬件打环的话,常一个称之为,“环路塞子”接上SO口就行了。
在调路由的时候经常会遇到与电信配合做的情况,但又不能太麻烦电信所以最好配一个V35环路头,很有用的。
买一个V35公头,塑胶块上标有34P,如果是34S就是母的。线序如下:
C_F
D_J
E_H
P_R
S_T
U_V
W_X
AA_KK
HH_Y
环回测试是很常用的一种测试,通常用于检查和分析端口或线路问题。一个是测试物理通道的性能
另一个是测试在这个物理通道上的每个虚通道的性能
就象我们如果用T3或者E10的线路来承载ATM。E10链路的性能测试你物理测试,而ATM的性能测试是承载测试,不是物理层的测试而是传输层的测试
当然,ATM是固定信元(53字节)的异步传输系统,和FR等应用不一样.
一般,普通的DDN,E1,E3线路是流数据传输,不牵涉信元和虚通道(VC,PVC)所以只要做物理层的误码测试,通过了就没问题,而FR等链路则还要
做虚通道的性能测试,逻辑链路的误码测试就是虚通道的性能测试项目之一
如下图所示,我们在设备端口上用命令loopback(某些端口上命令格式为loopback diagnostic)使接口从内部将自己发送的信号转接到自己的接收端(如红线所示),通过检查数据发送和接收的情况来判断端口工作状态是否正常。如果 需要对端口进行完全的检测,可以使用符合标准的短跳线将端口收发短接构成环。如果端口正常,可以将线路的一部分或全部包括到环中进行测试,即在线路中的某 个点上进行短接构成环(如紫红色线所示)。这些点可以是在配线架、CSU/DSU、传输设备等之上。在某些类型的端口上,还可以用命令 loopback line 在端口上将对方发送的信号转接到对方的接收短,构成测试环。
观察环回测试成功与否,首先看端口有没有形成环,如用命令 show interface 看看端口是不是已经从down状态变到up状态,状态中有没有“(looped)”的字样。端口的某些封装形式,如串行口上的PPP、帧中继等封装会检测 环路,阻止端口变成up状态,所以可能要临时改为HDLC封装以便进行测试。
其次是通过ping 产生一定的流量,观察有没有丢包,show interface 检查端口计数器有没有显示input/output错误,有没有CRC、Frame等错误。注意在点对点类型的端口上ping 路由器本身的地址比ping 对端路由器的地址延时要小一半,原因可以参考的分析。在ATM等二层端口上不能直接产生测试数据包,可能需要额外的配置,如在8500交换机上可以这样配置:
interface atm 1/0/0 //需要进行环回测试的ATM二层端口 ! inter atm 0.1 point-to-point atm pvc 0 100 interface atm 0/1/0 0 100 encap aal5snap ip address 172.31.20.1 255.255.255.0 !
如果测试发现有丢包情况,可以通过命令show controller了解更多细节情况。如以下命令显示了某ATM端口上的BIP错误情况:
Router>show controllers atm 3/0/3 IF Name: ATM3/0/3 Chip Base Address: BC38E000 Port type: OC3 Port rate: 155000 Kbps Port medium: MM Fiber Port status:Good Signal Loopback:None Flags:8308 ... Key: txcell - # cells transmitted rxcell - # cells received b1 - # section BIP-8 errors b2 - # line BIP-8 errors b3 - # path BIP-8 errors ocd - # out-of-cell delineation errors - not implemented g1 - # path FEBE errors z2 - # line FEBE errors chcs - # correctable HEC errors uhcs - # uncorrectable HEC errors txcell:275849733, rxcell:143010088 b1:26, b2:104, b3:34, ocd:0 g1:12, z2:0, chcs:0, uhcs:20 ...
一般而言,环回测试直接了当:观察有没有象意料中的一样形成环,形成环之后有没有发现传输错误,然后根据测试结果调整线路或者设备。但是有的时候,环路测试的结果比较有迷惑性,下面举两个例子:
有一次在通讯机房里做环路测试,从本地E1传输设备上到本地路由器做环测试没有问题,从本地E1传输设备到远端路由器做环测试也没有问题,但从远端E1传
输设备到本地路由器之间打环测试就会丢包。由于从本地E1传输设备到远端路由器做环测试没有问题,所以本地E1传输设备和远端E1传输设备之间的线路不应
该有问题,但只要将这段线路包括进来之后测试就会出现丢包。最后发现原来是这个通讯机房里安装了微波传输设备,干扰大,线路屏蔽不好所以出现丢包。
另外一次是一台8540 ATM 交换机和12406路由器ATM端口通过一段短短的尾纤相连却发现大量CRC错误,更换了端口模块、尾纤都没有排除故障,反复观察才发现原来8540交换机的时钟同步信号存在问题。
还有一个特殊情况就是3750、3550、2950等以太网交换机在端口上发送keep
alive信息以检查端口是否激活,如果端口被环回,按照默认的错误检测处理(errdisable)规则,端口将会关闭。除非设置了错误恢复
(errdisable
recovery)功能,否则在管理员干预之前端口不会恢复到正常工作状态。更严重的是网络中短暂的环路(如错误的连接、生成树配置错误)等都会引发这个
错误,所以建议用端口配置命令no keepalive关闭端口激活检测或通过全局配置命令no errdisable detect cause
loop 防止因环回错误关闭端口,中断网络连接。
附:点对点端口上的ping 数据观察与分析(ping 对端地址需要一个来回,ping 自己的地址需要两个来回
测试情况,R1端口地址为172.31.20.1,对端R2地址为172.31.20.254
R1#ping Protocol [ip]: Target IP address: 172.31.20.254 //ping R2地址 Repeat count [5]: 1 ... Sending 1, 100-byte ICMP Echos to 172.31.20.254, timeout is 2 seconds: ! Success rate is 100 percent (1/1), round-trip min/avg/max = 8/8/8 ms (debug 输出) Apr 10 12:19:03.994: IP: s=172.31.20.1 (local), d=172.31.20.254 (Serial4/0/0), len 100, sending Apr 10 12:19:03.994: ICMP type=8, code=0 R1发出一个Echo Request(type=8),R2收到后以Echo Reply 相应 Apr 10 12:19:04.002: IP: s=172.31.20.254 (Serial4/0/0), d=172.31.20.1 (Serial4/0/0), len 100, rcvd 3 Apr 10 12:19:04.002: ICMP type=0, code=0 R1收到Echo Reply(type=0),计算延时(002-994=8ms)。 R1#ping Protocol [ip]: Target IP address: 172.31.20.1 //ping R1自己的地址 Repeat count [5]: 1 ... Sending 1, 100-byte ICMP Echos to 172.31.20.1, timeout is 2 seconds: ! Success rate is 100 percent (1/1), round-trip min/avg/max = 16/16/16 ms (debug 输出) Apr 10 12:18:00.106: IP: s=172.31.20.1 (local), d=172.31.20.1 (Serial4/0/0), len 100, sending Apr 10 12:18:00.106: ICMP type=8, code=0 R2发出一个Echo Request(type=8) Apr 10 12:18:00.114: IP: s=172.31.20.1 (Serial4/0/0), d=172.31.20.1 (Serial4/0/0), len 100, rcvd 3 Apr 10 12:18:00.114: ICMP type=8, code=0 R2收到Echo Request,判断的目标地址为R1,所以将包发回 Apr 10 12:18:00.114: IP: s=172.31.20.1 (local), d=172.31.20.1 (Serial4/0/0), len 100, sending Apr 10 12:18:00.114: ICMP type=0, code=0 R1收到自己发出的Echo Request,以Echo Reply(type=0)相应并通过端口发送 Apr 10 12:18:00.122: IP: s=172.31.20.1 (Serial4/0/0), d=172.31.20.1 (Serial4/0/0), len 100, rcvd 3 Apr 10 12:18:00.122: ICMP type=0, code=0 R2将包发回。R1收到Echo Reply (type=0),计算延时(112-106=16ms)。