电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

端口地址转换(PAT)技术解析


发布日期:2021/4/6
 

PAT叫端口地址转换NAT是网络地址转换由RFC 定义

PAT可以看做是NAT的一部分 在NAT时考虑一种情形就是只有一个Public IP而内部有多个Private IP这个时候NAT就要通过映射UDP和TCP端口号来跟蹤记录不同的会话比如用户ABC同时访问CSDN则NAT路由器会将用户ABC访问分别映射到(举例而已实际上是动态的)此时实际上就是PAT了 由上面推论PAT理论上可以同时支持( )= 个连接会话但实际使用中由于设备性能和物理连接特性是不能达到的CISCO的路由器NAT功能中每个Public IP最多能有效地支持大约个会话

PAT普遍应用于接入设备中它可以将中小型的网络隐藏在一个合法的IP地址后面PATT与动态地址NAT不同它将内部连接映射到外部网络中的一个单独的IP地址上同时在该地址上加上一个由NAT设备选定的TCP端口号也就是采用port multiplexing 技术或改变外出数据的源port的技术将多个内部ip地址映射到同一个外部地址;

随着Internet的飞速发展网上丰富的资源产生着巨大的吸引力接入Internet访问Internet成为当今信息业最为迫切的需求

但这受到IP地址的许多限制首先许多局域网在未联入Internet之前就已经运行许多年了局域网上有了许多现成的资源和应用程序但它的IP地址分配不符合Internet的国际标准因而需要重新分配局域网的IP地址这无疑是劳神费时的工作其二随着Internet的膨胀式发展其可用的IP地址越来越少要想在ISP处申请一个新的IP地址已不是很容易的事了这不仅仅是费用的问题而是IP地址的现行标准IPv决定的当然随着IPv的出台这个问题应当能够得到解决但从IPv到IPv的升级不是一两天就能完成的

NAT(网络地址翻译)能解决不少令人头疼的问题它解决问题的办法是在内部网络中使用内部地址通过NAT把内部地址翻译成合法的IP地址在Internet上使用其具体的做法是把IP包内的地址域用合法的IP地址来替换

NAT功能通常被集成到路由器防火墙ISDN路由器或者单独的NAT设备中NAT设备维护一个状态表用来把非法的IP地址映射到合法的IP地址上去每个包在NAT设备中都被翻译成正确的IP地址发往下一级这意味着给处理器带来了一定的负担但这对于一般的网络来说是微不足道的除非是有许多主机的大型网络

需要注意的是NAT并不是一种有安全保证的方案它不能提供类似防火墙包过滤隧道等技术的安全性仅仅在包的最外层改变IP地址这使得黑客可以很容易地窃取网络信息危及网络安全

NAT有三种类型静态NAT(staticNAT)NAT池(pooledNAT)和端口NAT(PAT)其中静态NAT设置起来最为简单内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址而NAT池则是在外部网络中定义了一系列的合法地址采用动态分配的方法映射到内部网络PAT则是把内部地址映射到外部网络的一个IP地址的不同端口上根据不同的需要各种NAT方案都是有利有弊

■使用NAT池

使用NAT池可以从未注册的地址空间中提供被外部访问的服务也可以从内部网络访问外部网络而不需要重新配置内部网络中的每台机器的IP地址例如建立在NT+IIS服务器上的内部试验子网其网络地址属于B类保留地址作为企业网的一个子网其IP地址不分配给企业网上的设备而仅仅局限在试验子网的设备上为了使企业网能访问到这个内部网在网络上增加一条静态路径使信息能回传给Cisco路由器其中的路由器可以把内部网和企业网连接起来使之能相互访问在内部网中不要使用RIP协议因为使用RIP后内部网络相对外部来说变得不可见了

这样本地信息可以相互访问了但由于属于保留地址故不能直接访问Internet所以在路由器中设置一个NAT池用来翻译来自内部网络的IP包把它的IP地址映射成地址池(pooledaddresses)中的合法IP地址那么内部网可以访问Internet上的任何服务器Internet上的任何主机也能通过TCP或UDP访问到内部网

