fbpx
维基百科

网络地址转换

网络地址转换(英語:Network Address Translation,縮寫:NAT;又称網絡掩蔽IP掩蔽)在計算機網絡中是一種在IP封包通過路由器防火牆時重寫來源IP地址或目的IP地址的技術。這種技術被普遍使用在有多台主機但只通過一個公有IP地址訪問網際網路私有網絡中。它是一個方便且得到了廣泛應用的技術。當然,NAT也讓主機之間的通信變得複雜,導致了通信效率的降低。

概述 编辑

 
无NAT网络,假设每个接入子网都需要一组/24的IP,而且还能对外连接,对外的路由至少要保留或申请1000个对外IP
 
带NAT网络,通过NAT转换,接入子网可以使用私用IP,对外连接时由路由绑定私用IP与对外IP的关系,修改传输的IP包上的地址,从而只需要255个对外IP就能满足内部接入子网的对外连接需求

1990年代中期,NAT是作为一种解决IPv4地址短缺以避免保留IP地址困难的方案而流行起来的。网络地址转换在很多国家广泛使用。所以NAT就成了家庭和小型办公室网络连接上的路由器的一个标准特征,因为对他们来说,申请独立的IP地址的代价要高于所带来的效益。

在一个典型的配置中,一个本地网络使用一个专有网络的指定子网(比如192.168.x.x或10.x.x.x)和连在这个网络上的一个路由器。这个路由器占有这个网络地址空间的一个专有地址(比如192.168.0.1),同时它还通过一个或多个因特网服务提供商提供的公有的IP地址(叫做“过载”NAT)连接到因特网上。当信息由本地网络向因特网传递时,源地址从专有地址转换为公用地址。由路由器跟踪每个连接上的基本数据,主要是目的地址和端口。当有回复返回路由器时,它通过输出阶段记录的连接跟踪数据来决定该转发给内部网的哪个主机;如果有多个公用地址可用,当数据包返回时,TCPUDP客户机的端口号可以用来分解数据包。对于因特网上的通信,路由器本身充当源和目的。

流行在网络上的一种看法认为,IPv6的廣泛採用將使得NAT不再需要,因為NAT只是一個處理IPv4的地址空間不足的方法。

缺点 编辑

在一个具有NAT功能的路由器下的主机并没有建立真正的IP位址,并且不能参与一些因特网协议。一些需要初始化从外部网络建立的TCP连接和无状态协议(比如UDP)无法实现。除非NAT路由器管理者预先设置了规则,否则送来的数据包将不能到达正确的目的地址。一些协议有时可以在应用层网关(见下)的辅助下,在参与NAT的主机之间容纳一个NAT的实例,比如FTP。NAT也会使安全协议变得复杂,比如IPsec

端对端连接是被IAB委員會(Internet Architecture Board)支持的核心因特网协议之一,因此有些人据此认为NAT是对公用因特网的一个破坏。一些因特网服务提供商(ISP)只向他们的客户提供本地IP地址,所以他们必须通过NAT来访问ISP网络以外的服务,并且这些公司能不能算得上真正的提供了因特网服务的话题也被谈起。

優點 编辑

NAT除了帶來方便和低成本之外,對全雙工連接支持的缺少在一些情況下可以看作是優點而不是限制。在一定程度上,NAT依賴於本地網絡上的一台機器來初始化和路由器另一邊的主機的所有連接,它可以阻止外部網絡上的惡意活動。這樣就可以阻止網絡蠕蟲病毒來提高本地系統的可靠性,阻擋惡意瀏覽來提高本地系統的私密性。很多具有NAT功能的防火牆都是使用這種功能來提供核心保護的。另外,它也為UDP的跨局域網的傳輸提供了方便性。

基本NAT和端口号转换 编辑

基本网络地址转换(Basic NAT) 编辑

