我知道我们的IPv4地址用完了(或已经用完了?),但我真的不明白为什么会这样。现在,每个家庭都有其自己的IPv4地址(动态分配,但每个家庭都有一个地址)。为什么一个城市(例如)不能只有一个IPv4地址,而该城市中的所有房屋都只能位于该城市的专用网络上?然后,这个城市便可以分配范围从0.0.0.1
到的地址255.255.255.254
。
我确定我的理解是错误的,否则IPv4地址将用完。我的理解有什么问题?
我知道我们的IPv4地址用完了(或已经用完了?),但我真的不明白为什么会这样。现在,每个家庭都有其自己的IPv4地址(动态分配,但每个家庭都有一个地址)。为什么一个城市(例如)不能只有一个IPv4地址,而该城市中的所有房屋都只能位于该城市的专用网络上?然后,这个城市便可以分配范围从0.0.0.1
到的地址255.255.255.254
。
我确定我的理解是错误的,否则IPv4地址将用完。我的理解有什么问题?
Answers:
根据Vint Cerf(IP之父)的说法,IPv4的32位地址大小是任意选择的。IP是政府/学术界的合作实验,从未设想过当前的公共互联网。IP范式是每个连接的设备都将具有唯一的IP地址(在IP设备之间发送的所有数据包都将从源IP地址到目标IP地址进行端到端连接),并且许多使用IP的协议都取决于每个设备具有唯一的IP地址。
假设我们可以使用所有可能的IPv4地址*,则只有4,294,967,296个可能的IPv4地址,但是(截至2018年9月)当前的世界人口为7,648,290,361。如您所见,没有足够的IPv4地址供每个人使用,甚至一个人,但是许多人拥有一台计算机,打印机,手机,平板电脑,游戏机,智能电视等,每个人都需要一个IP地址,并且甚至都无法满足IP地址的业务需求。我们还处于物联网(IoT)的风口浪尖,每个设备都需要一个IP地址:灯泡,恒温器,温度计,雨量计和洒水系统,警报传感器,电器,车辆,车库门开启器,娱乐系统,宠物项圈,还有谁知道呢。
* 有些IPv4地址块不能用于主机寻址。例如,多播具有不能用于主机寻址的268,435,456地址块。IANA在https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml上维护IANA IPv4专用地址注册中心,以记录所有特殊地址块及其用途。 。
IANA(互联网编号分配机构)用完了IPv4地址块,以分配给要在其各自区域中分配的RIR(区域互联网注册局),并且RIR现在也用尽了IPv4地址,要在每个区域中进行分配。想要或需要IPv4地址的ISP(互联网服务提供商)和公司无法再从其RIR获取IPv4地址,现在必须尝试从可能具有额外功能的企业购买IPv4地址(随着IPv4地址短缺的加剧,IPv4地址的价格往上)。
即使所有保留用于特殊目的且不能用于主机寻址的IPv4地址都可以使用,我们仍然处于同一位置,因为IPv4地址的大小有限,导致IPv4地址不足。
如果IANA和IETF(互联网工程任务组)未针对IPv4地址短缺采取缓解措施,那么IANA和RIR会比IPv4地址用尽很多年。一个重要的缓解措施是弃用IPv4网络类,而使用CIDR(无类域间路由)。分类寻址仅允许分配三个网络大小(每个网络16,777,216、65,536或256个主机总地址),这意味着浪费了许多地址(仅需要300个主机地址的企业将需要分配一个拥有65,536个可能主机的分类网络地址,浪费了同类网络中超过99%的地址),
到目前为止,对延长IPv4的寿命影响最大的缓解措施是使用专用寻址和一种称为NAPT(网络地址端口转换)的NAT(网络地址转换)变体,这是大多数人指的是请参阅NAT或PAT(PAT是NAPT的特定于供应商的术语)。不幸的是,NAPT是一种丑陋的解决方法,它破坏了IP端到端范例,并且破坏了依赖于唯一IP地址的协议,因此需要更丑陋的解决方法。
NAT的概念非常简单:当数据包通过NAT设备时,它会替换数据包头中的源IPv4地址和目标IPv4地址,或同时替换两者。实际上,它需要进行计算,因为IPv4头具有计算字段以检查IPv4头的完整性,并且对IPv4头所做的任何更改都需要对该字段进行重新计算,并且数据包有效负载中的某些传输协议也需要自己计算必须使用NAT设备中可用于数据包转发的计算资源来重新计算这些字段。
在基本NAT中,NAT设备具有一个IPv4地址池,用于替换从内部网络发送到外部网络的IPv4数据包的数据包头的源IPv4地址,并且它维护一个转换表以便转换从外部网络返回的流量的目标IPv4地址,以便将数据包传递回内部网络上的正确主机。这也需要NAT设备上的资源来构建和维护转换表,以及执行表查找。这种资源利用可能会减慢数据包的转发速度,因为NAT使用的资源是从可用于数据包转发的资源中获取的。
NAPT还通过转换TCP和UDP的传输协议地址(端口)以及ICMP的查询ID,进一步扩展了基本NAT。通过还翻译传输层地址,NAPT允许许多内部主机IPv4地址使用单个外部IPv4地址。NAPT比基本NAT占用更多的资源,因为它需要每个传输层协议一个单独的表,并且它还必须执行传输协议的完整性计算。
可以在多个网络上重用的私有IPv4寻址的使用(您可能已经注意到,大多数家庭/住宅网络默认使用相同的192.168.1.0/24网络,这是IANA分配的私有IPv4地址范围之一)与NAPT一起,允许企业和家庭用户针对大型内部(专用地址)网络使用单个外部(公用)地址。这样可以节省许多许多IPv4地址(是可能的IPv4地址总数的几倍),并且延长了IPv4的寿命,使其超出了没有NAPT可能会崩溃的程度。NAPT确实有一些严重的缺点:
IETF预测IPv4地址短缺,并创建了解决方案:IPv6,它使用128位地址,这意味着有340,282,366,920,938,463,463,374,607,431,768,211,456个可能的IPv6地址。几乎无法想象的IPv6地址数量消除了对NAPT的需求(IPv6没有任何NAT标准,IPv4的方式,并且实验性IPv6 NAT RFC特别禁止NAPT),从而恢复了原始IP端到端范例。IPv4地址短缺的缓解措施旨在延长IPv4的寿命,直到IPv6普遍存在为止,此时IPv4应该逐渐消失。
人类无法真正理解用于IPv6的大小的数字。例如,标准IPv6网络为网络地址的每个网络和主机部分使用64位。这就是18,446,744,073,709,551,616个可能的IPv6标准/ 64网络,以及每个网络中相同(数量)个主机地址。要尝试理解这么大的数目,请考虑使用扫描网络上所有可能地址的工具。如果这样的工具每秒可以扫描1,000,000个地址(不太可能),则在单个/ 64 IPv6网络上执行扫描将花费584,542年的时间。目前,仅将IPv6总地址空间的1/8分配给全球IPv6地址,即2,305,843,009,213,693,952个标准IPv6 / 64网络,如果2100年的世界人口为210亿,这是一个现实的数字,这210亿人口中的每个人都可以拥有109,802,048个标准IPv6 / 64网络,每个网络都具有18,446,744,073,709,551,616个可能的主机地址。不幸的是,数十年来,IPv4地址短缺已根深蒂固地保护着人们,以至于许多人根本无法放手,他们试图将其应用于IPv6,这毫无意义,而且实际上是有害的。IPv6实际上是设计用来浪费地址的。
IETF还具有事后观察的优势,它通过删除无法正常工作的IPv4功能,改进了某些IPv4功能并添加了IPv4所不具备的功能,从而创建了新的改进IP,从而改进了IP(在IPv6中) 。因为IPv6是与IPv4完全独立的协议,所以当从IPv4过渡到IPv6时,它可以与IPv4并行运行。主机和网络设备可以同时在同一接口上(双重堆叠)运行IPv4和IPv6,并且彼此看不见。两种协议之间没有干扰。
IPv6的问题在于,它实际上是一个完全不同的协议,与普遍存在的IPv4不兼容,许多人认为IPv4地址短缺的缓解措施“足够好”。其结果是,已经超过20个自从IPv6标准化以来已有数十年的历史了,我们现在在使用IPv6方面已经获得了真正的吸引力(Google报告,截至2018年9月,全球IPv6的采用率超过20%,美国的IPv6采用率超过35%)。我们最终转向IPv6的原因是,根本没有更多的未分配IPv4地址可以分配。
IPv4文化的所有其他方面都存在其他障碍,这些障碍很难让人过去。许多人对IPv6感到害怕,因为他们长大了并且对IPv4,疣和其他事物感到满意。例如,与IPv4地址相比,IPv6地址看起来很大而且很丑陋,这似乎使很多人失望了。现实情况是,IPv6通常比IPv4更容易和灵活,尤其是在寻址方面,并且从一开始就将在IPv4中汲取的经验教训应用于IPv6。
罗恩·莫平(Ron Maupin)的答案很好地概述了IPv4的不足,但我想解决您的问题的这一部分:
为什么一个城市(例如)不能只有一个IP地址,而该城市中的所有房屋都只能位于该城市的专用网络上。这样,这个城市就可以分配范围为0.0.0.1到255.255.255.254的地址。
从表面上看,这就是“ NAT”(或更确切地说是“ IP地址伪装”)的工作方式:建立了一个专用网络,该网络看起来像一台主机一样面向外部Internet,并将内部流量路由到许多主机。不同的用户。但是,您在示例中忽略了一些重要的限制:
大约有1800万私人使用的IPv4地址,但只有65536端口号。实际上,您并不需要为每个连接都使用唯一的端口,因为您可以拥有一个包含远程地址的查找表,但是在没有问题的情况下扩展范围仍然存在限制。
也就是说,NAT确实是IPv4网络由于地址短缺而没有完全崩溃的最大原因之一。将IP地址分配给每个家庭或办公室,并向其发布执行NAT的设备,则可以连接的设备比IPv4的原始设计要多得多。为了进一步扩展,使用了运营商级的NAT,其中ISP的公共地址少于连接的家庭,可能使用两层NAT来管理数据包到最终目的地的路由。
最后,从剩余的几个地址中挤出所有可能的路由只是对IPv4的终生支持,并且在某个时候,每个地址都将保留供内部使用,某些NAT网络的公共外观或公共地址。服务器接受未经请求的连接。
现在,每个家庭都有自己的IP地址。为什么一个城市(例如)不能只有一个IP地址,而该城市中的所有房屋都只能位于该城市的专用网络上?
自1990年代末以来,许多互联网服务提供商已经做到了这一点。
在1990年代,这样做的原因有很多(不是IPv4短缺)。但是在2012年,我所在的互联网服务提供商开始这样做,因为不再有足够的IPv4地址:
我的提供商使用“ DS-Lite”,这意味着新客户获得了一系列全球IPv6地址(动态分配),并且他们只有您所描述的私有IPv4地址。
其他Internet服务提供商使用“ CGNAT”正是您所描述的内容(没有IPv6)。
我的理解有什么问题?
您必须查看使用NAT 无法实现的功能:
如果要操作某些服务器,则肯定需要一个唯一的IP地址。并且请注意,您可以通过智能手机访问的在家中的某些设备是“服务器”。
Facebook Inc.所做的一项研究表明,当多个客户共享一个IP地址时,连接速度会受到影响。
还有另一个问题:
由于端口号,一个IP地址可以同时建立到特定服务器的连接数限制为大约60000。
我看过视频流页面,这些页面同时打开了10个连接。使用同一页面的6000人,并且达到60000个限制。
60000是理论极限;实际限制更少。
这样,这个城市就可以分配范围为0.0.0.1到255.255.255.254的地址。
这绝对是行不通的:
假设您要访问此网站(networkengineering.stackexchange.com)。然后,您必须建立与151.101.129.69的连接。
如果在全市范围的本地网络中有一台地址为151.101.129.69的计算机,则可能无法正常连接到“ networkengineering.stackexchange.com”,因为尚不清楚两台计算机中具有相同IP地址的计算机是什么意思:城市网络内部的一个还是网络外部的一个?
这意味着城市范围的网络必须知道151.101.129.69是该网络外部的地址。
因此,只能使用全球互联网中未使用的地址。
顺便说说:
即使在未连接到互联网的专用网络中,我们也无法使用整个范围0.0.0.1-255.255.255.254:
在这样的网络中,我们可以使用151.101.129.69之类的地址。
但是,不能使用范围0、127和224-255,因为几乎所有操作系统和设备都专门处理了这些范围。因此,例如,没有通用的操作系统允许计算机使用地址127.10.11.12。
还要指出的是,许多IPv4 IP都由云托管公司或代理经销商拥有,并且受到了高度污染。租用代理服务器的任何人都曾遇到过IP地址受污染的问题。
尽管IPv4地址将用完,但仍有更多可用空间,您仍然可以用几美元的价格购买它们的数量(按千个)。
有一些客观的和基于意见的原因,当然,最重要的原因是金钱。
首先,IP被设计为具有唯一地址的主机是端到端的。从理论上讲,这基本上意味着每个设备(服务器,个人计算机,电话)都需要有自己的IP地址。
有40亿个地址可用,从原则上来说,每个人都足够,因为尽管地球上的人口几乎是两倍,但绝大多数人都在努力获取足够的食物,而无论如何他们一生都买不起电脑。但是,在负担得起的少数人群中,人均在线状态更像是15到20台设备,其中包括一些相机,冰箱,遥控照明和供暖设备,以及您的烤面包机。由于我不知道的原因,必须将其连接到Internet。
并非物联网确实是必需的,但在过去的十年中它已经非常成功地进行了市场营销并被广泛采用,因此这是现实,因此是真实的问题。另外,由于技术上的原因,大量的地址被浪费了,而根本没有充分的理由,则浪费了大量的地址(我会在后面再讲)。
在实践中,有一种称为NAT的东西可以(或几乎如此)完成您的建议。从技术上讲,它违反了IP的设计原则,但是这并不是一个大问题。但是,尽管NAT可以正常工作并且在某些方面实际上是一件好事,但它有其局限性(值得注意的是,理论上它只能将地址数最多扩展到65535,实际上比这要少得多)强烈希望将NAT淘汰掉。最紧急的是NAT掩盖了地址和设备之间的1:1关系。这实际上是一件好事,因为哦,你实际上不想要那个,但对某些有发言权的人(例如执法部门)来说却不太好。另一个原因是NAT(通常也使用防火墙)使某些应用程序变得更难。特别是,NAT后面的一台主机与NAT后面的另一台主机进行通讯很麻烦(不是不可能,只是比绝对必要的要难实现)。
现在,对于一个“典型的”企业(或其他组织),其中有些人坐在小隔间并通过公司网络或通过VPN进行通信,并且可能具有各种Internet访问权限,那么,例如,每层拥有一个IP地址将是很有意义的。然后将它们全部NAT。它不仅会便宜很多,而且对于外部观察者来说,它也将变得不那么明显。另外,这对于网络管理员来说将更加明显。两者都是一件好事。遗憾的是,现实情况是,几家大公司和美国的大学都保留了很大范围的IP地址,以使他们可能曾经拥有的每个计算机都有自己的地址。问为什么?我不能说。
我们“精疲力尽”的最重要原因是,有强烈的动机来推广IPv6。IPv6不仅消除了一些麻烦并带来了一些(尽管很少)令人满意的功能,但同时也增加了线路上的可衡量开销(特别是如果涉及到诸如IP-over-PPPoE-over-ATM的多层等情况,家庭互联网连接),而客户则需要支付以每秒字节数为单位的带宽或每字节的容量。所以...离开IPv4的任何一种方式都是非常可取的,因为作为提供者,您需要较少的骨干网,或者您可以为相同的东西向客户收取更多费用。
导致危机得到积极推动的危机,发出了像糖果这样的地址(直到几乎没有剩下)。我记得不久前几年,您租用一台50美元的服务器时会得到5个地址。
洛雷诺(Loreno):
1)您的直觉性问题“为什么一个城市(例如)不能只有一个IP地址,而该城市中的所有房屋都只能位于该城市的专用网络上?那么,这个城市将能够分配范围内的地址0.0.0.1至255.255.255.254。” 如果对IP地址进行了正确的管理,它实际上可以工作。不幸的是,互联网起初没有建立全球通信基础设施的愿景,然后发展如此之快,以至于纠正措施无法解决问题。-正如他们所说。
2)几年前,由于对电话背景的好奇心,我们的团队冒险涉足这一问题。我们提出了一种称为EzIP(简易IPv4的语音语音)的解决方案,该解决方案可以将每个IPv4公共地址扩展256M(百万)倍(远远超出您的期望)。我们向IETF提交了提案:
https://tools.ietf.org/html/draft-chen-ati-adaptive-ipv4-address-space-03
并且,图形演示可以更快地传达想法:
https://www.avinta.com/phoenix-1/home/EzIPenhancedInternet.pdf
3)EzIP方案不仅解决了IP地址短缺问题,而且还提供了增强Internet性能的可能性。请查看以上文件,然后我们可以进行进一步讨论。
安倍(2018-10-14 22:27)
我们还没有用完IPv4地址。
今天,IPv4地址的价格是多少?似乎大约是18美元:http://ipv4marketgroup.com/ipv4-pricing/
单个IPv4比一桶石油便宜得多。我的汽车每年需要八桶新油。我每年不需要8个新的IPv4地址-实际上,一个IPv4地址对我来说就足够了,并且目前我不运行任何服务器,因此我可以通过运营商级NAT很好地共享该地址。
实际上,即使石油(通常消耗的数量)比IPv4地址(通常需要的数量)昂贵得多,我们甚至还没有耗尽石油。
如果您购买IPv4地址,则将永远拥有它(或者直到IPv6信奉者取代IPv4作为首选协议为止)。以5%的折扣率计算,每年为0.9美元。我每年为移动连接支付300美元(落后于运营商级NAT),为我的固定连接支付每年300美元(不低于运营商级NAT)。IPv4地址的年成本是通过固定或移动服务的Internet连接的年成本的0.3%。
诸如TLS和HTTP代理之类的技术允许在单个IPv4地址(由其域名标识)后面运行许多服务器。因此,例如,物联网(IoT)可以很好地部署数十亿台服务器,远远超过我们拥有的IPv4地址。当今,大多数新的未加密协议都建立在HTTP之上。当今大多数新的加密协议都建立在TLS之上。两者都有指定服务器DNS名称的方法,因此代理可以工作并将多个服务器隐藏在一个IPv4地址后面。诸如SSH之类的协议可以在非标准端口后面运行服务器,而OpenSSH具有“代理命令”,因此SOCKS / HTTP CONNECT代理还可以支持多台可以通过SSH到单个IPv4地址后面的机器。我是否需要额外支付$ 18,以便不必在我的OpenSSH配置中指定非标准端口或代理命令?我不会
端点独立映射之类的技术允许UDP和TCP打孔,可以在NAT后面的两个主机之间建立点对点连接,只需要一个外部服务器来确定NAT为每个端点分配了哪个TCP / UDP端口。NAT不会破坏端到端的连接,它只需要一个单独的帮助服务器来确定NAT分配的端口号。世界会需要40亿个这样的辅助服务器吗?不,不是。
IPv6是一种宗教。许多人发现很难相信明天的互联网可以在没有IPv6的情况下工作,就像他们很难相信一个社会可以在没有宗教的情况下工作一样。