数据链路层中的协议主要有 6 种
基本数据链路协议
单工协议
协议 1
- 数据单向传输
- 收发双方的网络层处于就绪状态,随时可以处理数据
- 处理数据的时间忽略不计
- 可用缓存空间无限大(可接收无限多的数据)
- 完美信道(信道不损坏,不丢帧)
协议 2
- 数据传输方式为半双工
- 削减接收无限多的数据的能力
方式:接收方在接收数据的时候,向发送方发送一个确认信息,告知发送方接收方有足够的空间继续接收处理数据
协议 3
- 半双工
- 取消完美信道的情况
- 定时传输数据(发送数据时会启动定时器,超时会重传数据)
方式:接收方在接收数据的时候,向发送方发送确认信息,告知发送方接收方已经正确接收信息,若未接收到 > 确认信息或者定时器超时,会重发数据,直到收到确认信息
双工协议
窗口滑动协议
接发双方为窗口
忽略接收方处理数据的时间具体操作:
- 发送方已经发送 0 号数据,但未接收到确认信息,接收方已经准备接收 0 号数据
- 接收方已收到 0 号信息,窗口移到 1 号,并回传确认信息
- 发送方收到确认信息后,便可进行下一个数据 1 的传递,窗口随之移到 1 号
批量传输数据
回退 n 帧协议
发送窗口一次性发送 w 个数据,而接收窗口逐一对数据进行确认,当发现传递的第 n 个数据错误时,将接收到的 n~w 号信息扔掉,回传 n-1 号的确认信息,此时发送方会再次发送 n~w 号信息,直至传递成功
选择重传协议
- 发送 w 个数据
- 接收方接收时第 n 号数据出错
- 缓存 w-1 个数据,同时回传确信息,告知发送方重传 n 号数据
- 重传并成功接收后,将 n 号信息按序放入已缓存数据中