这一种也可称作NAT或“静态NAT”,在RFC 2663中提供了信息。它在技术上比较简单,仅支持地址转换,不支持端口映射。Basic NAT要求对每一个当前连接都要对应一个公网IP地址,因此要维护一个公网的地址池。宽带(broadband)路由器通常使用这种方式来允许一台指定的设备去管理所有的外部链接,甚至当路由器本身只有一个可用外部IP时也如此,这台路由器有时也被标记为DMZ主机。由于改变了IP源地址,在重新封装数据包时候必须重新计算校验和,网络层以上的只要涉及到IP地址的头部校验和都要重新计算。

Basic NAT要维护一个无端口号NAT表,结构如下。

内网IP 外网IP
192.168.1.55 219.152.168.222
192.168.1.59 219.152.168.223
192.168.1.155 219.152.168.224

网络地址端口转换(NAPT) 编辑

这种方式支持端口的映射,并允许多台主机共享一个公网IP地址。

支持端口转换的NAT又可以分为两类:源地址转换和目的地址转换。前一种情形下发起连接的计算机的IP地址将会被重写,使得内网主机发出的数据包能够到达外网主机。后一种情况下被连接计算机的IP地址将被重写,使得外网主机发出的数据包能够到达内网主机。实际上,以上两种方式通常会一起被使用以支持双向通信。

NAPT维护一个带有IP以及端口号的NAT表,结构如下。

内网IP 外网IP
192.168.1.55:5566 219.152.168.222:9200
192.168.1.59:80 219.152.168.222:9201
192.168.1.59:4465 219.152.168.222:9202

受到NAT影响的应用程序 编辑

一些高层协议(比如FTPQuakeSIP)在IP包的有效数据内发送网络层(第三层)信息。比如,主动模式的FTP使用单独的端口分别来控制命令传输和数据传输。当请求一个文件传输时,主机在发送请求的同时也通知对方自己想要在哪个端口接受数据。但是,如果主机是在一个简单的NAT防火墙后发送的请求,那么由于端口的映射,将会使对方接收到的信息无效。

一个應用層閘道Application Layer Gateway,ALG)可以修正这个问题。运行在NAT防火墙设备上的ALG软件模块可以更新任何由地址转换而导致无效的信息。显然,ALG需要明白它所要修正的上层协议,所以每个有这种问题的协议都需要有一个单独的ALG

但是,除FTP外的大多数传统的客户机-服务器协议不需要发送网络层(第三层)信息,也就不需要ALG

这个问题的另一个可能的解决方法是使用像STUN这样的技术,但是这只针对建立在UDP上的高层协议,并且需要它内建这种技术。这种技术对於对称NAT也是无效的。还有一种可能的方案是UPnP,但它需要和NAT设备配合起来使用。

不同類型的NAT 编辑

完全圆锥型NAT(Full cone NAT),即一對一(one-to-one)NAT
  • 一旦内部地址(iAddr:iPort)映射到外部地址(eAddr:ePort),所有发自 iAddr:iPort 的封包都经由 eAddr:ePort 向外发送。
  • 任意外部主机都能經由發送封包給 eAddr:ePort 到达 iAddr:iPort。
 
受限圆锥型NAT((Address-)Restricted cone NAT)
  • 一旦内部地址(iAddr:iPort)映射到外部地址(eAddr:ePort),所有发自 iAddr:iPort 的封包都经由 eAddr:ePort 向外发送。
  • 唯 iAddr:iPort 曾經發送封包到外部主机(nAddr:any),外部主机才能經由發送封包給 eAddr:ePort 到达 iAddr:iPort。(注:any 指外部主机源端口不受限制。)
 
端口受限圆锥型NAT(Port-Restricted cone NAT)

类似受限制錐形NAT(Restricted cone NAT),但是还有端口限制。

  • 一旦内部地址(iAddr:iPort)映射到外部地址(eAddr:ePort),所有发自 iAddr:iPort 的封包都经由 eAddr:ePort 向外发送。
  • 受限圆锥型NAT基础上增加了外部主机源端口必须是固定的。
 
