首页 > 其他分享 >NAT(网络地址转换)

NAT(网络地址转换)

时间:2023-04-22 20:11:22浏览次数:39  
标签:NAPT 转换 IP 外网 网络地址 NAT IP地址

        NAT是将私有IP地址通过边界路由转换成外网IP地址,在边界路由的NAT地址转换表记录下这个转换映射记录,当外部数据返回时,路由使用NAT技术查询NAT转换表,再将目标地址替换成内网用户IP地址。

1.静态NAT(basic基本NAT)
       静态NAT就是一对一映射,内部有多少私有地址需要和外部通信,就要配置多少外网IP地与其对应,并不节省外网IP,所以一般不用。

2.动态NAT
       动态NAT是在边界路由器上配置一个外网IP地址池,当内部有计算机需要和外部通信时,就从地址池里动态的取出一个外网IP,并将他们的对应关系绑定到NAT表中,通信结束后,这个外网IP会被释放,可供其他内部IP地址转换使用,这个和DHCP租约IP有相似之处。

3.NAPT(网络端口地址转换)
       NAPT是最常用的NAT技术,它提供了多对一的转换,对于多个内网IP地址,边界路由可以给他们分配一个外网IP,利用这个外网IP的不同端口和外部网络进行通信。

扩展:easy ip 工作原理与普通NAPT相同,是NAPT的一种特例。不用预先配置地址池,NAT设备直接使用出接口IP地址作为转换后的源地址。适用于接入internet或动态获得IP地址的场合。

NAT技术的优点:
(1)节省合法的公有IP地址(最大的优点)
(2)对外隐藏内部地址,增加网络的安全性
(3)当网络发生变化时,避免重新编址
NAT技术的缺点:
(1)无法从NAT的外部向内部服务器建立连接(NAT穿越)
(2)转换表的生成和转换操作都会产生一定的开销


命令配置:

 

标签:NAPT,转换,IP,外网,网络地址,NAT,IP地址
From: https://www.cnblogs.com/dongtianci0801/p/17343808.html

相关文章

  • 线程状态转换
    新建(New)创建后尚未启动。可运行(Runnable)可能正在运行,也可能正在等待CPU时间片。包含了操作系统线程状态中的Running和Ready。阻塞(Blocking)等待获取一个排它锁,如果其线程释放了锁就会结束此状态。无限期等待(Waiting)等待其它线程显式地唤醒,否则不会被分配CPU......
  • 【提示学习】Exploiting Cloze Questions for Few Shot Text Classification and Natu
    论文信息名称内容论文标题ExploitingClozeQuestionsforFewShotTextClassificationandNaturalLanguageInference论文地址https://arxiv.org/abs/2001.07676研究领域NLP,文本分类,提示学习,PET提出模型PET(Pattern-ExploitingTraining)来源EACL2021阅读摘要  目前......
  • Forest-声明式HTTP客户端框架-集成到SpringBoot实现调用第三方restful api并实现接口
    场景Forest声明式HTTP客户端API框架,让Java发送HTTP/HTTPS请求不再难。它比OkHttp和HttpClient更高层,是封装调用第三方restfulapiclient接口的好帮手,是retrofit和feign之外另一个选择。通过在接口上声明注解的方式配置HTTP请求接口。官网:Forest 代码地址:forest:声明式HTTP客户......
  • 类型转换
    类型转换低---------------------------------------------------->高byte,short,char->int->long->float->double强制类型转换高-->低inti=128;bytej=(byte)i;自动类型转换低-->高inti=128;doublej=i;注意不能对布尔值进行转换不能把对象类型转换为不......
  • Java 把 Map 的值(Value)转换为 Array, List 或 Set
    概述在这篇短文中,我们将会展示如何把Map中的值取出来,转换为一个Array,、List或者一个Set。 当然,你可以使用JavaJDK来进行转换,你也可以使用Guava来进行转换。 首先,让我们来看看,如何使用原生的JavaJDK把一个Map的值换行为Array。@TestpublicfinalvoidgivenU......
  • Java 把 Map 的值(Value)转换为 Array, List 或 Set
    概述在这篇短文中,我们将会展示如何把Map中的值取出来,转换为一个Array,、List或者一个Set。 当然,你可以使用JavaJDK来进行转换,你也可以使用Guava来进行转换。 首先,让我们来看看,如何使用原生的JavaJDK把一个Map的值换行为Array。@Testpublicfinal......
  • 微信JS-SDK出现“invalid signature”的问题时该如何解决
    最近我在帮助前端生成微信JS-SDK分享签名时,遇到了一个问题,即wx.config初始化一直报invalidsignature的错误,我想总结一下我排查这个问题的过程。官方文档中已经说了详细介绍了排查过程,如下图所示: 校验工具校验签名过程首先我在微信提供的签名校验工具中比对了接口生成......
  • PCF8591 AD/DA转换基于51
    #include<reg52.h>#include<intrins.h>//内部有_nop_();//IIC模拟时序实现//注意:SCL为高电平时变化SDA数据是起始或者终止信号;所以若不是起始或者终止信号,需要在SCL为低电平时变化SDA数据sbitSDA=P2^0;sbitSCL=P2^1;sbitLED=P2^3;sbitwei=P2^6;sbitdu......
  • 文件取证之编码转换
    进制转换二进制\b:0,1八进制\o:0-7十进制\d:0-9十六进制\x:0-Fpython进制转换int("FF",16)##十六进制转为十进制int("77",8)##八进制转为十进制int("11",2)##二进制转为十进制hex(10)##十进制转为十六进制oct(10)##十进......
  • 数值转换
     一、问题描述   给定一个数M进制的数X,实现对x向任意的一个非M进制的数的转换。二、设计思路  给定一个十进制数,将其进行向其他进制的转换,常见的有二进制,八进制,十六进制,三、流程图 开始 输入任意一个数 进行向二进制,八进制,十六进制......