第二章 数据通信的基础知识 计算机网络笔记 学堂在线 2.4差错控制

1 检错码
检错码C的函数f最好具备以下特点:
  1 不同的数据D对应着不同的C
  2 C的位数远远小于D且固定
  3 函数f计算过程简单

检验和: 计算过程:
  1 将数据分为长度固定的数据段
  2 根据反码运算规则累加分段后产生的每一段数据
  3 将累加结果取反作为检错码C
特点:对于分布在多段数据中的二进制错误,有可能无法检测出

循环冗余码:CRC
  生成循环冗余码:
    1 假定传输的数据为M(x) = 11000011
    2 找一个除数G(x) = 10011, G(x)最高位指数为r = 4
    3 11000011 * 2^r = 110000110000
    4 110000110000/10011 得到的余数R就是数据11000011的检错码
  检错过程:接受到的数据(M(x)` * 2^r - R)/G(x),如果整除,则正确。
  关键是找除数G(x),G(x)生成多项式

 


2 确认和重传
确认:
  在数据传输正确的情况下,接收端向发送端发送确认应答(ACK)帧。
  发送端只有接受到接受端发送的确认应答帧,才能确认数据正确传输。
重传:
  发送端在规定时间内没有接收到确认应答帧,再次发送数据帧

避免重复接受:
  数据带一个序号n-1 ,确认应答帧也需要带序号n。说明小于n的数据帧都已经正确接收

 

连续发送:在前一个数据确认之前发送下一个数据
累计确认:确认序号n就确认所有序号小于n 的数据帧。

差错控制机制小结:
  检错码:接收端判断数据是否正确
  确认应答:发送端判别数据是否被正确接收
  重传:出错数据必须重新发送
  序号:避免接收端重复接受数据

posted @ 2017-12-07 13:38  LeoSirius  阅读(457)  评论(0编辑  收藏  举报