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在被提出时为什么没有大规模推广,以及内网/外网,公网/私网之间的差别。
END
官方站点:www.linuxprobe.com
Linux命令大全:www.linuxcool.com
刘遄老师QQ:5604215
Linux技术交流群:2636170
(新群,火热加群中……)
想要学习Linux系统的读者可以点击"阅读原文"按钮来了解书籍《Linux就该这么学》,同时也非常适合专业的运维人员阅读,成为辅助您工作的高价值工具书!返回搜狐,查看更多