问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

网络地址转换(NAT)技术详解:原理、实现与类型

创作时间:
2025-01-22 07:20:22
作者:
@小白创作中心

网络地址转换(NAT)技术详解:原理、实现与类型

随着互联网的快速发展,IP地址资源日益紧张。NAT(网络地址转换)技术应运而生,通过将私有IP地址转换为公共IP地址,有效缓解了IPv4地址短缺的问题。本文将深入浅出地介绍NAT的基本概念、工作原理、实现方式及其不同类型,帮助读者全面理解这一关键技术。

NAT简介

在私网与外网通信的过程中,私网与公网连接的边缘节点被称为路由器。例如,私网内部网络为192.168.1.0的网络,路由器的公网IP为112.93.114.32,服务器的公网IP地址为120.93.24.180。服务器发送数据到路由器的公网IP时,能够将数据映射到私网中的机器;私网内的机器发送数据给服务器时,路由器也能将私网IP映射为公网IP地址,这个过程称为网络地址映射。

NAT(Network Address Translation,网络地址映射)是将公网地址映射为私网地址的技术,而能够进行这种映射的网络设备被称为NAT路由器。

NAT的工作原理

由于全球网络通信设备的不断增加,IPv4地址资源日益紧张,因此提出了NAT技术。通过将公网IP地址与端口映射到私网机器的IP地址与端口,NAT使得少量的公有IP地址能够代表更多的私有IP地址,从而有效缓解了可用IPv4地址的耗尽问题。

私网内机器上的操作系统中的一个网络进程,与公网服务器120.93.24.180通信时,NAT路由器会为每一个网络进程分配一个网络IP地址与端口,用于与公网服务器通信。与此同时,公网服务器与私网内的网络进程通信时,也是通过NAT路由器分配的网络IP地址与端口进入私网到达网络进程。

NAT的实现方式

NAT的实现方案主要有三种:静态转换、动态转换和端口地址映射。

  • 静态转换(Static NAT):私网IP地址一对一地转换为固定的公网IP地址。这种配置方式虽然简单,但并不节省公网IP地址资源,因此应用较少。

  • 动态转换(Dynamic NAT):为私网分配多个公网IP地址,组成一个公网IP地址池。当私网内部地址需要转换时,NAT路由器从地址池中取出一个IP地址分配给私网机器。这种方式在公网IP地址数量略少于私网机器数量时较为适用。

  • 端口地址映射(PAT):改变私网内机器发送到公网数据包的源端口并进行端口转换。私网内部的所有主机可以共享一个公网IP地址,实现对公网的访问,从而最大限度地节省IP地址资源。同时,这种方式还能隐藏私网中的所有主机,有效避免来自公网的攻击。目前,NAT路由器应用最广泛的就是端口地址映射技术。

NAT的类型

从技术实现角度,NAT可以分为三种:静态转换(Static NAT)、动态转换(Dynamic NAT)和端口地址映射(PAT)。从功能角度,NAT又可以分为四种:完全锥型NAT、对称NAT、IP限制锥型NAT和端口限制锥形NAT。

完全锥型NAT

完全锥型NAT(Full Cone NAT)将私网机器的网络进程(iAddr:iPort)映射为公网地址(pAddr:pPort)。后续该网络进程的所有数据报文都会被转换为公网地址(pAddr:pPort),公网任何一台机器发送报文到(pAddr:pPort)都会被转发到私网机器的网络进程(iAddr:iPort)。也就是说,只要知道映射的公网IP和端口,就可以从公网直接穿透到内网。

对称NAT

对称NAT(Symmetric NAT)为私网机器的每一个网络进程分配一个独立的地址与端口,将私网网络进程(iAddr1:iPort1)与公网地址(pAddr1:pPort1)对应起来。后续NAT路由器会把私网机器地址端口(iAddr1:iPort1)与公网地址端口(pAddr1:pPort1)完全相同的报文看作一个连接。私网机器每与一台公网机器通信,NAT路由器都会重新分配一个地址端口,使得每一个通信链路都经过NAT路由器的不同端口。这意味着每增加一个连接,就会多一个端口映射。

IP限制锥形NAT

IP限制锥型NAT只允许映射关系中对应的公网IP地址机器传输数据到私网机器。其他公网IP地址机器发送数据给NAT路由器的公网IP地址与端口时,会被NAT路由器丢弃。也就是说,如果NAT转换表中没有对应的目的IP,那么报文会被丢弃。

端口限制锥形NAT

端口限制锥形NAT(Port Restricted Cone NAT)在IP限制锥型NAT的基础上,又添加了一层端口限制,限制了发送报文进入私网的IP地址与端口。也就是说,如果NAT转换表中没有对应的IP和端口,那么报文会被丢弃。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号