通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  上士

注册:2009-2-7
跳转到指定楼层
1#
发表于 2009-5-19 03:54:56 |只看该作者 |倒序浏览
MTUMaximum Transmission Unit),是指能在网络上传输的最大数据包大小,常见的默认MTU如下:

PPP:296;IEEE 802.3:1492;以太网:1500;FDDI:4352;超通道:65535;

这里引用的PPP的MTU是指传统在Modem到电话局之间链路上使用PPP的场景,不是目前流行的PPPoE(PPP over Ethernet),同时296并不是实际PPP最大的包大小,而是一个建议值,因为考虑了线路使用者的感受,即在960B/S线路中,使用这个建议值,可以有较好的感受,也就是等待时间可以在忍受范围内(注:以上PPP部分根据后面几位热心兄弟的建议进行了修改)

人一般可以忍受的等待时长在0.1秒到0.2秒以下。
对于960字节/秒的PPP网络,传送一个字节需要 1 / 960 = 0.01秒,传送1024字节需要 1024 / 960 = 1.067秒,如果一个数据包的大小就是1024字节的话,则平均等待时长为(1.067 + 0.1)/ 2 = 0.538秒,约为传送所有数据时间的一般。根据相同公式,要使PPP满足平均等待时长在0.1秒到0.2秒之间,则每包长度应在960 * 0.1 * 2到960 * 0.2 * 2之间,即192字节到384字节之间,同时考虑吞吐量(有效数据/数据包长度),296则是一个比较合适的MTU.

对于其他网络,个人理解就是数据帧格式中定义的最大数据长度,如以太网帧(Ethernet II):




目的地址

源地址

类型

数据

CRC

6字节

6字节

2字节

46字节~1500字节

4字节



对于超通道,其实就是IP帧格式中数据长度字段(16字节)计算而来:2的16次方 – 1 = 65535字节。实际应用中,还是会被链路层协议分片。如由以太网承载IP,就会被分片成小于1500字节的包。

当数据包在网络中传输时,如果经过某段网络的MTU比数据包的长度小,数据包则会从该段网络起被分片传送。但数据发送端总是期望发送的数据包越大越好,同时又期望每个数据包在传送过程中尽量不被分片(分片会降低数据包传送的可靠性),因而发送端使用网络中最小MTU发送数据是最为合适的。

UDP数据包一般采用512Bytes的大小发送数据,而TCP则根据两端协商的最小的MTU进行数据传输。这种方式,可以使绝大多数的UDP和TCP传输不进行分片。

但在个别情况下,还是有可能存在网络路径的某段MTU比发送报文长度还小,这时就得依赖网络路径MTU的发现机制了。有一种简单的实现方法,就是在发送端发送数据包时置上报文不可分片的标记。当报文经过MTU小于报文长度的路由器时,报文会被丢失,同时路由器返回ICMP差错报文,发送端收到差错报文后,进行发送报文的大小的调整,使发送报文最终达到网络中最小的MTU。


[ 本帖最后由 chris_waity 于 2009-5-22 13:05 编辑 ]

举报本楼

本帖有 13 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-11-23 10:32 , Processed in 0.249377 second(s), 19 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部