一、数据链路层的基本概念
结点:主机、路由器
链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路
数据链路:网络中两个结点之间的逻辑通道,把实现控制数据协议的硬件和软件加到链路上就构成数据链路
帧:链路层的协议数据单元,封装网络层数据报
数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
二、数据链路层的功能
1·为网络层提供服务。无确认无连接服务,有确认无连接服务,有确认面向连接服务。
2·链路管理,即连接的建立、维持、释放(用于面向连接的服务)。
3·组帧。
4·流量控制。
5·差错控制(帧错/位错)。
三、封装成帧和透明传输
(1)封装成帧
封装成帧就是在一段数据前后分别添加首部和尾部,这样就构成了一个帧。
- 首部和尾部的作用:帧定界(确定帧的界限)
- 帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起止和终止。
- 帧的数据部分不能超过最大传输单元MTU
- 组帧的四种方法:字符计数法、字符填充法、零比特填充法、违规编码法
1·字符计数法:帧首部使用一个计数字段来标名帧内字符数,可能造成一个错误以后全部错误
2·字符填充法:数据部分在帧首部与帧尾部之间,可能错误地找到帧的边界,需要使用转义字符
3·零比特填充法:首部和尾部的标志符为01111110,中间的数据遇到11111填充0
4·违规编码法:在曼彻斯特编码中可以用“高高”和“低低”来界定帧的起始和终止,即使用不和贵的编码来界定帧
(2)透明传输
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。我们使用SOH和EOT分别表示帧的首部和尾部。
- 当所传数据中的比特组合恰巧与某一个控制信息完全相同时,就必须采取适当的措施,使收方不会讲这样的数据误认为是某种信息。这样才能保证数据链路层的传输是透明的。
- 用字节填充的方法插入转义字符确保接收和SOH以及EOT相同的数据。接收端在接收数据之前删除插入的转义字符,当接收端收到连续的两个转义字符时,就删除前面的一个。
四、差错检测
在传输过程中可能会产生比特差错
- 1可能变成0而0也可能变成1
- 在一段时间内,传输错误的比特所占传输比特总数的比率称之为误码率BER。误码率与信噪比有很大的关系。
- 为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。