『TCP/IP详解——卷一:协议』读书笔记——06
2013-08-20 14:41:01
- 2.8 最大传输单元MTU
MTU,最大传输单元:以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492字节。这个不同网络对应的传输上限叫做最大传输单元。
分片(fragmentation):把大于MTU的数据报分成若干片,这样每一片都小于MTU。
- 2.9 路径MTU
路径MTU:两台通信主机路径中的最小MTU。两台主机之间的路径MTU不一定是一个常数,它取决于当时所选则的路由。而选路不一定是对称的(从A到B的路由可能与从B到A的路由不同),因此路径MTU在两个方向上不一定是一致的。
- 2.10 串行线路吞吐量计算
如果线路速率是9600b/s,而一个字节有8bit,加上一个起始位和终止位,那么线路的速率就是960B/s。以这个速率传输一个1024字节的分组需要1066ms。如果用SLIP链接运行一个交互式应用程序,同时运行另一个应用程序如FTP发送或接收1024字节的数据,那么一般来说就必须等待一半的时间(533ms)才能把交互式应用程序的分组数据发送出去。
上文划线的红字我曾经很不理解,为什么要等待一半的时间呢?后来网上查了一些资料后知道这个时间是指平均等待时间(注:这种平均等待时间的计算,只适用于SLIP链路或PPP链路在交互通信和大块数据传输这两种情况下)。原因如下:有两种情况,一种是此交互应用程序先发送数据,那么它等待的时间是0ms,另一种是ftp发送数据,那么它将占用1066ms的时间,则交互应用程序将要等待1066ms,平均下来即等待533ms。因为SLIP数据帧中没有类型字段,所以一条串行线路使用SLIP就不能同时使用其他协议。
Q:为什么SLIP的MTU定为296呢?
A:由于MTU是IP向链路层查询的结果,因此该值必须包括通常的TCP和IP首部(40字节)。于是数据内容为256,这个长度对于链路传输来讲,有较少的等待时间(133ms,在人类可接受的范围100~200ms之间)。对于数据利用率来讲也比较高,例如CSLIP的报文首部是5字节,数据帧总长度为261字节,256个字节的数据是线路的利用率为98.1%,帧头占了1.9%。如果把MTU降到256一下,那么将降低传输大块数据的最大吞吐量。
- 2.11 小结
本章讨论了Internet协议族中的最底层协议,链路层协议。我们比较了以太网和IEEE802.2/802.3的封装格式,以及SLIP和PPP的封装格式。由于SLIP和PPP经常用于低速的链路,二者都提供了压缩不常变换的公共字段的方法。这使交互性能得到提高。
大多数的时间都提供环回接口。访问这个接口可以通过特殊的环回地址。一般为127.0.0.1.也可以通过发送IP数据报给主机所拥有的任一IP地址。当环回数据回到上层的协议栈中时,它已经过传输层和IP层完整的处理过程。
我们描述了很多链路层都具有的一个重要特性,MTU,相关的一个概念是路径MTU。根据典型的串行线路MTU,对SLIP和CSLIP链路的传输时延进行了计算。
本章的内容只覆盖了当今TCP/IP所采用的部分数据链路了公共技术。TCP/IP成功的原因之一是它几乎能在任何数据链路技术上运行。