NAT 穿越和 IPv6

2024-04-17

我很好奇一旦 IPv6 的部署和使用增加,NAT 和 NAT 穿越机制的用处。我们有很多 NAT 遍历机制(包括专有的),主要用于某种住宅或企业 NAT 背后的 IPv4 设备/客户端。鉴于 NAT 的出现是因为 IPv4 缺乏可用地址,那么一旦 IPv6 在未来几年得到广泛采用,由于 IPv6 有足够的地址,NAT 是否会变得多余?

当然,我确实明白 IPv6 的采用不会一蹴而就,这是一个渐进且痛苦的过程。在此期间,设备必须支持某种双栈(IPv4 和 IPv6),或者某些网络实体将在两者之间进行转换。我相信即使在 IPv6 世界中,防火墙也将继续存在以保护最终用户并提供一定的安全性。

就标准化而言,IETF对NAT问题持什么态度?鉴于他们一直忽略 NAT,从而导致协议被破坏。

我希望有人能对此有所启发。


对于 IPv6,避免依赖 IP 地址作为主机标识符仍然是明智之举。引入标准化网络前缀转换器的提案,例如I-D.mrw-nat66 https://datatracker.ietf.org/doc/html/draft-mrw-nat66,似乎距离出版从来都没有太远。然而,更重要的是,防火墙不会很快消失,参见。I-D.ietf-v6ops-cpe-简单-安全 https://datatracker.ietf.org/doc/html/draft-ietf-v6ops-cpe-simple-security。虽然您可能不必担心前缀或地址转换会破坏您的应用程序,但您可以预期无处不在的防火墙将继续干扰应用程序协议,并要求您执行 IPv4/NAT 所需的所有相同基本遍历方法以维护状态记录在应用程序路径的中间框中。

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

