数据链路层在网络体系结构中的地位
假设数数据包只在数据链路层传输。
链路:一个结点到相邻结点的一段物理线路,而中间没有其他的交换结点。
数据链路:把实现通信协议的硬件和软件加到链路上,就构成了数据链路。
在数据链路层上传输的数据包,称为帧。
数据链路层以帧为数据单位来传输数据。
三个重要特性
封装成帧
数据链路层会在 接收到的数据单元前加上 帧头与帧尾。这个操作就是 封装成帧。为了在链路上以帧为单位传输数据。
差错检测
发送方在发送数据之前,基于发送的数据和检错算法计算出检错码,并将其封装在帧2尾。
上述的以太网V2的MAC帧的帧尾就是4字节的帧检验序列FCS字段。
写入该字段的内容就是检测码。
接收方就可以根据检测码和检测算法来计算。
可靠传输
如果发现有错误,就会丢失,不会再使用了。
如果数据链路层向上层提供的是不可靠服务,那么丢弃就丢弃了。如果提供可靠服务,那么就需要其他措施,还可以重新收到被丢弃的正确版本。
上述说明都是基于点对点的背景来说明的。
对于使用广播信道的数据链路层。还有一些其他需要解决的问题。
就是解决冲突,辨明识别。
A只要给C发送,BDE都不接受。
就可以通过在目的地址加入帧头。
第二个问题:传输碰撞。(信息冲突了)
以太网使用 媒体接入控制协议 CSMA/CD 来解决这个问题。即载波监听多点接入/碰撞检测。
无线局域网:载波监听多点接入/碰撞避免