NAT、代理服务、内网穿透

个人主页:Lei宝啊 

愿所有美好如期而遇


NAT

前面我们说过,NAT技术解决了IP地址不足的问题,它能够将私有IP对外通信时转换为全局IP。

NAT转换过程

在私有IP向外通信时,源IP会一直被替换,直到被替换为全局IP,也就是说,192.168.1.201:8080最终也就被替换成了122.77.241.4/24这个全局IP,发送给服务器主机。

NAPT

那么问题来了,服务器返回数据时向谁返回?由于私有IP被替换成了全局IP,所以至少,数据能够返回到他的出口路由器中,接下来呢?

也就有了NAPT,使用IP+Port解决问题。

在报文路由时,路由器会维护这样一种映射关系:

他们互为键值,互相映射,那么你可能说了,假如两台主机的端口号相同呢? 是不是就无法区分了?不是的,这种情况,路由器会更改端口号以作区分,假如说两个都是8080,那么替换后,有一个端口号也许就被替换成了8081。

代理服务器

正向代理

我们首先要知道,在我们家庭网络和个人移动数据中通常不会内置正向代理服务器,像学校和公司,他们的网络中就可能内置正向代理服务器,只要我们连接了他们的网络,那么我们向互联网中发送的所有请求都会先发送到这个正向代理服务器中,由他进行转发和应答,但是如果你访问的某些咳咳网站,可能会被校园网拦截,也就是这个原因,换成个人移动数据就行了。

也就是这个样子。

正向代理服务器有这么几个特点:

  • 缓存功能:正向代理服务器可以缓存经常访问的资源,当客户端再次请求这些资 源时,可以直接从缓存中获取,提高访问速度。
  • 内容过滤:正向代理可以根据预设的规则对请求或响应进行过滤,如屏蔽广告、 阻止恶意网站等。
  • 隐藏客户端身份:正向代理可以隐藏客户端的真实 IP 地址,保护客户端的隐私

反向代理

反向代理服务器是一种网络架构模式,其作为 Web 服务器的前置服务器,接收 来自客户端的请求,并将这些请求转发给后端服务器,然后将后端服务器的响应返回 给客户端。这种架构模式可以提升网站性能、安全性和可维护性等。
反向代理服务器位于客户端和 Web 服务器之间,当客户端发起请求时,它首先会到达反向代理服务器。反向代理服务器会根据配置的规则将请求转发给后端的 Web 服务器,并将 Web 服务器的响应返回给客户端。在这个过程中,客户端并不知道实际 与哪个 Web 服务器进行了交互,它只知道与反向代理服务器进行了通信。
他有这么几个特点:
  • 缓存加速:反向代理服务器可以缓存后端 Web 服务器的响应内容,对于重复的请求它可以直接从缓存中返回响应,而无需再次向后端服务器发起请求。这可以大大减少后端服务器的负载,提升网站的响应速度。
  • 负载均衡:反向代理服务器可以根据配置的负载均衡策略,将客户端的请求分发到多个后端服务器上,以实现负载均衡。这有助于提升网站的整体性能和响应速度, 特别是在高并发场景下
  • 安全保护:反向代理服务器可以隐藏后端 Web 服务器的真实 IP 地址,降低其被直接攻击的风险。同时,它还可以配置防火墙、访问控制列表(ACL)等安全策略,对客户端的请求进行过滤和限制,以保护后端服务器的安全。

代理服务器可以用来翻墙,比如说,我们内网中的主机去访问外网,通常是访问不了的,这个请求会被运营商拦截,那么我们就可以在公网上部署一个我们自己的服务器,然后向这个服务器发送请求时对请求加密,到服务器上时解密,由服务器代为访问,获取到的内容再加密发回,我们的客户端再进行解密,这样也就实现了翻墙,我们这里只说原理。

内网穿透

比如说,我们想访问一台主机上的资源,但是由于他处于内网中,我们没有办法直接访问,所以此时我们这样做:

首先在云服务器上部署配置frps的服务端,在主机2上部署配置frps的客户端,然后将主机2上的Linux机器上的ssh的22号端口映射到云服务器上frps的某个端口例如8080上。

