5.3 题目讲评与原理反查
约 52 分钟
5.3 题目讲评与原理反查
训练主题
TCP序号、连接、可靠性、流量与拥塞
代表推演
把两个方向分别画seq/ack、SYN/FIN占号、rwnd/cwnd和定时器;握手、重传、流量控制、拥塞控制不能只背状态名。
统一状态表
UDP题列伪首部、首部、数据与16位反码和;TCP题按两个方向分别列seq、len、ack、SYN/FIN、rwnd、cwnd和在途字节。端口分用先写协议与四元组,不能只看服务器端口。
计算门禁
ACK=连续收到的最后字节+1;SYN和FIN各占1序号。可新发数据=min(rwnd,cwnd)-flight且不得为负。慢开始和拥塞避免按题目给定教材模型更新;超时与重复ACK触发规则不同。
错因与二次变式
常见错误是把TCP报文段号当字节序号、把ACK写成已收最后字节、把第三次握手当无用、把零窗口当连接断开、把流量控制当拥塞控制。替换一个丢包或窗口事件后完整重做。
状态复核
最后检查四元组唯一、两个方向ACK均落在已发送范围、在途数据未越窗口、状态转换有对应报文、检验和按反码回卷。没有报文证据的状态名不计分。
报文表输出规范
每行写时刻、方向、源/目的端口、标志、seq、len、ack、rwnd和状态。检验和题列每个16位字、回卷进位与最终反码;拥塞题另列ssthresh、cwnd、flight和触发事件。单位统一为字节或MSS,不能中途切换。
二次变式
把SYN、第三次ACK、数据段、累计ACK分别设为丢失,重新判断谁超时、重传什么、接收方是否重复交付。再把rwnd缩小或令cwnd超时减半,重算可发送范围。只改变最终数字而不更新报文和定时器视为未完成。
课内验收
完成下方两道在线题。计算题保留每个中间字段,选择题为错误项给反例或缺失条件。
Practice
本课练习
先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。