3.1使用点对点信道的数据链路层

数据链路层使用的信道主要有一下两种:点对点信道广播信道不同段的数据链路层可能使用不同的数据链路层协议

3.1.1数据链路和帧

链路:从一个节点到另外一个节点的物理线路(有线的或者无线的);

数据链路:物理链路+通信协议。把实现这些通信协议的硬件或者软件加到链路上,就构成了数据链路。最常用的要数使用网络适配器来实现这些协议。

帧:点对点信道的数据链路层的协议数据单元

3.1.2 三个基本问题

1.封装成帧

封装成帧就是在一段数据的前后分别添加首部和尾部。网络层的IP数据报传送到数据链路层就成为帧的数据部分。首部和尾部的一个重要作用是帧定界,另外首部和尾部中还包含了很多必要的控制信息

帧的数据长度尽可能地大于首部和尾部的长度,有利于提高帧的传输效率,但是每一种链路层协议都规定了所能传送帧的数据部分长度上限——最大传送单元MTU

首部开始控制字符SOH(00000001)和传输结束控制字符EOT(00000100)。接收方通过这两个控制字符,定界、判断帧是否完整

2.透明传输

数据链路层的透明传输表示:无论什么样子的比特组合都可以原样的通过数据链路层

字节填充(字符填充法):利用转义字符ESC(00011011),发送端在控制字符和转义字符之前加入转义字符,接收端删掉ESC(连续有两个的时候只删除一个),在上传给IP层。

3.差错检测

比特差错误码率:比特差错是指传输过程中0变成1或者1变成0;在一段时间内传输错误的比特占所有传输比特总数的比率称为误码率。误码率和信噪比有很大关系,并且永远无法降低到0,所以需要各种差错检测措施——循环冗余检验CRC

CRC原理:在带传送的数据M(长度为k)后面加上n个0,收发双方事先商定n+1位的除数P,得出的商是Q而余数是R(n位,比P少一位),将余数R拼接在数据M的后面发送出去。这种为了进行检错而添加的冗余码常称为帧检校序列FCS。接受端把收到的每一帧都除以相同的除数P,然后检查得到的余数R.如果为出现误码,余数应该为0,出现误码,余数几乎不会为0。

发送端的FCS生成,接受端的CRC检校都是硬件完成的,处理迅速,不会延误数据的传输。

近似表述:凡是接收端数据链路层接受的帧均无差错

ps:1、两种错误:比特差错传输差错;传输差错包括,帧丢失帧失序帧重复。差错检测保证无比特差错,而非无传输差错,因此我们不要求数据链路层向网络层提供”可靠传输”服务

2、过去OSI的观点是数据链路层向上提供可靠传输,因此增加在帧标号、确认、重传机制。现在的做法是,对于通信质量较好的线路,可靠性的交给传输层TCP协议来保证;对于通信质量较差的线路,数据链路层使用确认和重传的机制,向上提供可靠的传输服务。

猜你喜欢

转载自blog.csdn.net/qq_24888697/article/details/81865964
今日推荐