NAT 穿越和 IPv6 的相关文章

  • 将 Jetty 绑定到 IPv6 地址

    我正在尝试将 Jetty 绑定为仅侦听 IPv6 地址 我正在使用 Jetty 7 4 2 v20110526 我的jetty xml
  • 防火墙后面的 WCF 服务 – 如何设置端口转发?

    我刚刚开始接触 WCF 编程 我在我的工作计算机上设置了一个自托管测试 Web 服务 该计算机位于防火墙后面 它在http localhost 8000 MyTestService 我可以通过浏览器访问服务页面 一切正常 现在我想从位于不同
  • Docker 身份验证:无法获取匿名令牌

    我的 gitlab 运行程序中出现以下错误 错误 授权失败 无法获取匿名令牌 获取 https auth ipv6 docker com token scope repository 3Alibrary 2Fnode 3Apull serv
  • 一个插座双堆栈

    我正在开发双栈客户端 服务器通信 我很好奇 我是否必须打开两个套接字 一个用于 IPv4 一个用于 IPv6 还是可以选择打开一个用于 IPv6 的套接字 并且它能够同时使用 IPv4 和 IPv6 连接 例如 如果我打开这样的套接字 SO
  • 此正则表达式 (RegEx) 标志有何含义 /iD

    我想使用这个正则表达式来验证 IPv6 但我想了解它所做的一切https stackoverflow com a 1934546 3112803 gt gt a f0 9 1 4 gt 1 7 a f0 9 gt 8 1 gt 1 0 6
  • IPv6 下网络字节顺序毫无意义吗?

    如果我们使用32位整数来存储IPv4地址 那么必须考虑该整数的字节顺序 但是 由于几乎所有平台下都没有内置的128位整数类型 因此IPv6地址必须存储到字节数组中 因此 我认为字节顺序不再是问题 我对么 或者IPv6有对应的函数htonlX
  • 如何将链接本地地址绑定到 ipv6 套接字

    这个问题可以看作是一个姐妹问题前一个 https stackoverflow com questions 2455762 why cant i bind ipv6 socket to a linklocal address我自己发布的 非常
  • 如何使用 .fetch 函数使 API 调用在 React-Native 中兼容 IPV6?

    我开发了一个用 React Native 编写的应用程序 适用于 IOS 它在 IPV4 网络中运行良好 然而 最近苹果公司发来一条消息 称我的应用程序在 IPV6 网络中测试时无法运行 他们告诉我 我还必须使其与仅限 IPV6 的网络兼容
  • Swift 中 IPv6 网络上的网络连接检查崩溃

    我最近有一个应用程序因不兼容 IPv6 而被拒绝 当调用以下代码时 应用程序导致崩溃 我怀疑崩溃是因为它利用了SCNetworkReachabilityCreateWithAddress当苹果建议不要再使用它时 谁能帮我一下 让下面的代码与
  • 莫名其妙的node.js http抛出连接ECONNREFUSED(IPv6?)

    我正在运行node js 如下所示 gt http require http gt http get http myhost local 8080 function res console log RES res on error func
  • iOS 与 IPv6 和 Azure 的问题

    我们的 Xamarin iOS 应用程序之一被拒绝 因为 Service URI 似乎无法从 IPv6 网络获得 从 2016 年 6 月 1 日开始 Apple 希望所有 iOS 应用程序在纯 IPv6 网络中完全兼容 Microsoft
  • 如何在SQL中计算IPv6 CIDR路由前缀?

    我一直致力于使用在 SQL Server 2012 实例上运行的 T SQL 从 IPv4 和 IPv6 地址范围生成 CIDR 一般来说 我们的应用程序 数据库外部 负责计算 CIDR 但我目前需要在数据库中进行 CIDR 计算 由于 I
  • 使用C++对ipv6地址进行比较运算

    由于 IPV6 地址有 16 个字节 并且它们没有数据类型可以在 C 中存储它 我想存储 IPV6 地址 并在 IPv6 地址之间进行一些比较 请让我知道该怎么做 您可以将它们存储为普通数组unsigned char就像你在 C 中所做的那
  • NAT 后面的 HTTP 服务器

    我正在尝试在多层 NAT 后面创建一个 apache 服务器 以便可以从 Internet 访问 限制 避免中继 有一个公共服务器 我们称他为OldMan 用于登录 眩晕 但其带宽太差 无法承载中继数据 我无权手动配置 NAT 3 用户无需
  • 如何在特定接口上打开套接字并接收 IPv4 和 IPv6 流量

    使用 IPv4 我可以将 绑定到特定地址来选择将用于接收数据包的接口 在某些情况下 也用于发送数据包 但这不是重点 在双栈 IPv6 IPV4 机器上 我遇到这个问题 我可以创建一个 6 套接字并使用它接收 4 个流量 但如果我想绑定到特定
  • 如何将 IPV6 地址转换为 IPV4 地址?

    我有使用 IPv4 地址的应用程序 它存储它们很长 因此它只理解 IPv4 地址 是否可以使用Java将IPv6地址转换为IPv4地址 While IPv4 地址范围有 IPv6 等效项 https en wikipedia org wik
  • 使用 ECS 时保护来自 EC2 实例的出站流量规则

    即使我在私有子网中创建 EC2 实例 如果我想将它们注册到 ECS 集群 它们也必须能够将流量发送到 Internet 我正在使用 NAT 网关来执行此操作 但我仍然感到不安全 因为实例可以在被接管时将私人信息发送到任何地方 我可以用于实例
  • 在同一端口上支持 IPv6 和 IPv4 的 C# 服务器

    是否有可能有一个同时侦听和接受 IPv6 和 IPv4 客户端的 Socket 我在 C 中使用了 IPv6 套接字 希望它能自动向后兼容 但 IPv4 客户端会导致无效的 ip 地址异常 看一看 您可以接受 IPv4 客户端以及 IPv6
  • 正则表达式 IPv6 验证和可选的方括号?

    大家好 这里的正则表达式新手 我正在尝试编写一个验证 IPv6 地址的正则表达式 我还没有添加端口部分 我想先让地址部分工作 这是我到目前为止所拥有的 0 9A Fa f 这使得左括号和右括号是可选的 但正如您所看到的 它们是独立可选的 有
  • IPV6 Curl POST 请求

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

随机推荐