说起IP地址大家都知道,但是经常搞网络的朋友应该听说过公网IP和私网IP,话说什么是公网IP什么是私网IP你了解吗?还有几年前就听说IP地址资源枯竭了,为什么到现在还能继续用,下面由亿说电脑张一亿给大家详细解说下关于IP地址的这些话题。 Ip地址,全称( Internet Protocol Address)翻译成中文意思就是指 互联网 协议地址。关于 IP地址简单的讲就是给所有的电脑分配一个统一格式的唯一的虚拟地址编号, IP地址的格式是一个 32位的二进制数,通常被分割为 4个" 8位 二进制 数 ",转换成十进制就是每个数段从 0-255,它表示的范围是从 0.0.0.0至 255.255.255.255。 IP地址的作用是什么呢? IP地址好比就是我们每个人都有一个身份证一样,每个号码对应一个人,不可能有重复, IP地址就好比每台电脑都有自己上网用的身份编号,我们在网络上交互的时候不管是发送数据还是接收数据都要带上这个数字的虚拟地址。打个比方,有 A、 B、 C三台电脑连接在同一个交换机上,它们的 IP地址分别为 192.168.0.1, 192.168.0.2, 192.168.0.3,电脑 A要给电脑 C传输数据,就在发送的数据包的包头里加上这个包含 192.168.0.3这个 IP地址,这样数据包发送到交换机的时候交换机就会根据数据包包头里 IP地址才能准确的把数据包发送到电脑 C而不是电脑 B。我们这三台电脑加上交换机就组成了一个小的可以用来交互数据的网络,这就是传说中的局域网了。 三台电脑组成的网络太小了,我要去加入一个新的局域网,让新的局域网能和之前的局域风实现数据互通,我们只需要把这两个局域网的交换机连接起来就可以了,于是我们得到了一个更大规模的局域网了。就这样我们新增的局域网越业越多,同样的出现的接口和线缆也越来越多,需要的交换机也越多越多,最后几乎世界的所有人的电脑都加入到了这个局域网当中,这个宏大规模可以连接全世界的各种设备的网络就是广域网。 要把世界所有的设备都连接起来可不是件容易的事情,需要在各种重要的城市建设骨干服务器,在不同的地方还要布置分支服务器并将线路布置到每个角落可以让我们所有人都能接入进去。这是一个需要投入大量资金还要大量的后期维护的超大工程,带头做这些事情组织就是我们所说的 ISP(互联网服务提供商),也就是我们平时说电信、联通和移动。正因为提供互联网服务需要大量的成本所以他们是不可能免费给我们用的。 说完了局域网和广域网大家应该对网络的组成和原理大致解理了吧。再来看我们的主角 IP地址,上面说了它是由 4个 8位的二进制组成,也就是 2的 32次方,折合十进制大约 42.28亿。也就是说它只能提供 42.28亿个地址,再加上有些 IP地址有特殊的用途所以保留了下来不允许给大众使用,真正给被我们所用的只有 36.47亿个。但是全球的人数已远超这个数字了,即便有的人不用网络,但是用到网络的人也不可能只有一台设备要用,所以现有的 IPV4已经不够用了,在 2011年的时候分配的 IPV4就已经枯竭了。 IPV4的地址已经用完了,那么如果有新用户继续加入,很难做到让每个设备都拥有自己的独立 IP地址。这就引进了一项新技术就是 NAT网络地址转换 。 假设还是那三台电脑 A、 B、 C接到一个路由器上, IP分别为 192.168.0.1, 192.168.0.2, 192.168.0.3,接入广域网的 IP假设为 8.8.8.8,由于路由器是接入广域网并执行 NAT的,这个路由器就是我们的网关。当其中一台电脑要访问网络上 IP为 101.102.103.104的设备时,这台电脑的 IP会被转换为 8.8.8.8,以 8.8.8.8这个 IP把数据包发送出去。路由器下的这三台电脑都是通过 NAT把原有的 IP转换成 8.8.8.8再把数据包发送出去,实际上就是这三台电脑共用一个 IP。 同理, 101.102.103.104这个网关它的下面也会挂载多台电脑,问题来了,如果其中一台电脑要接收数据包的时候 101.102.103.104这个网关怎么知道要把数据包发送给哪台电脑?这就用到了另一项技术 -端口映射,在网关后面加个端口号,比如 101.102.103.104: 888, 101.102.103.104: 777, 101.102.103.104: 666等,这样网关会以不同的端口去和外网交互,然后把这些端口映射给局域网内的每台电脑,传输数据的时候除了 IP的映射外再加上端口号的映射,这样就实现了多台电脑共用一个 IP还能做到精准传送数据了,以实现 PAT多对一映射了。 在 NAT和端口映射的技术加持下,才实现了 IPV4数量不够的情况下又继续坚持了这么多年。 看到这里相信大家已经对公网 IP和私有 IP大致了解了,比如那几台电脑 92.168.0.1, 192.168.0.2, 192.168.0.3就是寄宿在 8.8.8.8网关下面的私有 IP,网关的 8.8.8.8就是可以直接对外交互的公网 IP。每一个公网 IP地址在网络中都是独一无二的,而私有 IP只是网关下局域内的 IP,可能其它网关下也会有相同的 IP,但这种 IP只在局域网内部使用不能拿到外网使用。 我们大多数用户的网络都是私有 IP的,如果你想要公网 IP只能去跟运营商申请,有了公网 IP接入我们家中的光猫的 IP就不需要通过映射和转换,完全可以直接访问。大部分人对于公网 IP是没有需求的,除非你要做一些互联网服务,比如说做网盘或是架设服务器之类的操作都会用到公网 IP,但是 IPV4的资源越来越紧缺,现在申请公网 IP也越来越难了。 为了解决 IPV4的资源不足, IPV4升级到了 IPV6, IPV6由 8组 4位 16进制数组合而成,理论上可以提供 3.4*10^38个 IP地址,这个数字足以给我们用几万年了。但是 IPV6想普及也是有一定难度的,因为 IPV6跟 IPV4是两个完全不同的协议,它们之间不能直接进行交互,必须借助一些设备去转换和映射,这就是为什么 IPV6到现在都没有普及的原因。不过随着互联网各大巨头纷纷开始使用 IPV6,再加上目前支持 IPV6的设备也在逐渐取代 IPV4, IPV6终究有一天会完全取代 IPV4的!