【计算机网络】NAT、代理服务器、内网穿透、内网打洞、局域网中交换机

news2025/6/10 1:18:14

🔥个人主页🔥:孤寂大仙V
🌈收录专栏🌈:计算机网络
🌹往期回顾🌹:【计算机网络】数据链路层——ARP协议
🔖流水不争,争的是滔滔不息


  • 一、网络地址转换NAT技术
    • NAT IP转换
    • NAPT
    • NAT 技术的缺陷
  • 二、代理服务器
    • 正向代理
    • 反向代理
    • NAT和代理服务器
  • 三、内网穿透
    • 内网打洞(P2P)
  • 四、交换机

一、网络地址转换NAT技术

NAT(Network Address Translation)是一种网络技术,用于将私有IP地址转换为公有IP地址,以实现多台设备共享单一公网IP访问互联网。它在家庭网络、企业网络和云计算环境中广泛应用。

前面,聊报文信息ip地址通过路由器WAN口转化为新的ip地址到公网,公网的服务器或其他主机的应答发回来就用到了NAT技术。

NAT IP转换

在这里插入图片描述

在这里插入图片描述
NAT路由器将源地址从10.0.0.10替换成全局的IP 202.244.174.37。
NAT 路由器收到外部的数据时, 又会把目标 IP 从 202.244.174.37 替换回10.0.0.10。
在 NAT 路由器内部, 有一张自动生成的, 用于地址转换的表。
当 10.0.0.10 第一次向 163.221.120.9 发送数据时就会生成表中的映射关系。

NAPT

NAT的过程,不仅是内网ip能替换,端口号也能替换。
局域网内,有多个主机都访问同一个外网服务器,那么对于服务器返回的数据中,目的ip都是相同的,那么NAT路由器如何判定将这个数据包转发给哪个局域网主机呢?
在这里插入图片描述

NAPT就是通过ip+prot来建立关联的。
通过NAT路由器连接外网的WAN口ip,公网ip具有唯一性。LAN口ip,内网ip加上端口号在这个局域网内部也具有唯一性。如上图转化表,左面是局域网内ip+端口号是唯一的,右面转化的外面ip也是唯一的。
私有ip+自己的端口号是一种唯一的健值。

NAT 技术的缺陷

由于 NAT 依赖这个转换表, 所以有诸多限制:

  • 无法从 NAT 外部向内部服务器建立连接;(外网无法范围内网)
  • 装换表的生成和销毁都需要额外开销;
  • 通信过程中一旦 NAT 设备异常, 即使存在热备, 所有的 TCP 连接也都会断开;

二、代理服务器

正向代理

正向代理(Forward Proxy) 是一种常见的网络代理方式, 它位于客户端和目标服务器之间, 代表客户端向目标服务器发送请求。 正向代理服务器接收客户端的请求, 然后将请求转发给目标服务器, 最后将目标服务器的响应返回给客户端。 通过这种方式, 正向代理可以实现多种功能, 如提高访问速度、 隐藏客户端身份、 实施访问控制等。
在这里插入图片描述
工作原理

  • 客户端将请求发送给正向代理服务器。
  • 正向代理服务器接收请求, 并根据配置进行处理, 如缓存查找、 内容过滤等。
  • 正向代理服务器将处理后的请求转发给目标服务器。
  • 目标服务器处理请求, 并将响应返回给正向代理服务器。
  • 正向代理服务器将响应返回给客户端。
    功能特点
  • 缓存功能: 正向代理服务器可以缓存经常访问的资源, 当客户端再次请求这些资源时, 可以直接从缓存中获取, 提高访问速度。
  • 内容过滤: 正向代理可以根据预设的规则对请求或响应进行过滤, 如屏蔽广告、阻止恶意网站等。
  • 访问控制: 通过正向代理, 可以实现对特定网站的访问控制, 如限制员工在工作时间访问娱乐网站。
  • 隐藏客户端身份: 正向代理可以隐藏客户端的真实 IP 地址, 保护客户端的隐私。
  • 负载均衡: 在多个目标服务器之间分配客户端请求, 提高系统的可扩展性和可靠性。
    应用场景
  • 企业网络管理: 企业可以通过正向代理实现对员工网络访问的管理和控制, 确保员工在工作时间内专注于工作, 避免访问不良网站或泄露公司机密。
  • 公共网络环境: 在公共场所如图书馆、 学校等提供的网络环境中, 通过正向代理可以实现对网络资源的合理分配和管理, 确保网络使用的公平性和安全性。
  • 内容过滤与保护: 家长可以通过设置正向代理来过滤不良内容, 保护孩子免受网络上的不良信息影响。
  • 提高访问速度: 对于经常访问的网站或资源, 正向代理可以通过缓存机制提高访问速度, 减少网络延迟。
  • 跨境电商与海外访问: 对于跨境电商或需要访问海外资源的企业和个人, 正向代理可以帮助他们突破网络限制, 顺畅地访问海外网站和资源。

