网络层职责与数据平面
约 52 分钟
网络层职责与数据平面
本课目标
能从IP报文、地址前缀、映射表、路由状态和设备队列逐步推出下一跳、分片、协议时序或拥塞结果,并用代码复核数值。
核心机制
网络层把分组从源主机送到目的主机。数据平面按转发表逐包转发,控制平面计算和维护路由;转发是局部动作,路由是全网路径选择。无连接数据报服务让每个分组独立选择下一跳,尽力而为不保证到达、顺序或时延。
报文、地址与时序推演
路由器对目的地址做最长前缀匹配,选出接口/下一跳,经过队列与链路发送;TTL逐跳减1,归零时丢弃并通常回送ICMP。
统一记录“输入接口、首部字段、目的前缀、候选路由、最长匹配、输出接口、队列状态”。控制协议题另画请求/响应主体和地址层次;路由题记录每轮距离、前驱或路径属性。所有地址先标前缀长度,所有分片先标数据长度与8字节偏移单位。
可运行模型
import ipaddress
routes=[('10.0.0.0/8','A'),('10.1.0.0/16','B'),('0.0.0.0/0','D')];dst=ipaddress.ip_address('10.1.2.3');print(max(((ipaddress.ip_network(p).prefixlen,n) for p,n in routes if dst in ipaddress.ip_network(p)))[1])
先手算再运行。修改MTU、前缀、NAT端口、链路代价、AS属性或到达率,说明报文和状态怎样变化。
边界与错因
转发不等于路由;ARP解析下一跳MAC而不改变IP目的;NAT映射必须能让回包唯一还原。IPv4分片偏移单位不是字节,IPv6路由器不分片。RIP/OSPF/BGP分别是距离向量、链路状态、路径向量与策略,不能只按“最短”混答。转发表正确也可能因输出队列拥塞丢包。
迁移练习
把同一分组改MTU、DF或TTL;把同一地址放入多个重叠前缀;让链路代价或BGP属性改变;给路由器输入增加突发流量。每次重画字段、候选项和最终状态,而非只改结论。
课内验收
完成下方两道在线题,并提交分片表、前缀匹配表、协议时序或路由迭代表。计算题保留字节、bit和前缀单位。
Practice
本课练习
先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。