从点对点通信看数据链路层
数据链路层之点对点通信(一对一)
链路(Link):从一个节点到相邻节点的一段物理线路,中间没有任何其他的交换节点
。
数据链路(Data Link):当在一条线路上传送数据时,除了必要要有一条物理线路外,还必须有一些通信协议来控制这些数据的传输。
把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
这样数据链路就是逻辑链路的概念了。常用的方法是使用网络适配器(如拨号上网的拨号适配器、以太网的局域网适配器)来实现这些协议。
数据链路层的接收方为了能够以帧为单位处理接收的数据,必须正确识别每个帧的开始和结束,即进行帧定界
。
帧的首部和尾部的作用之一就是帧定界。每一种链路层协议都规定了帧的数据部分长度的上限,即MTU(Maximum Transfer Unit)
实现帧定界,你会采用哪一种方法呢?注意,这是在数据链路层,而不是应用层。
看一下物理链路传送连续的比特流(而不是面向字符的传输的物理链路),PPP采用的零比特填充法
(Bit Stuffing)来实现的帧定界和透明传输。
因为现实的通信链路不是理想的,比特在传输过程中,1变成0,0变成1,叫做比特差错。
比率叫误码率(Bit Error Rate BER). 信噪比高,误码率就小。
利用差错检测码
(Error-Detecting Code EDC)这样的原理来实现差错检测。通常使用的技术是CRC
Cyclic Redundancy Check
CRC检错能力很好,虽然计算复杂,但易于硬件实现,所以广泛采用,用硬件完成,对传输延误很小。
可以这样认为,凡是接收端数据链路层接受的帧均无差错,因为如果检错到差错会被丢弃。
纠错码较少使用,因为开销比较大。
参考《计算机网络教程:慕课版》
- 点赞
- 收藏
- 关注作者
评论(0)