数据链路层信道类型:
(1)点对点信道:使用一对一的点对点通信方式
(2)广播信道:使用一对多的广播通信方式。
必须使用专用的共享信道协议来协调主机数据发送。
链路:从一个节点到相邻节点的一段物理线路
数据链路(逻辑链路): 把实现数据传输的协议的硬件和软件加到链路上,构成了数据链路。
最常用的方法是使用网络适配器(网卡)来实现这些协议。
帧:数据链路层协议数据单元
三个基本问题:封装成帧、透明传输、差错控制
封装成帧:
网络层的IP数据报加上帧首部和帧尾部构成一个完整的帧。
一个帧的帧长等于帧的数据部分长度加上帧首部和帧尾部的长度。
首部和尾部的一个重要作用就是进行帧定界。
最大传送单元MTU:规定所能传送帧的数据部分长度上限。
使用控制字符作为帧定界符:
控制字符SOH(01)放在一帧的最前面,表示帧的首部开始。
控制字符EOT(04)放在一帧的末尾,表示帧的结束。
透明传输:
透明:某一个实际存在的事物看起来好像不存在一样。
数据链路层的透明传输表示:无论发送什么样的比特组合的数据,这些数据都能够按照原样没有差错地通过数据链路层。
如果数据中某个字节的二进制代码恰好和SOH或EOT一样,数据链路层就会错误地找到帧的边界。
使用字节填充或字符填充的方法解决透明传输的问题。
在EOT或SOH前面插入一个转义字符"ESC"。当转义字符也出现在数据里面时,就在转义字符前在加上一个转移字符。
差错检测:
在传输过程中可能会出现比特差错:1->0,0->1
在一段时间内,传输错误的比特占所传输比特总数的比率叫误码率。
循环冗余检验CRC:
在发送端,先把数据划分为组,假定每组k个比特。CRC运算在每组M后面再添加供差错检测用的n位冗余码,然后构成一个帧发送出去,一个发送k+n位。
仅用循环冗余校验CRC差错检测技术只能做到无差错接受。
即凡是接受的帧都能以接近于1的概率认为这些帧在传输过程中没有产生差错。
但是无比特差错和无传输差错是不同的。
传输差错包括帧丢失、帧重复、帧失序等情况。
在数据链路层使用CRC检验,能够实现无比特差错的传输,但是这不是可靠传输。
循环检验的题: