不背八股!!!面试官:为什么你手机的IP会是192.168
前言
在构建局域网时,IP
地址的管理是至关重要的。由于IPv4
地址是非常有限的,私有IP地址的使用成为解决IP地址不足问题的有效手段。
在这篇文章中,我们将深入探讨私有IP
地址的分类和分配,NAT
协议的原理,以及私网和公网、内网和外网的区别。
匮乏的IP地址
IPV4
使用32位地址,也就是说支持分配2^32 约 43
亿个IP地址,但是现在全球人口接近70亿,每个人身上可能还有多个通信设备,比如电脑、平板、手机等等,IPV4
能够分配的IP地址个数远远少于当今需要的IP地址个数。
解决上述问题,有人可能会提到IPV6
,是的,IPV6
使用128位地址,支持分配2 ^ 128
个IP地址,这足够为地球的每一粒沙子都分配一个单独的IP
地址了。
但是IPV6
因为不能完美兼容IPV4
,所以IPV6
被提出的时候并没有受到大规模推广,而是使用的NAT
协议解决IP
地址匮乏的问题,大多数的老旧网络设备都需要升级以支持IPV6
,所以在九十年代和零零年代IPV4
地址枯竭问题产生的时候,历史还是选择了NAT
协议来解决这个问题,现在NAT
仍然在广泛使用中,随着IPV6
的逐渐推广,未来可能逐渐减少对NAT
的依赖。
私有IP地址的分类和分配:
在构建局域网时,通常局域网内部要使用私有IP
地址,而管理员可以根据需求,选择一类、二类、三类的私有地址,这种私有地址我们一般称作私网地址,和公网相对,是没有真正连接到互联网上的。
A B C三类网络都有一小块地址供全世界各地建设局域网使用,也就是每个企业都可以用私网,不同局域网的私网地址对应的主机是不一样的,这样就能够有效解决IPV4
地址不足的问题。也就是说A地和B地可能有一致的私网IP
,但是它们是完全不同的两台机器。
-
A类:
10.0.0.0~10.255.255.255
-
B类:
172.16.0.0~172.31.255.255
-
C类:
192.168.0.0~192.168.255.255
这些私有地址允许企业在全球范围内构建局域网,而不会与其他局域网的IP地址冲突。
不难看出来A类私网网址是B类数量的16倍,而B类又是C类数量的16倍,C类私网允许的主机数量为2^16-2,已经足够大部分的公司或企业进行IP地址的分配了,如果是特大型系统,也可以考虑使用A类或者B类,不过现实中这种情况比较少,所以我们看到的私网IP地址通常都是192.168开头的。
私网/公网,内网/外网:
私网和公网是通过IP
地址进行区分的,从特征上看私网IP
并没有连接到互联网上,只是通过NAT
协议在路由器层面连接到互联网,也就是一个局域网中的所有私网IP
,对外看来是一致的,对方并不知道你是私网,也不知道你有多少台主机。
而公网就是真正接入到互联网中的,我们可以通过网络对公网资源进行访问。
内网和外网对应的是防火墙这个概念,在防火墙内的网络我们称之为内网,防火墙外的网络则为外网。我们常说的VPN
就是通过这些工具暴露出来的接口(通常是socks5
)的代理接口,翻越了国家防火墙(GFW
)的限制,与国家防火墙外的代理服务器进行通讯。在国家层面,我们把GFW
之外的网络称之为外网,GFW
之内的网络称之为内容。公司通常也会搭建自己的防火墙,那么在公司防火墙之内的也称之为内网,之外的称之为外网。由此可见,内外网对应的是特定的防火墙,墙内则为内网,墙外则为外网。
NAT协议
那么私网中的计算机是如何访问到局域网之外的网络的呢?这就需要利用到NAT
协议(网络转换协议)
NAT
(Network Address Translation
)是一种在IP
数据包通过路由器或防火墙时重写源IP
地址或目的IP
地址的技术。典型情况下,一个私有网络与连接在该网络上的路由器共享一个专有地址,通过ISP
提供的IP
地址连接到互联网。NAT
在信息从内网向互联网传递时,将源地址从私有地址转换为公有地址。
举个例子:
一个私有IP
比如192.168.100.99
和连接在这个网络上的一个路由器,路由器占用这个网络地址空间的一个专有地址,同时通过一个ISP
提供的IP
地址WAN
端73.72.71.70
连接到因特网上,当信息从本地向互联网传递的时候,源地址从私有地址192.168.100.99
转换成公有地址73.72.71.70
。
NAT
的优点在于能够减少IP
地址不足的情况,使用方便,成本较低,并且因为主机不直接进行通信,所以可以阻止部分攻击。
它的缺点是NAT
功能下的主机没有真正的IP
地址,因此可能无法参与某些协议,比如Multicast
这种。
一个私网内有多台主机,路由器是怎么知道哪个主机发送给外界消息的呢?当路由器接收到响应的时候,它又是怎么知道该转发给哪台主机的呢?
当私网中的计算机想要访问外部网络时,它们首先通过NAT
路由器将信息发送到外部。在这个过程中,NAT
路由器会记录发送者的内网地址和端口,并为其分配一个全局地址和端口。这个映射关系记录在NAT
路由表中。当服务器响应时,NAT
路由器根据目的地址和端口,将响应转发给正确的主机。
这涉及到两次映射:出境包源地址的替换和入境包目的地址的替换。NAT
路由表记录了这些映射关系,确保信息被正确转发到内网中的主机。
结语
本文主要向大家介绍了IP
地址匮乏问题,从而引出了NAT
协议,通过历史发展的角度,解释了IPV6
在被提出时为什么没有大规模推广,以及内网/外网,公网/私网之间的差别。
发表评论