NAT技术+代理服务器+内网穿透

NAT技术

IPv4协议中,会存在IP地址数量不充足的问题,所以不同的子网中会存在相同IP地址的主机。那么就可以理解为私有网络的IP地址并不是唯一对应的,而公网中的IP地址都是唯一的,所以NAT(Network Address Translation,网络地址转换)技术是当前解决IP地址不够用的主要手段, 是路由器的一个重要功能。

  • NAT能够将私有IP对外通信时转为全局IP。也就是就是一种将私有IP和全局IP相互转化的技术方法。
  • 全局IP要求唯一,但是私有IP不需要;在不同的局域网中出现相同的私有IP是完全不影响的。

 

 NAT转换过程

  1. 当客户端A想要向目标服务器发送数据时,会进行在网络层将源IP和目的IP字段填充进报头字段中,然后进行路由选择,选择合适的发送路径。
  2. NAT路由器将源地址从10.0.0.10替换成全局的IP 202.244.174.37。
  3. NAT路由器收到外部的数据时, 又会把目标IP从202.244.174.37替换回10.0.0.10。
  4. 在NAT路由器内部, 有一张自动生成的, 用于地址转换的表(地址映射表)。
  5. 当 10.0.0.10 第一次向 163.221.120.9 发送数据时就会生成表中的映射关系。
  6. 所以有了转换表以后不论是数据发送时私有IP向全局IP地址的转换还是数据接收时的全局IP向私有IP的转换都可以通过NAT路由器内部的路由表进行映射(互为键值关系)

 


如果此时客户端B 也在向目标服务器发送数据呢???

NAPT

如果局域网内,有多个主机都访问同一个外网服务器,并且此时这些主机的端口号也是一样的话,那么对于服务器返回的数据中,目的IP都是相同的。那么NAT路由器在进行IP地址转换后的源地址都是NAT路由器的IP地址,那么转换后的源目的IP组就都是一样的了,所以数据就回不来了。

这时候NAPT来解决这个问题了。使用IP+port来建立这个关联关系:

可以看出,当我们的同一局域网下的主句同时访问相同服务器的话,那么 NAT路由器在转换的过程中会将源IP转换成NAT路由器的IP地址,端口的转换就取决于该路由表中是否存在重复的IP+PORT组,如果不重复就端口号不变,如果重复就同时替换端口号。(NAT的右侧不一定是公网,也可能是运营商构建的子网。内网路由器在向上转发报文的时候都会将源IP替换成路由器WAN口IP)

 

NAT技术的缺陷

  • 无法一开始从NAT外部向内部服务器建立连接(NAT转换表未形成,可以看作内网主机保护)
  • 转换表的生成和销毁都需要额外开销。
  • 通信过程中一旦NAT设备异常,即使存在热备,所有的TCP连接也都会断开。

 


代理服务器 

代理服务器(Proxy Server)是一种位于客户端与目标服务器之间的中介服务,它充当了客户端和目标服务器之间的“代理”,接收来自客户端的请求,并将其转发给目标服务器,然后将目标服务器的响应返回给客户端。也就是说代理服务器的作用就相当于一个中间跑路人。

正向代理工作原理

正向代理服务器,也称为客户端代理,位于客户端和目标服务器之间。它的主要功能是代替客户端向目标服务器发送请求,并将目标服务器的响应返回给客户端。

当客户端在浏览器中设置好代理服务器后,所有通过该浏览器发出的网络请求都会先发送给代理服务器。代理服务器接收到请求后,会检查自己是否有缓存的响应数据。如果有,则直接返回给客户端;如果没有,则向目标服务器发起请求,并将获取到的响应数据返回给客户端。同时,代理服务器还会将响应数据缓存起来,以便后续相同请求的快速响应。(以上的过程其实我们的校园网就在使用)

优点:

  • 资源共享(代理服务器内部缓存资源)
  • 内网安全(隐藏客户端的真实IP)
  • 用户拦截(客户端访问的URL是可视的)

 


反向代理工作原理 

反向代理服务器位于目标服务器和客户端之间。主要功能是接收客户端的请求,并将这些请求转发给后端的多个服务器中的一个进行处理。

 优点:

  • 负载均衡:将客户端的请求分发到多个服务器上进行处理,提高系统的性能和可靠性。
  • 提供安全性:反向代理服务器可以隐藏真实的服务器地址和配置信息,增加系统的安全性。同时,它还可以对请求进行过滤和检查,防止恶意攻击和非法访问。

 

