链路层Introduce
1.网络层的数据单元是IP数据报,数据链路层的工作是将IP数据报封装为帧frame,发往链路;
当链路层接受到帧的时候,将IP数据报提取出,送往网络层。
frame struct:
[frame head| IP data |frame tail]
2.传输控制
a>差错控制
反馈重发:检查差错编码(奇偶校验码orCRC码);若出错,重发,正确为止。
b>计时器timer
为避免发送失败导致的传输过程停滞,引入timer。发送出一帧,同时启动timer,在限定的时间内
未收到返回信息,则认为帧出错or丢失,重发。
c>序号
防止多次接受同一帧并传到网络层,编号用来区分新帧还是重发帧。
3.流量控制(发送方)
必要性:由于收发双方的设备工作速率和缓存存储空间的差异,可能导致帧淹没的情况出现,造成帧丢失。
4.以太网帧
|dest MAC|src MAC| type | data |CRC
| 6 | 6 | 2 | 46-1500|4
5.SLIP协议(串行线路IP)
a>Rules:
帧开始和结束处都用END(0xc0);
IP数据报中的END在帧用0xdb,0xdc代替,ESC在帧中用0xdb,0xdd代替
b>缺陷:
无法将本端IP传递给对端
无type字段,线路中存在SLIP时不能使用其他协议
无checksum,通过上层协议发现错误
6.PPP协议
作用:为2个对等节点之间IP流量传输提供封装协议,用来同步调制
实质:fix SLIP协议的缺陷
支持异步校验(8位,无奇偶校验)和同步链接
支持LCP双方协商(链路)
支持NCP双方协商(网络)
与SLIP不同:
PPP以0x7e开始和结束,then 0xff 的地址字节,then 0x03控制字节
data中含有0x7e时,用0x7d,0x5d来替代
7.MTU 最大传输单元
当IP数据报的长度大于链路的MTU的时候,网络层将数据报分片,小于MTU
接口MTU:允许发送的最大长度
路径MTU:2台主机路径最小的MTU值,此MTU不对称。
可用netstat -in 查看