IPv6“拼接编码”结构简介!IPv6详解2.1 子网前缀地址

描述

摘要:IPv6是应所谓“IPv4地址耗尽问题”而出现的,简单来说就是认为原来的IPv4地址空间不够用了,要给IP地址升位。类似6位电话号码不够用了,就升位到7位或8位。IPv6第一个版本出现于1995年12月份,万维网和第一个流行的浏览器Mosaic都刚刚出现,大数据和手机定位等技术都是近十年间才逐步获得应用的。技术时代的局限使得该IPv6在其地址结构的设计思想上存在很大缺陷。

因当时盲目地认为128位地址太过富裕,因此就集成进了物理层及应用层的信息,混淆了网络层次,形成奇特的“拼接地址”结构,由此带来无解的安全漏洞等潜在问题。另一方面,因在过去IPv4技术条件下发展的NAT等技术,“IPv4地址耗尽”本质上其实是不成立的。

事实上,不采用IPv6,继续在IPv4框架内平滑演进也无妨。电信技术因其特殊的标准性质,当一种标准技术一定程度上成为“全球公认”的时候,它就成为一种政治正确,即使大家都明显看出其中存在问题,却谁都不敢再发表质疑的意见,这导致类似ATM等看似完美和全球一致公认的技术,却长期无法大规模普及,甚至永远也无法普及,这会白白耗费大量社会资源。因此呼吁重新思考IPv6的发展问题。

一、IPv6“拼接编码”结构简介

IPv6地址有128位长度,人们普遍认为IPv6的地址空间就是128位。但这种想法是不对的,因IPv6地址结构设计很奇特,其地址空间并非如人们想象的就是128位空间。要理解IP地址的结构原理,可以用E.164电话号码来做参考。电话号码的结构是“国家或地区代码+区号+电话号码”,三段不同的代码代表了不同的层级。在IPv4地址中,是采用“网络ID(A、B、C、D、E类不同长度的地址)+主机ID”的结构。在IPv6主要的单播地址中,从大的原则上看,似乎也是采用类似IPv4的“网络ID+主机ID”结构,只不过IPv6的网络ID变成了具有三层更细结构,并且是固定长度的子网前缀:“顶级聚合ID+次级聚合ID+站点级聚合ID”,而IPv4中的主机ID,变成固定64位长度的“接口ID”。

表面上看,这样的设计是符合一般地址结构设计规律的。问题在于,从通信协议的最一般原理来说,需要有“分层”的概念,最一般的通信原理是七层协议。不同层次的问题应当交给不同层次的协议去解决,不同协议层之间应当透明。由于IPv6地址设计者认为128位长度实在是太富裕,既然IP地址要升位,不如乘机解决更多的问题。这样一来,把过多不应该由IP地址层考虑的其他协议层的问题,过多地掺杂进了IPv6地址中,由此导致了一系列致命的后果。原则上说,IP地址应当属于网络层的协议,它应当与物理层和应用层透明,但IPv6两个大的地址段的设计掺进了物理层地址和应用层。两个地址段事实上采用了完全不同的编址设计和分配体系,这是一个非常奇怪的设计,使得IPv6事实上并不是单一的地址,有点像把6位邮政编码与13位个人身份证号码,这两种各自独立的编码直接拼接在一起形成的“拼接编码”。

二、IPv6详解2.1 子网前缀地址

IPv6地址有很多分配给了一些特殊目的用途,如:

未指明地址                         ::/128

环回地址                            ::1/128

组播地址                           FF00::/8

本地联接的地址                  FE80::/10

这些不是专业人员可以不用去详细讨论。除此之外,IPv6地址的主体是可聚合的“全网单播地址”(global unicast address),这些地址的前缀从001直到111。这种单播地址采用“子网前缀”加“接口ID”的基本模式,并且“可聚合的全网单播地址”采用子网前缀和接口ID各占64位的模式进行分配。

以 IPv6版本RFC2373为例,其分配的细节如下:

2.2 接口ID

