第七章:NAT 网络地址转换


    本文章摘抄自《百度百科》,并进行了内容调整和改善。


引出NAT技术的背景

    要真正了解NAT,就必须先了解现在IP地址的使用情况私有IP地址是指内部网络或主机的IP地址,公有IP地址是指在因特网上全球唯一的IP地址。RFC 1918 为私有网络预留出了三个IP地址块,如下:
    A 类:10.0.0.0~10.255.255.255
    B 类:172.16.0.0~172.31.255.255
    C 类:192.168.0.0~192.168.255.255
    上述三个范围内的地址不会在因特网上被分配,因此可以不必向ISP或注册中心申请而在公司或企业内部自由使用。
    随着接入Internet的计算机数量的不断猛增,IP地址资源也就愈加显得捉襟见肘。事实上,除了中国教育和科研计算机网(CERNET)外,一般用户几乎申请不到整段的C类IP地址。在其他ISP那里,即使是拥有几百台计算机的大型局域网用户,当他们申请IP地址时,所分配的地址也不过只有几个或十几个IP地址。显然,这样少的IP地址根本无法满足网络用户的需求,于是也就产生了NAT技术
    虽然NAT可以借助于某些代理服务器来实现,但考虑到运算成本和网络性能,很多时候都是在路由器上来实现的

说明:① 某单位私网中的计算机如果要想访问公网中的Internet,必须用该单位公网地址替换。 ② 私网地址能够访问公网地址,但是反过来不行。

    NAT是“Network Address Translation”,中文意思是“网络地址转换”,允许一个整体机构一个公用IP地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。因此我们可以认为,NAT在一定程度上,能够有效的解决公网地址不足的问题。


NAT技术的优点

(1)这种通过使用少量的公有IP地址代表较多的私有IP地址的方式,将有助于减缓可用的IP地址空间的枯竭
(2)能够有效地避免来自网络外部的攻击,隐藏&保护网络内部的计算机

  1. 宽带分享:这是NAT主机的最大功能。
  2. 安全防护:NAT之内的PC联机到Internet上面时,他所显示的IP是NAT主机的公共IP,所以Client 端的PC当然就具有一定程度的安全了,外界在进行portscan端口扫描) 的时候,就侦测不到源Client 端的PC 。

NAT技术的工作原理

    借助于NAT,私有(保留)地址的"内部"网络通过路由器发送数据包时,私有地址被转换成合法的共有IP地址,一个局域网只需使用少量IP地址(甚至是1个)即可实现私有地址网络内所有计算机与Internet的通信需求。
在这里插入图片描述
具体工作流程如下:
① 如上图这个 client(终端) 的 gateway (网关)设定为 NAT 主机,所以当要连上 Internet 的时候,该封包就会被送到 NAT 主机,这个时候的封包 Header 之 source IP(源IP)为 192.168.1.100;
② 而透过这个 NAT 主机,NAT主机会将 client 的对外联机封包的 source IP ( 192.168.1.100 ) 伪装成 ppp0 接口所具有的公共 IP ,同时 NAT 主机会记忆这个联机的封包是由哪一个 ( 192.168.1.100 ) client 端传送来的;
③ 由 Internet 传送回来的封包,当然由 NAT主机来接收了,这个时候, NAT 主机会去查询原本记录的路由信息,并将目标 IP 由 ppp0 上面的公共 IP 改回原来的 192.168.1.100 ;
④ 最后则由 NAT 主机将该封包传送给原先发送封包的 Client 。


NAT实现方式

    NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat、端口多路复用OverLoad。

(1)静态转换是指将内部网络的私有IP地址转换为公有IP地址(一个内网的私有地址对应一个外网的公有地址,不节省公网地址),IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。

(2)动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。(m个内网私有地址,使用n个外网公有地址,一般m>n,m个内网竞争n个外网,最大只允许n个内网上网)

(3)端口多路复用是指改变外出数据包的源端口并进行端口转换,即端口地址转换,采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式(能使多个内网地址使用一个外网地址,节省公网,原理是采用端口转换技术。)


NAPT 端口地址转换

    NAPT(Network Address Port Translation),即网络地址端口转换,可将多个内部地址映射为一个合法公网地址,但以不同的协议端口号与不同的内部地址相对应,也就是 <内部地址+内部端口><外部地址+外部端口> 之间的转换。NAPT普遍用于接入设备中,它可以将中小型的网络隐藏在一个合法的IP地址后面。NAPT也被称为“多对一”的NAT,或者叫PAT(Port Address Translations,端口地址转换)、地址超载(address overloading)。

    NAPT与动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的TCP端口号。NAPT算得上是一种较流行的NAT变体,通过转换TCP或UDP协议端口号以及地址来提供并发性。除了一对源和目的IP地址以外,这个表还包括一对源和目的协议端口号,以及NAT盒使用的一个协议端口号。
    NAPT的主要优势在于,能够使用一个全球有效IP地址获得通用性。主要缺点在于其通信仅限于TCP或UDP。当所有通信都采用TCP或UDP,NAPT允许一台内部计算机访问多台外部计算机,并允许多台内部主机访问同一台外部计算机,相互之间不会发生冲突。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值