网络计算与分析题¶
1. 子网与广播地址¶
主机 IP 为 192.168.1.100/28:主机位 32-28=4 位,块大小为 2^4=16,该 IP 落在 96 至 111 区间,因此网络地址为 192.168.1.96/28,可用主机为 192.168.1.97 至 192.168.1.110,广播地址为 192.168.1.111。
常用前缀:
| 前缀 | 掩码 | 块大小 | 通常可用主机 |
|---|---|---|---|
| /25 | 255.255.255.128 | 128 | 126 |
| /26 | 255.255.255.192 | 64 | 62 |
| /27 | 255.255.255.224 | 32 | 30 |
| /28 | 255.255.255.240 | 16 | 14 |
| /29 | 255.255.255.248 | 8 | 6 |
| /30 | 255.255.255.252 | 4 | 2 |
不要把 /28 按 /24 直接使用 .255 作为广播地址;前缀长度决定主机位范围。网络地址、广播地址和可用主机数的特殊规则可能受 IPv4 特殊网段影响,按题设核验。
2. 路由分析¶
先判断协议作用范围:IGP 用于自治系统内部,如 RIP、OSPF;EGP 用于自治系统之间,典型是 BGP。RIP 以跳数选路且 16 跳不可达;该上限限制度量增长范围,但不能单独消除路由环路或“计数到无穷”及其收敛延迟。OSPF 以 Cost 选路并依据链路状态收敛。遇到路由题,应先识别度量,再判断收敛、规模和路径约束。
3. 故障定位¶
ping 主要利用 ICMP Echo 检查连通性;traceroute/tracert 观察路径。IP 到 MAC 的问题看 ARP,私网到公网转换看 NAT,主机未取得地址看 DHCP,域名解析问题看 DNS 记录、递归/迭代链路和缓存。协议职责不能混用。
大纲补充:性能题统一步骤
- 画路径,标出链路数与中间设备数,区分单向传输、往返确认和多分组流水。
- 统一单位:
1 Byte=8 bit,本页1 kbit=10³ bit、1 Mbit=10⁶ bit、1 MB=10⁶ Byte;若题目写 KiB、MiB,则分别按2^10、2^20Byte。 - 每条链路计算发送
L/R与传播d/v,每台设备另加处理和排队;明确题目忽略哪些项。 - 确认按首比特还是末比特到达计时,是否存储转发、是否计首部和 ACK,再计算吞吐量或利用率。
- 用量纲和数量级复核:bit 除以 bit/s 得秒;不能把传播距离直接除以链路比特率。
补充样例 22:单链路发送与传播时延
帧长 1500 Byte,链路速率 10 Mbit/s,距离 100 km,传播速度 2×10^8 m/s,忽略处理、排队。发送时延为 1500×8/(10×10^6)=1.2 ms,传播时延为 100000/(2×10^8)=0.5 ms,从开始发送到最后一比特到达共 1.7 ms。首比特从发出到到达只需 0.5 ms;提高带宽只降低发送时延,不改变这里的传播时延。
补充样例 23:多跳存储转发
源到目的经过 2 台路由器、共 3 条链路;每条链路 2 Mbit/s、单向传播时延 2 ms,分组长 1000 Byte,每台路由器处理 1 ms,排队忽略。每跳发送为 8000/(2×10^6)=4 ms,末比特端到端时延为 3×4+3×2+2×1=20 ms。三个发送时延都要计入,不能把“2 台路由器”误当作“2 条链路”;若改为直通转发则不能直接套这个结果。
补充样例 24:等速链路的分组流水
5 个分组通过 3 条等速链路,每个分组 1000 Byte,速率 2 Mbit/s,存储转发,忽略传播、处理、排队和首部。每个分组发送时间 t=4 ms,第一个分组 12 ms 到达,后续每隔 4 ms 到达一个,全部到达需 (3+5−1)×4=28 ms,不是 3×5×4=60 ms。有效吞吐量为 5×8000/0.028≈1.429 Mbit/s;此公式要求等长分组、等速链路及可流水转发。
补充样例 25:瓶颈速率与实测吞吐量
一条路径的各链路速率为 100、20、50 Mbit/s,忽略共享竞争及协议开销,持续传输的理想端到端吞吐上限为最小值 20 Mbit/s,而不是平均值。传输 10 MB 文件,仅按瓶颈发送量估计下限为 10×10^6×8/(20×10^6)=4 s;完整完成时间还需考虑首尾传播、协议等因素。若实际用时 5 s,则文件有效吞吐量为 80 Mbit/5 s=16 Mbit/s,占瓶颈速率的 80%,不是占 100 Mbit/s 链路的 80%。
补充样例 26:停止-等待利用率与 ACK 发送时间
数据帧长 1000 Byte、速率 1 Mbit/s、单向传播 10 ms,ACK 长 40 Byte 且反向速率相同,忽略处理与差错。数据帧发送为 8 ms,ACK 发送为 0.32 ms,一个周期为 8+10+0.32+10=28.32 ms。正向发送方的数据发送利用率为 8/28.32≈28.25%,若整帧均为有效数据,有效吞吐量为 8000/0.02832≈282486 bit/s。若题设忽略 ACK 发送,则改为 8/(8+20)≈28.57%,不能把完整 RTT 再乘 2。
补充样例 27:流水窗口至少多大
链路速率 10 Mbit/s,数据帧 1000 Byte,单向传播 10 ms,忽略 ACK 发送、处理和差错,则数据帧发送时间 Tt=0.8 ms。第一个帧的 ACK 最早在 Tt+2Tp=20.8 ms 后返回;若窗口为 W,连续发送 W 帧耗时 W×0.8 ms,无空闲需要 W≥⌈20.8/0.8⌉=26。k=5 的 GBN 序号允许窗口上限 31,足够;k=5 且收发窗口等大的 SR 上限为 16,不够,至少需 k=6 才允许窗口 32。
补充样例 28:RTT 带宽积与链路在途量
速率 100 Mbit/s、给定 RTT 为 40 ms,则按 RTT 估计的在途窗口需求为 100×10^6×0.04=4×10^6 bit=500000 Byte。若另知单向传播时延为 20 ms,则单条链路传播在途量为 100×10^6×0.02=2×10^6 bit=250000 Byte。窗口仅为 64000 Byte 时,忽略其他限制的窗口吞吐上限为 64000×8/0.04=12.8 Mbit/s,实际吞吐还受瓶颈速率等约束。
补充样例 29:共享以太网冲突检测与帧长
理想共享半双工链路速率 10 Mbit/s、最坏单向传播 25.6 μs,忽略其他设备延迟,要求 L/R≥2Tp,最小帧长为 10×10^6×51.2×10^−6=512 bit=64 Byte。这说明最短帧与最坏往返传播预算有关;若题目给出中继设备延迟也要计入预算。该推导不能直接用于说明全双工链路需要检测冲突。
补充样例 30:排队时延不能漏算
某输出链路速率 2 Mbit/s,所有分组长 1000 Byte,当前正在发送的分组还剩一半,队列中另有 3 个完整分组排在新到分组前。每个完整分组发送需 4 ms,新分组开始发送前要等 2+3×4=14 ms;自身发送再需 4 ms,若下一跳传播 1 ms,则从到达队列到自身末比特到达下一跳共 14+4+1=19 ms。这里 14 ms 是等待时延,不含新分组自身发送时间。
大纲补充:III-1 时延分解模型与适用条件
分组在单链路上的结点到结点时延,常按 d_total=d_proc+d_queue+d_trans+d_prop 分解:处理时延 d_proc 是检查首部、查表等耗时,单位 s;排队时延 d_queue 是等待输出链路的时间,单位 s;发送时延(传输时延)d_trans=L/R,其中 L 为整个待发送分组长度(bit),R 为链路速率(bit/s),结果为 s;传播时延 d_prop=d/v,其中 d 为链路长度(m)、v 为信号传播速度(m/s),结果为 s。发送时延取决于分组长度和速率,传播时延取决于距离和传播速度,两者不应混淆。逐跳存储转发时,每台路由器通常需等完整分组接收后再转发,发送时延按经过的链路逐段累加;直通转发、流水重叠等情况须依题设另建模型。排队时延没有给定到达/服务条件时不能凭空设为固定值。
补充样例 31:处理、排队与链路传播合计
条件:一个长度 1200 Byte 的分组经过一条 5 Mbit/s 链路,链路长 40 km,传播速度 2×10^8 m/s;进入链路前处理耗时 0.4 ms,排队等待 1.6 ms,忽略其他耗时。步骤:先换算 L=1200×8=9600 bit,发送时延 9600/(5×10^6)=1.92 ms;传播时延 40000/(2×10^8)=0.2 ms;合计 0.4+1.6+1.92+0.2=4.12 ms。结果是该分组从到达结点开始处理至末比特到达链路另一端的时延为 4.12 ms。边界:若计时终点为首比特到达,不能把整段发送时延都算入;若有多跳,应逐链路计算且按转发方式决定是否累加处理和排队。
大纲补充:带宽时延积(BDP)题型边界
带宽时延积表示给定时延期间链路可发送/在途的数据量。BDP=R×T,R 用 bit/s、T 用 s,结果为 bit;除以 8 才得到 Byte。T 必须按题目所问选取:单向链路传播在途量用单向传播时延 Tp;端到端确认反馈窗口常用 RTT。若窗口为 W Byte、忽略其他限制,窗口限制的吞吐上限近似 W×8/RTT bit/s;实际吞吐还受瓶颈带宽、接收窗口、拥塞窗口、丢包和协议开销约束。
补充样例 32:窗口覆盖 RTT 与单位换算
条件:端到端 RTT 为 50 ms,瓶颈链路速率 80 Mbit/s;只考虑连续发送且 ACK 能及时返回,忽略首部、丢包、接收窗口和拥塞窗口限制。步骤:为使发送端在 ACK 返回前持续发送,所需窗口约为 R×RTT=80×10^6×0.05=4×10^6 bit=500000 Byte,即约 500 kB(十进制)。若窗口只有 100000 Byte,则窗口限制吞吐上限为 100000×8/0.05=16×10^6 bit/s=16 Mbit/s,低于 80 Mbit/s 瓶颈速率。边界:这里使用 RTT 算端到端反馈窗口,不是单向传播在途量;若题目给的是 KiB,需按 1 KiB=1024 Byte 换算;窗口达到 BDP 仅表示在理想条件下不因 ACK 等待而空闲,不保证实际吞吐必然达到链路速率。