数据链路层

链路

链路是一条点到点的物理线路段,中间没有其他点。

数据链路

数据链路除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些数据协议的硬件和软件加到链路上,就构成了数据链路。

现在最常用的方法是使用网卡来实现这些协议的硬件和软件。

数据链路层解决的三个基本问题:

封装成帧


封装成帧

(1)封装成帧就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。

(2)首部和尾部的一个重要作用就是进行帧定界;

(3)MTU在以太网不能超过1500字节;

(4)计算机如果收到的帧不完整,那么会把这个帧给扔掉;

透明传输

若传输的数据是ASCII码中的字符集时,头和尾是可以区分的。若传输的数据不仅由“可打印字符”时,就会出现问题。


异常

解决异常的方案:

加入转义字符来解决

发送端的数据链路层在数据中出现“SOH”或“EOT”的前面插入转义字符“ESC”;

字节填充或字符填充---接收端的数据链路层在将数据送往网络层之前会删除掉zh庡字符。

如果转义字符也出现在数据当中,那么应该在转义字符前插入一个转义字符。当接收端收到两个连续的转义字符时,就删除其中的一个。

差错控制

数据传输过程中可能会产生比特差错:1可能变成0,0可能变成1。

在一端时间内,传输错误的比特占所传输比特总数的比率称为误码率。

误码率和信噪比有很大的关系。

为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。

数据链路层只负责没有差错的接收,如果传输错误,数据链路层会把这段数据给丢掉。之后,接收端会要求传送端重新传输这段数据。

利用循环冗余检测的方式来避免数据传输错误。

传送过程



数据发送模型
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容