我学习的方向和数据链路层也涉及很少
so...
数据链路层使用的信道主要有以下两种类型:
1.点对点信道。这种信道使用一对一的点对点通信方式。
2.广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发
(1) 封装成帧
(2) 透明传输
(3) 差错控制
n封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。
首部和尾部的一个重要作用就是进行帧定界。
n在传输过程中可能会产生比特差错:1 可能会变成 0 而 0 也可能变成 1。
n在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER
(Bit Error Rate)。
n误码率与信噪比有很大的关系。
n为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。
n在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。
n在发送端,先把数据划分为组。假定每组 k 个比特。
假设待传送的一组数据 M =
101001(现在 k =
6)。我们在 M 的后面再添加供差错检测用的 n位冗余码一起发送
n用二进制的模2运算进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。
n得到的 (k + n) 位的数除以事先选定好的长度为 (n +
1) 位的除数P,得出商是 Q 而余数是 R,余数 R 比除数 P 少1 位,即 R 是 n位。
n现在k =
6, M = 101001。
n设n =
3, 除数P =
1101,
n被除数是 2nM =
101001000。
n模 2 运算的结果是:商Q =
110101,
余数R =
001。
n把余数 R 作为冗余码添加在数据 M 的后面发送出去。发送的数据是:2nM + R
即:101001001,共 (k + n) 位。
110101←Q(商)
P (除数) →1101
101001000←2nM (被除数)
1101
1110
1101
0111
0000
1110
1101
0110
0000
1100
1101
001 ← R (余数),作为 FCS
n(1) 若得出的余数 R =
0,则判定这个帧没有差错,就接受(accept)。
n(2) 若余数 R¹ 0,则判定这个帧有差错,就丢弃。
n但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。
n只要经过严格的挑选,并使用位数足够多的除数P,那么出现检测不到的差错的概率就很小很小。