前言
本文基于王道考研课程与湖科大计算机网络课程教学内容,系统梳理核心知识记忆点和框架,既为个人复习沉淀思考,亦希望能与同行者互助共进。(PS:后续将持续迭代优化细节)
往期内容
核心知识记忆点
数据链路层:封装成帧、透明传输、差错检测
点对点传输,广播,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.王道考研课程