嵌入在IPv4映射的IPv6地址中的范围ID来自getnameinfo()

时间:2012-12-08 05:21:24

标签: ip-address ipv6

最近在最新的linux发行版中发现了一种新行为,其中doublestack套接字上的getnameinfo(..,NI_NUMERICHOST)返回IPv4映射的IPv6地址,其范围标识符为::ffff:x.x.x.x%yyyyyyyyy而不是::ffff:x.x.x.x

这种新行为导致现有应用程序出现一些破坏,这些应用程序似乎使用字符串解析从IPv4映射的IPv6地址中提取IPv4地址。没有其他测试过的操作系统可以做到这一点,包括稍早版本的linux。

我理解映射地址将被视为具有全局范围,因此不应具有范围ID。此外,我不知道故意这样做会有什么意义...... IPv4中不存在范围ID。这是合法行为还是网络堆栈中的回归?

0 个答案:

没有答案
相关问题