数据链路层的概述
逐层封装和逐层解封的过程
不同链路可能采用不同的链路协议
链路
数据链路
帧
数据链路层的三个重要问题
封装成帧,透明传输
MAC帧
PPP点对点
透明传输
差错检测
帧检验序列FCS
可靠传输
封装成帧和透明传输
封装成帧
接收方的数据链路层如何从物理层交付上来的比特流中提取一个个帧?
ppp协议
标志: 01111110
MAC帧协议
前同步码: 使接收方的时钟同步
帧开始定界符:表明后面紧跟的是MAC帧
96比特时间为 9.6微秒
透明传输
如果在上层交付给数据链的层的PDU中包含了和帧定界符相同的数值,接收方还能正确提取吗?
解决办法(面向字节的物理链路)
交付给物理层之前,先对数据载荷部分进行扫描,如果出现帧定界符,就在其前面加上转义字符ESC
接收方去除ESC转义符 接收该数据
如果数据载荷中既包含帧定界符又包含转义字符ESC
方法同理
转义字符 长度为1个字节 十进制值为27
出现5个连续的比特1 就在其后加上一个比特0
接收方 收到帧之后 对数据载荷部分扫描,遇到连续的五个比特1,就把其后面的比特0去除
差错检测
误码
帧尾部中用来存放检错码的序列称为帧检验序列FCS
奇偶校验
循环冗余校验CRC
基本思想
相当于进行逻辑异或运算
举例
可靠传输
基本概念
传输差错种类
停止等待协议
实现原理
发送方发送完一个分组后,并不立刻将他从发送缓存中删除,而是收到接收方的确认之后 才删除
确认,否认重传机制
确认,否认和重传这两种机制意义上实现了可靠传输
超时重传机制
仍然不能完全实现可靠传输
给数据分组编号
确认分组是否需要编号
注意事项
停止等待协议的信道利用率
回退N帧协议
发送方
接收方
无传输差错的情况
超时重传 回退N帧的情况
接收方 通过2号分组中的检错码 检测出误码 将其丢弃 接收窗口不移动·
接收窗口不移动 接收方将其丢弃 并给发送方发送最近已按序接收的数据分组的确认分组
本例数据分组3和4未落入接收窗口中 丢弃之后应向发送方发送两个关于数据分组1的确认
举例
思考
假设ACK7 丢失了 导致发送方超时重传
发送窗口的取值大小不能超过其取值范围
选择重传协议
举例
由于接收方尚未收到按序到达的0号数据分组 不能交付给上层 接收窗口不能移动
发送方收到数据分组1-3号的确认 并不能向前移动发送窗口 但要标记1-3号数据被正确接收
失序
0号数据分组没有被正确接收 而1-3号数据分组被正确接收
故意取发送窗口大小为5 接收窗口大小还为4 使得发送窗口+接收窗口>2^3 接受方将无法识别是否是旧分组还是新分组
假设 0号确认分组丢失了 发送方超时重传0号分组 正确到达接收方之后 接收方不知道0号分组之前已经被正确接收了
点对点协议PPP
从网络体系结构看PPP协议
PPP帧格式
PPP帧透明传输
面向字节的异步链路
面向比特的同步链路
PPP帧的差错检测
PPP协议的工作状态
LCP配置的是 最大帧长 鉴别协议等
可以使用口令鉴别 PAP
挑战握手协议CHAP
NCP配置:IP地址等
共享式以太网
网络适配器和MAC地址
MAC地址
MAC地址格式
思考
MAC地址的发送顺序
单播MAC地址举例
广播MAC地址举例