對稱NAT(Symmetric NAT)
  • 每一個來自相同內部 IP 與端口,到一個特定目的地 IP 和端口的請求,都映射到一個獨特的外部 IP 和端口。
    同一內部 IP 與端口發到不同的目的地和端口的信息包,都使用不同的映射
  • 只有曾经收到过内部主机数据的外部主机,才能够把封包发回
 

NAT其他用途实例 编辑

  • 负载均衡:目的地址转换NAT可以重定向一些服务器的连接到其他随机选定的服务器。
  • 失效终结:目的地址转换NAT可以用来提供高可靠性的服务。如果一个系统有一台通过路由器访问的关键服务器,一旦路由器检测到该服务器當机,它可以使用目的地址转换NAT透明的把连接转移到一个备份服务器上。
  • 透明代理:NAT可以把连接到因特网的HTTP连接重定向到一个指定的HTTP代理服务器以缓存数据和过滤请求。一些因特网服务提供商就使用这种技术来减少带宽的使用而不用让他们的客户配置他们的浏览器支持代理连接。

参见 编辑

外部链接 编辑

网络地址转换, 本條目存在以下問題, 請協助改善本條目或在討論頁針對議題發表看法, 此條目已列出參考文獻, 但因為沒有文內引註而使來源仍然不明, 2022年4月28日, 请加上合适的文內引註来改善这篇条目, 此條目可参照外語維基百科相應條目来扩充, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也不要翻译不可靠, 低品质内容, 依版权协议, 译文需在编辑摘要注明来源, 或于讨论页顶部标记, href, template, translated, page, html, titl. 本條目存在以下問題 請協助改善本條目或在討論頁針對議題發表看法 此條目已列出參考文獻 但因為沒有文內引註而使來源仍然不明 2022年4月28日 请加上合适的文內引註来改善这篇条目 此條目可参照外語維基百科相應條目来扩充 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 网络地址转换 英語 Network Address Translation 縮寫 NAT 又称網絡掩蔽 IP 掩蔽 在計算機網絡中是一種在IP 封包通過路由器或防火牆時重寫來源IP地址 或目的IP 地址的技術 這種技術被普遍使用在有多台主機但只通過一個公有IP地址訪問網際網路的私有網絡中 它是一個方便且得到了廣泛應用的技術 當然 NAT 也讓主機之間的通信變得複雜 導致了通信效率的降低 目录 1 概述 1 1 缺点 1 2 優點 2 基本NAT 和端口号转换 2 1 基本网络地址转换 Basic NAT 2 2 网络地址端口转换 NAPT 2 3 受到NAT影响的应用程序 3 不同類型的NAT 4 NAT 其他用途实例 5 参见 6 外部链接概述 编辑 nbsp 无NAT网络 假设每个接入子网都需要一组 24的IP 而且还能对外连接 对外的路由至少要保留或申请1000个对外IP nbsp 带NAT网络 通过NAT转换 接入子网可以使用私用IP 对外连接时由路由绑定私用IP与对外IP的关系 修改传输的IP包上的地址 从而只需要255个对外IP就能满足内部接入子网的对外连接需求1990年代中期 NAT 是作为一种解决IPv4地址短缺以避免保留IP地址困难的方案而流行起来的 网络地址转换在很多国家广泛使用 所以NAT就成了家庭和小型办公室网络连接上的路由器的一个标准特征 因为对他们来说 申请独立的IP地址的代价要高于所带来的效益 在一个典型的配置中 一个本地网络使用一个专有网络的指定子网 比如192 168 x x或10 x x x 和连在这个网络上的一个路由器 这个路由器占有这个网络地址空间的一个专有地址 比如192 168 0 1 同时它还通过一个或多个因特网服务提供商提供的公有的IP 地址 叫做 过载 NAT 连接到因特网上 当信息由本地网络向因特网传递时 源地址从专有地址转换为公用地址 由路由器跟踪每个连接上的基本数据 主要是目的地址和端口 当有回复返回路由器时 它通过输出阶段记录的连接跟踪数据来决定该转发给内部网的哪个主机 如果有多个公用地址可用 当数据包返回时 TCP或UDP客户机的端口号可以用来分解数据包 对于因特网上的通信 路由器本身充当源和目的 流行在网络上的一种看法认为 IPv6的廣泛採用將使得NAT不再需要 因為NAT只是一個處理IPv4的地址空間不足的方法 缺点 编辑 在一个具有NAT功能的路由器下的主机并没有建立真正的IP位址 并且不能参与一些因特网协议 一些需要初始化从外部网络建立的TCP连接和无状态协议 比如UDP 无法实现 除非NAT路由器管理者预先设置了规则 否则送来的数据包将不能到达正确的目的地址 一些协议有时可以在应用层网关 见下 的辅助下 在参与NAT 的主机之间容纳一个NAT 的实例 比如FTP NAT也会使安全协议变得复杂 比如IPsec 端对端连接是被IAB委員會 Internet Architecture Board 支持的核心因特网协议之一 因此有些人据此认为NAT 是对公用因特网的一个破坏 一些因特网服务提供商 ISP 只向他们的客户提供本地IP地址 所以他们必须通过NAT 来访问ISP 网络以外的服务 并且这些公司能不能算得上真正的提供了因特网服务的话题也被谈起 優點 编辑 NAT除了帶來方便和低成本之外 對全雙工連接支持的缺少在一些情況下可以看作是優點而不是限制 在一定程度上 NAT依賴於本地網絡上的一台機器來初始化和路由器另一邊的主機的所有連接 它可以阻止外部網絡上的惡意活動 這樣就可以阻止網絡蠕蟲病毒來提高本地系統的可靠性 阻擋惡意瀏覽來提高本地系統的私密性 很多具有NAT功能的防火牆都是使用這種功能來提供核心保護的 另外 它也為UDP的跨局域網的傳輸提供了方便性 基本NAT 和端口号转换 编辑基本网络地址转换 Basic NAT 编辑 这一种也可称作NAT 或 静态NAT 在RFC 2663中提供了信息 它在技术上比较简单 仅支持地址转换 不支持端口映射 Basic NAT要求对每一个当前连接都要对应一个公网IP 地址 因此要维护一个公网的地址池 宽带 broadband 路由器通常使用这种方式来允许一台指定的设备去管理所有的外部链接 甚至当路由器本身只有一个可用外部IP时也如此 这台路由器有时也被标记为DMZ主机 由于改变了IP源地址 在重新封装数据包时候必须重新计算校验和 网络层以上的只要涉及到IP地址的头部校验和都要重新计算 Basic NAT要维护一个无端口号NAT表 结构如下 内网IP 外网IP192 168 1 55 219 152 168 222192 168 1 59 219 152 168 223192 168 1 155 219 152 168 224网络地址端口转换 NAPT 编辑 这种方式支持端口的映射 并允许多台主机共享一个公网IP 地址 支持端口转换的NAT又可以分为两类 源地址转换和目的地址转换 前一种情形下发起连接的计算机的IP地址将会被重写 使得内网主机发出的数据包能够到达外网主机 后一种情况下被连接计算机的IP地址将被重写 使得外网主机发出的数据包能够到达内网主机 实际上 以上两种方式通常会一起被使用以支持双向通信 NAPT维护一个带有IP以及端口号的NAT表 结构如下 内网IP 外网IP192 168 1 55 5566 219 152 168 222 9200192 168 1 59 80 219 152 168 222 9201192 168 1 59 4465 219 152 168 222 9202受到NAT影响的应用程序 编辑 一些高层协议 比如FTP Quake SIP 在IP包的有效数据内发送网络层 第三层 信息 比如 主动模式的FTP使用单独的端口分别来控制命令传输和数据传输 当请求一个文件传输时 主机在发送请求的同时也通知对方自己想要在哪个端口接受数据 但是 如果主机是在一个简单的NAT防火墙后发送的请求 那么由于端口的映射 将会使对方接收到的信息无效 一个應用層閘道 Application Layer Gateway ALG 可以修正这个问题 运行在NAT 防火墙设备上的ALG 软件模块可以更新任何由地址转换而导致无效的信息 显然 ALG需要明白它所要修正的上层协议 所以每个有这种问题的协议都需要有一个单独的ALG 但是 除FTP 外的大多数传统的客户机 服务器协议不需要发送网络层 第三层 信息 也就不需要ALG 这个问题的另一个可能的解决方法是使用像STUN 这样的技术 但是这只针对建立在UDP 上的高层协议 并且需要它内建这种技术 这种技术对於对称NAT 也是无效的 还有一种可能的方案是UPnP 但它需要和NAT 设备配合起来使用 不同類型的NAT 编辑完全圆锥型NAT Full cone NAT 即一對一 one to one NAT 一旦内部地址 iAddr iPort 映射到外部地址 eAddr ePort 所有发自 iAddr iPort 的封包都经由 eAddr ePort 向外发送 任意外部主机都能經由發送封包給 eAddr ePort 到达 iAddr iPort nbsp 受限圆锥型NAT Address Restricted cone NAT 一旦内部地址 iAddr iPort 映射到外部地址 eAddr ePort 所有发自 iAddr iPort 的封包都经由 eAddr ePort 向外发送 唯 iAddr iPort 曾經發送封包到外部主机 nAddr any 外部主机才能經由發送封包給 eAddr ePort 到达 iAddr iPort 注 any 指外部主机源端口不受限制 nbsp 端口受限圆锥型NAT Port Restricted cone NAT 类似受限制錐形NAT Restricted cone NAT 但是还有端口限制 一旦内部地址 iAddr iPort 映射到外部地址 eAddr ePort 所有发自 iAddr iPort 的封包都经由 eAddr ePort 向外发送 在受限圆锥型NAT基础上增加了外部主机源端口必须是固定的 nbsp 對稱NAT Symmetric NAT 每一個來自相同內部 IP 與端口 到一個特定目的地 IP 和端口的請求 都映射到一個獨特的外部 IP 和端口 同一內部 IP 與端口發到不同的目的地和端口的信息包 都使用不同的映射 只有曾经收到过内部主机数据的外部主机 才能够把封包发回 nbsp NAT 其他用途实例 编辑负载均衡 目的地址转换NAT 可以重定向一些服务器的连接到其他随机选定的服务器 失效终结 目的地址转换NAT 可以用来提供高可靠性的服务 如果一个系统有一台通过路由器访问的关键服务器 一旦路由器检测到该服务器當机 它可以使用目的地址转换NAT 透明的把连接转移到一个备份服务器上 透明代理 NAT 可以把连接到因特网的HTTP 连接重定向到一个指定的HTTP 代理服务器以缓存数据和过滤请求 一些因特网服务提供商就使用这种技术来减少带宽的使用而不用让他们的客户配置他们的浏览器支持代理连接 参见 编辑NAT穿越 端口地址轉換 防火牆 路由 IPv4 IPv6 IPv4地址枯竭 专用网络 網際網路連接共享 代理伺服器 端口转发 电信级NAT STUN NAT 的UDP 簡單穿越 TURN NAT 的UDP 簡單中繼 ICE 結合STUN與TURN的NAT 的UDP 簡單穿越與中繼外部链接 编辑Network Address Translation Traversal of MSDN 页面存档备份 存于互联网档案馆 http www windowsnetworking com articles tutorials NAT Windows 2003 Setup Configuration html 页面存档备份 存于互联网档案馆 这篇文章介绍了怎样在Windows 2003 中建立和配置NAT http www cisco com en US about ac123 ac147 archived issues ipj 7 3 anatomy html 页面存档备份 存于互联网档案馆 http computer howstuffworks com nat htm printable 页面存档备份 存于互联网档案馆 RFC 4008 Standards Track NAT 中的被管理对象的定义 RFC 3022 传统NAT RFC 1631 已作废 IP NAT http freshmeat net projects nat traverse 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title 网络地址转换 amp oldid 75017650, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。