NAT(网络地址转换)
不知道大家有没有听过“NAT转换”
又或者说,对于“NAT转换”了解有多少呢
板凳、瓜子准备好,要划重点了
所谓NAT(Network Address Translation),即网络地址转换
由于NAT外部主机不能主动与NAT内部主机通信,因此如果NAT内部主机想要进行通信,则必须与一个公网IP进行通信,由具备NAT功能的路由器建立一个映射关系,从而实现数据转发。
换言之,借助NAT转换功能,私有地址的“内部”网络通过路由器来发送数据包时,私有地址被转换成合法的公网IP地址,一个局域网只需使用少量IP地址(甚至是1个)便可实现私有地址网络内所有计算机与Internet的通信需求。
实现方式
NAT转换有三种实现方式,即静态转换、动态转换与网络地址端口转换
1
静态转换:即将特定的公网地址和端口一对一地映射到特定的内网地址和端口,且每个内网地址都是确定的。
2
动态转换:将内网地址与公网地址一对一进行转换,但是动态地址是从合法的IP地址池中动态的选择未使用的公网地址,当用户断开连接后,再次连接,可能公网地址就会切换。
3
网络地址端口转换:将多个内网地址转换为同一个公网地址,用不同的端口来区别不同的主机。
是不是有些看不懂了?那我们这样看...
1
把内网的私有地址,转化成公网的公有地址。使得内部网络上的(被设置为私有IP地址的)主机可以访问Internet
2
NAT可以分为Basic NAT和PAT:
- Basic NAT只转化IP,不映射端口
- PAT除了转化IP,还做端口映射,可以用于多个内部地址映射到少量(甚至一个)外部地址
NAT还可以分为静态NAT和动态NAT:
- 静态NAT,将内部网络中的每个主机都永久映射成外部网络中的某个合法的地址,多用于服务器
- 动态NAT,则是在外部网络中定义了一个或多个合法地址,采用动态分配的方法映射到内部网络
3
自然是解决IP地址数量紧缺的问题
当大量的内部主机只能使用少量的合法的外部地址,就可以使用NAT把内部地址转化成外部地址
NAT还可以防止外部主机攻击内部主机(或服务器)
也许你会说,说了这么多,难道NAT没有缺点吗?
当然有,即在一个具有NAT功能的路由器下的主机并没有建立真正的端对端连接,并且不能参与一些因特网协议