NAT原理:概念、使用场景、转发流程及规则
本文分享自天翼云开发者社区《NAT原理:概念、使用场景、转发流程及规则》,作者:x****n
网络地址转换(NAT)是一种在计算机网络中将一个网络的IP地址转换为另一个网络的IP地址的技术。它通常用于将私有网络的IP地址映射到公共网络的IP地址,以便在Internet上进行通信。NAT技术解决了IPv4地址短缺的问题,同时也提高了网络的安全性。
NAT的使用场景主要包括以下几种情况:
1.公共IP地址不足:在Internet上分配公共IP地址是有限的,而且越来越昂贵。因此,许多组织和企业使用私有IP地址来管理他们的局域网。但是,当这些网络需要与Internet通信时,就需要使用NAT技术将私有IP地址映射到公共IP地址。
2.安全性:NAT技术可以提高网络的安全性,因为它隐藏了私有网络背后的真实IP地址。这样,攻击者就无法直接访问这些网络,从而减少了网络攻击的风险。
3.简化网络管理:使用NAT技术可以简化网络管理,因为它可以减少需要配置和维护的公共IP地址数量。
NAT的转发流程如下:

1.当私有网络中的计算机发送数据包时,它会使用它的私有IP(192.168.0.10)地址作为源IP地址。
2.NAT路由器接收到数据包后,会将源IP地址更改为NAT路由器的公共IP(36.111.64.85)地址,并将此映射关系保存在转发表中。
3.NAT路由器将数据包转发到Internet上的目标计算机。
4.当目标计算机回复数据包时,它会使用NAT路由器的公共IP地址作为目标IP地址(36.111.64.85)。
5.NAT路由器接收到回复数据包后,会查找转发表以确定它所属的私有网络,并将目标IP地址(36.111.64.86)更改为私有IP地址(192.168.0.10)。
6.NAT路由器将回复数据包转发到私有网络中的计算机。
DNAT和SNAT是NAT技术中的两种常见形式。DNAT(目标网络地址转换)用于将Internet上的公共IP地址映射到私有网络中的计算机,而SNAT(源网络地址转换)用于将私有网络中的计算机映射到Internet上的公共IP地址。
DNAT流程图如下:
1.当Internet上的计算机发送数据包时,它会使用公共IP地址作为目标IP地址。
2.NAT路由器接收到数据包后,会查找转发表以确定它所属的私有网络,并将目标IP地址更改为私有IP地址。
3.NAT路由器将数据包转发到私有网络中的计算机。
4.当计算机回复数据包时,它会使用私有IP地址作为源IP地址。
5.NAT路由器接收到回复数据包后,会将源IP地址更改为公共IP地址,并将此映射关系保存在转发表中。
6.NAT路由器将回复数据包转发到Internet上的计算机。
SNAT流程图如下:
1.当私有网络中的计算机发送数据包时,它会使用私有IP地址作为源IP地址。
2.NAT路由器接收到数据包后,会将源IP地址更改为NAT路由器的公共IP地址,并将此映射关系保存在转发表中。
3.NAT路由器将数据包转发到Internet上的目标计算机。
4.当目标计算机回复数据包时,它会使用NAT路由器的公共IP地址作为目标IP地址。
5.NAT路由器接收到回复数据包后,会查找转发表以确定它所属的私有网络,并将目标IP地址更改为私有IP地址。
6.NAT路由器将回复数据包转发到私有网络中的计算机。
NAT的转发规则通常由管理员配置,以确保网络安全和最佳性能。以下是一些常见的转发规则:
1.隐藏内部网络:使用SNAT来隐藏内部网络的真实IP地址,以提高网络安全性。
2.允许特定的流量:管理员可以配置转发规则以允许或拒绝特定的流量,以确保网络的安全性。
3.确保网络负载均衡:管理员可以配置多个NAT路由器,以确保网络负载均衡,并提高网络性能。
4.端口转发:管理员可以配置端口转发规则,以允许Internet上的计算机访问私有网络中的特定计算机或服务。
总之,NAT技术是一种重要的网络技术,它可以提高网络的安全性和性能。管理员需要了解NAT的原理、使用场景、转发流程和规则,以确保网络的安全性和最佳性能。
NAT原理:概念、使用场景、转发流程及规则的更多相关文章
- 谈谈MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理和应用场景?
在日常开发中,尤其是业务开发,少不了利用 Java 对数据库进行基本的增删改查等数据操作,这也是 Java 工程师的必备技能之一.做好数据操作,不仅仅需要对 Java 语言相关框架的掌握,更需要对各种 ...
- 第36讲 谈谈MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理和应用场景
在日常开发中,尤其是业务开发,少不了利用 Java 对数据库进行基本的增删改查等数据操作,这也是 Java 工程师的必备技能之一.做好数据操作,不仅仅需要对 Java 语言相关框架的掌握,更需要对各种 ...
- 传统二三层转发融合SDN Openflow协议的Hybrid交换机转发流程
Hybrid 交换系统(以下简称Hybrid 交换机)是交换机融合了OVS(Openflow vswitch)原生代码,集传统和Openflow 技术于一体的转发系统.主要解决纯Openflow 基于 ...
- 网络地址转换NAT原理及其作用
1 概述 1.1 简介 NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task F ...
- [daily][network] NAT原理(转)
写在转发之前: 一直以来,我一直有一个疑惑,SNAT的时候,如果两个内网主机恰巧使用了相同的源端口号该怎么办呢? 我自己猜测的方法是改掉一个端口号,把端口一起映射(当然还有另一个设想,就是把包同时广播 ...
- Java进阶(七)正确理解Thread Local的原理与适用场景
原创文章,始自发作者个人博客,转载请务必将下面这段话置于文章开头处(保留超链接). 本文转发自技术世界,原文链接 http://www.jasongj.com/java/threadlocal/ Th ...
- 蓝牙协议分析(12)_LQ和RSSI的原理及应用场景
在蓝牙协议栈的物理层,有这样两个比较有用的参数:LQI和RSSI.它们都是通过接收端,判断当前无线环境的质量(链路质量),以指导后续的动作.但这两个数值的计算原理和使用场景又有很大的差别. LQI ( ...
- [转帖]Docker五种存储驱动原理及应用场景和性能测试对比
Docker五种存储驱动原理及应用场景和性能测试对比 来源:http://dockone.io/article/1513 作者: 陈爱珍 布道师@七牛云 Docker最开始采用AUFS作为文件系统 ...
- NAT原理简介、各种 ADSL Modem 及路由器的端口映射方法
NAT原理简介 NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force ...
- openstack octavia的实现与分析(二)原理,架构与基本流程
[了解] 其实说白了,Octavia就是将用户的API请求经过逻辑处理,转换成Haproxy或者Nginx的配置参数,下发到amphora虚机中. Octavia的内部实现中,逻辑流程的处理主要使用T ...
随机推荐
- Vulhub Nginx漏洞复现
目录 前言 文件名逻辑漏洞(CVE-2013-4547) 配置不当导致解析漏洞 配置错误导致漏洞 CRLF注入漏洞 目录穿越漏洞 前言 Nginx是一款广泛使用的Web服务器和反向代理服务器,尽管它以 ...
- vue+laravel使用微信Natvite支付
Navite支付介绍 Native支付是指商户系统按微信支付协议生成支付二维码,用户再用微信"扫一扫"完成支付的模式.适用于PC网站.实体店单品或订单.媒体广告支付等场景 1.先阅 ...
- Docker registry cli 私有仓库镜像查询、删除、上传、下载 shell
#Docker官方私有仓库registry#官方只提供了API接口,不方便使用,就写了个shell#docker-registry安装配置http://www.cnblogs.com/elvi/p/8 ...
- 分布式事务之dtm
github: https://github.com/dtm-labs/dtm 本人使用场景, 目前微服务中存在的用户服务, 商品服务,订单服务, 支付服务, 在进行下单操作的时候,需要创建订单并扣减 ...
- Django之model外键
外键和表关系 外键: 在MySQL中,表有两种引擎,一种是InnoDB,另外一种是myisam.如果使用的是InnoDB引擎,是支持外键约束的.外键的存在使得ORM框架在处理表关系的时候异常的强大.因 ...
- Mysql之myisam引擎
这里是早起整理的myisam优势,因为当时刚毕业那会web1.0时代还没过时,很多的门户网站实际上就只是内容展示的时候,或者发布文章公告的场景.所以对于这样的读多写少的场景,大多数使用的还是myisa ...
- Three.js案例-360全景房看
在 360° 看房功能中,我们需要在浏览器中创建一个类似虚拟现实的场景,使得用户能够查看环境的每一个角落.这一功能的实现本质上是利用 球体映射技术,即通过将全景图作为纹理贴图映射到一个反向的球体上,用 ...
- openEuler欧拉配置Nacos集群
一.安装Nacos systemctl stop firewalld systemctl disable firewalld mkdir -p /home/nacos tar xvf nacos- ...
- 理解 ASP.NET Core: Host
dotnet core 非常好用,代码也及其精炼,但是,你真的搞懂了每一行代码背后的含义了吗? 本文希望能够深入浅出地梳理一下它的脉络,把它从神秘变成水晶一般透明. 本文关注于分析 Pragram.c ...
- Alpine中安装telnet
lpine Linux是一个基于musl libc和busybox的安全轻量的Linux发行版. 在Alpine中安装telnet,并不是apk add telnettelnet被移入子包busybo ...