NAT与代理服务器比较 

  • 从应用上讲,NAT设备是网络基础设备之一,解决的是IP不足的问题。代理服务器则是更贴近具体应用,比如通过代理服务器进行翻墙,另外像迅游这样的加速器,也是使用代理服务器。
  • 从底层实现上讲,NAT是工作在网络层,直接对IP地址进行替换。代理服务器往往工作在应用层。
  • 从使用范围上讲,NAT一般在局域网的出口部署,代理服务器可以在局域网做,也可以在广域网做,也可以跨网。
  • 从部署位置上看,NAT一般集成在防火墙,路由器等硬件设备上,代理服务器则是一个软件程序, 需要部署在服务器上。
     

 

内网打洞和内网穿透

内网打洞

内网打洞主要用于解决两个私有网络(内网)中的设备之间直接通信的问题。内网打洞依赖于NAT技术,通过在内网和外网之间建立一个虚拟通道,使得内网主机能够通过这个通道与另一个内网进行通信。

实现过程

  1. 共享信息:两个位于不同私有网络的设备(例如PC1和PC2)首先需要通过某种方式(如通过共同访问公共服务器),从而公共服务可以分别拿到PC1和PC2两台主机的公网入口路由器的IP+port。服务器得知两台主机各自的公网入口路由器的IP+Port之后,然后服务器将两台主机公网入口路由器的IP+port返回给对方主机,那么此时PC1就可以拿到PC2的公网入口路由器的IP+port,同时PC2就可以拿到PC1的公网入口路由器的IP+port。

  2. 触发NAT映射:接着,双方设备几乎同时向对方的入口路由器的公网IP地址和端口发送UDP数据包。这些数据包触发了各自的NAT设备,并且也会在NAT转换表中创建临时的NAT映射规则,允许后续来自相同源IP地址和端口的数据包通过。

  3. 直接通信:一旦双方的NAT设备都建立了映射规则,双方设备就可以直接进行通信,绕过任何中间服务器。

 内网穿透

内网穿透(也称为NAT穿透)的基本原理是通过某种方式,让外网设备能够访问到内网中的资源。

实现过程:内网穿透的原理其实和内网打洞的原理是一样的,但是实现过程有些许差异。首先两个内网想要进行通信(如PC1和PC2)。首先PC2会访问服务器,建立tcp连接,那么此时途中NAT路由器就会构建生成NAT转化表,然后紧接着PC1将想要发送的数据发给相同的服务器(此时PC1在访问服务器的这条路径中,所有NAT路由器的NAT转换表同样形成),然后该服务器将数据返回给PC2(通过构建好的NAT转换表)。此后双方就建立起通信。其实接下来也可以采用打通的方式进行通信。

 

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

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

相关文章

Pyspark下操作dataframe方法(1)

文章目录 Pyspark dataframe创建DataFrame使用Row对象使用元组与scheam使用字典与scheam注意 agg 聚合操作alias 设置别名字段设置别名设置dataframe别名 cache 缓存checkpoint RDD持久化到外部存储coalesce 设置dataframe分区数量collect 拉取数据columns 获取dataframe列 Pys…

[数据集][目标检测]智慧农业草莓叶子病虫害检测数据集VOC+YOLO格式4040张9类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):4040 标注数量(xml文件个数):4040 标注数量(txt文件个数):4040 标注…

【小沐学OpenGL】Ubuntu环境下glew的安装和使用

文章目录 1、简介1.1 OpenGL简介1.2 glew简介 2、安装glew2.1 命令安装glew2.2 直接代码安装glew2.3 cmake代码安装glew 3、测试glew3.1 测试glewfreeglut3.2 测试glewglfw 结语 1、简介 1.1 OpenGL简介 Linux 系统中的 OpenGL 是一个跨语言、跨平台的应用程序编程接口&#…

多态的概念

多态 所谓的多态其实就是多种形态,它又被分为编译时多态(静态多态) 和 运行时多态(动态多态)。 静态的多态其实就是之前的模版和函数重载,今天我们主要讲动态的多态。所谓的动态多态其实就是相同的函数,完成不同的功能。 这就实现了明明都是…

《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》P84

更正卷积与相关微课中互相关运算动画中的索引。 1-D correlation rectwave 禹晶、肖创柏、廖庆敏《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》 禹晶、肖创柏、廖庆敏《数字图像处理》资源二维码

【Linux实践】实验一:Linux系统安装与启动

【Linux实践】实验一:Linux系统安装与启动 实验目的实验内容实验步骤及结果1. 下载VMware2. 下载 Linux 操作系统3. 在VMware中安装Ubuntu系统4. 配置Ubuntu系统5. 关机 实验目的 1.掌握Linux系统的安装过程和简单配置方法。 2.掌握与Linux相关的多操作系统的安装方…

【Leetcode算法面试题】-1. 两数之和

文章目录 算法练习题目思路参考答案算法1算法2算法3 算法练习 面试经常会遇到算法题目,今天开启算法专栏,常用算法解析 题目 ** 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数&…

为拖延症量身定制的AI工具,让Kimi做我的《每日信息整理助手》