以2006年的IPv6版本RFC4291为例,相关描述如下

ModifiedEUI-64 format-based interface identifiers may have universal scope when derivedfrom a universal token (e.g., IEEE 802 48-bit MAC  or IEEE EUI-64 identifiers [EUI64])or may have local scope where a global token is not available (e.g., seriallinks, tunnel end-points)  or whereglobal tokens are undesirable (e.g., temporary tokens for  privacy [PRIV]).

这就是说,接口ID是按照IPv6协议之外的其他全网唯一的标识来解决的。一般是采用全网唯一的48位(实际长度为47位)长度的MAC地址(就是计算机网卡等都会有的唯一标识)生成或64位长度的IEEE EUI-64标识符。也可以在全网唯一标识难以获得情况下,获得只在本地唯一的标识。还可以在不希望有全网唯一标识情况下采用私有策略。

RFC2373附录A里,提供了“如果只具有非全网唯一物理接口地址,以及没有物理地址情况下”产生接口ID的方法。

对于没有物理地址的情况,可以采用三种方法来产生接口ID:

手工配置;

产生一个随机数字;

利用节点的序号。

并且在这里强烈推荐采用冲突检测的算法。

在这个设计里,之所以采用“接口ID”( interface ID)这个名称,显然表明了它的根本目的就是要采用终端物理地址来建立这部分编码。从最普遍的设计原则来说,物理地址是需要具有全网唯一性的。并且在IPv6所设定的使用环境中,接口ID的全网唯一性也具有重要价值。这主要体现在两个方面:

一是很好地支持移动。如果假设物理地址不具有唯一性的话,当两个具有相同物理地址的终端移动到同一个站点时,它们产生的IPv6地址将没有区别。如果太多冲突的话,将使整个系统崩溃。因此,尽管附录A里对不具有全网唯一物理地址、甚至不具有物理地址情况下如何获得接口ID进行了建议,并且建议中甚至有任意产生一个随机数字的方式,但这种方式显然不能成为主流,因为它如果成为主流的话,所谓“接口ID”就完全失去意义了。

二是其安全性的考虑。就是通过全网唯一的物理地址来唯一地确定终端的身份。

根据以上对IPv6地址基本思路的分析,可知该协议会存在如下严重的问题。 

三、IPv6将使运营商网络拓扑完全透明

在IPv6的地址申请过程中,并不像IPv4那样是申请整个IP地址段。IPv6运营商只能申请前64位的子网前缀地址,后64位的接口ID完全是另外一套分配规则,基本不受运营商管理和控制,不同结构段的地址分配规则完全不一样。其实,E.164电话号码不同号码段的分配规则机制也不一样。ITU给各个国家分配国家或区域代码,各个国家自己给各个城市分配区号和不同运营商的号段。各个运营商自己分配用户号码。IPV6却有点反过来了,子网前缀是批量申请到,具体编码由运营商自己分配,而位于后面的接口ID却不受运营商的管理和分配。有点儿像电话网的区号是运营商自己分配,而用户号码却不受运营商管理和分配一样。这的确会让人理解起来有点儿绕得头晕。

我们来设想一下,如果一个电信运营商申请到了一批子网前缀,它会如何用这些子网前缀进行网络规划和分配呢?例如某移动运营商M,它可以用顶级聚合ID来规划省或直辖市,用次级聚合ID来规划城市及城区,用站点聚合ID来规划各个基站及扇区。这意味着什么?当该移动运营商的某个手机用户生成它的IPv6地址以后,在地址里面就清楚地显示了该用户所在省或直辖市,城市及城区,直到其所在的基站和载扇等子网前缀号码。这样一来,假如该用户访问网站GOOGLE,那么GOOGLE很容易就可以获取移动运营商M的一个路径上的网络拓扑,甚至通过该用户的所在位置精确地定位用户所在基站和其扇区的位置。如果仅仅是这一个信息,意义是不大的。但是,当大量用户访问GOOGLE网络后,该网站可以通过大数据分析很快还原出整个运营商M的所有网络拓扑结构,基站所在位置、扇区方向、载频数量甚至网络性能。

