链路层的目的:
- 为IP模块发送和接收IP数据报
- 为ARP模块发送ARP请求和接收ARP应答
- 为RARP发送RARP请求和接收RARP应答
TCP/IP支持多种不同的链路层协议,取决于网络所使用的硬件。
####IEEE 802封装
在TCP/IP世界中,以太网IP数据报的封装是在RFC894中定义的,IEEE 802网络的IP数据报封装是在RFC1042中定义的。主机需求RFC要求每台Internet主机都与一个10Mb/s的以太网电缆相连:
- 必须能发送和接收RFC894封装格式的分组。
- 必须能接收RFC1042格式封装的分组。
- 允许能发送采用RFC1042格式封装的分组。若两者都能,则默认是RFC894分组
####环回接口
大多数的产品都支持环回接口,并允许运行在同一台主机上的客户端程序和服务器程序通过TCP/IP进行通信。大多数系统都以127.0.0.1为环回地址,并命名为localhost。一个传给环回接口的数据报不能在任何网络上出现。
当IP输出函数判断目标地址为环回接口时,会将数据直接放入IP输入队列中,而不是送入以太网,这样该数据报就不会出现在网络上。
####最大传输MTU
以太网和802.3对数据帧的长度都有一个限制,最大值就叫做MTU。
如果IP层有个数据报要传,但是长度大于链路层的MTU,那么IP层就需要把数据报进行分片,使得每一片都小于MTU。
####路径MTU
由于两个主机间进行通信时要通过多个网络,那么每个网络的链路层可能都有不同的MTU,而其中最小的就叫做路径MTU,它决定了整个通信的传输速率。
####串行线路吞吐量计算
如果线路的速率是8600b/s,而一个字节是8 bit。再加上一个起始bit和一个停止bit,那么这个线路的速率就是 960B/s(9600/(8+2))。
以这个速率传输1024个字节需要1066ms(1024/960)。
如何来计算吞吐量,再查查其他资料吧。。这书说的没看懂啊。