数据链路层功能与组帧
约 50 分钟
数据链路层功能与组帧
本课目标
能把比特流组织为帧,逐步维护序号、窗口、确认、定时器、介质状态或MAC表;能从报文/时序状态计算检错码、利用率、最小帧和转发结果。
核心机制
把物理比特流组织成可识别帧,提供封装成帧、透明传输、差错检测、流量与可靠传输等功能。字符计数依赖长度字段;字节填充转义定界字节;比特填充在连续5个1后插0,接收端逆操作。
帧、时序与状态推演
数据01111110若处于帧数据中,发送端在连续5个1后填0,避免误认标志01111110。
统一表格记录“时刻、发送方窗口、接收方期望、帧/ACK、定时器、介质或转发表状态”。每次事件只更新受影响对象;帧丢失、ACK丢失、超时和重复帧必须分别处理。计算前先明确序号位数、窗口边界、传播方向和单位。
可运行模型
bits='01111110';out='';ones=0
for b in bits:
out+=b;ones=ones+1 if b=='1' else 0
if ones==5:out+='0';ones=0
print(out)
先手算再运行。修改比特串、生成多项式、窗口、传播时延、码片或MAC帧顺序,说明状态和结果怎样变化。
边界与错因
检错通过不保证绝对无错;确认号语义必须按协议定义;GBN和SR的接收窗、重传范围不同。CSMA监听不能消除传播期碰撞;交换机学习源地址而非目的地址;VLAN分广播域,普通交换端口分冲突域。PPP点到点链路不需要介质竞争。
状态复核时还要检查帧序号是否落在窗口、同一帧是否重复交付、令牌是否唯一、交换表端口是否由最近源帧学习,以及帧长度能否覆盖最坏碰撞往返时间。
迁移练习
为同一场景加入数据帧丢失、ACK丢失或序号回绕,重新画时间线;将集线器换交换机、将端口划入不同VLAN,重画冲突域和广播域;改变帧长与传播时延,重新判断利用率和碰撞检测。
课内验收
完成下方两道在线题,并提交完整比特运算、窗口表或MAC学习表。只写最终答案而没有状态迁移视为未完成。
Practice
本课练习
先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。