计算机网络(第三章 数据链路层)
这里写目录标题
- 计算机网络(第三章 数据链路层)
- 一、概述
- 二、使用点对点信道的数据链路层
- 三、使用广播信道的数据链路层
一、概述
1. 基本概念
- 链路(物理链路):网络中两个结点之间的物理通道
- 数据链路(逻辑链路):把实现控制数据传输协议的硬件及软件加到链路上就构成数据链路
最常用的方法:网络适配器(网卡)来实现这些协议的硬件和软件
- 帧 – 数据链路层协议传输的数据单位
2. 作用及功能
-
作用:在相邻节点间无差错传输数据帧
-
功能:
(1)链路管理:数据链路的建立、维护、释放
(2)帧同步:接收方应从收到的比特流中正确判断帧的开始与结束
(3)组帧:使发送方和接收方能够在数据流中识别出单个消息或数据单元的开始和结束位置,而将数据组织成特定格式的过程
(4)流量控制:控制发送方的数据发送速度,使得接收方来得及接收,以致网络不发生拥塞
(5)差错控制:发现传输中出现的错误
(6)透明传输:采取适当措施,使接收方不至于把数据误认为是控制信息
(7)寻址:收发双方应知道对方是谁
3. 组帧方法
(1)字符计数法
- 帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数
- 若第一个字节发生错误,导致后面所有帧全部发生错误
(2)字符填充法
- 当错误的找到了帧的边界,使用字符填充
- 在控制信息字符前加入转义字符,意在高速接收端,不用管转义字符后的数据是什么,正常接收,直到遇到真正的结束字符
(3)零比特填充法
(4)违规编码法
- 使用编码中不会用到的方式
总结:由于字节计数法中Count字段的脆弱性及字符填充实现的复杂和不确定性,目前普遍使用的是比特填充法和违规编码法
4. 三个基本问题
(1)封装成帧
- 在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限
- eg:使用控制字符进行帧定界
(2)透明传输
- 透明传输指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西
- 解决方法:字节填充法
(3)差错检测
5. 可靠传输和不可靠传输
Tips:可靠传输三种协议
3.4.2 可靠传输的实现机制 — 停止-等待协议
二、使用点对点信道的数据链路层
1.通信主要步骤
- 发送方A数据链路层将网络层交下来的IP数据报添加首部和尾部封装成帧
- 发送方A将封装好的帧发送给结点B的数据链路层
- 接收方B收到的帧无错,则从帧中提取出IP数据报转交给网络层;若有错,则丢弃该帧
2. 三个基本问题
- 封装成帧
- 透明传输(用字节填充法解决)
- 差错检测(用循环冗余检验 CRC)