为什么物联网需要IPv6?


21

最近,我在《安全情报》杂志上谈到了物联网和IPv6:

分析人士预测,到2020年,将有300亿个连接的“事物”,而IPv4地址空间仅可容纳40亿个并不断变化。即使有了网络地址转换(NAT)和专用地址空间,物联网对地址的胃口也将克服IPv4对其进行分类的能力。

输入IPv6,这会将地址空间扩展到340十进制,即3.4×10 38。好吧,由于保留了某些组合,因此从技术上讲要少一些。但是,这仍然是足够的可用地址,可以为地球上的每个人分配大约4,000个地址。

让我感到困惑的是,为什么物联网会对切换到IPv6的需求产生任何影响。在我看来,绝大多数事物都连接到路由器,因此只需要一个全球范围的 IP。

例如,您的智能烤箱(或任何其他)的IP为192.168.0.52,这不会阻止邻居的Echo具有相同的IP,因为要从家外访问该IP,您必须经过家中的 IP地址,例如:148.238.24.9。

为何物联网的出现需要切换到IPv6?


5
我不知道如何将340个十亿分之一的唯一地址(保留几个保留地址)简化为地球上每个人的4,000个地址?
加纳玛'17


不需要像使用电动汽车一样不必进行电动“加油站” 那样的切换。但是,两者肯定会使它更加方便。
user253751

1
IPv4寻址提供2 ^ 32个地址,而IPv6提供2 ^ 128个地址(较少的开销)。人数少于2 ^ 33,还有公司,学校等。因此,将其称为2 ^ 36个人/位置。这样,每个人/每个位置留下2 ^ 92个地址,而每个人/每个位置留下4000(2 ^ 12)个地址。IPv6在2 ^ 64时会是金黄色的,并会尽快采用。
ChuckCottrill

请参见RFC 7368如何 IPv6有望在工作家庭网络。
迈克尔·汉普顿

Answers:


19

有两个原因。

(1)首先是更简单的端到端连接。如果源和目标都具有公共IPv4(或IPv6)地址,则它们可以随时沿任何方向相互连接。

192.168.0.52但是,具有私有IP的IoT 只能在需要时使用NAT来连接到Internet上的任何公共IP,但是Internet的其余部分无法连接到它。有像组装机DNATuPNP的是用来让你指定某些传入连接启用,但他们由于实现的突破越来越时下CGNAT因为IPv4的短缺。

一个常见的(所谓的)解决方案是,您的所有(经过NAT转换)的设备都使用公用IP(通常由设备制造商托管)连接到某个中央位置。这使它在技术上可以正常工作,但是涉及到隐私问题(您要提供IoT中的所有数据),安全问题(因为您对它们敞开大门),受到侵害或不满的员工可以做您的IoT设备可以执行和访问的任何操作)和可靠性问题(当制造商停业或决定停止支持旧设备或遭受故障的情况时),您所有(以及其他所有人)功能完善的设备将停止工作。

(2)第二个问题是,它将在将来的某个时候停止工作(即使对于传出连接也是如此)(不是在一两年之内,但是仍然如此。物联网和服务的普及越多,它就会越早开始崩溃)。

那是因为NAT允许私有地址像192.168.0.52整个Internet 一样到达。它通过将源地址更改192.168.0.52为路由器的公共IP来实现,但是用池中的空闲端口替换了源端口。

例如,你的第一个连接可能是192.168.0.52:1000可能是(CG)-NATed到(公网IP) 198.51.100.1:1000,和你的邻居192.168.0.77:1000可能会经过NAT来198.51.100.1:1001。您的第二个连接将从192.168.0.52:1001NAT到198.51.100.1:1002etc。

问题是,即使是像打开网页之类的简单事情,也可能会打开数十个连接并使用许多端口(用于DNS查询,用于不同元素的HTTP(S)连接,不同站点上的JS分析等)。

洪流客户端等更昂贵的程序将很容易用完数千个端口。而且,只有65535个端口可用于任何IP。

这意味着您的几个共享相同CGNAT IP的邻居使用的连接份额更大(更多的IoT将意味着更多的连接),并且突然使用了该公共IP 198.51.100.1上的所有65535端口。这意味着无法为您和您的邻居建立新的连接。从更大的角度来看,这意味着有很多人无法使用物联网,而我们所知道的文明正在崩溃:-)

