您家中的所有设备如何以及为什么共享一个IP地址

如果你像大多数人一样,你的互联网服务提供商给你一个单一的互联网协议地址,你的路由器会在你家里所有连接的设备之间共享它。

这实际上违反了端到端原则,而互联网正是围绕这一原则而设计的。然而,可以分配的IP地址只有这么多-我们快用完了。

公有IP地址是有限资源

可用的IPv4 IP地址不到42亿个。换句话说,地球上连接的设备比它们的唯一公共IP地址还多。互联网上的IPv4地址正在耗尽,尽管我们正在对它们进行配给。

您的ISP通常会为您分配单个IP地址,而不是您的Internet服务提供商为您家中的每台设备分配唯一的公共IP地址(您每次购买新计算机、平板电脑、智能手机、游戏机或任何其他设备时都需要额外的IP地址)。

公有IP地址与私有IP地址

您的路由器直接连接到Internet,并且分配有您的公共IP地址(该地址可能会随着时间的推移而改变)。然后,您的路由器负责在您家中的其他计算机和连接的设备之间共享您的公用IP地址。

您的路由器为您连接的设备分配本地IP地址。这使得它们可以在您家里的路由器后面相互通信。但是,无法从Internet访问这些本地IP地址。换句话说,您的公共IP地址可能类似于23.24.35.63。Internet上的任何人都可以尝试连接到此地址,他们将访问您的路由器。您的计算机的专用IP地址可能类似于192.168.1.100。当Internet上的某人尝试连接到此地址时,他们的计算机将在其本地网络上查找地址192.168.1.100。

如果这有点让人困惑,试着想想写字楼。写字楼的地址可能是美国福克镇福克街500号。任何人都可以从世界任何地方向此地址发送邮件-此地址相当于公共地址。写字楼里的办公室可能是“203房间”。与本地IP地址一样,“203号房间”也不是全球唯一的地址--它在许多办公楼中使用。如果你住在世界的另一端,你不能把邮件直接写到203房间。你必须把邮件写在写字楼的地址上。

网络地址转换(NAT)和端口转发

当您连接到Internet上的某些内容(例如,网站)时,您的计算机通过您的路由器发送数据包。您的路由器修改数据包,并为路由器上的每个传出连接分配唯一的端口。当网站或其它服务器向您发回数据时,它会将数据发回该特定端口,而您的路由器知道它应该将数据发回发起原始连接的同一设备。这就是路由器如何使用单个IP地址同时处理多台计算机的互联网流量,并知道所有流量应该发往何处。

但是,在处理未请求的传入流量时,这可能会中断。例如,如果有人试图自行连接到您的路由器的IP地址,则您的路由器不知道应该将该流量发送到何处。您的路由器所能做的就是接收流量并将其丢弃。这实质上意味着您的路由器充当某种防火墙,丢弃未经请求的入站流量。

如果要接收此传入通信,可以在路由器上设置端口转发。例如,您可以告诉您的路由器,您正在端口25565上的特定本地IP地址上运行一台“我的世界”服务器。当您的路由器在端口25565上接收到连接时,它知道它应该将该流量传递到您指定的本地IP地址。这就是为什么用作服务器并从本地网络外部接收未经请求的入站流量的应用程序需要端口转发。

两种可能的未来

正如我们上面提到的,尽管实行配给,我们的IPv4IP地址还是快用完了。从长远来看,每台设备都有望拥有自己的IP地址。在短期内,您甚至可能没有一个自己的公共IP地址。

每台设备的IPv6地址:IPv4的地址不到42亿个,但IPv6可以提供2128个可能的IP地址。Wolfram Alpha可以帮助我们正确看待这个庞大的数字:即340282366920938463463374607431768211456个不同的IP地址,或者说地球上每个人大约501000000000000000000000000000000个唯一的IP地址。一旦IPv6变得更加普及并取代IPv4,我们就可以在Internet上为每个连接的设备分配一个唯一的IP地址。 运营商级NAT:短期内,一些ISP难以向客户提供IPv4地址。运营商级NAT是一些ISP正在研究的建议解决方案。使用运营商级NAT的ISP将为自己保留其公有IP地址。它将使用NAT(就像您的家庭路由器一样)将本地IP地址分发给其所有客户。客户在互联网上没有自己唯一的公共IP地址,也不能使用需要端口转发或直接连接的服务器软件。

互联网从来不是为这么多连接的设备设计的,而采用NAT技术的家庭路由器是我们无需迁移到IPv6就可以连接这么多设备的唯一原因。

图片来源:Flickr上的马特·J·纽曼(Matt J Newman),Flickr上的鲍勃·米奇(Bob Mical),Flickr上的Web仓鼠,Flickr上的Jemimus

相关文章