添加 IPV6_V6ONLY 标志的动机是什么?

2024-01-12

在 IPv6 网络中,IPV6_V6ONLY 标志用于确保套接字仅使用 IPv6,特别是 IPv4 到 IPv6 的映射不会用于该套接字。在许多操作系统上,默认情况下未设置 IPV6_V6ONLY,但在某些操作系统(例如 Windows 7)上,它是默认设置的。

我的问题是:引入这个标志的动机是什么? IPv4 到 IPv6 映射是否存在某些问题,因此人们需要一种方法来禁用它?在我看来,如果有人不想使用 IPv4 到 IPv6 映射,他们可以简单地不指定 IPv4 映射的 IPv6 地址。我在这里缺少什么?


并非所有支持 IPv6 的平台都支持双栈套接字,因此问题是需要最大化 IPv6 兼容性的应用程序如何知道支持双栈或在不支持双栈时单独绑定?唯一通用的答案是 IPV6_V6ONLY。

忽略 IPV6_V6ONLY 或在支持双栈的 IP 栈存在之前编写的应用程序可能会发现在双栈环境中单独绑定到 V4 会失败,因为 IPv6 双栈套接字绑定到 IPv4,从而阻止 IPv4 套接字绑定。由于协议或应用程序级寻址问题或 IP 访问控制,应用程序也可能不期望 IPv4 over IPv6。

这种或类似的情况很可能促使 MS 等人默认为 1,即使 RFC3493 声明 0 为默认值。 1 理论上最大化了向后兼容性。具体来说,Windows XP/2003 不支持双栈套接字。

不幸的是,也不乏需要传递较低层信息才能正确运行的应用程序,因此此选项对于规划最适合要求和现有代码库的 IPv4/IPv6 兼容性策略非常有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