由于我们希望尽可能长时间地延迟这种文明崩溃,因此我们正在过渡到IPv6如果可能,请通过使用IPv6支持这种文明的持续存在。谢谢!


1
“并且只有65535个端口可用于任何IP。” 但是连接由源IP,源端口,目标IP和目标端口的四元组标识。因此,NAT可以将相同的公共源端口用于多个目的地(无论它是否实际取决于实现方式)
Peter Green,

2
@PeterGreen是正确的,因为有两个IP(src和dst),所以有两个端口池。我已经开始学习技术,因此没有深入了解。而且实现可能会将相同的源端口重用于不同的目的地(或者不重用,因为由于搜索列表而增加了路由器的负载)。但是,请注意,目的地通常出于某种目的是固定的-例如,您始终连接到8.8.8.8:53以获取google DNS解析器,或连接到端口80(或443)以连接到某些Web服务器的HTTP。但是NAT只能更改源端口,而不能更改目标端口。
Matija Nalis

3
@PeterGreen已经有报告CGNAT硬件以此处描述的方式发生故障。这表现为没有明显原因的奇怪的不可靠连接。例如,请参阅此Ofcom报告。无论如何,CGNAT只是在失败中投入了很多钱,当IPv6部署早就应该拖延时,IPv4仍在继续发展。
迈克尔·汉普顿

3
我已经看到塑料路由器的NAT死于只是尝试从头开始解析几个DNS名称,即在公共DNS中不使用递归DNS名称服务器,而是在本地进行递归。
乔纳斯·谢弗

2
@ v7d8dpo4 不一定不好-是的,但是对于大多数情况下的IoT设备而言,这不好的-IoT设备通常会将其数据(有时甚至是加密的,但不是那么频繁)发送给制造商,然后制造商在几乎所有情况下解密数据以显示漂亮的HTML页面(或其他内容)。因此,制造商(或运行公共ip的任何人)都可以使用您的所有数据,并可以随意控制您的IoT设备。现在,在少数情况下,您可以指示设备连接到您自己的公共IP并运行在那里提供的开源服务器端软件,但这非常罕见:(
Matija Nalis

14

现在 IPv6是必需的; 我们已经几乎没有IPv4地址了。随着越来越多的人上线,我们开始达到必须在多个人之间共享IP的地步,不仅仅是一个不可接受的家庭(运营商级NAT),而且不仅仅是物联网的问题。

IPv6使我们可以转向一种更具语义的表示形式,其中一个IP =一个设备,这具有多个优点。如果您可以直接访问智能设备(例如烤面包机,烤箱,灯泡,电视或其他设备),则只需将命令直接发送到设备即可,而无需经过集线器。目前,NAT使设置变得困难,因为它需要专门端口来转发IoT设备(并且对于运营商级NAT可能根本不起作用)。

可能值得一读:“切换到IPv6意味着丢弃NAT。那是件好事儿吗?' 如果您担心安全隐患,请从Server Fault获得。为您的所有IoT设备提供公共IPv6地址并不是一个很大的安全漏洞;这仍然会在启用NAT的网络上引起问题。

该IEEE文章具有一些优点:

从移动设备网络到通信“事物”网络的下一个逻辑步骤是物联网。下一步将反映移动网络经历的事件顺序。专有协议是第一位的,因为单个公司的利润通常是在考虑共同利益之前才出现的。但是,IP和透明性(即开放源协议)的使用对于物联网开发至关重要,就像该技术的易用性和隐蔽性对于最终用户而言至关重要。根据我们的研究,我们的观点是透明度和易用性的价值,以及更重要的是对互操作性的需求,将有利于物联网市场采用IPv6。

因此,简而言之:

  • 目前,1个IPv4地址代表... 谁知道?有时是设备,有时是路由器,有时是由不同客户组成的整个网络。

  • 使用IPv6,可以为Internet上的每个IoT设备赋予一个“名称”。

  • 能够寻址您的设备使您可以控制它们,并简化设置和管理。


3
比这更好。一台设备可能具有多个 IPv6地址,并且可以预期。
迈克尔·汉普顿
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.