我们使主机2与云服务器建立Tcp连接,此时,路由器也就建立好了NAT映射,那么,当主机1访问云服务器的8080端口时,也就相当于访问主机2的Linux机器上的22号端口。

简单来说,就是在云服务器上我们自己也可以写一个服务,然后给主机2一个客户端,主机2向我们的服务建立连接,然后在服务中,我们写的是,主机2的端口号和我们服务的一个端口号建立映射,当其他主机访问服务的这个端口时,我们就把这个访问资源的请求发给主机2,然后主机2将资源给到云服务器,再由云服务器转发回来。(云服务器充当反向代理,左右云服务器上的服务都是工具人,用来转发,真正想访问的不还是主机2上的资源)

内网打洞

像一些直播软件,qq,微信等,是采用了内网打洞技术的,什么是内网打洞?

通常,不处于一个局域网的两台主机是没有办法直接通信的,但是可以这样:

主机1访问服务器,路由器中建立了NAT映射,主机2也是如此,那么这两台路由器的IP地址,服务器就知道了,于是,服务器将这两台路由器的IP地址分别发给主机2和主机1,于是,主机1上的客户端就可以不通过服务器,直接向主机2进行通信,因为他们知道了彼此出口路由器的IP地址,同时,这台路由器也建立了NAT映射。

这就是内网打洞技术。

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

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

相关文章

java之接口和抽象类的综合案例以及如何用接口优化代码

//定义一个类,这个类里因为有抽象方法,所以我们要把这个类定义为抽象类 public abstract class Sports {private String name;private int age;//空参public Sports() {}//有参public Sports(String name, int age) {this.name name;this.age age;}//定义get和set方法public …

Java数据结构和算法中文版(第2版)详细教程

前言 数据结构是指数据在计算机存储空间中(或磁盘中)的安排方式。算法是指软件程序用来操作这些结构中的数据的过程。几乎所有的计算机程序都使用数据结构和算法,即使最简单的程序也不例外。比如设想一个打印地址标签的程序,这个程序使用一个数组来存储…

如何使用git拉取gitee上面的项目/代码?(超简单)

一、下载git软件 下载地址:git官网地址 1.点击右边小电脑上的按钮下载 2.选择自己电脑对应的系统 3.基本都是默认,这里需要勾一下就ok 4.正在安装 2.使用git软件 1.如何打开git 找到你想要操作的文件夹,右击open git bash here就可以…

内衣洗衣机多维度测评对比,了解觉飞、希亦、鲸立哪款内衣洗衣机更好

想要代替手洗内衣物,那么一台内衣专用的小型洗衣机就必不可少啦,不仅能够为我们节约更多的时间以及精力,还能大大提高内衣物的卫生,面对于市面上各种各样的小型内衣洗衣机,相信很多小伙伴都无从下手! 为一…

英飞凌 TC3XX单片机HSM内核开发-Secure Boot(五)

ROM固件和启动过程 AURIX 芯片,带有硬件安全模块 (HSM) 的芯片,包含两个 ROM 固件:TriCore(CPU0) 的启动软件 (SSW) 和 HSM 的启动系统 (BOS)。这些固件不共享相同的指令集架构 (ISA)。 1. 芯片启动 AURIX芯片冷启动和热启动时的启动顺序受…

线程池和进程池,输出有区别吗?

