数字链路层
数据链路层的功能
数据链路层在物理层提供的服务的基础上通过执行数据链路层协议向网络层提供服务,其最基本的服务就是将从源机器网络层来的数据可靠地传输到目标机器网络层。
帧同步
由差错控制码产生的校验和可以检查出一个帧在传输中是否发生了错误。一旦检查出错误,就通常采用反馈重发的方法来纠正错误。发送方只有等收到接收方已正确接收的反馈信息后才能认为该帧已正确传送完毕,从而不再保留该帧。
- 帧丢失 :物理信道可能丢失帧,包括数据帧或者传递反馈信息的帧,这使发送方永远也收不到接收方已正确接收的反馈信息而无限地等待下去。为了避免出现这种情况,通常引入计时器(timer)。计时器超时(timeout)后还未收到接收方确认正确接收的返回信息时,可认为传出的帧已出错或丢失,因而要重新发送。在正常情况下,若在计时器未超时前已收到确认信息,则可将计时器清零。
- 重复发送:同一帧被重复发送多次,就存在接收方两次或多次收到同一个帧,并将它交给上一层(即网络层)的危险。为了防止这种情况发生,有必要对发送的帧编号,即给每个帧一个序号,从而使得接收方能从该序号来区分是新发送的帧,还是已被接收但发送方又重新发送来的帧,从而决定是不是交给网络层。
流量控制
流量控制实际上是控制发送方的数据流量,使其发送速率不要超过接收方所能处理的速率。在这个过程中需要通过某种反馈机制使发送方知道接收方是否能来得及处理。
差错控制
1. 差错检测与矫正
概括地说,传输中的差错都是由噪声所引起的。
- 随机热噪声: 信道所固有的,持续存在的;随机热噪声所引起的差错称为随机错,造成某些码元的差错是孤立的,与前后码元没有关系。
- 冲击噪声:由于外界短暂的特定原因所造成的。冲击噪声是传输中产生差错的重要原因。这种差错呈突发状态,称为突发错误。
突发长度:从突发错误发生的第一个码元到发生错误的最后一个码元间所有码元的个数。
误码率: P e = 发 生 差 错 的 码 元 数 接 收 的 总 码 元 数 P_e=\frac{发生差错的码元数}{接收的总码元数} Pe=接收的总码元数发生差错的码元数
2. 差错控制编码
要发送的数据,称为信息位或信息码元,在向信道发送之前,先按照某种关系加上一定的冗余位或监督位,构成一个码字再发送。接收方收到码字后查看信息位和冗余位,并检查它们之间的关系(校验过程),以发现传输过程中是否有差错发生。
码 字 ( k + r 位 ) = 信 息 位 ( k 位 ) + 冗