采用NAT池意味着可以在内部网中定义很多的内部用户通过动态分配的办法共享很少的几个外部IP地址而静态NAT则只能形成一一对应的固定映射方式该引起注意的是NAT池中动态分配的外部IP地址全部被占用后后续的NAT翻译申请将会失败庆幸的是许多有NAT功能的路由器有超时配置功能例如在上述的Cisco中配置成开始分钟后删除当前的NAT进程为后续的NAT申请预留出外部IP地址通过试验表明一般的外部连接不会很长所以短的时间阈值也可以接受当然用户可以自行调节时间阈值以满足各自的需求

NAT池提供很大灵活性的同时也影响到网络原有的一些管理功能例如SN MP管理站利用IP地址来跟蹤设备的运行情况但使用NAT之后意味着那些被翻译的地址对应的内部地址是变化的今天可能对应一台工作站明天就可能对应一台服务器这给SNMP管理带来了麻烦一个可行的解决方案就是把划分给NAT池的那部分地址在SNMP管理平台上标记出来对于这些不响应管理信号的地址不予报警如同它们被关掉了一样

■使用PAT

PAT在远程访问产品中得到了大量的应用特别是在远程拨号用户使用的设备中PAT可以把内部的TCP/IP映射到外部一个注册IP地址的多个端口上PAT可以支持同时连接个TCP/IPUDP/IP但实际可以支持的工作站个数会少一些因为许多Internet应用如HTTP实际上由许多小的连接组成

在Internet中使用PAT时所有不同的TCP和UDP信息流看起来仿佛都来源于同一个IP地址这个优点在小型办公室(SOHO)内非常实用通过从ISP处申请的一个IP地址将多个连接通过PAT接入Internet实际上许多SOHO远程访问设备支持基于PPP的动态IP地址这样ISP甚至不需要支持PAT就可以做到多个内部IP地址共用一个外部IP地址上Internet虽然这样会导致信道的一定拥塞但考虑到节省的ISP上网费用和易管理的特点用PAT还是很值得的

■基于NAT的负载平衡

以上所谈论的均是关于使用NAT和PAT来把内部IP地址转换成外部合法的IP地址使用下面介绍NAT的另一个运用作为用于负载平衡的DNS系列服务器(DNSround-robin)的一个替代品DNS系列服务器解决了多个IP地址共用一个域名的问题它会在响应DNS申请时跳跃式地寻找可用的IP地址达到的效果就是一个域名可以对应多个IP地址这种功能可以应用在一个HTTP服务器群中利用它可以平衡多个服务器的负载但是这里还有一个问题IP客户端会在本地缓沖DNS/IP地址解析从而使它的后续的申请都会到达同一个IP地址减弱了DNS系列服务器的作用

使用基于NAT的负载平衡方案则可以避免这个问题路由器或其它NAT设备把需要负载平衡的多个IP地址翻译成一个公用的IP地址每个TCP连接被NAT送到一个IP地址而后续的TCP连接则被NAT送到下一个IP地址真正实现了负载平衡当然基于NAT的负载平衡只能在NAT上实现而不能在PAT上实现

■安全问题

当NAT改变包的IP地址后需要认真考虑这样做对安全设施带来的影响

对于防火墙它利用IP地址TCP端口目标地址以及其它在IP包内的信息来决定是否干预网络的连接当使用了NAT之后可能就不得不改变防火墙的规则因为NAT改变了源地址和目的地址

在许多配置中NAT被集成在防火墙系统之中提供访问控制和地址翻译的功能不要把NAT设在防火墙之外因为黑客可以轻易地骗过NAT让NAT认为它是一个授权用户从而进入网络

若企业网中使用了VPN(虚拟专用网)并用IPSec进行加密安全保证那么错误地设置NAT将会破坏VPN的功能把NAT放在受保护的VPN内部而不是在中间因为NAT改变IP包内的地址域而IPSec规定一些信息是不能被改变的若IP地址被改变了IPSec就会认为这个包是伪造的拒绝使用

虽然NAT带来了许多优越性例如使现有网络不必重新编址减少了ISP接入费用还可以起平衡负载的作用但NAT潜在地影响到一些网络管理功能和安全设施这就需要谨慎地使用它

上一篇:如何在Windows XP中使用16位的程序

下一篇:WindowsServer2008R2新功能汇总