NAT原理(网络地址转换)

news2024/9/22 5:37:21

NAT原理

网络地址转换(Network Address Translation,简称NAT)

是一种网络通信协议,它是在网络层上对IP地址进行转换的技术。

NAT技术可以将内部网络中的私有IP地址转换为公共IP地址,以便内部网络中的设备能够访问互联网。NAT技术的原理是在内部网络和外部网络之间设置一个NAT设备,内部网络中的设备通过NAT设备来连接互联网。

NAT技术的主要作用

是解决公共IP地址不足的问题。

因为公共IP地址资源是有限的,如果内部网络中的每个设备都需要拥有一个公共IP地址,那么就会浪费很多公共IP地址。采用NAT技术可以让多个设备共用一个公共IP地址,从而节省公共IP地址的使用,使得更多的设备能够连接到互联网。

NAT技术的另一个作用

增强网络的安全性。因为NAT技术可以隐藏内部网络中的私有IP地址,从而降低受到攻击的风险。攻击者无法直接访问内部网络中的设备,因为他们无法知道设备的私有IP地址,只能访问到NAT设备的公共IP地址。这样可以大大增强网络的安全性。

1.Network Address Translation(NAT)

​ 网络地址转换

2.ipv4地址严重不够用了

​ x.x.x.x x0-255

​ A B C类可以使用 D组播 E科研

3.IP地址分为公网IP和私有IP

公网IP只能在公网中使用

私网IP只能在内网中使用

公网上不允许出现私有IP地址!!!

死亡IP可以重复在内网使用

3、私有IP地址范围:

1)10.0.0.0/8 (10开头的)

2)172.16.0.0/16 - 172.31.0.0/16 (172.16开头的一直到172.31开头的)

3)192.168.0.0/16(192.168开头的)

4、NAT主要实现公私有IP地址的转换,一般是路由器或者防火墙上来完成,不建议在三层交换机上配置!

二、NAT的分类(3大类)

1、静态NAT:1对1映射(静态PAT,端口映射技术),外到内一般配置静态。

2、动态NAT(基本没人用了)

3、PAT(端口地址转换,Port Address Translation),也称为端口复用技术

​ 端口号范围:0-65535

最后发出去的端口号是NAT地址池随机生成的端口号,当信息回来的时候会查看NAT地址池,根据相应的端口号查找相应的内网IP地址和对应的端口号(服务端口)。

image-20230730154036261

PAT端口地址转换

PAT(Port Address Translation)端口地址转换是一种NAT(Network Address Translation)技术,它可以将多个内部网络设备共享一个公共IP地址,并使用不同的端口号来区分不同的内部网络设备。

PAT端口地址转换的原理:

  1. 配置NAT池:管理员需要在NAT设备上配置NAT池,指定可用的公共IP地址范围。
  2. 发送数据包:当内部网络中的设备发送数据包到互联网时,数据包中包含了设备的私有IP地址和端口号。
  3. NAT设备接收数据包:当数据包到达NAT设备时,NAT设备会检查数据包中的源IP地址是否是内部网络中的私有IP地址。
  4. 判断是否需要新分配公共IP地址和端口号:如果源IP地址是内部网络中的私有IP地址,但还没有分配公共IP地址和端口号,则NAT设备会从NAT池中选择一个可用的公共IP地址和端口号,分配给该设备使用。
  5. 执行转换:NAT设备将私有IP地址转换为分配的公共IP地址,并将端口号替换为分配的端口号。
  6. 更新数据包:NAT设备将数据包中的源IP地址修改为公共IP地址,并更新相应的端口号信息。
  7. 转发数据包:NAT设备将转换后的数据包发送到互联网上的目标设备。
  8. 接收响应数据包:当目标设备接收到转换后的数据包时,会将响应数据包发送回到公共IP地址和端口号。
  9. 执行逆向转换:当NAT设备接收到响应数据包时,它会使用之前的NAT规则,将公共IP地址和端口号转换为对应的私有IP地址和端口号信息。
  10. 将响应数据包转发给内部网络:NAT设备将响应数据包转发给相应的内部网络设备。

PAT端口地址转换通过使用不同的端口号来区分不同的内部网络设备,实现了多个内部网络设备共享一个公共IP地址的功能。PAT可以帮助内部网络中的多个设备同时访问互联网,并提高网络的灵活性和安全性。

