链路大包限制导致业务大包不通

发布时间:  2016-09-08 浏览次数:  301 下载次数:  0
问题描述

县区节点NE20E ping市级节点NE40E-X3业务地址大小包均能通,市级节点NE40E-X3 ping县区节点NE20E或ping省级NE40E-X16大小包均能通,县区节点NE20E ping省级节点NE40E-X16业务地址大包不通(由于次局点涉密,无法提供详细拓扑以及设备信息)

告警信息

 

处理过程

1、在县区节点NE20E上多次大包测试省级节点NE40E-X16业务地址,确定数据包临界值为1469。

2、由于ping -s参数不包括IP包头、数据帧头,所以线路的数据包实际值为1469+8(icmp头)+20(ip包头)+18(数据帧头)+8(2层mpls头)=1523,同时1523也是数据出方向运营商链路的临界值。

3、由于接口设置mtu参数时,包括所有ip头的长度,即当接口mtu<1497(1523-18-8)时,运营商链路传输的最大数据包<1523,能够确保分片后的数据包顺利通过链路。在相关接口使用命令:mtu 1496 限制最大传输单元。

4、测试省级业务地址大包,访问正常,用户业务正常。

根因

路由器出接口数据包分片后,数据包长度大于运营商线路能够承载的最大值,导致丢包。

解决方案

ping包默认为56byte,56+8(icmp头)+20(ip包头)+18(数据帧头)+8(2层mpls头)=120byte,而多数运营商线路限制值为1426~1526.默认ping包远远小于限制值。而多数应用层数据包大于设备接口默认限制值1500byte(包含所有ip包头),当分片后产生的1500+18(数据帧头)+8(2层mpls头)=1526byte数据包通过上述限制链路,可能存在丢包情况。

建议与总结

1、县区节点访问市级业务大包能通,访问省级业务大包不通的原因是由于:市级节点为“倒数第一跳”,vpn数据包传输时仅带上mp-bgp 标签,不带mpls标签。一层mpls标签相差2字节,链路上传输的数据包最大值为1500+18+4=1522<1523。

2、对于大包不通故障,首先先排除路由问题,其次在考虑链路数据包限制问题。

 

END