添加 IPV6_V6ONLY 标志的动机是什么? 的相关文章

  • 如何从 kubernetes 集群内部访问主机的 localhost

    在此应用程序中 nodejs pod 在 kubernetes 内部运行 而 mongodb 本身作为 localhost 位于主机外部 这确实不是一个好的设计 但它只适用于开发环境 在生产中 将有一个单独的 mongodb 服务器 因为这
  • 如何确定实际物理网卡的 MAC 地址——而不是 VPN 创建的虚拟网络接口 (.NET C#)

    背景 我正在尝试从计算机中获取唯一标识符 并且希望每次都能可靠地返回相同的 MAC 地址 相信我 我有使用 MAC 地址的理由 并且阅读了许多关于替代唯一 id 方法的帖子 是的 我考虑过他们是否没有任何网卡 Problem 问题出在 NE
  • 为什么 localhost 不会在 chrome (OSX) 中路由到 127.0.0.1?

    当我使用 node debug 启动脚本时 它尝试导航到 URL localhost debug port 5858 但找不到那里提供的页面 如果我将 localhost 更改为 127 0 0 1 一切正常 我可以 ping localh
  • Python套接字模块:Recv()数据响应被切断

    解释 我目前正在尝试使用 python 脚本控制智能电源板 为了实现这一点 我使用了带有套接字模块的 TCP 连接 大约 75 的情况下 我会得到我正在寻找的响应 数据 并且一切都运行良好 然而 大约 25 的情况下 响应会以完全相同的长度
  • http客户端在Windows 8.1中取消请求

    我正在开发一个 Windows Phone 8 1 项目 Windows 8 1 中有两个版本的 http 客户端 system net http and windows web http Microsoft 建议使用后者 所以 我决定接受
  • 当点击 JButton 连接到服务器时,程序冻结

    我正在使用 Java 中的 TCP 进行简单的 1v1 私人聊天 目前 每当我使用 JButtons 时都会遇到问题 这是我第一次尝试使用 JButtons 和 ActionListeners 所以我不能 100 确定这里发生了什么 我有两
  • 提高UDP可靠性

    我正在构建一个基于 UDP 的小型服务器 服务器基于 Net并使用它自己的Socket类 我通过 ReceiveMessageFromAsync 和异步发送使用完成端口 我的问题是我失去了大约 5 10 的流量 现在我明白这是正常的 但是有
  • Elasticsearch:如何查询连接数?

    如何询问我的 Elasticsearch 服务器现在有多少个连接 这与插座数量相同吗 我也不知道如何获得这些数字 这与客户端的数量不同 对吧 因为每个客户端可能打开多个连接 找不到任何相关信息 但我确实发现您可以在 Elasticsearc
  • 在 Linux/Ubuntu 计算机上通过 Python/Django 设置网络设置

    我正在为嵌入式计算机开发一个简单的网络界面 计算机将附带一个静态默认 IP 然后需要由可能不懂技术 Linux 的安装技术人员进行更新 基本上我需要从 Django 应用程序更改以下系统设置 IP地址 Subnet 默认网关 DNS 服务器
  • INET6_ATON 的替代 MySQL 代码

    将旧的 INET ATON 值转换为新的二进制 INET6 ATON 值 无需 INET6 ATON INET6 NTOA 我们在表中已有数据 字段类型为UNSIGNED INT其中保存了使用以下命令创建的 IPv4 数据INET ATON
  • IPV6 Curl POST 请求

    在 IPV6 中 如何使用 IPV6 地址和端口号构建 CURL POST http 请求 任何类型的线程都将受到赞赏 尝试构建如下请求 gt curl interface http 2001 0 db8 1111 0 0 0 11 809
  • IP 标志的不分段位在哪里使用?

    我很想知道 IP 标志的 不分段 DF 位在哪里使用 因为碎片对于更高层来说是不可见的 并且他们也不关心 我也在寻找一个例子 预先非常感谢 碎片并不总是对所有上层都可见 一些早期 甚至可能是当前 微控制器 TCP IP 堆栈没有实现碎片处理
  • 如何使用 Kryonet 通过网络发送对象?

    我是网络新手 我正在尝试将我使用 java 创建的棋盘游戏联网 我的一个朋友向我推荐了 Kryonet 库 到目前为止 一切都很棒 我不必处理套接字 我遇到的问题是发送对象 主要是 我有一个 Board 类型的对象 该对象包含其他对象 例如
  • 用于验证 InetSocketAddresses 的正则表达式(ipv4/v6 + 端口地址)

    我在寻找testedipv4 和 ipv6 的正则表达式InetSocket地址 http download oracle com javase 6 docs api java net InetSocketAddress html toSt
  • 扭曲多种协议

    我希望为我正在从事的项目学习扭曲 该项目需要服务器响应 HTTP 请求以及通过 TCP 连接的其他协议 Twisted能够同时处理多种协议吗 我想使用 Twisted Web 来帮助处理 HTTP 但同时需要响应其他端口上的 TCP 连接
  • Vagrant - 使用私有接口时如何配置 vagrant ssh?

    我有一个包含 3 个虚拟机的多虚拟机 vagrantfile 设置 其中两个虚拟机的 NAT 网络接口已禁用 并且仅在内部接口上使用静态 IP 副作用是我无法再跑步vagrant ssh foo连接到虚拟机 mode ruby vi set
  • 互联网 RFC 数据包图中预期的位(不是字节)顺序是哪个

    我正在我的家庭有线网络上解析 ICMPv6 数据报 但在特定 RFC 中找不到对位排序约定的明确提及 多字节字段是网络顺序的 但是字节内的位又如何呢 机器是按字节寻址的 但网络硬件对位进行序列化 在图表中 8 位字段 左侧 的一位最终位于无
  • IPV6 快速可达性

    我是 swift 和 xcode 的新手 并且我的应用程序因 IPV6 而被拒绝 性能 2 1 当我们执行以下操作时 您的应用程序会在运行 iOS 9 3 5 并连接到 IPv6 网络的 iPad 和 iPhone 上崩溃 具体来说 当我们
  • 在请求中设置端口

    我正在尝试利用cgminer使用 Python 的 API 我对利用requests图书馆 我了解如何做基本的事情requests but cgminer想要更具体一点 我想缩小 import socket import json sock
  • SQL Server“未找到网络路径”在不同环境中随机且不频繁地发生

    类似 如果不是同一个问题 随机遇到网络路径未找到异常 https stackoverflow com questions 38696448 network path not found exception encountered rando

随机推荐

  • 使用最后一个非空列值动态填充单元格

    如何获取要填充下一个空单元格的最后一个值 直到下一个值 如下所示链接到工作表 https docs google com spreadsheets d 1yRX0sfIK3geu0bY1L1vXBSDAV7xIfmQHtPA4 ZuH9GY
  • 如何根据时区将时刻转换为另一个时刻

    我在 JS 方面真的很糟糕 而且我在 moment js 上苦苦挣扎 我的愿望是 从 div UTC 获取日期并根据用户的时区转换该日期 因此 如果 UTC 日期是 30 03 2017 6 34 22 AM 纽约有人看到 30 03 20
  • 与 Jedis 客户端的事务发生 Redis 异常

    为了避免在我的 Redis 通道中出现重复 我通过在 Redis 集中保留索引来检查消息是否已经存在 以下是我的实现 然而 它给出了一个例外 redis clients jedis exceptions JedisDataException
  • CUDA 目标的 Numba 和 guvectorize:代码运行速度比预期慢

    值得注意的细节 大型数据集 1000 万 x 5 200 x 1000 万 x 5 主要是 Numpy 每次跑步后需要更长的时间 使用Spyder3 Windows 10 首先是尝试将 guvectorize 与以下函数一起使用 我传入一堆
  • spring中动态更新@value注解的字段

    我正在尝试动态更新 value我的应用程序中的注释字段 首先 这个应用程序有一个自定义属性源 源是Map
  • 为什么像素是浮动的?

    Canvas类的所有方法都使用float类型的坐标 但为什么 据我所知 这个坐标意味着显示上指向的像素数 像素可以分离吗 某些设备支持亚像素精度 在标准 LCD 屏幕上 一个像素实际上是三个子像素 一个红色 一个绿色 一个蓝色 红绿蓝 子像
  • WPF拖动距离阈值

    我有一个带有两个 WPF 树视图的程序 允许在两者之间拖放 问题是 打开 关闭树视图上的项目可能很烦人 因为在按住鼠标左键的同时将鼠标移动一个像素会触发拖 放功能 有没有某种方法可以指定鼠标在被视为拖放之前应移动多远 有一个系统参数可以实现
  • 将 Spring 配置划分到多个项目

    我们有很多项目使用相同的代码库 后端代码 只是前端往往有所不同 我们认为最好的方法是将后端和前端分成不同的项目 Engine and 项目名 现在这些是 Spring 项目 因此 如果我们也划分 Spring 配置 这似乎才合乎逻辑 数据库
  • 当 Ionic 电子商务应用程序中购物车中的产品数量增加时,总价格不会更新

    我正在研究离子电子商务应用程序并使用 Laravel 中的 API 我已将产品添加到购物车中 但是当我增加购物车中的产品数量时 产品价格增加 但总价格没有更新 并且从购物车中删除产品时 也没有更新价格 这是我的购物车 html
  • Azure DevOps Server 2019 保留策略不再有效

    上周 我们已在 ADS 2019 1 服务器上从 TFVC 迁移到 Git 在我们的验证管道中 我们有积极的保留政策 它设置为保留 2 天 使用分支过滤器 进行 10 个良好构建 并清除所有复选框 ADS 将其写为 refs heads 我
  • 在 Python 2.6 上安装 geopandas

    这是我之前的问题的延续Python 中的地理空间分析 https stackoverflow com questions 33427170 geospatial analytics in python 我开始了一个新问题 以使这两个问题在逻
  • 折线不在道路上:它从一个点直接延伸到另一个点

    我的地图包含多个点来点击用户经过的位置 但是折线不显示在道路上 但显示从一个标记到另一个标记的直线 https i stack imgur com 3RWlU jpg 我希望我的折线穿过马路 当道路转弯时 它也应该转弯 这是我的相关代码 d
  • SVN 挂钩不工作

    我有一个分支和主干的服务器存储库 分支是所有团队成员的存储库 我正在尝试使用svn hooks仅在我的分支下的仓库中 但它似乎工作得不好 以下是我尝试采取的步骤 检查过了my repo从远程服务器的branch my repo 自本地回购以
  • 如何使用 CMIS 在 Alfresco 中进行批量更新

    是否可以在露天使用 CMIS 进行批量更新 我有不同的文档类型 每个文档类型在露天存储库中都有多个文档 现在我的要求是 如果我要更新任何文档的任何单个属性 那么它应该反映相同类型的所有文档 我可以使用 CMIS 执行此操作吗 如果是 请提供
  • Redux - 一个与多个减速器

    我来自 Elm 社区 在 Elm 中 每个应用程序都有自己的视图 模型和状态 并且基本上采用与 redux 非常相似的方法来解决问题 不管怎样 我发现自己在多个减速器的想法中挣扎 在 Elm 中 我习惯为所有操作 消息 创建一个单独的文件
  • 如何从 angularjs ng-route 中删除哈希#

    我试图使用 locationProvider 从 Angular js 中的 url 路由中删除主题标签 但它给了我错误 app js var eclassApp angular module eclassApp ngRoute eclas
  • 在python中获取每个月的最后一个星期五

    我想要接下来三个月的每个月的最后一个星期五 Friday date datetime date today while Friday date weekday 4 Friday date datetime timedelta 1 这给了我最
  • Slack 应用程序和本地存储

    我们正在计划一个 Slack 应用程序 但我们需要本地存储 我们不想在我们的服务器上存储用户 频道的任何数据 我们希望将其永久或临时保存在用户的本地计算机或 Slack 服务器中 有办法做吗 Thanks 以下是我对这个主题的想法 本地存储
  • GWT 和 Vaadin 之间的差异

    谁能建议 GWT 或 Vaadin 是否是设计应用程序的更好选择 另外 编码风格有什么区别 在 GWT 中 应用程序逻辑通常在客户端运行 它仅在需要读取 保存某些数据时调用服务器 在 Vaadin 中 应用程序逻辑位于服务器端 每次用户交互
  • 添加 IPV6_V6ONLY 标志的动机是什么?

    在 IPv6 网络中 IPV6 V6ONLY 标志用于确保套接字仅使用 IPv6 特别是 IPv4 到 IPv6 的映射不会用于该套接字 在许多操作系统上 默认情况下未设置 IPV6 V6ONLY 但在某些操作系统 例如 Windows 7