由于传输MTU限制导致MA5200G和C厂家设备互ping大包不通

发布时间:  2012-12-12 浏览次数:  248 下载次数:  2
问题描述
 

组网:MA5200G---(波分传输)---C厂家 1XXXX 
版本:MA5200G版本为V3.1 2332
故障现象:从MA5200G上ping C厂家 1XXXX 的接口互联地址,大于1472字节的包则不通。而从C厂家 1XXXX 上ping MA5200G的接口互联地址,大于1500字节的包则不通。

处理过程
 

1.查看MA5200G和C厂家 1XXXX 的接口MTU值均为1548。
2.从MA5200G上ping C厂家 1XXXX  1473字节的包不通,因为ip包长=1473(应用层报文)+8(icmp报文头)+20(ip包头)=1501,小于1548字节所以ip报文不会被分片。
数据帧长=1473(应用层报文)+8(icmp报文头)+20(ip包头)+18(帧头帧尾)=1519,由于传输设备的最大帧长不支持1519,则报文在传输设备被丢弃,故ping不通。
3.从MA5200G上ping C厂家 1XXXX  1472字节的包能ping通,因为数据帧长=1472+8+20+18=1518,说明传输设备支持的最大帧长1518。
4.而从C厂家 1XXXX  上ping MA5200G 1501字节的包不通,为在C厂家 1XXXX 上ping 1501的包默认为ip报文,加上数据链路层的帧头帧尾恰好为1519,报文在传输设备被丢弃,故ping不通。而MA5200G ping包默认为应用层报文,需要加上传输层和网络层的报头。

根因
 

MTU限制导致PING不通

解决方案
 

修改MA5200G和C厂家 1XXXX 的接口MTU值为1500后,从MA5200G上ping大于1472和从C厂家 1XXXX 上ping大于1500的包均能通。
因为在网络层大于1500的ip报文会被分片后再封装18字节的帧头帧尾,恰好等于1518字节,为传输设备支持的最大帧长,所以能ping通。

建议与总结
华为侧ping,指定的长度是ICMP中的data部分长度;思科Ping指定的为IP报文长度。

END