当然,这个问题技术上并非绝对不能有反制的方法。M可以采用随机的甚至动态分配的方式来调整子网前缀的分配。但是,这种动态调整不是随便可以进行的,尤其当业务量比较大的时候,一旦调整会造成大量业务一定时间内的中断。另外,IPv6对子网前缀进行这样的设计,本来一个很重要的目的就极大提升路由效率。地址规划与网络拓扑越是一致,路由表就越简单,可以只根据子网地址前缀中部分层级的地址信息就可以完成路由。它有点类似IPv4时代提出的MPLS(多协议标记交换),子网前缀中的部分层级编址就相当于标记,它可以把相应子网内的IPv6包聚合在一起进行交换。这对提升路由效率和增强QoS确实是有很大好处的。例如,北京朝阳区到深圳皇岗区的IPv6包都可以聚合在一起,而不管站点地址和接口ID是多少。这就是为什么把子网前缀的地址称为“可聚合的”根本原因所在。如果子网前缀不按网络拓扑结构随机地进行分配,可聚合的根本好处就没有了。如果仅从IP路由本身角度看,IPv6可聚合的子网前缀设计的确是一个很突出的优点,对提升路由效率和增强QoS确实是有好处的。可是在大数据和手机定位已经普及的时代,这个优点同时又可能面对严重的安全问题。

当M网络里用户量大到一定程度,对网站、尤其像GOOGLE等访问非常集中的网站,即使采用随机甚至动态的子网前缀分配,还是可以在很短时间内就可以完成对M网络拓扑的大数据分析。

E.164电话号码结构中的不同层级也是包含网络拓扑信息的,为什么IPv6会有这样的后果,而E.164号码就没这个问题?原因在于:

E.164是服务于固网运营商电话业务,当号码是固定的时候,即使是通过来电显示知道电话号码,没有位置信息,也无法确定对应的网络拓扑结构。

点对点之间的通话仅仅能知道极少量的电话号码,很少存在所有用户经常向某一个服务点打电话的情况。

电话网不是数据服务,很少大数据的分析能力。

来电显示是电信运营商主动提供的服务。如果电信运营商不想对方知道来电信息,可以不提供。

用户不移动,很难准确区分局号和用户号分界点。

但IPv6时代已经完全不同,“用户移动尤其还是接口ID固定的用户移动”“大数据”“手机定位”,这几个技术加起来就会让采用IPv6的运营商网络拓扑基本上处于完全透明状态。由于手机可通过WiFi等接入固网,因此固网电信运营商的网络结构同样可以轻易地被破解。不仅是GOOGLE拥有这样的能力,用户量稍微多一点的任何一个IPv6互联网站都可以具备这种能力。

最早的IPv6版本RFC1884是1995年12月份发布,那个时候别说是大数据,连互联网的万维网1990年刚出现,第一个流行的浏览器Mosaic1.0版是在1993年11月份才发布,GOOGLE公司也都还没有成立,那时侯根本想不到会出现今天的技术局面。虽然后来IPv6协议的版本经过很多的改变,如:

RFC2373,1998年7月

RFC3513,2003年4月

RFC4291,2006年2月

接口ID设计的最新标准是RFC8064,2017年2月。

但是,IPv6这种将物理层的信息嵌入到IP地址中的基本设计思想,在其最初一旦形成后是无法改变的,能改变的只是细节。如接口ID可以不止是采用MAC地址作为全球唯一编址的工具,也可以利用其他更多的物理层地址等。

