说起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的!