反向代理

反向代理服务器是一种网络架构模式, 其作为 Web 服务器的前置服务器, 接收来自客户端的请求, 并将这些请求转发给后端服务器, 然后将后端服务器的响应返回给客户端。 这种架构模式可以提升网站性能、 安全性和可维护性等
在这里插入图片描述
基本原理
反向代理服务器位于客户端和 Web 服务器之间, 当客户端发起请求时, 它首先会到达反向代理服务器。 反向代理服务器会根据配置的规则将请求转发给后端的 Web服务器, 并将 Web 服务器的响应返回给客户端。 在这个过程中, 客户端并不知道实际与哪个 Web 服务器进行了交互, 它只知道与反向代理服务器进行了通信。
应用场景

  • 负载均衡: 反向代理服务器可以根据配置的负载均衡策略, 将客户端的请求分发到多个后端服务器上, 以实现负载均衡。 这有助于提升网站的整体性能和响应速度,特别是在高并发场景下。
  • 安全保护: 反向代理服务器可以隐藏后端 Web 服务器的真实 IP 地址, 降低其被直接攻击的风险。 同时, 它还可以配置防火墙、 访问控制列表(ACL) 等安全策略,对客户端的请求进行过滤和限制, 以保护后端服务器的安全。
  • 缓存加速: 反向代理服务器可以缓存后端 Web 服务器的响应内容, 对于重复的请求, 它可以直接从缓存中返回响应, 而无需再次向后端服务器发起请求。 这可以大大减少后端服务器的负载, 提升网站的响应速度。
  • 内容过滤和重写: 反向代理服务器可以根据配置的规则对客户端的请求进行过滤和重写, 例如添加或删除请求头、 修改请求路径等。 这有助于实现一些特定的业务需求, 如 URL 重写、 用户认证等。
  • 动静分离: 在大型网站中, 通常需要将静态资源和动态资源分开处理。 通过将静态资源部署在反向代理服务器上, 可以直接从反向代理服务器返回静态资源的响应,而无需再次向后端服务器发起请求。 这可以大大提升静态资源的访问速度。
  • CDN(Content Delivery Network, 内容分发网络) 就是采用了反向代理的原理

NAT和代理服务器

路由器往往都具备 NAT 设备的功能, 通过 NAT 设备进行中转, 完成子网设备和其他子网设备的通信过程.
代理服务器看起来和 NAT 设备有一点像. 客户端像代理服务器发送请求, 代理服务器将请求转发给真正要请求的服务器; 服务器返回结果后, 代理服务器又把结果回传给客户端。
那么 NAT 和代理服务器的区别有哪些呢?

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

代理服务器又分为正向代理和反向代理.

你要访问的网址,通过一些app把你设备的请求报文加密,然后这个加密的报文通过国内运营商然后出国(这是时候运营商不能识别你的报文是什么),然后报文到了代理服务器上对加密的报文进行解析去请求网页,对网页内容的报文进行加密,通过运营商网络返回到你的主机,然后主机上的Clash这样的app对报文进行解密。

三、内网穿透

在这里插入图片描述
一个场景,现在你在家需要访问公司的主机,公司都是内网(NAT路由无法从外网到内网),现在你没有在公司,现在你在家需要访问公司的主机。**内网穿透的目的就是,让外网能访问内网的主机,就像它有外网一样。**你在公网有一台服务器(中继服务器),内网机器(公司主机)主动连接这台中继服务器,建立一条长连接。(家里主机)外网访问中继服务器,中继服务器把数据通过这条长连接转发给内网机器。

内网打洞(P2P)

