网站首页 > 博客文章 正文
大家好,我是IT售前工程师Bernie。
本文将详细说明计算机网络中NAT转换的概念和工作原理,欢迎阅读。
为什么要NAT的转换
我们知道,在计算机世界中,IP地址是可以分为公网IP和私网IP两类。
IP 地址中预留了 3 个私有地址网段,在私有网络内,可以任意使用。
其余的 IP 地址可以在互联网上使用,由 IANA 统一管理,称为公网地址。
举一个简单的例子,某一个局域网中的同一个VLAN内有三台计算机A、B、C,他们由一台二层交换机连接,IP地址分别为192.168.5.1、192.168.5.2和192.168.5.3。
三台计算机在局域网中是可以自由通信的,但是,由于拥有的是私网IP,他们是如何连接互联网,与公网上的某一个服务器通信呢?
这里就需要一个地址转化的技术,NAT(Network Address Translation)。
NAT的工作原理
NAT可以将私网IP与公网IP进行一个映射,比如在路由器的NAT中有一张映射表。
私网IP | 对应的公网IP |
192.168.5.1 | 192.169.10.1 |
192.168.5.2 | 192.169.10.2 |
192.168.5.3 | 192.169.10.3 |
当计算机A要发送一个数据包到公网上的一台主机时,数据包经过路由的时候,NAT转换工具会将数据包中的源IP地址由A的私网地址转换为映射后的公网地址,然后发出。
同样,如果外网上的主机发过来一个数据包,目标IP地址也是需要转换的。比如目标IP地址是192.169.10.3,那么路由的NAT会首先查询映射表。将192.169.10.3更换为192.168.5.3,然后将数据发送到计算机C上。
NAT的分类
(一) 静态NAT
静态 NAT 是映射到公网 IP 的唯一未注册 IP 地址。在全球范围内创建一对一的映射,静态NAT维护本地地址和全局地址之间的连续映射,该场景通常用于网络托管。
企业中一般不会用静态NAT,因为价格实在比较高。因为许多人使用 Internet 并需要访问它,这需要使用公共 IP 地址。比如,一家公司需要 100 台服务器的 Internet 连接,则必须购买 100个公共地址。
(二) 动态NAT
动态 NAT 是指由提供商为企业路由器分配多个外部IP地址(从池中分配公共地址),动态 NAT 允许用户所有地址内部进行映射。
(三) 端口NAT
端口NAT又称PAT,许多私有地址映射到一个公共 IP 地址,每一个端口对应着计算中的一个独立程序。
通常情况下,当客户端数量超过全局地址池时,使用端口NAT,节省大量地址空间。
互联网服务商(ISP)为路由器提供了一个 IP 地址,但它可以被多个家庭成员同时使用。PAT 将地址保存在地址池中,允许交换机将一个内部地址用于某个本地地址。
总结
伴随着互联网用户数的激增,截止到2020年,全球43亿个公网 IPv4 地址已耗尽。使用NAT技术的初衷是解决 IPv4 地址不够用的问题。
但 NAT本身只是一种过渡技术,从根本上解决问题,还依靠IPv6 ,它提供了几乎用不完的地址空间,号称“可以为地球上每一粒沙都分配一个IPv6地址”。
猜你喜欢
- 2025-01-18 防火墙NAT配置,配置NAT静态转换,配置NAT动态转换PAT及No-PAT模式
- 2025-01-18 四种网路类型外网穿透力与优化方法
- 2025-01-18 运维自动化之实用python代码汇总
- 2025-01-18 通过Python实现内网穿透的几种方式?
- 2025-01-18 小科普 | 联机游戏卡顿?改善你的NAT类型吧
- 2025-01-18 如何用Python实现神经网络(附完整代码)
- 2025-01-18 公司内网用户如何通过NAT地址访问外网,一文读懂!
- 2025-01-18 从联机游戏学习NAT类型
- 2025-01-18 python-网络编程总结
- 2025-01-18 工业路由器网关的网络协议之NAT技术
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 360℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)