Appearance
题目
网络空间是继陆海空地之后的"第五疆域",网络技术是网络疆域建设与治理的基础。路由算法与协议是网络核心技术之一。对其准确认知,合理选择与应用,对网络建设十分重要。假设现有互联网中的 4 个自治系统互连拓扑示意图如题 47 图所示。其中,AS1 运行内部网关协议 RIP;AS3 规模较小,自治系统内任意两个主机间通信,经过路由器数不超过 15 个;AS4 规模较大,自治系统内任意两个主机间通信,经过路由器数量可能超过 20 个。
图中说明:AS1 运行 RIP,含 R11~R16;AS2/AS3/AS4 各自由一台路由器(R22/R33/R44)代表,分别通过 eBGP 链路接入 AS1 的 R11/R12/R13;外部网络 136.5.16.0/20 可通过 AS2、AS3、AS4 任一通路到达。
请回答下列问题:
(1) 若仅有 RIP 和 OSPF 内部网关协议供选择,则 AS4 应选择哪个协议?
(2) 若 AS3 中的某主机向本自治系统另一主机发送 1 个 IP 分组,为确保该 IP 分组能正常接收,则该 IP 分组的初始 TTL 值应至少设置为多少?
(3) 设 AS1 中的路由器同一时刻启动,启动后立即构建并交换初始距离向量,之后每隔 30 s 交换一次最新的距离向量。则从交换初始距离向量时刻算起,R11~R16 路由器均获到达网络 210.2.4.0/24 的正确路由,至少需多长时间?
(4) R44 向 R13 通告到达网络 136.5.16.0/20 路由时,由 BGP 协议哪类会话完成?通过哪个 BGP 报文通告?R13 通过 BGP 协议的哪类会话将该网络可达性信息通告给 R14 和 R15?
(5) 若 R14 和 R15 均收到分别由 R11、R12、R13 通告的到达网络 136.5.16.0/20 的可达性信息为:
- 目的网络:136.5.16.0/20,AS 路径:AS2 AS8 AS19,下一跳:R11
- 目的网络:136.5.16.0/20,AS 路径:AS3 AS7 AS11 AS19,下一跳:R12
- 目的网络:136.5.16.0/20,AS 路径:AS4 AS10 AS19,下一跳:R13
则在无策略约束情况下,R14 和 R15 更新路由表后,各自路由表中到达网络 136.5.16.0/20 路由的下一跳分别是什么(用路由器名称表示)?
解析
(1) AS4 应选择哪个 IGP
RIP vs OSPF 的根本差异:
| 特性 | RIP | OSPF |
|---|---|---|
| 度量 | 跳数(hop count) | 链路状态 + Cost |
| 最大跳数 | 15(16 即不可达) | 无硬上限 |
| 适用规模 | 小型网络 | 中大型网络 |
| 算法 | 距离向量(Bellman-Ford) | 链路状态(Dijkstra) |
题面给的关键约束:AS4 内任意两主机通信可能经过 20+ 个路由器 > RIP 的 15 跳上限 → RIP 不可用,必须选 OSPF。
RIP 的 15 跳上限不是"网络规模上限",是"任意一对端点跳数上限"。如果两个边缘子网之间走最短路要 16 跳,RIP 就把它当作不可达——即便这条路确实是物理上能走通的。
(2) AS3 内通信的 TTL 最小值
题面:AS3 内"任意两主机通信经过路由器数不超过 15",即最多经过 15 个路由器。
每经过一个路由器 TTL 减 1;TTL 减到 0 的分组被丢弃。所以为确保 15 跳后还能存活到达:
TTL = 1 才能被收下吗:分组到达目的主机时,主机不再"路由转发",所以最后一跳(目的主机的 NIC 接收)不消耗 TTL。所以"剩 1 还活着"是合法的。如果 TTL 到主机时为 0,主机仍会处理(TTL = 0 是被中转路由器丢弃的判定,不是主机判定)。但常规约定取严格"到主机时 TTL ≥ 1"。
(3) RIP 收敛时间
RIP 用距离向量算法,每 30 s 周期性交换路由信息。每次交换让路由"扩散一跳"。
目标:R11~R16 都学到 210.2.4.0/24 的正确路由(这个网络直连在 R16)。
最远路径上的路由器到 R16 的跳数(按图中拓扑):
| 路由器 | 到 R16 的最短跳数 |
|---|---|
| R16 | 0(直连) |
| R13、R15 | 1 |
| R11、R12、R14 | 2(如 R11→R12→R13→R16 或 R11→R14→R15→R16) |
最远的是 2 跳。每个周期信息扩散 1 跳:
- t = 0 s(初始交换):R16 把 210.2.4.0/24 通告给邻居(R13、R15)
- t = 30 s(第二次交换):R13/R15 把这条路由继续传给它们的邻居(R11、R12、R14)
至此 R11~R16 全部学到正确路由。至少需 30 s(即 1 个交换周期之后)。
题面说"从交换初始距离向量时刻算起":t=0 时刻 R16 把直连网络通告出去,邻居在这一刻收到,所以 R13/R15 的学习时刻就是 t=0。再过 30 s 邻居转发,远端学到。最长 2 跳但耗时 30 s(不是 60 s)。
(4) BGP 会话类型与报文
BGP 两种会话类型:
| 会话 | 缩写 | 范围 |
|---|---|---|
| 外部 BGP | eBGP | 不同 AS 之间的路由器之间 |
| 内部 BGP | iBGP | 同 AS 内部的 BGP 路由器之间(用于把外部学到的路由传播给本 AS 其它路由器) |
逐项回答:
- R44(AS4)向 R13(AS1)通告 → eBGP 会话
- 通过 UPDATE 报文(BGP 共有 4 种报文:OPEN / UPDATE / KEEPALIVE / NOTIFICATION,路由信息通告由 UPDATE 承载)
- R13 向 R14、R15 通告(都在 AS1 内)→ iBGP 会话
iBGP 必要性:BGP 学到的路由不能用 IGP(RIP / OSPF)传播——RIP/OSPF 不携带 AS 路径属性。AS 内的 BGP 路由器之间需要单独建 iBGP 会话来同步外部学到的路由。
(5) R14 / R15 选择哪个下一跳
BGP 决策的"AS 路径长度优先"准则:在没有本地策略约束时,BGP 选 AS 路径最短 的路由(路径属性数 = AS 编号数)。
汇总三条路由的 AS 路径长度:
| 下一跳 | AS 路径 | 路径长度 |
|---|---|---|
| R11 | AS2 AS8 AS19 | 3 |
| R12 | AS3 AS7 AS11 AS19 | 4 |
| R13 | AS4 AS10 AS19 | 3 |
R12 路径最长,先排除。R11 和 R13 长度并列为 3——按 BGP 决策的下一条准则(最近的 IGP 邻居 / 最低 IGP 度量),选择 AS1 内部到下一跳路由器最近的那个。
R14 看 R11 vs R13(按本图拓扑跳数):
- R14 → R11:1 跳(直连)
- R14 → R13:2 跳(R14 → R11 → R12 → R13 或 R14 → R15 → R13)
- → R14 选 R11 作为下一跳
R15 看 R11 vs R13:
- R15 → R11:2 跳(R15 → R12 → R11 或 R15 → R14 → R11)
- R15 → R13:1 跳(R15 直连 R13)
- → R15 选 R13 作为下一跳
答案速记:R14 → R11,R15 → R13。
BGP 决策的完整链(前几条最常考):① 本地权重高优先 → ② Local Pref 高优先 → ③ AS 路径短优先 → ④ Origin 类型优先(IGP > EGP > Incomplete)→ ⑤ MED 低优先 → ⑥ eBGP 优先于 iBGP → ⑦ IGP 度量低优先(即"最近的 IGP 邻居",本题第 5 步用到)→ ⑧ Router-ID 低优先(决胜局,几乎不出现并列)。"无策略约束"暗示前两步都默认值,直接进入 AS 路径长度比较。