在这里插入图片描述
主机A和主机B,主机A所处的局域网路由器的WAN口IP和主机B所处局域网路由器的WAN口IP通过云服务器交换WAN口ip+prot。然后通过NAT映射,主机A以后就直接向主机B的公网ip+port发数据包了,主机B以后就直接像主机A的公网IP+port发数据包了。
主机 A 和 B 通过云服务器交换彼此的公网 IP 和端口,然后各自通过 NAT 映射,尝试直连打洞。一旦打洞成功,数据包就不再经过服务器,直接通过两边路由器转发给各自的主机。

现实中直播有的就是用内网打洞的方式进行路由,不走服务器直接到你的主机。

四、交换机

在这里插入图片描述

交换机工作中在数据链路层,数据链路层局域网通信,MAC地址转发数据帧在整个局域网内。MAC地址的转发会广播泛洪。如上图主机A主机D处于交换机的左面,主机B、主机C、主机E处于交换机的右面。当mac地址数据帧转发的时候,交换机就会区分区域,但是数据帧没有经过交换机的时候不会主动学习的(存储哪个是哪个区域的),比如一开始主机A数据帧经交换机到主机B这时候才存储区分。等数据帧都交换几次,交换机就知道哪个主机是那边的了。这时候再广播,如图比如主机A的数据帧想到主机D,广播的信息到了交换机就知道,主机D在这个区域,不在另一个区域。
交换机是被动学习的,只有数据帧经过交换机,它才能学习和建立 MAC 表;起初不知道目标地址就广播,随着通信增多,它会精确转发,减少广播。

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

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

相关文章

在 Vue 的template中使用 Pug 的完整教程

在 Vue 的template中使用 Pug 的完整教程 引言 什么是 Pug? Pug(原名 Jade)是一种高效的网页模板引擎,通过缩进式语法和简洁的写法减少 HTML 的冗长代码。Pug 省略了尖括号和闭合标签,使用缩进定义结构,…

【立体匹配】:双目立体匹配SGBM:(1)运行

注:这是一个专题,我会一步步介绍SGBM的实现,按照我的使用和优化过程逐步改善算法,附带实现方法 系列文章【立体匹配】:双目立体匹配SGBM:(1)运行 【立体匹配】:双目立体匹…

< 自用文 OS有关 新的JD云主机> 国内 京东云主机 2C4G 60G 5Mb 498/36月 Ubuntu22

