私网及NAT协议
在构建局域网时,通常局域网内部要使用私有IP地址,而管理员可以根据需求,选择一类、二类、三类的私有地址,这种私有地址我们一般称作私网地址,和公网相对,是没有真正连接到互联网上的。A B C三类网络都有一小块地址供全世界各地建设局域网使用,也就是每个企业都可以用私网,不同局域网的私网地址对应的主机是不一样的,这样就能够有效解决IPV4地址不足的问题。
私网地址分别为:
- 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
不难看出来A类私网网址是B类数量的16倍,而B类又是C类数量的16倍,C类私网网址的数量为2^16,已经足够大部分的公司或企业进行IP地址的分配了,如果是特大型系统,也可以考虑使用A类或者B类,不过现实中这种情况比较少,所以我们看到的私网IP地址通常都是192.168开头的。
同时我们还要将私网与公网的关系和内网和外网的关系区分开来,
私网和公网是通过IP地址进行区分的,从特征上看私网IP并没有连接到互联网上,只是通过NAT协议在路由器层面连接到互联网,也就是一个局域网中的所有私网IP,对外看来是一致的,对方并不知道你是私网,也不知道你有多少台主机。而公网就是真正接入到互联网中的,我们可以通过网络对公网资源进行访问。
而内网和外网对应的是防火墙这个概念,在防火墙内的网络我们称之为内网,防火墙外的网络则为外网。我们常说的梯子,翻墙等就是通过这些工具暴露出来的接口(通常是socks5)的代理接口,翻越了国家防火墙(GFW)的限制,与国家防火墙外的代理服务器进行通讯。
那么私网中的计算机是如何访问到局域网之外的网络的呢?这就需要利用到NAT协议(网络转换协议)
NAT;NetWork Address Translation 在IP数据包通过路由器或者防火墙的时候重写来源IP地址或者目的IP地址的技术
典型情况
一个私有网络比如192.168.xx.xx和连接在这个网络上的一个路由器,路由器占用这个网络地址空间的一个专有地址,同时通过一个ISP提供的IP地址连接到因特网上,当信息从本地向互联网传递的时候,源地址从私有地址转换成公钥地址
缺点:一个具有NAT功能的路由器下的主机并没有创建真正的IP地址,因此不能参与某些因特网协议
优点:NAT能够减少IP地址不足的情况,使用方便。成本较低,并且可以阻止网络上的部分恶意活动
那么路由器是怎么知道哪个主机发送给外界消息的呢?当路由器接收到响应的时候,它又是怎么知道该转发给哪台主机的呢?
在一个私网IP的主机发送给NAT路由器消息的时候,路由器记录了它的内网地址和端口,并且分配给他一个全局地址和全局端口,这个地址关系记录在NAT路由表中,之后按照目的地址发送给服务器,一段时间后服务器响应,那么路由器根据目的地址和端口按照路由表转换成对应的主机地址,再发送给主机。简单来说就是有两次映射,针对出境包源地址进行替换,在NAT路由表中记录映射关系,针对入境包进行地址替换,找到对应的主机。