为什么IPv4没有这个问题,而IPv6会有这个问题呢?因为IPv4纯粹只是网络层的地址,电信运营商各个网络拓扑的IPv4地址主要只是在网络内部使用,通信的信宿(信息接收的终端)并不会知道这些地址。在现在的电信运营商网络里,拓扑的各个节点都有对应的物理层地址,包括基站和扇区都有编号。但它们都只是在运营商的网络内部使用,一旦出了运营商的网络,这些信息就都被剥离掉了,对方通信终端的信宿不可能获得这些地址信息。但IPv6把所有物理地址与IP层的地址混同了,而IP通信的双方一般都是知道对方的整个IP地址信息的,因为一个完整的IP包头会包含通信双方的IP地址信息。把电信运营商的物理层信息完全暴露在IP地址信息中,等同于裸奔。

一个电信运营商的网络拓扑和网络性能往往是其核心商业机密之一,运营商们真的想清楚了IPv6带来的这种后果,并且愿意承受吗? 

四、“良民IPv6用户”同样裸奔

如果电信运营商们真的不在乎这个事情,那到也罢了,作为普通用户我们何苦要操这份闲心。但是,IPv6会让用户也同样裸奔,那我们就不能不操心了。

接口ID对应了最终用户终端的地址。一般情况下,这个地址是用MAC地址等物理地址按一定规则生成的。这样,采用这种方式的用户一旦进行通信,通信的另一方从IPv6地址的接口ID中是可以根据IPv6的规则轻易还原出用户的MAC地址的。而MAC地址相当于用户的网络身份证。这会导致什么情况?这种“良民IPv6用户”也相当于在互联网上裸奔。尤其当你访问导航类网站的时候,相当于让这些网站时时刻刻在跟踪自己,这实在是太糟糕了。更糟糕的是,一般不懂互联网技术,尤其不懂IPv6这种地址设计缺陷的人不知不觉地会用MAC地址生成自己的接口ID,而IPv6又容许可以用其他方式,甚至用随机方法和手工生成。这会导致什么结果?黑客、极专业的用户等可以自己知道如何用这些方法匿名,形成“匿名或隐身IPv6用户”。这样,IPv6就会通过接口ID是否采用全网唯一的物理地址,而将用户分成“良民”和“隐身”两类。像GOOGLE、百度、腾讯、阿里巴巴等这种全网用户都可能会大量使用的网站,很容易通过解析良民用户IPv6地址中的MAC地址等开发相应的软件进行大数据分析。这会是什么结果——近似于人口和物联网终端及其轨迹、行为的实时监控。

一旦人们普遍发现这个问题、尤其是出了安全事故之后会是怎样?绝大多数用户都会要求自己的接口ID是匿名和隐身的,甚至于不断变换接口ID。这样会导致全网唯一的物理地址生成接口ID的途径最终有可能被废弃。而本质上接口ID要求是全网唯一的,能保证全网唯一性的途径只能是全网统一分配且地址固定。其他途径,尤其黑客等随机生成的接口ID不可能是全网统一分配的。冲突检测也只是在一个站点内、顶多同一个次级聚合ID覆盖的站点内进行,不可能全网进行。现在IPv6没普及,所以对这个问题不会有任何感觉。但随着网上IPv6用户量越来越大,接口ID的冲突机率就会越来越大。这相当于全世界所有用户都在随机地或自己给自己编64位的接口ID,地址冲突的机率就会越来越大。

5G准备全部采用IPv6,如果5G手机用户知道自己将在5G时代完全在网上裸奔,他们是否会要求自己的IPv6地址接口ID必须是随机变换的,否则就会拒绝采用该运营商的5G服务。如果出现这种情况,5G的推广是否会受到阻碍?

五、安全设计带来的巨大安全隐患

如果表面来看,IPv6提供了更多安全设计,通信应该更安全才对。但是,我们一定要首先理解安全性的一个最基本的特点,就是它相对不同利益相关方的互斥性。

简单来说,通信安全类似于战争中的攻防双方较量的过程,同一个技术相对于较量的双方,其安全性评价是完全相反的。例如,采用防空雷达可增强防御一方的安全性,但对进攻一方的海空军就不安全了。采用隐身战机对进攻一方更安全,而对防御一方就更不安全了。反导系统对防御导弹攻击的一方来说更安全了,但对导弹进攻的一方就更不安全。