攒了这么久,废话一些: 前几周很多事儿,打算回北京,开个清真的德克萨斯烤肉店,写了一篇 : < 自用文 Texas style Smoker > 美式德克萨斯烟熏炉 从设计到实现 (第一部分&…

《架构即未来》笔记

思维导图 第一部分:可扩展性组织的人员配置 第二部分:构建可扩展的过程 第三部分:可扩展的架构方案 第四部分:其他的问题和挑战 资料 问软件工程研究所: https://www.sei.cmu.edu/ AKF公司博客: http://www.akfpart…

ubuntu2404 gpu 没接显示器,如何保证远程显示的分辨率

1. 使用 xserver-xorg-video-dummy 创建虚拟显示器 如果系统在无物理显示器连接时无法识别显示输出,可以使用 xserver-xorg-video-dummy 驱动程序创建虚拟显示器。以下是设置步骤: 安装虚拟显示器驱动程序: sudo apt install xserver-xorg-v…

【基于阿里云搭建数据仓库(离线)】使用UDTF时出现报错“FlatEventUDTF cannot be resolved”

目录 问题: 可能的原因有: 解决方法: 问题: 已经将包含第三方依赖的jar包上传到dataworks,并且成功注册函数,但是还是报错:“FlatEventUDTF cannot be resolved”,如下&#xff1a…

Pycharm的终端无法使用Anaconda命令行问题详细解决教程

很多初学者在Windows系统上安装了Anaconda后,在PyCharm终端中运行Conda命令时,会遇到以下错误: conda : 无法将“conda”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。 请检查名称的拼写,如果包括路径,请确保…

SAP学习笔记 - 开发24 - 前端Fiori开发 Filtering(过滤器),Sorting and Grouping(排序和分组)

上一章讲了SAP Fiori开发的表达式绑定,自定义格式化等内容。 SAP学习笔记 - 开发23 - 前端Fiori开发 Expression Binding(表达式绑定),Custom Formatters(自定义格式化)-CSDN博客 本章继续讲SAP Fiori开发…

自建 dnslog 回显平台:渗透测试场景下的隐蔽回显利器

🔍 背景介绍 在渗透测试与红队评估过程中,DNS 外带(DNS Exfiltration) 是一种常见且隐蔽的通信通道。由于多数目标环境默认具备外网 DNS 解析能力,即便在 无回显、无文件上传权限 的条件下,仍可通过 DNS 请…

Digital IC Design Flow

Flow介绍 1.设计规格 架构师根据市场需求制作算法模型(Algorithm emulation)及芯片架构(Chip architecture),确定芯片设计规格书(Chip design specification) 原型验证 原型验证(Prototype Validation)通常位于产品开发流程的前期阶段,主要是在设计和开发的初步阶…

设备健康管理的范式革命:中讯烛龙全链路智能守护系统

当工业设备的“亚健康”状态导致隐性产能损失高达23%时,中讯烛龙推出 ​​“感知-诊断-决策-闭环”四位一体解决方案,让设备全生命周期健康管理成为企业增长的隐形引擎。 一、行业痛点:传统运维的三大断层 1. 健康感知盲区 某风电场因无法捕…

循环神经网络(RNN):从理论到翻译

循环神经网络(RNN)是一种专为处理序列数据设计的神经网络,如时间序列、自然语言或语音。与传统的全连接神经网络不同,RNN具有"记忆"功能,通过循环传递信息,使其特别适合需要考虑上下文或顺序的任…

Redis:常用数据结构 单线程模型

🌈 个人主页:Zfox_ 🔥 系列专栏:Redis 🔥 常用数据结构 🐳 Redis 当中常用的数据结构如下所示: Redis 在底层实现上述数据结构的过程中,会在源码的角度上对于上述的内容进行特定的…

夏普比率(Sharpe ratio)​

具有投资常识的人都明白,投资光看收益是不够的,还要看承受的风险,也就是收益风险比。 夏普比率描述的正是这个概念,即每承受一单位的总风险,会产生多少超额的报酬。 用数学公式描述就是: 其中&#xff1…

【优选算法】模拟 问题算法

​一&#xff1a;替换所有的问号 class Solution { public:string modifyString(string s) {int n s.size();for(int i 0; i < n; i){if(s[i] ?){for(char ch a; ch < z; ch){if((i0 && ch !s[i1]) || (in-1 && ch ! s[i-1]) || ( i>0 &&…

Flask+LayUI开发手记(八):通用封面缩略图上传实现

前一节做了头像上传的程序&#xff0c;应该说&#xff0c;这个程序编写和操作都相当繁琐&#xff0c;实际上&#xff0c;头像这种缩略图在很多功能中都会用到&#xff0c;屏幕界面有限&#xff0c;绝不会给那么大空间摆开那么大一个界面&#xff0c;更可能的处理&#xff0c;就…

低代码采购系统搭建:鲸采云+能源行业订单管理自动化案例

在能源行业数字化转型浪潮下&#xff0c;某大型能源集团通过鲸采云低代码平台&#xff0c;仅用3周时间就完成了采购订单管理系统的定制化搭建。本文将揭秘这一成功案例的实施路径与关键成效。 项目背景与挑战 该企业面临&#xff1a; 供应商分散&#xff1a;200供应商使用不同…

android关于pthread的使用过程

文章目录 简介代码流程pthread使用hello_test.cppAndroid.bp 编译过程报错处理验证过程 简介 android开发经常需要使用pthread来编写代码实现相关的业务需求 代码流程 pthread使用 需要查询某个linux函数的方法使用&#xff0c;可以使用man 函数名 // $ man pthread_crea…

如何用 HTML 展示计算机代码

原文&#xff1a;如何用 HTML 展示计算机代码 | w3cschool笔记 &#xff08;请勿将文章标记为付费&#xff01;&#xff01;&#xff01;&#xff01;&#xff09; 在编程学习和文档编写过程中&#xff0c;清晰地展示代码是一项关键技能。HTML 作为网页开发的基础语言&#x…

2025年ESWA SCI1区TOP,自适应学习粒子群算法AEPSO+动态周期调节灰色模型,深度解析+性能实测

目录 1.摘要2.粒子群算法PSO原理3.改进策略4.结果展示5.参考文献6.代码获取7.算法辅导应用定制读者交流 1.摘要 能源数据的科学预测对于能源行业决策和国家经济发展具有重要意义&#xff0c;尤其是短期能源预测&#xff0c;其精度直接影响经济运行效率。为了更好地提高预测模型…