计算机网络读书笔记

数据链路层协议有很多种,但是有三个基本问题是共同的。这三个基本问题是:封装成帧、透明传输和差错检测。其中差错检测的循环冗余检验CRC在数据链路层中被广泛应用。循环冗余检验的原理:

在发送端,先把数据划分为组。假定每组 k 个比特。假设待传送的一组数据 M = 101001(现在 k = 6)。我们在 M 的后面再添加供差错检测用的 n 位冗余码一起发送。
冗余码的计算算法:用二进制的模 2 运算进行 2^n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位的除数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 少1 位,即 R 是 n 位。
下面举个例子:
 现在 k = 6, M = 101001。设 n = 3, 除数 P = 1101,则被除数是 2nM = 101001000。 模 2 运算的结果是:商 Q = 110101,余数 R = 001。把余数 R 作为冗余码添加在数据 M 的后面发送出去。发送的数据是:2nM + R 即:101001001,共 (k + n) 位。

你可能感兴趣的:(计算机网络读书笔记)