通信技术的安全性对不同利益相关方来说,其评价也是完全相反的。通信系统涉及的利益相关方不仅有通信的双方,而且还有主权国家对通信系统的安全监管,对潜在黑客的侦破等。如果通信过程可以被监听到,对通信者来说是不安全的,但对监控通信过程的一方来说则更安全。如果通信过程被加密后不能被其他第三方监听到,对通信双方来说更安全,但对监管通信网络的主权国家来说就存在信息安全问题。因此,互联网的通信安全是应用层的事情,而不能在IP层去考虑。

互联网曾把匿名作为其优点之一,但是,这种完全不能确认用户身份的状态导致了网络黑客横行。IPv6试图在IP层提供解决通信安全性的手段,这种技术手段主要体现在两个方面。

一是IPv6地址设计中采用接口ID设置,提供了确认对方物理终端的技术条件。

二是IPv6还在其扩展头中增加了身份验证头AH和封装安全性数据头(ESP)。

这些安全设计提供了多方面的安全服务:

验证数据源身份。这是通过使用散列技术来实现数字签名;

对数据传输过程进行保密。如果使用隧道模式,则不仅可以对传送的数据进行保密,甚至对IP包头也可以保密。

要理解以上设计存在的问题,我们可以先参考一下INTEL公司CPU安全设计的案例。INTEL公司曾经想在其CPU中增加全球唯一的序列号,以增加所谓的安全性。但这个设计因为会使全球终端PC用户被锁定而受到强烈反对,此事不得不最终作罢。但IPv6接口ID的设计相比CPU中增加序列号有过之而无不及。因为CPU中的序列号还需要特殊的软件才能启用,不是随便谁都可以用的,并且一旦在CPU中加了序列号,所有CPU都会有,大家都是平等的。但IPv6的接口ID会使“良民IPv6用户”在通讯过程中一旦自己的IP包传过去,第一时间就把自己终端的MAC地址告诉对方了。这相当于把自己的身份证号码贴在自己脑门上,并在所有通信过程中暴露自己的身份。同时IPv6的随机产生接口ID的方式却让黑客IPv6用户可以轻易匿名。作为生活在社会中的每个人,在很多情况下必须接受自己的身份被公开,例如采坐飞机和高铁就得出示身份证。如果只是去超市买瓶水,到餐馆吃个饭,凭什么要人出示身份证?但是,IPv6事实上是要求良民IPv6用户在网上一切条件下进行任何服务得在出示自己的身份证。这能被社会接受吗?

如果市场不能接受INTEL公司在CPU中增加全球唯一序列号的话,实在难以理解为什么可以接受IPv6的接口ID设计方式?原因只是IPv6还没有大规模地普及,人们根本搞不明白IPv6的接口ID是怎么回事,等明白了并且出过问题后就不会再接受了。

在IPv4为基础的互联网中,如果黑客对某个合法用户发起攻击,我们有可能通过IP地址找到其攻击地点。但如果IPv6中安全网关的隧道方式被黑客采用的话,从网上就根本无法确认其数据包是从什么地方发出的了。如果隧道方式被敌对国家的间谍机关以及犯罪分子采用,我方安全机关就难以追踪其活动。不仅搞不清楚对方通信的内容,连对方通信地址和如何区别敌方通信的数据包都做不到了。作为主权国家,能接受这样的状况出现吗?

IP层所要做的事情就只是做好IP层的事情就够了。IP层要解决的安全问题应当仅限于数据本身的正确性和可靠性,即:如何准确、可靠、高效地将数据从信源传递到信宿,不该它解决的问题就不该去考虑。如果像IPv6这样把从物理层到应用层的功能全包在里面,由于互联网赢家通吃的特点,像GOOGLE这种全球用户都可能去访问的网站,不仅成为人口管理的新联合国政府,而且成为世界所有电信运营商网络拓扑信息大全了。中国和其他各国政府真的想清楚这种后果是什么了吗?

六、含混的地址空间问题

