数据链路层使用的信道主要有以下两种形式
(1) 点对点信道 一对一的点对点通信方式
(2)广播信道 一对多
局域网不放在网络层讨论,网络层讨论多个网络互连,是讨论分组怎样从一个网络,通过路由器,转发到另一个网络。本章,我们讨论分组怎样从一台主机传送到另一台主机,但并不经过路由器转发。局域网仍属于数据链路层。
3.1 使用点对点信道的数据链路层
3.1.1 数据链路和栈
链路:一个结点到相邻节点的一段物理线路(有线或无线),而中间没有任何其他的交换结点。(物理链路)
数据链路:数据在线路传送,除了物理线路还需要通信协议来控制数据传输。实现协议的硬件和软件加在链路上,就构成了数据链路。现在最常用的方法是网络适配器来实现这些协议。一般的适配器包括数据链路层和网络层。(链路)
数据链路层协议数据单元:帧
- 数据链路层把网络上交下来的数据构成帧发送到链路上。把收到的帧中数据取出上交网络层。网络层协议数据单元IP数据报(简称数据报,分组或包)
- 点对点信道数据链路层进行通信的主要步骤如下
- 结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧。
- 结点A把帧发送给结点B的数据链路层
- 若B收到的帧无差错,从收到的帧中提取出IP数据报交给上面的网络层,否则丢掉这个帧。
3.12 三个基本问题
1.封装成帧
在数据(IP数据报)前后添加首部和尾部(作用帧定界和包含很多控制信息)。接收端收到物理层比特流后,就能根据首部和尾部的标记,从收到的比特流识别帧的开始各结束。
为提高传输效率,帧的数据长度大于首部和尾部。但是每一种链路层协议都规定了所能传送的帧的数据部分长度上限。最大传送单元MTU。
当数据由可打印的ASCII码组成的文本文件时,帧定界可使用帧定界符。ASCII码是七位编码,一共128种,可打印(可以从键盘输入的)有95个,不可打印33个。控制字符SOH放在一帧的最前面,EOT放在最后。十六进制编码分变为01和04.。可判断帧的完整。
2.透明传输
所传输任何8比特组合不允许使用用作帧定界的控制字符的比特编码。
当传送的帧是用文本文件组成的帧时(都是可以从键盘输入的),其数据部分显然不会出现像SOH或EOT,透明传输。
非ASCII码文本文件,如计算机程序和图像等。会出错。在数据中出现控制字符前面加上转义字符ESC,十六进制(1B&