数据链路层使用的信道主要两种类型:
1)点对点信道:使用一对一的点对点通信方式。
2)广播信道:使用一对多的广播通信方式。由于连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。
重点内容:
1)数据链路层的点对点信道和广播信道的特点,以及这两种信道所使用的协议(PPP协议以及CSMA/CD协议)的特点。
2)数据链路层的三个基本问题:封装成帧、透明传输和差错检测。
3)以太网MAC层的硬件地址。
4)适配器、转发器、集线器、网桥、以太网交换机的作用以及使用场合。
链路(link ):从一个结点到相邻结点的一段物理线路(有线或无线),而中间没有任何其他的交换结点。
数据链路(data link ):除了有一条物理线路外,还有一些必要的通信协议来控制数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
网络适配器(既有硬件,也包含软件)用来实现这些协议。
数据链路层的协议数据单元:帧
数据链路层协议的三个基本问题:封装成帧、透明传输、差错检测
1)封装成帧
一个帧的帧长 = 帧的数据部分 + 帧首部和帧尾部的长度;
最大传送单元MTU ( Maximum Transfer Unit ):所能传送的 帧的数据部分 长度上限。
首部和尾部的一个重要作用是进行帧定界(即确定帧的界限)。
控制字符SOH ( Start Of Header ):表示帧的首部开始。 控制字符EOT (End Of Transmission ):表示真的结束。
注意: SOH和EOT都是控制字符的名称。十六进制编码分别为01(二进制为00000001),04(二进制为00000100)。
2)透明传输
含义:无论怎么样的比特组合的数据都能传输。
透明是一个很重要的术语。表示:某一个实际存在的事物看起来却是好像不存在一样。
问题:怎样使数据中可能出现的控制字符”SOH“和”EOT“在接受端不被解释为控制字符?
解决方法:字节填充(byte stuffing )或字符填充(character stuffing),即在控制字符前插入转义字符”ESC“(十六进制1B,二进制00011011)。
3)差错检测
可靠传输:数据链路层的发送端发送什么,在接受端就收到什么。
传输差错分两大类:最基本的差错比特差错 另一类复杂的差错即帧丢失、帧重复或帧失序。
比特在传输过程中可能会产生差错,即比特差错。
误码率BER( BIt Error Rate ):传输错误的比特占所传输比特总数的比率。设法提高信噪比,就可以使误码率减小。
比特差错检测措施:循环¥余检验CRC ( Cyclic Reundancy Check )
帧检验序列FCS ( Frame Check Sequence ):为进行检错而添加的n位¥余码。
对于复杂的差错即帧丢失、帧重复、帧失序。在CRC检错的基础上,增加了帧编号、确认和重传机制。
点对点协议 PPP ( Point-to-Point Protocol )
额外具备的功能:检测连接状态、多种网络层协议、多种类型链路、网络层地址协商、数据压缩协商。
PPP协议有三个组成部分:
1.一个将IP数据报封装到串行链路的方法。即支持异步链路(无奇偶检验的比特数据),也支持面向比特色同步链路。
2.一个用来建立、配置和测试数据链路连接的链路控制协议LCP ( Link Control Protocol )。
3.一套网络控制协议 NCP ( Network Control Protocol ),其中的每一个协议支持不同的网络层协议,如IP,OSI的网络层、DECnet、AppleTalk等。
(注意信息字段即IP数据报)
当PPP使用异步传输(逐个字符地传送)时,转义字符定义为0x7D(即01111101),并使用字节填充。
RFC 1662 规定如下所述的填充方法:
a.把信息字段中出现的每一个0x7E字节转变成为2字节序列(0x7D,0x5E )。
b.若信息字段中出现0x7D的字节(即出现和转义字符一样的比特组合),则把0x7D转变成2字节序列(0x7D,0x5D )。
c.若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面加入一个0x7D字节,同时将该字符的编码加以改变。
当PPP使用同步传输(一连串的比特连续传送)时,用在SONET/SDH链路时。使用零比特填充方法。
零比特填充:发送端先扫描整个信息字段,只要有5个连续1,则立即填入一个0(避免出现和标志字段F<01111110>一样的比特组合,不管是否有6个1),接收端先通过标志字段F确定 帧的边界,再对其中的信息字段扫描,当发现5个连续1后将其后的一个0删除。
PPP协议的工作状态
有线过程:当用户拨号接入ISP后,就建立了一个从用户PC到ISP的物理连接。这时,用户PC向ISP发送一系列的链路控制协议LCP分组(封装成多个PPP帧),以便于建立LCP连接。这些分组及其响应选择了将要使用的一些PPP参数。接下来要进行网络层配置,网络控制协议NCP给新接入的用户PC分配一个临时的IP地址。这样,用户PC就成为因特网上的一个有IP地址的主机了。当用户通信完毕,NCP释放网络层连接,收回IP地址。接着LCP释放数据链路层连接。最后释放的时物理层的连接。
无线过程:用户PC和ISP的路由器之间不存在物理层的连接。当用户PC通过调制解调器呼叫路由器时(类似鼠标点击连接按钮),路由器就能够检测到调制解调器发出的载波信号。在双方建立了物理层连接后,PPP就进入"链路建立"状态,然后建立链路层的LCP连接。