408 计算机网络 知识点记忆(3)数据链路层上(更新优化版本,版本2.0)
前言
本文基于王道考研课程与湖科大计算机网络课程教学内容以及计算机网络(第八版),系统梳理核心知识记忆点和框架,既为个人复习沉淀思考,亦希望能与同行者互助共进。
往期内容
核心知识记忆点+理解性说明
第三章 数据链路层
1.数据链路层的功能
数据链路层:封装成帧、透明传输、差错检测
点对点传输,广播,CSMA/CD 有线 CSMA/CA 无线
链路/物理链路
数据链路/逻辑链路 链路+协议硬件+软件
链路管理 数据链路层建立、维持和释放
封装成帧
帧界定 eg HDLC 0111 1110 开始和结束
流量控制
控制发送方发送别太快
差错检测
位错 循环冗余检验CRC 奇偶校验是“1”个数
帧错 帧丢失,重复,失序
通信路径:链路+路由器
不可靠传输服务:直接丢弃有误码的帧
可靠传输服务:实现发送方发送什么,接收方最终都能正确接收
有线链路误码率低
无线链路误码率高
2.组帧
帧定界、帧同步、透明传输
以太网V2MAC帧+前导码(1字节帧开始定界符+7字节前同步码),帧间间隔96比特时间
字符计数法 计数字段实现记录该帧所含字节数
字节填充法 特定字节定界帧开始与结束 SOH开始 EOT结束 转译ESC
零比特填充法 HDLC 0111 1110 表示开始与结束 遇5个1添0
违规编码 eg 曼彻斯特编码 高-高 低-低 只适用于冗余编码特殊编环境
面向字节物理链路使用字节填充
面向比特物理链路使用比特填充
3.差错控制
A.检错编码
自动重传(ARQ) 丢弃、重传 检错 奇偶、CRC
循环冗余检验CRC 和帧检验序列FCS 并不是同一个概念。CRC 是一种检错方法,而FCS是添加在数据后面的冗余码,在检错方法上可以选用CRC,但也可不选。
B.纠错编码 (详见之后的计算机组成原理部分:IN CONSTRUCTION)
向前纠错(FEC) 纠错
码距L=min{位串异或中1的个数(几个不同)}
L=D(检错位数)+C(纠错位数)+1,D>=C
- 检错d位错误,码距d+1 码距为1无法检错
- 纠正c位错误,码距至少2c+1
eg 海明码1位检错
信息位、检验位 n+k 出错情况 1种正确 2 k > = n + k + 1 2^k >=n+k+1 2k>=n+k+1
确定k
检验码位置 2 0 , 2 1 , 2 2 , . . . . . . . , 2 k − 1 2^0 , 2^1 , 2^2 , . . . . . . . , 2^{k − 1} 20,21,22,.......,2k−1
原始位横向加法构成,验证码纵向求异或
检验组异或值为0
4.流量控制与可靠传输机制
A.流量控制、可靠传输与滑动窗口机制
误码(数据及其下层) 分组丢失、分组失序、分组重复(数据上层)
滑动窗口 先编号,再划分窗口大小
B.停止-等待协议
W T = W R = 1 超时重传
ARQ 停止等待 累计确认 1比特给分组编号 误码NAK(否认分组) 超时重传RTO稍大于RTT
第一,A在发送完一个分组后,必须暂时保留已发送的分组的副本(在发生超时重传时使用)。只有在收到相应的确认后才能清除暂时保留的分组副本。
第二,分组和确认分组都必须进行编号。这样才能明确是哪一个发送出去的分组收到了确认,而哪一个分组还没有收到确认。
第三,超时计时器设置的重传时间应当比数据在分组传输的平均往返时间更长一些。
假定B又收到了重传的分组M1。这时应采取两个行动。
第一,丢弃这个重复的分组M1,不向上层重复交付。
第二,向A发送确认。不能认为已经发送过确认就不再发送,因为A之所以重传M1就表示A没有收到对M1的确认。
像上述的这种可靠传输协议常称为自动重传请求ARQ(Automatic Repeat reQuest)。意思是重传的请求是自动进行的,因此也可见到自动请求重传这样的译名。接收方不需要请求发送方重传某个出错的分组。
C.后退N帧协议(GBN)
连续ARQ/滑动窗口协议 后退N帧 超时重传该帧之后的所以帧 WT>1 WR=1 WT>1 WR=1 W T>1
D.选择重传协议(SR)
选择重传 只传送出现错误的 WR < = WT,WR<=WT ,W R<=W
实际一般W R = W T,WR=WT, W R=W T , W R + W T < = 2 n W R + W T < = 2^n WR+WT<=2n
n为比特帧编号数,否则接收方无法分辨新旧数据分组
信道利用率:发送方在发送周期内发送时间/整个周期时间
停止等待协议: u = T D / ( T D + R T T + T A ) u=T_D/(T_D+RTT+T_A) u=TD/(TD+RTT+TA)
连续ARQ: u = n T D / ( T D + R T T + T A ) u=nT_D/(T_D+RTT+T_A) u=nTD/(TD+RTT+TA) 最大为1
数据传输速率=可发送数量量/发送周期
往返时延太大,不适宜采用SW协议
一个数据分组的差错就可能引起大量数据分组的重传,在信道质量较差(容易出现误码)的情况下,回退N帧协议的信道利用率并不比SW协议信道利用率高 累计确认
数据链路层一般不会出现确认分组迟到的情况 因此在数据链路层实现SW协议可以不用给确认分组编号
总结(之前的版本)
数据链路层:封装成帧、透明传输、差错检测
点对点传输,广播,CSMA/CD 有线 CSMA/CA 无线
链路/物理链路
数据链路/逻辑链路 链路+协议硬件+软件
链路管理 数据链路层建立、维持和释放
封装成帧
帧界定 eg HDLC 0111 1110 开始和结束
流量控制
控制发送方发送别太快
差错检测
位错 循环冗余检验CRC 奇偶校验是“1”个数
帧错 帧丢失,重复,失序
通信路径:链路+路由器
不可靠传输服务:直接丢弃有误码的帧
可靠传输服务:实现发送方发送什么,接收方最终都能正确接收
有线链路误码率低
无线链路误码率高
组帧/封装成帧:帧定界、帧同步、透明传输
以太网V2MAC帧+前导码(1字节帧开始定界符+7字节前同步码),帧间间隔96比特时间
字符计数法 计数字段实现记录该帧所含字节数
字节填充法 特定字节定界帧开始与结束 SOH开始 EOT结束 转译ESC
零比特填充法 HDLC 0111 1110 表示开始与结束 遇5个1添0
违规编码 eg 曼彻斯特编码 高-高 低-低 只适用于冗余编码特殊编环境
差错控制
自动重传(ARQ) 丢弃、重传 检错 奇偶、CRC
向前纠错(FEC) 纠错
码距L=min{位串异或中1的个数(几个不同)}
L=D(检错位数)+C(纠错位数)+1,D>=C
1)检错d位错误,码距d+1 码距为1无法检错
2)纠正c位错误,码距至少2c+1
eg 海明码1位检错
信息位、检验位 n+k 出错情况 1种正确 2 k > = n + k + 1 2^k>=n+k+1 2k>=n+k+1
确定k
检验码位置 2 0 , 2 1 , 2 2 , . . . . . . . , 2 k − 1 2^0,2^1,2^2,.......,2^{k-1} 20,21,22,.......,2k−1
检验码横向加法,验证纵向求异或
检验组异或值为0
流量控制 可靠传输
停止等待 W T = W R = 1 W_T=W_R=1 WT=WR=1 超时重传
滑动窗口 先编号,再划分窗口大小
ARQ 停止等待 累计确认 1比特给分组编号 误码NAK(否认分组) 超时重传RTO稍大于RTT
连续ARQ/滑动窗口协议 后退N帧 超时重传该帧之后的所以帧 W T > 1 W R = 1 W_T>1 W_R=1 WT>1WR=1
选择重传 只传送出现错误的 W R < = W T W_R<=W_T WR<=WT 实际一般 W R = W T W_R=W_T WR=WT W R + W T < = 2 n W_R+W_T<=2^n WR+WT<=2nn为比特帧编号数,否则接收方无法分辨新旧数据分组
信道利用率:发送方在发送周期内发送时间/整个周期时间
停止等待协议: u = T D / ( T D + R T T + T A ) u=T_D/(T_D+RTT+T_A) u=TD/(TD+RTT+TA)
连续ARQ: u = n T D / ( T D + R T T + T A ) u=nT_D/(T_D+RTT+T_A) u=nTD/(TD+RTT+TA) 最大为1
数据传输速率=可发送数量量/发送周期
往返时延太大,不适宜采用SW协议
一个数据分组的差错就可能引起大量数据分组的重传,在信道质量较差(容易出现误码)的情况下,回退N帧协议的信道利用率并不比SW协议信道利用率高 累计确认
结语
数据链路层作为网络通信的“桥梁”,承载着将原始比特流转化为可靠数据帧的使命。从封装成帧的精准界定到滑动窗口的高效调度,从CRC校验的严谨纠错到海明码的智慧冗余,每一项技术都在为信息的无误传递保驾护航。无论是CSMA/CD在冲突碰撞中的优雅退避,还是CSMA/CA在无线环境下的信道预约,都彰显了协议设计者对复杂场景的深刻洞察与巧妙平衡。
在帧定界的透明传输中,我们领悟到技术对“边界”的尊重与突破;在ARQ的重传机制里,我们感受到可靠性与效率的永恒博弈。停止等待协议的质朴坚守、回退N帧的果断回溯、选择重传的精准修复,无不启示我们:在信道利用率的优化之路上,既需全局视野的统筹,又需细节极致的雕琢。
参考资料
1.王道考研课程
2.湖科大计算机网络课程
3.计算机网络(第八版)
更多推荐
所有评论(0)