我发现了不同链路的MTU列表,但它们从来不包含UMTS,LTE,EDGE,HSPA,GPRS。
上述技术的MTU是多less?
简短的答案是:这取决于。
来自移动用户的数据封装在GRPS隧道协议(简称GTP-U)中,该协议基本上是一个带有GTP头的UDPstream,隧道端点的IP地址(GGSN / PGW和无线电站,简单的说)和一个隧道标识符(TEID)。
头部长度可变,可以达到12个八位字节。
那么,回到这个问题上,这取决于移动回程networking(Gn)上使用什么原生MTU,从无线电设备到解封装(Gi)隧道的GGSN。 如果回程MTU至less为1512字节,则MTU可以是常规的1500字节。
但是,我看到有意将MTU宣布到移动设备的客户降低到1488甚至更低(考虑VLAN或MPLS标签),以便回程的MTU不需要更改(这是很多工作时计划并没有考虑到这一点)。
一般来说,这并不是什么大问题,因为移动设备已经使用了“正确的”MTU,但是如果手机作为没有正确实现PMTU钳位的路由器,会导致问题。 而且,如果MTU太小,实际的可用带宽不能真正用于TCP连接; 这是“长输pipe道和带宽延迟产品问题”的典型例子。 “太小”的意思是“小于1488”。
如果您想知道当前连接的本地MTU,则可以使用各种工具进行PMTU发现。 最简单的方法可能是通过连续提高MTU来“ping”,直到出现错误消息“需要分片,但是DF设置”。 最后一个工作MTU是移动手机本地的,回程的本地MTU加上GTP-U头开销。 在Linux中,你甚至可以使用提示选项,这使得它更容易。 例:
alex@xila:~$ ping -c 1 -M do -s 2000 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 2000(2028) bytes of data. From 93.203.xy icmp_seq=1 Frag needed and DF set (mtu = 1492)
(PPPoE封装的典型例子)
参考文献: