Skip to main content

附录A. 多宿主主机

本附录讨论使用邻居发现时具有多个接口或连接到多个网络的主机(多宿主主机)的考虑。

A.1. Overview (概述)

多宿主主机是具有以下特征的主机:

  • 多个物理接口(例如,以太网和Wi-Fi)
  • 单个物理接口上的多个逻辑接口
  • 连接到多个网络或子网

多宿主在邻居发现中引入复杂性,特别是在:

  • 源地址选择
  • 路由器选择
  • 前缀管理
  • 默认路由选择

A.2. Source Address Selection (源地址选择)

当多宿主主机发送数据包时,它必须选择适当的源地址。选择影响:

可达性: 所选源地址必须从目的地可达,考虑路由策略和入口过滤。

性能: 不同接口可能具有不同的特性(带宽、延迟、成本)。

策略: 管理策略可能指示用于某些目的地的接口。

RFC 6724定义了默认源地址选择算法,该算法考虑以下因素:

  • 范围匹配
  • 首选地址与弃用地址
  • 家乡地址与转交地址(Mobile IPv6)
  • 标签匹配和策略表

A.3. Router Discovery on Multiple Interfaces (多个接口上的路由器发现)

多宿主主机在多个接口上接收路由器通告。关键考虑包括:

每接口路由器列表: 主机应该 (SHOULD) 为每个接口维护单独的默认路由器列表,因为一个接口上的路由器可能无法从另一个接口访问。

默认路由器选择: 选择默认路由器时,主机必须考虑:

  • 路由器可通过哪个接口到达
  • 路由器偏好(如果通过RFC 4191通告)
  • 基于本地策略的接口偏好

前缀信息: 通过路由器通告学习的前缀与接收它们的接口关联。主机不应该 (SHOULD NOT) 使用一个接口的地址通过不同接口发送数据包,除非明确配置这样做。

对于多宿主主机,链路内确定变得更加复杂:

  • 地址在一个接口上可能是链路内的,但在另一个接口上不是
  • 主机必须跟踪哪些前缀在哪些接口上是链路内的
  • 发送数据包时,主机必须一致地选择源地址和出站接口

A.5. Redirect Processing (重定向处理)

重定向消息特定于接收它们的接口。多宿主主机:

  • 必须 (MUST) 将重定向信息与接收重定向的接口关联
  • 绝对不能 (MUST NOT) 将一个接口的重定向信息应用于另一个接口的路由决策

A.6. Neighbor Unreachability Detection (邻居不可达检测)

邻居不可达检测在每个接口上独立执行。在一个接口上不可达的邻居在另一个接口上可能仍然可达(如果其本身是多宿主的)。

A.7. Multiple Addresses per Interface (每接口多个地址)

单个接口可能有多个地址:

  • 链路本地地址(必需)
  • 来自不同前缀的一个或多个全局地址
  • 隐私地址(RFC 4941)
  • 临时地址

每个地址都有自己的首选和有效生命周期,必须独立跟踪。

A.8. Interaction with Mobile IPv6 (与Mobile IPv6的交互)

Mobile IPv6为多宿主主机增加了额外的复杂性:

  • 家乡地址与转交地址选择
  • 当多个接口可用时的多个转交地址
  • 跨接口的动态家乡代理发现

有关Mobile IPv6交互的详细信息,请参阅RFC 3775和相关文档。

A.9. Implementation Recommendations (实现建议)

对于多宿主主机,实现应该 (SHOULD):

  1. 维护每接口状态: 为每个接口保留单独的邻居缓存、目的地缓存、前缀列表和默认路由器列表。

  2. 正确的源地址选择: 实现RFC 6724源地址选择算法。

  3. 接口选择: 当多个接口可以到达目的地时,根据以下条件选择:

    • 最长匹配前缀
    • 路由器偏好
    • 本地策略(管理员配置)
    • 接口特性
  4. 避免跨接口假设: 不要假设在一个接口上学到的信息适用于另一个接口。

  5. 处理接口状态更改: 正确处理接口启用/禁用事件,相应地更新路由和地址信息。

  6. 监控所有接口: 在所有活动接口上处理路由器通告。

A.10. Common Pitfalls (常见陷阱)

陷阱1: 使用错误的源地址 通过接口B发送时使用接口A的源地址可能导致:

  • 入口过滤丢弃数据包
  • 返回流量到达错误的接口
  • 连接中断

陷阱2: 跨接口重定向 将一个接口的重定向信息应用于另一个接口的路由决策。

陷阱3: 单个默认路由器列表 为所有接口维护单个默认路由器列表可能导致尝试在错误的接口上到达路由器。

陷阱4: 忽略接口偏好 选择路由时不考虑接口特定特性(带宽、成本、可靠性)。

A.11. Future Work (未来工作)

与多宿主主机相关的潜在未来工作领域包括:

  • 接口选择的更好算法
  • 在接口之间共享可达性信息的机制
  • 考虑多条路径的增强路由器偏好
  • 与流量工程和服务质量机制的集成