链路层目的
- 为IP模块发送和接收IP数据报
- 为ARP模块请求和接收ARP应答
- 为RARP请求和接收ARP应答
主机使用的以太网RFC
RFC要求每台Internet主机必须与一条10Mb/s的以太网电缆相连接:
- 必须能够发送和接收RFC 894(以太网)封装格式的分组
- 应该能接收与RFC 894混合的RFC 1024(IEEE 802)封装格式的分组
- 也许能够发送RFC 1024格式的分组,如果主机能够同时发送两种类型的分组,那么发送的分组必须是可以设置的,且默认为RFC 894格式的分组数据
RFC802封装格式
- 两种帧格式都采用48bit(6字节)的目的地址和源地址
- ARP和RARP协议对32bit的IP地址和48bit的硬件地址进行映射
- 802定义的有效长度值与以太网的有效类型值无一相同,这样,就可以对两种帧格式进行区分
- 目的服务访问点DSAP和源服务访问点SSAP的值都设为0xaa,ctrl字段的值为3,随后的3个字节org code都置为0,再接下来的2个字节类型字段和以太网帧格式一样
- 802.3规定数据部分必须至少为38字节,而对于以太网,则要求最少要有46字节,为了保证这一点,必须在不足的空间中插入填充(pad)字节
PPP:点对点协议
- 在串行链路上封装IP数据报的方法。PPP既支持数据为8位和无奇偶检验的异步模式(如大多数计算机上都普遍存在的串行接口),还支持面向比特的同步链接
- 建立、配置及测试数据链路的链路控制协议(LCP),它允许通信双方进行协商,以确定不同的选项
- 针对不同网络层协议的网络控制协议(NCP)体系,当前RFC定义的网络层有IP、OSI网络层、DECnet以及Apple Talk。例如IPNCP允许双方商定是否对报文首部进行压缩,类似于CSL IP(缩写NCP也可用在TCP的前面)
MTU和路径MTU
- 以太网和802.3对数据帧的长度都有一个限制,其最大值分别为1500和1492字节,链路层的这一个特性称为MTU,叫做最大传输单元。
- 如果IP层有一个数据报要传,而且数据的长度比链路层的MTU还大,那么IP层就需要进行分片,把数据报分成若干片,这样每一片都小于MTU。
- 点到点的链路层(如SLIP和PPP)的MTU并非指的是网络媒体的物理特征,相反,他是一个逻辑限制,目的是为交互使用提供足够快的响应时间。
- 两台通信主机路径中的最小MTU,被称为路径MTU。
- 路径MTU在两个方向上不一定是一致的。