网络地址转换(NAT)技术是否拖慢了互联网的发展?(2020 修订版)

article/2025/8/23 17:16:07

2020 年修订版前言:看到有人还是对 IPv4 和 IPv6 的关系搞不清楚,好像只要有了 IPv6 就可以不要 IPv4 了,我只好把老文章祭出来了,当时也是我们接触 IPv6 的开始,两年下来,有些地方做了一些修订。

--- 正文 ---

1、我认为 NAT 是加快了互联网的发展,一定程度上拖慢了 IPv6 的 发展,请仔细看这句话。也千万不要把 IPv6 等同于互联网发展。没懂的看下一条。

2、从用户角度,其实绝大部分用户(可能除了有端到端互通需求诸如 P2P 下载的那一小撮用户吧)并不在意网络地址是公网还是私网,是独占还是共享,是 IPv4 还是 IPv6,还是什么 IPv4/IPv6 双栈,人家就是要上网看看视频、发发邮件、玩玩游戏,你说 IPv6 会更快更便宜吗?如果不是,那我作为一个普通用户来说,一点都不关心。

互联网内容越来越丰富,用户越来越多,最自然的升级方式自然是在现有的方式上加强改进,而不是另起一个不兼容的炉灶,NAT 虽然最开始的目的不是给这个用途用的(参见:https://en.wikipedia.org/wiki/Network_address_translation),但是目前最大的用途确实是用在了降低对公网 IP 地址的依赖,延长了 IPv4 的寿命。IPv6 也许技术上更先进,只可惜最大的问题是不兼容现有协议。

况且,虽然长期看最终都要升级到 IPv6,但是客观来说是长期都要双栈实现。因为双栈,导致网络和工作复杂度变高了,对于运营商里负责干活的技术部门和网管部门压力就大了,不出事还好,出了事算谁的锅?网络是端到端访问,一个环节出错,都没法用。如果是其它运营商的锅,凭什么我来背让我挨客户投诉?所以不主动升级到 IPv6 ,是符合人之常情的。即使抛开中国的情况看全球,这么多年下来 IPv6 使用率整体不高,也是合情合理的。而且之前看到一篇文章,说 Facebook 曾经上线过一个 IPv6 Only 的数据中心,结果三个月后下线了,结合我上面说的,你细品。

这也是我上面说的我认为一定程度上的拖慢了 IPv6 的发展,但是你可以想象一下,假设没有 NAT,是不是 IPv6 就能快速发展呢?不好说,没有 NAT 也许会有 MAT,XXX 技术的出现,也能延长 IPv4 的寿命,也或者依然不升级到 IPv6,把互联网限制在只有精英人群才能用,或者一个办公室只有一台电脑可以上网,都是有可能性的。当然,历史没有假如,纯属脑洞。毕竟 IPv6 的不兼容才是自身最大的硬伤,而貌似凡是全新技术的升级,其过程都不太顺利是现实,尤其这种需要全球公司机构一致行动的东东,我觉得几十年能搞定的历程算是快的了。:D

更何况 IPv6 地址的拼、读、记远比 IPv4 地址困难多了,最初做 IPv6 数据库的时候,光是写工具代码和人工计算 CIDR 就痛苦死了,逼着我同事写了一个小工具做辅助,而 IPv4 的 CIDR 计算基本上不需要工具的辅助,工作效率下降很明显。

曾经和朋友笑谈,8 个字节的 IP 地址就足够全球用户用了。当然只要不兼容,恐怕下场是一样的,呵呵。

还有些人觉得国家支持 IPv6 不就行了?你稍微看看网络协议就知道,网络协议原理上要对等访问,你这里要搞单栈 IPv6,自然就没法访问那些 IPv4 的资源了,怎么可能用的了呢?IPv4 / IPv6 的转换只能小规模玩玩。而且政策说的其实也是要求双栈,有能力的试点单栈 IPv6,但恐怕也只能在一些非常局部、非常封闭的领域可以这么用吧。参见:http://www.miit.gov.cn/n1146295/n1652858/n1652930/n3757020/c7830841/content.html

3、还要补充一下,我在各个场合都在说,IPv4 只是发放完毕了,但是没有被使用完毕,还是有不少腾挪空间的,跟 IDC 一样算是数字房地产了。从我们自己能看到的 IP WHOIS 数据里,且不说美国军方所有的一大坨 IP 段,即使从民用角度看,属于 IBM 的 9/8、 属于福特的 19/8、属于英国政府的 25/8、属于 Prudential Financial 的 48/8、属于 DAIMLER 的 53/8,这几个 A 段是绝大多数完整没有启用的,其中只有 9.9.9.0/24 是 IBM 和其他公司合作的 PUBLICDNS 用途。还有比如 56/8,属于 USPS,只启用了很小一部分,包括在之前属于 GE 的 3/8,也是没有使用,如果不是近几年转让了 192 个 B 段给 AMAZON,否则之前也是一直未启用。包括 MIT 的 18/8,都是类似的情况。如果看到 B 段层面的使用情况,浪费也是惊人,比如美国的很多大学都是拥有一个或者多个 B 段,最近一直是转让的主力。

这几年下来,应该是 ARIN、APNIC、RIPE 等几大 RIR 都在大力推动 IP 地址的交易,一些原来坚持不卖的开始卖了,这也算是延长 IPv4 寿命的另类方式了吧。毕竟 IPv4 应该还有好多年寿命,而 AWS 近年来还在大力收购 IPv4 地址,我觉得也是对 IPv4 地址的自身价值的用钱投票了,IP 总量多的让我都觉得不可思议了,AWS 这个行为算某些答案里说的缘木求鱼吗?

另外,个人认同在 20232025 年之后 IPv4 有很大可能会开始走下坡路的看法,希望不要打脸。记得,是很大可能会开始走下坡路哦。

我们最近发布了一个数据,也许可以方便大家观察 IPv4 和 IPv6 的 BGP 公告情况,请参见:https://www.ipip.net/stats/bgp.html ,中间的图就是AS 里包含 IPv4 地址和 IPv6 地址的历史情况。我认为什么时候 IPv6 Only 甚至 IPv4/IPv6 双栈的数量和 IPv4 Only 的数量开始有剪刀差,也许才是代表了一个新时代的开始吧?

4、从非技术角度,我认为 IPv6 最大的好处是解决了你们就算再浪费,公网地址也够分了的情况。一个 /96 的的地址块,就相当于 IPv4 所有 IP,就问你怕不怕。。。

5、有一次在北邮做分享,有人问我是不是有了 IPv6 是不是 NAT 就没有人用了,我觉得即使你可以给所有设备都分配公网地址,这也只是一个选择而已,这种选择在数量不大的情况下 IPv4 上其实也可以做到,但现实是有几个公司这么做了呢?恐怕并不完全是 IP 地址短缺所导致的结果吧。局域网有局域网本身的好处,NAT 在 IPv6 时代也是有他的价值所在的。某些答案里认为 IPv6 时代就没有局域网没有 NAT 了,貌似进化到 IPv6 就可以在现实中完全做到端到端的设计理念了,我觉得也是个很大很大的谬误。

即使哪天我家里可以 IPv6 了,出于安全考虑,我也未必会给我家的电视机一个 IPv6 地址,空调一个 IPv6 地址的。:D

哦,美国军方在这里算是个例外吧,我们认为是那一坨 IPv4 公网地址以内网方式使用,有知道实际情况的欢迎评论。

6、知乎评论里有人说“其实是ipv6安全性比ipv4大大提高,影响了自己的发展,这不现在ipv6取消了强制加密,马上就推广了”。

在我看来,2011 年发布的 RFC6434 就已经取消了强制加密的要求了,但为什么最近才开始要求部署 IPv6 呢?

实际上由于近年来 DPI 技术的发展,又出于数据保护和防止劫持的目的,目前 IPv4 的应用层加密流量比如 SSH / TLS / HTTPS 等等的流量已经越来越多了,而且必然是大势所趋,在这件事情上,国内外没有大区别,Let's Encrypt Project 的启动也大大加快了这个进程。所以其实跟之前自带加密能力的 IPv6 来说,快没什么区别了,而这个时候 IPv6 的海量地址就有了价值,所以希望大家仔细看《推进互联网协议第六版(IPv6)规模部署行动计划》中的话,就能理解为什么政府愿意推动 IPv6 了。

知乎的评论里还有人说“IPv6反审查能力更强”,好吧,也建议你多读几遍行动计划。

有空也可以读一下这篇文章,算是对行动计划的解读:

中国工程院院士邬贺铨:IPv6与网络安全(https://www.secrss.com/articles/900)

最后,我个人还是想强调一下,请参考一下AWS 在 IPv4 地址拥有量上的一直持续不断的收购动作,也是一种非常非常明显的态度,而国内的几家云服务商恐怕都很佛系,兴建数据中心、买服务器、招人都很舍得花钱,但是 IPv4 资源上就显得很小气,也许未来的竞争比拼的是谁拥有更多稀缺资源呢。

一起看吧。。。


http://chatgpt.dhexx.cn/article/gWDJuKAt.shtml

相关文章

Nat. Mach. Intell. | 人工智能的透明度和可重复性

今天给大家介绍多伦多大学的研究人员发表在nature machine intelligence上的一篇文章。文章指出McKinney等人利用AI在乳腺癌筛选上的工作,缺乏研究方法和代码实现的细节,阻碍了透明且可重复(transparent and reproducible)的AI研究…

网络安全学习中的工具

1> Nmap Nmap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包。 系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。 其基本功能有三…

p2p网络测试工具_(官方更新)IPFS的网络层——libp2p在2020的发展

如果您在分散的点对点空间中执行任何操作,您可能听说过 libp2p - 用于对等应用程序的模块化网络堆栈。 libp2p 由许多模块化库组成,p2p 网络开发人员可以从中选择和重用所需的协议,同时便于应用程序之间的升级和互操作。这有助于 Web3 开发人…

NAT会话穿越应用程序(STUN)(RFC-5389)

RFC文档链接 摘要 NAT会话穿越应用程序 (STUN) 是一种协议,在处理网络地址转换(Network Address Translator, NAT)穿越时充当其他协议的工具。终端可以使用它来确定NAT分配给它的IP地址和端口。它还可以用来检查两端之间的连通性,并作为keep-alive协议…

教你用 CSS 实现超真实的 3D 相册,让你的照片立体感 UPUP

前言 现如今网页越来越趋近于动画,相信大家平时浏览网页或多或少都能看到一些动画效果,今天我们来做一个有意思的动画效果,通过 css3 实现 3d 效果的立方体相册,下面一起看看吧。 实现思路 首先我们要确定好 html 的结构以及要使…

HTML+CSS实现3D立体相册

程序员的浪漫&#xff0c;话不多说上代码。 HTML: <body><div id"cube"><!--外层盒子--><ul><li><img src"./imgs/1.jpg" ></li><li><img src"./imgs/2.jpg" ></li><li>&l…

该换壁纸啦,记录一个用CSS和HTML做的3D立体相册

这几天看东宫沉迷于陈星旭&#xff0c;李承鄞太绝了&#xff01;这不得把壁纸安排上&#xff1f;简单记录一下制作过程。 1、准备照片 需要1张大的背景图和6张3d相册用图存放在img文件夹中。 可以先使用PS、美图秀秀或者其他修图软件等将相册用图改成200px*200px。 注意文件…

抖音程序员HTML相册,快手抖音程序员表白女朋友3D立体相册源码html网页相册代码...

前几天分享了一套源码&#xff0c;今天又为大家带来一套类似的源码&#xff0c;希望大家喜欢! 快手抖音很火的程序员女朋友3D立体相册源码html网页相册代码&#xff0c;经测试在IE8浏览器下无法预览&#xff0c;建议使用支持HTML5与css3效果较好的360浏览器预览本源码。 代码如…

H5 3d立体相册 CSS3特性

CSS3 变形特性,立方相册,3d旋转 之前看见过3d效果的立体相册,挺羡慕的,现在自己也有机会实现属于自己的3d立体相册了~~~话不多说,开搞… 一, 准备材料 六张自己喜欢的图片,六个面,怎么简单方便怎么来,名字直接取123456,后缀.jpg,放到img文件夹下一张小图片,大点也不要紧,为了浏…

js制作3d立体旋转相册

使用js做一个3d立体旋转相册 可自由拖拽 源码如下 <!DOCTYPE html> <html> <head> <meta charset"utf-8"><title>1</title><style type"text/css">.main{perspective: 800px;}#mian img{width: 200px;height:…

3D立体动态相册(带背景音乐)HTML+CSS脚本

3D立体动态相册&#xff08;带背景音乐&#xff09;HTMLCSS脚本。程序员硬核送礼方式。。。 动画效果 截图效果&#xff1a; 照片准备&#xff1a; 命名为1、2、3、…… 音乐&#xff1a; 将文件依次放在各自文件夹中&#xff1a; CSS文本&#xff0c;命名&#xff1a;index.…

抖音3d相册html代码,抖音3D立体相册表白代码.doc

抖音3D立体相册表白浪漫代码 首先先建立html文件css-3d旋转 之后再新建一个CSS的文件夹 并在css文件夹中建立txt文件&#xff0c;并且把代码复制进去&#xff0c;修改后缀名为.css html{ background: #000; height: 100%; } /*最外层容器样式*/ .wrap{ position: relative; pos…

打造3D立体相册

项目目录结构&#xff1a; HTML代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title><link type"text/css" rel"styleSheet" href"css/wrap.css" /><…

MATLAB竟也能制作3D相册?教你用MATLAB制作立体动态相册

效果 教程部分 1 图片导入与大小重设 需要有一个名为album的文件夹和当前m文件在同一文件夹&#xff0c;另外ablum文件夹内至少要有一张jpg格式图片 path.\album\;%文件夹名称 filesdir(fullfile(path,*.jpg)); picNumsize(files,1);%遍历路径下每一幅图像 for i1:picNumfi…

HTML 3d立体旋转相册

效果&#xff1a;&#xff08;实际是动态旋转&#xff09; 目录&#xff1a;&#xff08;根据自己需要替换图片就行了 大照片是400*400 小照片是100*100&#xff09; 提取码&#xff1a;1122 代码链接 index.html <!DOCTYPE html> <html lang"en"> <…

3D立体相册不过是冷锋蓝plus版 html+css

一.话不多&#xff0c;先看效果&#xff1a; 转念一想&#xff0c;好像很久很久没出css特效的文章了&#xff0c;特别是工作之后&#xff0c;更少了。偶然翻看电脑内存的时候&#xff0c;发现这个自己1年多以前写的特效&#xff0c;甚美&#xff0c;又勾起我一段尘封的回忆。。…

创意相册、3D立体相册

3D表白相册 精美的3D动态相册&#xff0c;快去做给她吧&#xff01; 点我下载 换的图片格式要一样&#xff0c;实在不一样就去代码里面改后缀名 https://download.csdn.net/download/weixin_43474701/60386577

3D立体相册,一个可旋转的立体相册

11359.gif 主要功能&#xff1a;立体球体展示 可自行添加本地照片 可旋转&#xff0c;照片可放大 商城下载&#xff1a; App Store github下载 用的代码是用的云标签的code&#xff0c;代码略有改动 主要代码调用 // 调用展示 self.sphereView [[YoungSphere alloc] initWithF…

还在买鲜花送女神?手把手教你搭建3D立体相册网站,包女神稀饭

是不是一款人见人爱的相册网站&#xff0c;看下图演示马上知晓。360度3D立体旋转&#xff0c;随意放大缩小任一张照片&#xff0c;合适每一个女生的小胃口&#xff0c;保证女神眼前一亮&#xff0c;对您刮目相看。 我们的特点是——情人节圣诞节女神生日纪念日都适合当礼物&am…

css3 3D立体相册实现

这几天无聊&#xff0c;看到有博主弄的电子相册有点意思&#xff0c;就照葫芦画瓢也实现了一个&#xff0c;一个半透明的正方体包含着一个小正方体&#xff0c;相册自动旋转&#xff0c;当获得焦点时变化效果&#xff0c;截图如下&#xff1a; 一&#xff0c;代码目录结构 二&a…