from concurrent.futures import ThreadPoolExecutor,ProcessPoolExecutor def fn(name):for i in range(1000):print(name,i)if __name__ __main__:with ThreadPoolExecutor(10) as t:for i in range(100):t.submit(fn,namef"线程{i}")with ProcessPoolExecutor(10…

Linux第七节课gcc与g++

一、补充权限 普通用户无法执行sudo: 通过sudo执行后显示不在sudoers file中!(张三不被信任!) 需要修改配置文件(白名单!) 配置文件位于以下目录: ls /etc/sudoers -…

如何在 Odoo 16 网站中创建高级选择字段

Odoo 在后端用户界面中包含各种小部件,用于执行各种活动,例如 one2many、many2many、many2many_tags 等,这简化并简化了 Odoo 中选择字段的操作。因此,当我们创建包含 one2many 或 many2many 字段的表单时,很难在没有外…

如何在linux中安装搜狗输入法

参考网址:搜狗输入法linux-安装指导 sudo apt-get install fcitx 1.更新源:在终端输入 sudo apt update 2.安装fcitx输入法框架: sudo apt install fcitx 3.设置fcitx开机自启动 sudo cp /usr/share/applications/fcitx.desktop /etc/xdg/aut…

航空航天混合动力(1)全权限数字发动机控制器(FADEC)

航空航天混合动力(1)全权限数字发动机控制器(FADEC) 1.概况2.什么是全权限数字发动机控制器(FADEC)?2.1核心技术2.2应用场景2.3国内FADEC供应商2.4近期进展2.5数字发动机控制和全权数字发动机控…

开放式耳机什么牌子的好?看这6大品牌就够了

移动互联网时代,听歌、追剧、网课、短视频……这几年全球青年人对于耳机和耳朵的依赖程度,可谓前所未有的提升。但选择一款好的耳机,也不是一件容易的事,入耳式耳机戴久了耳道会疼,还可能引起一系列不必要的炎症&#…

彻底搞清楚SSR同构渲染的首屏

作为.NET技术栈的全干工程师,Blazor、Vue/Nuxt.js和React/Next.js都会接触到。它们(准确的说是Blazor、Nuxt和Next),都实现了SSR同构渲染。要了解同构渲染,需要从服务端渲染开始。 传统的服务端渲染 如下图所示&…

孟德尔随机化、R语言,报错,如何解决?

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…

喜讯|华院计算Uni-law法律大模型成功入选《2024中国数据智能产业AI大模型先锋企业》

7月24日,“2024企业数智化转型升级发展论坛——暨AI大模型趋势论坛”在北京圆满落幕。此次论坛由数据猿主办,IDC协办,新华社中国经济信息社、上海大数据联盟、上海市数商协会及上海超级计算中心作为支持单位。大会以“数智新质力拓未来”为主…

世界上速度最快的超级计算机推导出超级BC8钻石配方

BC8 超级钻石比任何已知材料都要坚硬,但它们很可能只存在于巨型系外行星的内核中。现在,世界上最强的超级计算机"前沿"已经揭开了它们形成的秘密,这一发现可能会导致在地球上生产它们。 钻石不仅是夺人眼球的珠宝,而且在…

【日记】9 个发箍只有 2 个能压住头发……(513 字)

正文 今天下午实在有些受不了,从正大门外走了出去。抬头望着天空,望着那些悠然自在纯白无暇的云,竟然有些眼睛疼,刺激到想要流泪。 我在室内待得太久太久了。似乎很久没有在这种时间段出来过了。 下午快下班的时候,有个…

使用docker在CentOS 7上安装php+mysql+nginx环境教程并运行WordPress

文章目录 一、安装docker1、切换yum源并更新系统2、卸载旧版docker3、配置Docker的yum库4、安装Docker5、启动和校验Docker6、配置镜像加速6.1、注册阿里云账号6.2、开通镜像服务6.3、配置镜像加速二、部署php+mysql+nginx环境1、准备目录结构2、拉取镜像3、运行容器并从中拷贝…

LLaMA-Factory私有化部署--云服务器版

LLaMA-Factory是一款比较流行的大语言模型微调框架。本文主要记录在阿里云人工智能平台PAI的DSW实例中部署LLaMA-Factory的过程,主要参考的教程是B站视频LLaMA-Factory私有化部署。 LLaMA-Factory的私有化部署与部署大模型的过程大体相同,都包括创建Pyt…

AI画笔,你的创意伙伴:6款最佳AI绘画工具推荐

在这个无限可能的时代,一个优秀的人工智能绘画软件不仅可以打破传统绘画方法的束缚,而且可以让每个热爱艺术的人都体验到创作的乐趣。那么,什么样的人工智能绘画软件才是优秀的呢?什么样的人工智能绘画软件才能生成超逼真的AI绘画…