【问题标题】:IPv6 zone resolutionIPv6 区域解析
【发布时间】:2009-08-05 16:05:46
【问题描述】:

首先,我对 IPv6 的细节不熟悉,所以如果这只是对 IPv6 路由的误解,我不会感到惊讶。考虑我正在运行 P2P 覆盖网络的情况,其中一部分位于单个 LAN 的边界内。该局域网内的节点有如下链路本地地址(自己查看):

  • 同行 1 fe80::225:4bff:fea8:e200%en0
  • 同行 2 fe80::225:4bff:fea8:e201%eth1
  • 同行 3 fe80::225:4bff:fea8:e202%en1

现在,假设每个对等点都能够通过某种方式发现其他对等点,并拥有彼此的地址。每个对等点都在侦听一个端口,例如 12345。如果对等点 1 想与对等点 2 通信,他们可能会尝试使用 URI:

tcp://[fe80:225:4bff:fea8:e201%eth1]:12345

这是我遇到问题的地方。对等体 1 没有名为“eth1”的适配器,因此它不知道这个 IPv6 区域标识符。如果从地址中删除区域 ID,对等体 1 无法确定它必须使用哪个适配器来联系主机。

那么,问题是:是否可以以标准方式解析 IPv6 地址的区域标识符?如果没有,我是否必须向系统查询所有区域标识符,并尝试使用每个区域标识符依次连接到地址,直到成功?还是一开始就尝试使用本地链接地址进行通信是一个愚蠢的想法?

【问题讨论】:

  • 您还想根据RFC 6874% 字符进行编码:tcp://[fe80:225:4bff:fea8:e201%25eth1]:12345

标签: networking ipv6


【解决方案1】:

Link local addresses 仅在您有某种机制可以自动定位相关节点并连接、绑定到正确接口时才适用。

如果您希望用户手动输入地址,您应该使用site-local addresses(或者更好的是Unique Local Addresses)并让用户自己配置它们,或者在链接本地地址之上使用地址解析方法,例如 mDNS。

【讨论】:

  • 所以,除非我直接通过 zeroconf 或该特定接口上的某种类似机制发现其他对等点,因此知道区域,否则没有简单的方法与其他对等点通信?这确实是有道理的,只是想我会问,以防我遗漏了一些明显的东西。
  • 一个小修复:站点本地地址已被弃用 (RFC 3879),您应该使用 ULA(唯一本地地址,RFC 4193)。
猜你喜欢
  • 2011-08-07
  • 2011-03-09
  • 2012-08-30
  • 2011-02-27
  • 2018-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多