Skip to content

2021年 408 计算机网络 第 37 题

计算机网络2021年选择题2分

题目

某网络中的所有路由器均采用距离向量路由算法计算路由。若路由器 E 与邻居路由器 A、B、C 和 D 之间的直接链路距离分别是 8、10、12 和 6,且 E 收到邻居路由器的距离向量如下表所示,则路由器 E 更新后的到达目的网络 Net1 ~ Net4 的距离分别是( )。

目的网络A 的距离向量B 的距离向量C 的距离向量D 的距离向量
Net11232022
Net212353028
Net324181636
Net43630824

E 到各邻居的链路距离:E-A = 8、E-B = 10、E-C = 12、E-D = 6。

错因

A

把"E 到各邻居的链路距离 (8, 10, 12, 6)" 直接当成"E 到 Net1 ~ Net4 的距离"——完全没用距离向量算法。距离向量算法的核心步骤是 E 到 Net X 的距离 = min{E 到邻居 Y 的距离 + Y 到 Net X 的距离},必须做加和取最小。

B

Net1 = 9(经 A)✓ 算对了,Net3 = 28(经 B)✓ 算对了,Net4 = 20(经 C)✓ 算对了。但 Net2 = 10 错:把 E 到 B 的链路距离 10 直接当成 E 到 Net2 的距离,漏掉 B 到 Net2 的 35 —— 经 B 到 Net2 实际是 10 + 35 = 45,远不止 10。Net2 的最小路径是经 A:8 + 12 = 20。

C

Net1 = 9 ✓、Net2 = 20 ✓、Net4 = 20 ✓ 三项都对,但 Net3 = 12 错:把 E 到 C 的链路距离 12 当成 E 到 Net3 的距离,漏掉 C 到 Net3 的 16 —— 经 C 到 Net3 实际是 12 + 16 = 28,比 12 大。Net3 的最小路径是经 B 或 C 都得 28。

总解析

第一步:明确距离向量算法的更新公式

E 到 Net X 的新距离:

其中 是 E 到邻居 Y 的链路距离, 是 Y 自己到 Net X 的距离(来自 Y 的距离向量)。

第二步:逐个目的网络枚举

E 到各邻居链路距离:A = 8, B = 10, C = 12, D = 6。

Net1(A 给 1, B 给 23, C 给 20, D 给 22):

经由算式距离
A8 + 19
B10 + 2333
C12 + 2032
D6 + 2228

最小 = 9(经 A)

Net2(A 给 12, B 给 35, C 给 30, D 给 28):

经由算式距离
A8 + 1220
B10 + 3545
C12 + 3042
D6 + 2834

最小 = 20(经 A)

Net3(A 给 24, B 给 18, C 给 16, D 给 36):

经由算式距离
A8 + 2432
B10 + 1828
C12 + 1628 ⭐(并列)
D6 + 3642

最小 = 28(经 B 或 C 并列)

Net4(A 给 36, B 给 30, C 给 8, D 给 24):

经由算式距离
A8 + 3644
B10 + 3040
C12 + 820
D6 + 2430

最小 = 20(经 C)

第三步:汇总 E 的新距离向量

目的新距离选定下一跳
Net19A
Net220A
Net328B 或 C
Net420C

最终答案是 D(9, 20, 28, 20)

编者注(生僻术语):距离向量算法(如 RIP)的工作模式——每个路由器周期性地把自己的距离向量("我到所有目的的距离")告诉所有邻居;收到邻居向量后,按 Bellman-Ford 公式更新自己的向量。这种算法的好处是简单(路由器只需知道直连链路 + 邻居的向量),坏处是收敛慢、有环路风险("计数到无穷"问题)。RIP 用最大跳数 15 限制网络规模来缓解这个问题。本题就是 Bellman-Ford 一轮迭代的标准计算题。

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数