数据链路层
数据链路层概述
所谓链路就是从一个节点到相邻节点的一段物理链路(有线或无线),而中间没有任何其他的交换节点。在进行数据通信时,两台计算机之间的通信路径往往要经过许多段这样的链路。可见链路只是一条路径的组成部分。
数据链路则是另一个概念。这是因为当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。现在最常用的方法是使用网络适配器(既有硬件,也包括软件)来实现这些协议。一般的适配器都包括了数据链路层和物理层这两层的功能。
数据链路层负责通过一条链路从一个节点向另一个物理链路直接相连的相邻结点传送数据报。
链路层的服务
-
封装成帧
-
链路接入
-
相邻结点间可靠交付
-
流量控制
-
差错检测
-
差错纠正
-
全双工和半双工通信控制
链路层具体实现
-
每个主机或路由器接口
-
链路层在“适配器”(即网络接口卡-NIC)中实现或者在一个芯片上实现
-
链接主机的系统总线
-
由硬件、软件与固件组成
网卡间通信
-
发送端
-
接收端
差错检测
差错编码
-
差错编码基本原理:D——>DR,其中R为差错检测与纠正比特(冗余比特)
-
差错编码不能保证100%可靠
-
差错编码的检错能力
奇偶校验码
-
1比特校验位,检测奇数位差错
-
2维奇偶校验
Internet校验和(Checksum)
-
发送端:
-
接收端:
循环冗余校验码(CRC)
-
检错能力更强大的差错编码
-
将数据比特,D,视为一个二进制数
-
选择一个r+1位的比特模式(生成比特模式),G
-
目标:选择r位的CRC比特,R,满足
-
广泛应用于实际网络(以太网,8022.11 WIFI,ATM)
多路访问控制(MAC)协议
-
数据链路层使用的信道主要有以下两种类型:
-
单一共享广播信道
-
两个或者两个以上结点同时传输:干扰,冲突,结点同时接收到两个或者多个信号——>接收失败!
-
采用分布式算法决定结点如何共享信道,即决策结点何时可以传输数据。
-
必须基于信道本身,通信信道共享协调信息。无带外信道用于协调
-
理想MAC协议:
-
MAC协议分类
-
信道划分MAC协议:TDMA
-
信道划分MAC协议:FDMA
-
随机访问MAC协议
-
MAC协议总结