目录
5.1 链路层概述
- 5.1.1 链路层提供的服务
- 5.1.2 链路层在何处实现
5.2 差错检测和纠正方法
- 5.2.1 奇偶校验
- 5.2.2 校验和方法
- 5.2.3 循环冗余检测
5.1 链路层概述
我们想知道分组是如何通过构成端到端通信路径的各段链路的。为了在单段链路上传输,网络层的数据报是怎样被封装进链路层帧的呢?沿此通信路径,不同的链路能够采用不同的链路层协议吗?在广播链路中传输碰撞是如何解决的?在链路层存在编址吗?如果需要,链路层编址如何与网络层编址一起运行?交换机和路由器之间到底有哪些差异?
我们将看到两种截然不同类型的链路层信道。
- 第一种类型是广播信道,这种信道用于连接有线局域网、卫星网和混合光纤同轴电缆接入网的多台主机。因为许多主机与相同的广播信道连接,需要所谓的媒体访问协议来协调帧传输。在某些场合,可以使用中心控制器来协调传输。
- 第二种类型的链路层信道是点对点通信链路。在这诸如长距离链路连接的两台路由器之间,或用户办公室计算机与它们所连接的邻近以太网交换机之间等场合能够经常发现。协调对点对点链路的访问较为简单。
5.1 链路层概述
我们将运行链路层协议的任何设备均称为结点。结点包括主机、路由器、交换机和WiFi接入点。我们也把沿着通信路径连接相邻结点的通信信道称为链路。为了将一个数据报从源主机传输到目的主机,数据报必须通过沿端到端路径上的各段链路传输。
![](https://img.haomeiwen.com/i13670818/b1093c1fee1fb128.png)
5.1.1 链路层提供的服务
链路层协议能够提供的可能服务包括:
- 成帧。在每个网络层数据报经链路传送之前,几乎所有的链路层协议都要将其用链路层帧封装起来。一个帧由一个数据字段和若干首部字段组成,其中网络层数据报就插在数据字段中。帧的结构由链路层协议规定。
- 链路接入。媒体访问控制(Medium Access Control,MAC)协议规定了帧在连路上传输的规则。对于在链路的一端仅有一个发送方、链路的另一端仅有一个接收方的点对点链路,MAC协议比较简单(或者不存在),即无论何时链路空闲,发送方都能够发送帧。更有趣的情况是当多个结点共享单个广播链路时,即所谓多路访问问题。这里,MAC协议用于协调多个结点的帧传输。
- 可靠交付。链路层的可靠交付服务通常是通过确认和重传取得的。链路层可靠交付服务通常用于易于产生高差错率的链路,例如无线链路,其目的是本地(也就是在差错发生的链路上)纠正一个差错,而不是通过运输层或应用层协议迫使进行端到端的数据重传。然而,对于低比特差错的链路,包括光纤、同轴电缆和许多双绞铜线链路,链路层可靠交付可能被认为是一种不必要的开销。由于这个原因,许多有线的链路层协议不提供可靠交付服务。
- 差错检测和纠正。当帧中的一个比特作为1传输时,接收方结点中的链路层硬件可能不正确地将其判断为0,反之亦然。这种比特差错是由信号衰减和电磁噪声导致的。因为没有必要转发一个有差错的数据报,所以许多链路层协议提供一种机制来检测这样的比特差错。通过让发送结点在帧中包括差错检测比特,让接收结点进行差错检测,以此来完成这项工作。
5.1.2 链路层在何处实现
链路层的主体部分是在网络适配器中实现的。网络适配器有时也被称为网络接口卡。位于网络适配器核心的是链路层控制器,该控制器通常是一个实现了许多链路层服务(成帧、链路接入、差错检测等)的专用芯片。因此,链路层控制器的许多功能是用硬件实现的。
在发送端
网友评论