多个服务器解决办法

如果内网的一个服务器要发布到网上怎么办,外网怎么访问内网的这台服务器。

再买第二个IP地址,但是这个IP地址不需要配置再路由器的进接口上,直接配置到NAT地址转换表就可以,公网寻址也是能找到我们这个IP的,因为是我们买的,寻址时候自然会找到我们公司这台路由器查看NAT地址池。

这时候可以同时再用一个overload复用(静态PAT),内网的端口号80对应一个转换后的80端口号,如果有第二台服务器就换一个端口号比如81,第三台82端口号。

如果内网中别的服务器,也希望外网通过80端口号访问,只能再购买新的公网IP地址。

如果一个内网IP对应一个外网IP放在NAT地址池不配置端口使用默认也可以,但是这样安全性不高,外网不仅可以访问80,同时也可以访问这台服务器的别的端口。

image-20230730155900452

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/811823.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023-07-30力扣每日一题

链接: 142. 环形链表 II 题意: 求链表是否有环,并给出入环的点 解: 哈希关联标记或者快慢指针 快慢指针逻辑:设入环前长度a,快慢相遇时指针在b,环长度为c,fast2*slow&#xff…

前端学习--vue2--1-基础配置

写在前面: 好久没写了,做实习每天上班都没啥时间写,1个半月前开始系统学习前端,然后做了半个月主要的前端实习了wk。也行,当复习了,后端也还是搞了点。 本文介绍vue2的一些基础和配置,配置只写…

【C++】——类和对象

目录 面向过程和面向对象的初步认识类的引入类的定义类的访问限定符及封装类的作用域类的实例化this指针类的6个默认成员函数构造函数析构函数 面向过程和面向对象的初步认识 C语言是面向过程的,关注的是过程,分析求解问题的步骤,通过函数调用…

你还不会反射吧,快来吧!!!

首先&#xff1a; 1.加载类&#xff1a; //练习获取字节码对象的3种方式 //Class<Student> studentClass Student.class; //Class<? extends Student> aClass new Student().getClass(); Class<?> clazz Class.forName("TestT.Student"); 2.获…

[C++] 类与对象(上)

目录 1、前言 2、类的引入 3、类的定义 3.1 类的两种定义方式 4、类的访问限定符 5、类的作用域 6、类的实例化 7、类对象模型 7.1 内存对齐规则 7.1 类对象的存储方式 8、this指针 8.1 this指针的特性 8.2 this指针是否可以为空 1、前言 C语言是面向过程的&#…

网络运维基础问题及解答

前言 本篇文章是对于网络运维基础技能的一些常见问题的解答&#xff0c;希望能够为进行期末复习或者对网络运维感兴趣的同学或专业人员提供一定的帮助。 问题及解答 1. 列举 3 种常用字符编码&#xff0c;简述怎样在 str 和 bytes 之间进行编码和解码。 答&#xff1a;常用的…

Python读取多个栅格文件并提取像元的各波段时间序列数据与变化值

本文介绍基于Python语言&#xff0c;读取文件夹下大量栅格遥感影像文件&#xff0c;并基于给定的一个像元&#xff0c;提取该像元对应的全部遥感影像文件中&#xff0c;指定多个波段的数值&#xff1b;修改其中不在给定范围内的异常值&#xff0c;并计算像元数值在每一景遥感影…

【C++】-动态内存管理

作者&#xff1a;小树苗渴望变成参天大树 作者宣言&#xff1a;认真写好每一篇博客 作者gitee:gitee 如 果 你 喜 欢 作 者 的 文 章 &#xff0c;就 给 作 者 点 点 关 注 吧&#xff01; 文章目录 前言一、C内存管理方式1.1 new/delete操作内置类型 总结 前言 今天再讲一个…

【禁用外键】为什么互联网大厂禁用外键约束?详谈外键的优缺点和使用场景

导航&#xff1a; 【Java笔记踩坑汇总】Java基础进阶JavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线MySQL高级篇设计模式常见面试题源码 目录 一、外键介绍 1.1 概述 1.2 练习 1.2.1 数据准备 1.2.2 验证有外键时&#xff0c;删除记录要维护外键 1.2…

