Pc远程telnet登录设备保存诊断信息。
Pc远程telnet登录设备保存诊断信息。因为设备远程ftp不便,选择将诊断直接打印出来。在打印诊断过程中,发现输出一部分信息后会停住,几秒后telnet会断开,每次能打印出的信息数量不固定。更换PC测试情况依旧。
只看现象,怀疑有三个可能原因。一,设备telnet功能异常,发送一段tcp报文后telnet主动断开;二,PC无法快速接收大量tcp数据主动断开tcp/telnet;三,设备和PC之间某些报文不同步,导致tcp断开。
首先尝试PC登录其他同型号设备打印诊断,相同操作无异常,说明非PC不能接收tcp。之后在该PC打印诊断过程中,找另一台PC2登录设备debug telnet,当第一台PC的telnet断开时设备debug无异常,telnet功能有问题可能性很小。基本能排除前两种可能性。
对于第三种可能性,具体的可能原因很多,无法事先一一列举。直接在PC抓包看。
正常过程,设备连续发数个telnet数据报文,PC回一个ack确认收到。
在第10179行,可以看到有过丢包,wireshark提示有部分tcp没抓到。
第10184行,设备告诉PC,当前发送报文sn是77802,下一个sn是77805。
之后10185行,PC回复ack说收到了sn 76348,后面的没有正常收到,需要设备重传。之后,PC把这条ack连续重传了5次,说明这期间一直没有收到设备重传给PC的tcp包。
PC重传几次ack后,第10191行设备继续发tcp,sn是77805,是接着10184行的。
之后的交互过程中,设备一直在给PC发新的tcp包,PC一直重传ack要求76348之后的报文。诊断打印就是到这一块停止显示新的信息。一段时间后PC发tcp rst报文将tcp和telnet断开。
了解问题现象,后续就比较明确了,需要看出现问题时是设备没有重传,还是设备发出的重传没有到达PC。在设备侧抓包,发现设备收到PC有重传要求的ack时,正确回复了重传报文,但是该报文是一个大包,大包没有到达PC,中间线路丢包了。
总结上述过程,触发该问题的直接原因是中间线路丢包,PC要求重传时,设备重传报文是一个大包,线路上由于MTU原因大包不通,导致后续PC和设备报文的交互都不正常了。
在设备接口更改MTU,避免发出大包被线路丢弃。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作