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.mfbz.cn/a/875146.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

跨平台集成:在 AI、微服务和 Azure 云之间实现无缝工作流

跨平台集成在现代 IT 架构中的重要性 随着数字化转型的不断加速,对集成各种技术平台的需求也在快速增长。在当今的数字世界中,组织在复杂的环境中执行运营,其中多种技术需要无缝协作。环境的复杂性可能取决于业务的性质和组织提供的服务。具…

Windows更新之后任务栏卡死?桌面不断闪屏刷新?

前言 小白这几天忙于工作,更新就变得异常缓慢。但就算这么忙的情况下,晚上休息的时间还是会给小伙伴们提供咨询和维修服务。 这不,就有一个小伙伴遇到了个很奇怪的问题:电脑Windows更新之后,任务栏点了没反应&#xf…

深入理解Java虚拟机:Jvm总结-Java内存区域与内存溢出异常

第二章 Java内存区域与内存溢出异常 2.1 意义 对于C、C程序开发来说,程序员需要维护每一个对象从开始到终结。Java的虚拟自动内存管理机制,让java程序员不需要手写delete或者free代码,不容易出现内存泄漏和内存溢出问题,但是如果…

概念——二连杆与三连杆解算

https://zhuanlan.zhihu.com/p/161348413 跟着这位大佬学的,侵权删除 计划:先行理解概念以及推演过程,然后自行推导一遍(确认理解),之后思考如何实际调用,目前在第一步 目录 01-二连杆 1-正…

腾讯云2024年数字生态大会开发者嘉年华(数据库动手实验)TDSQL-C初体验

在2024年9月5-6日,有幸参加了腾讯云举办的2024年数字生态大会开发者嘉年华。 有幸体验了腾讯的多项黑科技和云计算知识。特别是在“增一行代码”互动展区,体验了腾讯云云计算数据库TDSQL-C技术并进行了动手实验。这些技术充分展示了腾讯在云计算的强大实…

关于OceanBase 多模一体化的浅析

在当今多元化的业务生态中,各行各业对数据库系统的需求各有侧重。举例来说,金融风控领域对数据库的高效事务处理(TP)和分析处理(AP)能力有着严格要求;游戏行业则更加注重文档数据库的灵活性和性…

购物车装载状态检测系统源码分享

购物车装载状态检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Comput…

有关WSL和docker的介绍

目录标题 如何利用在windows上配置docker实现linux和windows容器修改WSL默认安装(也就是linux子系统)目录到其他盘 如何利用在windows上配置docker实现linux和windows容器 wsl的基本命令:参考网页 docker入门到实践:参考网页 官方…

tekton pipeline workspaces

tekton pipeline workspace是一种为执行中的管道及其任务提供可用的共享卷的方法。 在pipeline中定义worksapce作为共享卷传递给相关的task。在tekton中定义workspace的用途有以下几点: 存储输入和/或输出在task之间共享数据secret认证的挂载点ConfigMap中保存的配置的挂载点…

影刀RPA实战:自动化批量生成条形码完整指南

今天我们聊聊使用影刀来实现批量生成条形码,条形码在零售行业运用非常广泛,主要作用表现在产品识别,库存管理,销售管理,防伪保护等,这些作用使其成为现代商业和工业环境中不可或缺的工具,它极大…

力扣题/回溯/单词搜索

单词搜索 力扣原题 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那…

二叉树--

1.建立并遍历二叉树 遍历顺序: 先序遍历,中序遍历,后序遍历 先序:先根后左右 中序:先左然后根最后右 后序:先左右后根 例如: 先序:ABCDEFGH 中序:BDCEAFHG 后序&am…

JAVA基础:抽象类,接口,instanceof,类关系,克隆

1 JDK中的包 JDK JRE 开发工具集(javac.exe) JRE JVM java类库 JVM java 虚拟机 jdk中自带了许多的包(类) , 常用的有 java.lang 该包中的类,不需要引用,可以直接使用。 例如&#xff1…

ARM32开发——GD32F4 DMA功能查询

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 DMA0DMA1 DMA0 DMA1

【Linux修行路】线程安全和死锁

目录 ⛳️推荐 一、线程安全 1.1 常见的线程不安全情况 1.2 常见的线程安全情况 1.3 常见的不可重入情况 1.4 常见可重入的情况 1.5 可重入与线程安全的联系 1.6 可重入与线程安全的区别 二、死锁 2.1 死锁的四个必要条件 2.2 如何避免产生死锁? ⛳️推荐…

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系…

深入探索 Ubuntu:从基础到高级应用

本文深入探讨了 Ubuntu 操作系统,涵盖了其起源与发展、安装与配置、软件管理、系统优化、网络配置、安全防护以及在不同领域的应用等多个方面。 在起源与发展部分,介绍了 Ubuntu 于 2004 年创立的背景以及其版本的演进。安装与配置环节详细阐述了系统安…

Linux——分离部署,分化压力

PQS/TPS 每秒请求数/ 每秒事务数 // 流量衡量参数 可以根据预估QPS 和 服务器的支持的最高QPS 对照计算 就可以得出 需要上架的服务器的最小数量 PV 页面浏览数 UV 独立用户访问量 // 对于网站的总体访问量 response time 响应时间 // 每个请求的响应时间…

研1日记9

1.理解conv1d和conv2d a. 1和2处理的数据不同,1维数据和图像 b. 例如x输入形状为(32,19,512)时,卷积公式是针对512的,而19应该变换为参数中指定的输出通道。 2.“SE块”(Squeeze-and-Excitation Block)它可以帮助模…

JAVA:对称加密技术的详细指南

请关注微信公众号:拾荒的小海螺 博客地址:http://lsk-ww.cn/ 1、简述 对称加密是一种加密算法,其中加密和解密使用相同的密钥。其主要特点是速度快、效率高,适用于大数据量的加密需求。对称加密算法通常用于保护数据的机密性和完…