Python批量下载主播照片,实现人脸识别, 进行颜值评分,制作颜值排行榜

昨晚一回家&#xff0c;表弟就神神秘秘的跟我说&#xff0c;发现一个高颜值网站&#xff0c;非要拉着我研究一下她们的颜值高低。 我心想&#xff0c;这还得要我一个个慢慢看&#xff0c;太麻烦了~ 于是反手用Python给他写了一个人脸识别代码&#xff0c;把她们的照片全部爬下…

06-行向量列向量_向量的运算 加法,数乘,减法,转置

行向量和列向量 行向量是按行把向量排开&#xff08;横着来写&#xff09;&#xff0c; 列向量是按列把向量排开&#xff08;竖着来写&#xff09; 在数学中我们更多的把数据写成列向量&#xff0c;在编程语言中更多的把数据存成行向量! 如果想在编程语言中把行向量转化成列…

人力资源管理系统servlet jsp人资企业办公java源代码mysql

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 人力资源管理系统ervlet jsp 系统有1权限&#xff1a…

【计算机网络】408统考2014年题36

题目描述 【2014年题36】主机甲与主机乙之间使用后退N帧(GBN)协议传输数据&#xff0c;甲的发送窗口尺寸为1000&#xff0c;数据帧长为1000字节&#xff0c;信道带宽为100Mbps&#xff0c;乙每收到一个数据帧就立即利用一个短帧&#xff08;忽略其传输延迟&#xff09;进行确认…

动态sql以及常用的标签

什么是动态sql&#xff1a; 指根据不同的条件生成不同的sql 搭建环境&#xff1a; 建表&#xff1a; create table blog( id varchar(50) not null comment 博客id, title varchar(100) not null comment 博客标题, author varchar(30) not null comment 博客作者, create_ti…

基于springboot+mybatis+mysql+vue+html民宿管理平台

基于springbootmybatismysqlvuehtml民宿管理平台 一、系统介绍二、功能展示1.首页2.个人中心3.民宿信息浏览(用户)4房间信息浏览&#xff08;用户&#xff09;5.房间预订&#xff08;用户&#xff09;6.房间退订&#xff08;用户&#xff09;7.投诉反馈&#xff08;用户&#x…

如何配置保存cpolar所建立的隧道参数?

文章目录 可以利用cpolar建立一个能发布到公共互联网的网页&#xff0c;这是基于我们直接对cpolar进行即时设置&#xff0c;获得了能在公共互联网上访问本地数据的二级子域名。但如果电脑关闭重启后&#xff0c;如何让电脑自动启动cpolar&#xff0c;并记住设置好的域名参数文件…

一文搞懂自动驾驶芯片TDA4 启动流程

文章目录 TDA4架构简介TDA4启动流程DMSC ROM阶段MCU域R5 ROM阶段SBL阶段 TDA4架构简介 TDA4是德州仪器推出的一款高性能、超异构的多核SoC&#xff0c;拥有ARM Cortex-R5F、ARM Cortex-A72、C66以及C71内核&#xff0c;可以部署AUTOSAR CP系统、HLOS(Linux或QNX)、图像处理以及…

tinkerCAD案例:23.Tinkercad 中的自定义字体

tinkerCAD案例&#xff1a;23.Tinkercad 中的自定义字体 原文 Tinkercad Projects Tinkercad has a fun shape in the Shape Generators section that allows you to upload your own font in SVG format and use it in your designs. I’ve used it for a variety of desi…

Python实现GA遗传算法优化循环神经网络分类模型(LSTM分类算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 遗传算法&#xff08;Genetic Algorithm&#xff0c;GA&#xff09;最早是由美国的 John holland于20世…

(文章复现)梯级水光互补系统最大化可消纳电量期望短期优化调度模型matlab代码

参考文献&#xff1a; [1]罗彬,陈永灿,刘昭伟等.梯级水光互补系统最大化可消纳电量期望短期优化调度模型[J].电力系统自动化,2023,47(10):66-75. 1.基本原理 1.1 目标函数 考虑光伏出力的不确定性&#xff0c;以梯级水光互补系统的可消纳电量期望最大为目标&#xff0c;函数…