AI不止对传统行业带来巨大的改变,对日常生活也便利了不少,现在这个时代获取信息的方式太简单了。 我们每天都会接受大量的信息,难免一天下来会忘记很多事情,有时候突然想起了一个点子,有时候突然有一件急事、一件待办事…

17 个被动和主动遥感之间的区别

摘要: 遥感是指通过使用连接到卫星的传感器记录有关地球表面信息的行为。遥感在收集大面积信息、表征地球上的自然特征、观察和监测地球和物体随时间的变化以及 利用这些信息进行处理和分析方面发挥着至关重要的作用。在遥感中,太阳是终极能源,对照明非常有用。卫星具有成像传…

LCS—最长公共子序列

最长公共子序列问题就是求出两个字符串的LCS长度,是一道非常经典的面试题目,因为它的解法是典型的二维动态规划。 比如输入 str1 "babcde", str2 "acbe",算法应该输出3,因为 str1 和 str2 的最长公共子序列…

金属铬厂商分析:前十强厂商占有大约64.0%的市场份额

金属铬是一种灰色、有光泽、硬而脆的过渡金属。铬是不锈钢的主要添加剂,可增加耐腐蚀性。 据QYResearch调研团队最新报告“全球金属铬市场报告2024-2030”显示,预计2030年全球金属铬市场规模将达到11.8亿美元,未来几年年复合增长率CAGR为6.5%…

Spring Cloud之三 网关 Gateway

1:Intellij 新建项目 spring-cloud-gateway 2:pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLoca…

CnCrypt(磁盘加密工具绿色版是一款功能强大磁盘加密工具,供大家学习研究参考

CnCrypt(磁盘加密工具)特点 加密单个分区或整个硬盘,所有加密都是以分区为基础的 提供两级方案,以应对被强迫说出密码的情况(如抢劫。隐藏分区(覆盖式密码术,steganography)无法探测到CnCrypt 加密分区(加密数据会被认为是随机数据)。 CnCrypt(磁盘加密工具)特色 1、加密U…

【C++】C++ STL 探索:List使用与背后底层逻辑

C语法相关知识点可以通过点击以下链接进行学习一起加油&#xff01;命名空间缺省参数与函数重载C相关特性类和对象-上篇类和对象-中篇类和对象-下篇日期类C/C内存管理模板初阶String使用String模拟实现Vector使用及其模拟实现 本文将通过模拟实现List&#xff0c;从多个角度深入…

vue-router + el-menu

1. el-menu的router属性 在el-menu中有一属性&#xff1a;router&#xff0c;默认是false 1.1 使用默认配置&#xff0c;即false 这时候需要自己在点击子菜单的时候进行导航&#xff0c;在el-menu添加方法&#xff0c;里边有三个参数 index: 选中菜单项的 index,indexPath…

本地部署大语言模型详细操作步骤

本地部署大语言模型&#xff0c;尤其是像我这样的基于中文开源项目的大模型&#xff0c;涉及的步骤相对复杂&#xff0c;需要一定的技术背景。下面我将详细阐述整个流程&#xff1a; 环境准备&#xff1a; 硬件准备&#xff1a;大语言模型通常需要高性能的计算资源&#xff0c;…

uni-app实现web-view和App之间的相互通信

双向实时 如果app端部署成网站&#xff0c;则web-view就是iframe&#xff0c;使用也可以双向通讯 https://uniapp.dcloud.net.cn/component/web-view.html APP端代码 index.vue: <template><web-viewid"m-webview":fullscreen"true":src"…

不同vlan之间的通信方法

1.通过路由器的物理接口 1.给PC1,PC2配置IP地址&#xff0c;网关2.进入交换机配置vlan&#xff0c;交换机所有口都配置access口并绑定vlan3.配置路由器&#xff0c;进入路由器的两个接口配置网关IP和掩码缺点&#xff1a;成本高&#xff0c;每增加一个vlan就需要一个物理端口和…

辛巴赔付到账,罗永浩退一赔三:直播带货终于往好方向卷了下…

因为快手顶流辛巴扔出的一颗重磅炸弹「被辛巴架火上烤&#xff0c;带货顶流圈快乱成一锅粥了……」&#xff0c;把直播带货行业藏在深处的淤泥炸出了水面。 原本表面看上去清澈、安静的水面&#xff0c;越来越浑&#xff0c;且还冒着火星子&#xff01;‍‍‍‍‍‍‍ 自从这个…

无人机电调接线

接线方式&#xff1a; 电调的作用是将飞控板的PWM控制信号转变为电流信号 因为电机的电流是很大的&#xff0c;通常每个点击正常工作时都平均有3A左右的电流&#xff0c;如果没有电调的存在&#xff0c;飞控无法承受这么大的电流。 电调的选择&#xff1a;电调上标的电流值是…