简介
设计链路层的目的:网络
- 为IP模块发送和接收IP数据报
- 为ARP模块发送ARP请求和接收ARP应答
- 为RARP模块发送RARP请求和接收RARP应答
TCP/IP支持多种链路层协议,如以太网、令牌环往、FDDI、RS-232串行线路等oop
以太网和IEEE 802封装

其中链路层封装的源地址和目的地址都是48位(6字节)的MAC地址,ARP和RARP负责对MAC地址和32位IP地址进行互相转换性能
其中以太网和802主要区别是:设计
- 以太网首部最后2字节是后续数据的类型,0800表明IP数据报,0806表明ARP数据报,8035表明RARP数据报;而802首部最后2字节是后续数据的字节长度
- 以太网首部以后就是数据,长度为46~1500字节;802首部以后还有一段其余内容,而后才是数据,长度在38~1492字节
以太网封装格式最多见blog
SLIP:串行线路IP
是一种在串行线路上对IP数据报进行封装的简单形式接口

- 在IP数据报先后加上END(c0)避免线路噪声被混入数据报,保证报文正确传输
- 将IP报文中的END字符转义为两字节0xdb和0xdc
- 将IP报文中的ESC字符转义为两字节0xdb和0xdd
经过转义避免IP报文中的数据被当成SLIP的特殊字符处理队列
优势:ip
- 简单
缺点:进阶
- 每一端必须知道对方IP
- 数据帧中没有类型字段,只支持对IP协议封装
- 数据帧中没有校验和,须要依赖IP层进行校验
压缩的SLIP
简称CSLIP请求
串行线路速度较低,致使传输的分组一般较小,这种状况下加入20字节的TCP首部和20字节的IP首部会让数据报较大,总共超过40字节。引入CSLIP可将40字节(TCP和IP首部)压缩至3-5字节,提升传输性能
PPP:点对点协议
SLIP协议的进阶版

相比SLIP,PPP的改进:
- 支持封装多种网络层协议
- 数据帧有校验和
- 基于IP协议通讯双方能够动态协商IP地址
- 与CSLIP相似,支持压缩TCP和IP首部
- 链路控制协议能够对多个数据链路选项进行设置
环回接口
简称loopback接口,提供与本机通讯的一种机制,一般使用ip地址127.0.0.1和主机名localhost

- 传给127.0.0.1和本机ip的数据都会传到环回接口
- 传到环回接口的数据不会进过以太网,而是直接进入IP输入队列,从而被IP层接收处理
- 传给广播或多播地址的数据会复制一份到环回接口。由于广播和多播包含了主机自己
最大传输单元MTU
为了提升网络交互的性能,链路层须要给数据帧设置长度上限,这个上限就是MTU(最大传输单元)
若是IP层数据报比MTU要大,则IP层须要进行数据分片

路径MTU
两台主机之间多个网络,每一个网络链路层都有MTU,其中最小MTU就是路径MTU
路径MTU不对称,也就是在两个方向上不一致