正如前面所说,IPv6是一种拼接编址。这样一来,它的地址空间就不是单纯的128位。子网前缀决定的只是子网地址的空间,与最终用户数量是多少没有直接关系(只有每个站点管理多少用户的间接关系)。如同一个邮政编码覆盖的区域与最终居民是多少根本没有直接关系一样。用户地址的空间是由接口ID的长度决定的,从目前看,它最大就是64位。当然,未来也可以将保留的编址部分进行新增的设计,对接口ID进行扩展,从而高于64位。但这样一来整个路由算法就将完全不同,一定程度上等同于另一个全新的IP协议。并且接口ID地址长度增加了,会压缩子网前缀的地址空间。如果64位用户地址真的不够用了,同时也会需要更多子网前缀的地址空间来管理用户。因此,这样的未来设想不能简单地以增加接口ID来考虑。

如果接口ID是采用48位的MAC地址,因为其中u比特在IPv6中要求是固定为1,因此,事实上的有效长度是47位,这才是实际的这种设计的IPv6用户地址空间。当然,从我们所进行的分析来说,47位地址其实也足够了,但人们在宣传IPv6的时候简单地说它有128位地址空间,“可以给地球上每个沙子分配一个地址”显然在技术上太不严格。47位地址空间相比IPv4也就增加了15位,与宣传的128位差距实在是太远了。

七、IPv4地址空间耗尽问题其实并不存在

这可能会是一个非常令人震惊的结论,但它却是实实在在的客观现实。IPv4地址空间并不是人们一般理解的32位。因为NAT地址的使用,事实上IPv4的地址被极大地扩展了。它有点类似电话网中的分机号码。具体能扩展多少呢?NAT地址使用了三个不同类型的网络ID。

A类地址:10.0.0.0至10.255.255.255

B类地址:172.16.0.0至172.31.255.255

C类地址:192.168.0.0至192.168.255.255

即使以C类地址来看,一个公网IPv4地址可以扩展出65535个NAT里的IPv4地址。事实上,即使纯粹从IPv4的公网地址来看,所谓IPv4地址不够用的问题远没那么严重。随着互联网用户量接近人口总量,其对IP地址的消耗速度也很快慢下来。只要比IPv4的理论空间多出2个数量级,其地址空间就足够了。多年前我们经常听到电话号码升位的消息,但有很多年已经没听到过这样的消息了。原因在于一方面由于移动技术的发展,固定电话用户增加到一定程度后转为下降,不再需要更多号码资源。另一方面,电话升到8位以后,其理论空间为8千万个,这已经远远超过世界上任何城市的潜在用户量。NAT地址以最少的C类地址来进行扩展也有4个数量级的潜力。如果采用B类甚至A类地址潜力就更大了。

NAT地址确实也存在一定的技术问题,如私网穿透等,但这些都已经解决或有很简单的技术就可完全解决。

更准确地说,现在一般使用的是NAPT,用NAT网关IP地址的端口号作为建立临时TCP/IP链接的映射,这个会存在端口号2字节16位长度(65535个)的限制。如果真想解决这个限制也不是没有办法。我本人就设计了一种超级IPv4的专利技术,可以很好地解决这个问题。另外,采用现在的SDN技术,也可以很容易解决NAPT端口数量限制的问题。这些技术都不复杂,并且真正兼容IPv4,几乎可以无限扩展IPv4的地址空间。它们都是只需要很简单的边缘路由器以及终端TCP/IP部分的软件升级一下就完全可以解决问题,根本不需要IPv6这么大的动静。

因此,仅从地址空间角度来说,IPv6也纯属鸡肋,有它不多,无它也真不少。

八、平滑升级问题

网络技术并不像面包一样,只要生产出来一个就可以被消费,它必须要形成一个网才有可能获得应用。因此,通信的新技术要成功,充分考虑与原有技术的兼容和平滑升级是极为关键的。IP地址是互联网最基础的协议,要通过完全另引炉灶彻底更换的方式解决难度极大。最初IPv6的设计者们没太深入地动脑子,就认为IPv4的32地址空间问题不可能通过平滑升级的方式解决,因此就轻易地采用完全另起炉灶的方式重新设计。我们只要考察另外一个技术案例就知道网络领域里的平滑升级有多重要,并且为此付多么大的努力都是值得的了。

