网络地址转换(NAT)
网络地址转换(NAT,Network Address Translation)被广泛应用于各种类型
Internet 接入方式和备种类型的网络中。原因很简单,NAT 不仅完美地解决了 lP 地址
不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算
机。
虽然 NAT 可以借助于某些代理服务器来实现,但考虑到运算成本和网络性能,很
多时候都是在路由器上来实现的。
随着接入 Internet 的计算机数量的不断猛增,IP 地址资源也就愈加显得捉襟见肘。
事实上,除了中国教育和科研计算机网(CERNET)外,一般用户几乎申请不到整段的 C
类 IP 地址。在其他 ISP 那里,即使是拥有几百台计算机的大型局域网用户,当他们申
请 IP 地址时,所分配的地址也不过只有几个或十几个 IP 地址。显然,这样少的 IP 地址
根本无法满足网络用户的需求,于是也就产生了 NAT 技术。
l.NAT 简介
借助于 NAT,私有(保留)地址的"内部"网络通过路由器发送数据包时,私有地址被
转换成合法的 IP 地址,一个局域网只需使用少量 IP 地址(甚至是 1 个)即可实现私有地
址网络内所有计算机与 Internet 的通信需求。
NAT 将自动修改 IP 报文头申的源 IP 地址和目的 IP 地址,Ip 地址校验则在 NAT 处
理过程中自动完成。有些应用程序将源 IP 地址嵌入到 IP 报文的数据部分中,所以还需
要同时对报文进行修改,以匹配 IP 头中已经修改过的源 IP 地址。否则,在报文数据都
分别嵌入 IP 地址的应用程序就不能正常工作。
2.NAT 实现方式
NAT 的实现方式有三种,即静态转换 Static Nat、动态转换 Dynamic Nat 和 端
口多路复用 OverLoad。
静态转换是指将内部网络的私有 IP 地址转换为公有 IP 地址,IP 地址对是一对一的,
是一成不变的,某个私有 IP 地址只转换为某个公有 IP 地址。借助于静态转换,可以实
现外部网络对内部网络中某些特定设备(如服务器)的访问。
动态转换是指将内部网络的私有 IP 地址转换为公用 IP 地址时,IP 地址对是不确定
的,而是随机的,所有被授权访问上 Internet 的私有 IP 地址可随机转换为任何指定的
合法 IP 地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址
作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当
ISP 提供的合法 IP 地址略少于网络内部的计算机数量时。可以采用动态转换的方式。
端口多路复用是指改变外出数据包的源端口并进行端口转换,即端口地址转换
(PAT,Port Address Translation).采用端口多路复用方式。内部网络的所有主机均可
共享一个合法外部 IP 地址实现对 Internet 的访问,从而可以最大限度地节约 IP 地址资
源。同时,又可隐藏网络内部的所有主机,有效避免来自 internet 的攻击。因此,目前
网络中应用最多的就是端口多路复用方式。
3.网络地址转换(NAT)的实现
在配置网络地址转换的过程之前,首先必须搞清楚内部接口和外部接□,以及在哪
个外部接口上启用 NAT。通常情况下,连接到用户内部网络的接口是 NAT 内部接口,
而连接到外部网络(如 Internet)的接口是 NAT 外部接□。
1).静态地址转换的实现