【问题标题】:Can TCP socket bind to IPV6 address and connect to IPV4 peer?TCP 套接字可以绑定到 IPV6 地址并连接到 IPV4 对等体吗?
【发布时间】:2021-09-25 03:23:50
【问题描述】:

我可以将 TCP 套接字绑定到本地 IPV6 地址,然后将其连接到对等 IPV4 地址吗?这似乎是不可能的,因为一个 ip 数据包不能同时包含 ipv4(目标)地址和 ipv6(源)地址。

【问题讨论】:

  • 搜索“IPV6_V6ONLY”并将其设置为 false。但是您将通过 IPv6 套接字接口使用 IPv4。两端的连接将是 IPv4,而不是 IPv4 到 IPv6。
  • IPv4 和 IPv6 是独立的、不兼容的协议。包头差别很大,寻址不兼容。
  • @user253751 假设我将 IPV6_V6ONLY 设置为 false,套接字选择发送数据包的源 ip 是什么?我绑定的 ipv6 不太可能。

标签: sockets tcp ipv6 ipv4


【解决方案1】:

我可以将 TCP 套接字绑定到本地 IPV6 地址,然后将其连接到对等 IPV4 地址吗?

不,IP 协议必须匹配才能成功连接。 connect 调用只会失败,甚至不会发送任何数据包。

【讨论】:

    猜你喜欢
    • 2013-05-25
    • 2015-12-25
    • 2021-04-28
    • 1970-01-01
    • 2017-04-27
    • 2020-02-20
    • 2017-10-21
    • 1970-01-01
    相关资源
    最近更新 更多