NAT & IP v6

67 阅读3分钟

NAT

NAT是网络地址转换的缩写,它在我们日常使用网络的过程中有这非常广泛的应用。

我们目前使用的是 IP v4,网络地址长度只有32位。也就是说最多有2^32-1个地址,这大约是42亿多个。目前连接互联网的设备,已经远远超过这个数据了,所以就没有更多的网络地址可用了。

而网络地址转换(NAT),就是为解决这个问题而发明出来的。

比如我们现在用的路由器,都是有NAT这些功能的。 它能够将内网的地址和外网之间做一个地址和端口之间的映射,来解决通讯问题。

它还有另外一个好处就是保护内部网络不受外部攻击,外部网络无法直接连到内部某台机器上,自然增加了攻击的难度。

当然也是有缺点的,因为外部网络不能够直接链接内网的某台机器,那么有些协议就会遇到一些问题,比如:FTP协议。FTP协议有一个功能,比如服务器直接通过20端口,来连接到客户机上。而客户机在内网中,是有网络地址转换的,没办法直接连。所以FTP这种主动连接的功能就不能用了。

FTP现在很少直接使用了。但是有一些,P2P软件仍旧是用FTP下载,但是如果2台机器都在NAT的内网里面,是没办法直连的,这样就会影响到下载速度。

NAT的其他用途

透明代理,就是客户机是不知道的它的存在的,这个是由网络中间商插进来的一台服务器。起到了代理的作用。

有一些网络运营商为了降低自己向外的流量,就回增加透明代理,然后把内容就缓存到,它自己的代理服务器网络里面,当请求这些内容的时候,就从缓存里面去读取,而不从真正的服务器上读取。这样网络速度又快, 又不需要付更多的流量费用。

写服务器端程序的时候,我们经常是需要获取客服端的ip地址,而不管是透明代理还是代理,我们取到的IP地址,都不再是客户机的ip地址。而是代理服务器/NAT服务器的IP地址。

所以通过ip地址来作为客户机的唯一标志这条路已经行不通了。

IP v4 和 IP v6

IP v1-3都作为v4的一部分,

IP v5 是一种网络数据流的传输协议,应用范围非常窄。

IP v6 主要是为了解决ip地址的短缺问题而出现的,但是它的部署非常缓慢。主要原因是因为NAT的出现,使得IP地址短缺的问题不是特别明显了。所以它在一定程度上延缓了IP v6的部署。

IP v6比IP v4,也提高了传输效率。

IP v6是分成2部分的,一部分是64位的网络前缀,还有一部分是64位的主机地址。

主机地址通常是由物理地址自动生成的,网络前缀是由管理部门统一发放的。

地址使用16进制表示,每16位一组用冒号隔开;分成8组。

IP v6 可以简写,全0可以省略,写为:双冒号。但是最多可以省略一组。

IP协议是比较低层次的协议,分层的目的就是为了避免某层的修改会影响过大。

我们写程序一般都是些应用层的程序,所以对我们的影响是不大的。所以切换为IP v6 其实一般都是修改网络环境和服务器配置。

但是,IP地址的长度变了,所以设计数据库的时候需要注意 (15位延长到39位)