ipv6 :: address是什么意思?

What's the meaning of ipv6 :: address?

提问人:lior.i 提问时间:11/8/2021 最后编辑:lior.i 更新时间:12/7/2021 访问量:134

问:

在我的代码中,我发现我的初始客户端和服务器配置的地址是:(相当于?)。ipv6::0:0:0:0:0:0:0:0

struct SslConfigurations 
{
    std::string         clientIp{"::"};
    std::string         serverIp{"::"};
    UInt16              clientPort{0U};
    UInt16              serverPort{0U};
    ssl::SocketType     type{};
    ssl::SSLReturnCodes errorCode{};
};

这个地址是什么意思? 如果我不更改此地址,我可以使用它吗?

C++ IPv6

评论


答:

3赞 Nikolas Charalambidis 11/8/2021 #1

它只是中间出现的四个零()组的快捷方式,可以省略。它在示例中更明显:0000

地址变为 .2001:0db8:0000:0000:0000:8a2e:0370:73342001:db8::8a2e:370:7334

手段.::0000:0000:0000:0000:0000:0000:0000:0000

该地址与 IPv4 世界中或在 IPv4 世界中具有相同的含义:它代表所有网络。::00.0.0.0

1赞 Jeremy Friesner 12/7/2021 #2

::是写入未指定 IPv6 地址的便捷方式,该地址是一个全零保护值,用于指示缺少有效地址。

以下是 IBM 在线文档中的相关引述:

未指定的地址为 0:0:0:0:0:0:0:0:0。您可以缩写 带有两个冒号 (::) 的地址。未指定的地址表示 缺少地址,并且永远无法将其分配给主机。它可以 由尚未分配地址的 IPv6 主机使用 它。例如,当主机发送数据包以发现 地址被另一个节点使用,主机使用未指定的地址 作为其源地址。