电视技术最初是黑白的,为了发展彩色电视,要克服的困难并不在于如何实现彩电本身,而是如何能让过去的黑白电视网络兼容且可以平滑升级。也就是黑白电视传播发射设备可以兼容彩色电视信号,原来的黑白电视机可以接收和播放彩色电视信号(虽然放出来当然还是黑白的),新的彩色电视机也可以接收原来的黑白电视信号。这个难度实在是太大了,为了解决这个问题,人们把三基色的彩色信号分离成亮度信号(相当于黑白电视信号)和色度信号,通过梳状的频谱安排将两者混在一起,在接收机端用梳状滤波器将两者分离。这些功能都是通过模拟技术实现的,花了业界整整30多年时间才攻破了所有技术难题。可以说,彩色电视系统是模拟电路时代技术复杂度的巅峰之作。但是,一旦解决了平滑升级的问题,彩色电视很快就普及了。

因为IPv6想图省事儿绕开解决平滑升级的问题,所以虽然它短时间内很快就推出来,却花了20多年还是看不到真正普及的希望。到现在还想靠行政命令搞IPv6-Only强行推广。在平滑演进的问题上,想快是快不了的。想最快的结果很有可能就是根本做不成。

由于现在全网如此之多的用户全都在用IPv4,如果要想实现IPv4向IPv6的转换,不可能全球用户在同一时间一次性完成,必然存在一个非常漫长的转换期。在其转换过程中,如果只是部分用户采用IPv6,无论采用隧道方式还是双栈方式进行兼容,采用IPv6的用户其实就相当于IPv4中的一个私网,它的一切假设的技术优势特点都发挥不出来。既然如此,为什么不直接用IPv4的NAT网解决问题拉倒?IPv6已经成了全球通信领域里的一个政治正确,所有运营商和用户谁也不敢反对它,甚至表面上大家都在支持它,但又谁都不会积极地率先采用它。

有人认为物联网是最适合IPv6的,这完全是立场决定观点,屁股决定脑袋。NB-IoT里的终端通信频率极低,码率也极低,几乎没有任何通信性能的要求,采用NAT技术才是最适合的,用一个IPv4公网地址和A类私网地址扩展出数量上千万的物联网终端都没问题。如果不去大规模地使用,网络设备里IPv6的潜在技术缺陷就发现不了,这样率先采用IPV6的用户反而可能遇到很多服务不好的问题。要一直到所有用户全都采用IPv6了,它使用起来才真正顺畅。

说白了,IPv6最大的价值就是要解决一个地址空间问题,其他多余引入的技术只会同时引入一堆潜在的麻烦。地址空间问题又因IPv4的NAT技术的存在而可有可无,这就会使IPv6的普及变得如登天般困难。

坦率地说,原来以IPv4为甚础的互联网也有不同的安全问题,社会也都忍了,或叫适应了,或通过其他技术弥补了,或者再说得悲观点叫不愿接受也无可奈何吧。所以,就算我们不考虑前面所说的IPv6存在安全性的巨大问题,它要是真能普及的话我们也乐见其成。但因为它的跨度太大而不能平滑升级,同时IPv4又足以很简单甚至更有效、更合理地解决所有IPv6想解决的问题,而IPv6本身新带来的安全问题比它解决的还要多得多,所以IPv6很可能成为另一个ATM——它纯属一个政治正确,全世界所有人表面上都在支持它,甚至一致公认地认为它是最理想的技术,但100年以后也没法普及。为此整个社会将永无止尽地为一个根本不可能普及的技术无谓地白白耗费大量资源。

别以为所有技术都是越变化越好的。有谁希望自己的邮政编码不断变化的?

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分