NAT,代理服务,内网穿透

NAT技术

NAT技术背景核心总结

  • 产生原因:IPv4地址资源严重不足,NAT是当前解决该问题的核心手段,也是路由器的关键功能。
  • 核心作用 :实现私有IP ↔ 全局IP 的地址转换,让多个内网设备共享少量全局IP访问公网。
  • 典型应用场景:学校、家庭、公司等内网环境中,终端使用私有IP,仅在路由器/服务器上配置全局IP。
  • 地址特性
    • 全局IP:必须在公网中唯一。
    • 私有IP:无需全局唯一,不同局域网可重复使用相同私有IP,不会产生冲突。

NAT IP转换过程

NAPT---NAT地址转化表

如果局域网内, 有多个主机都访问同⼀个外网服务器, 那么对于服务器返回的数据中, 目的IP都是相同的. 那么NAT路由器如何判定将这个数据包转发给哪个局域网的主机?

使用IP+port来建立这个关联关系

这种关联关系也是由NAT路由器自动维护的. 例如在TCP的情况下, 建立连接时, 就会生成这个表项. 在断开连接后, 就会删除这个表项.

📌 NAT技术的缺陷

NAT技术依赖地址转换表实现地址映射,因此存在以下限制:

  • 外部无法主动发起连接无法从NAT外部网络直接向内网服务器建立连接 ,因为转换表中不存在对应的映射条目---必须先由内到外,在由外到内.
  • 额外性能开销:转换表的生成、维护和销毁过程会消耗路由器的计算与存储资源。
  • 连接可靠性风险:通信期间若NAT设备发生异常,即使有热备机制,所有已建立的TCP连接也会全部中断。

代理服务器

正向代理服务器

  • 位置 :在客户端目标服务器之间。
  • 行为代表客户端向服务器发请求。
  • 流程
    1. 客户端把请求发给代理
    2. 代理转发给目标服务器
    3. 服务器响应给代理
    4. 代理再返回给客户端
  • 作用
    • 隐藏客户端真实IP
    • 控制客户端访问权限
    • 加速访问(缓存)

总结: 正向代理 = 替客户端出头,帮客户端访问服务器,隐藏客户端。

正向代理工作原理

  1. 请求发起:客户端将请求发送至正向代理服务器。
  2. 代理预处理:正向代理服务器接收请求后,按配置执行预处理操作(如缓存查找、内容过滤、访问控制等)。
  3. 转发请求:代理服务器将处理后的请求转发给目标服务器。
  4. 服务器响应:目标服务器处理请求,并将响应结果返回给正向代理服务器。
  5. 响应回传:正向代理服务器将目标服务器的响应转发回客户端。

典型实现:Nginx 可作为正向代理服务器来实现上述流程。

反向代理服务器

反向代理服务器

  • 位置 :在目标服务器集群客户端之间。
  • 行为代表服务器接收客户端请求。
  • 流程
    1. 客户端请求发给反向代理
    2. 代理转发到后端合适的服务器
    3. 服务器处理后返回给代理
    4. 代理再返回给客户端
  • 作用
    • 隐藏后端服务器真实地址
    • 负载均衡
    • 缓存加速、安全防护
    • 统一入口

总结: 反向代理 = 替服务器挡在前面,帮服务器接收请求,隐藏服务器。


反向代理服务器应用场景

  • 负载均衡:根据配置策略将客户端请求分发到多台后端服务器,提升高并发场景下的性能与响应速度。
  • 安全保护:隐藏后端服务器真实IP,降低直接攻击风险;可配置防火墙、ACL等策略过滤请求,保护后端服务安全。
  • 缓存加速:缓存后端响应内容,重复请求直接从缓存返回,减少后端负载,提升响应速度。
  • 内容过滤与重写:按规则过滤、修改请求(如增删请求头、修改URL路径),实现URL重写、用户认证等业务需求。
  • 动静分离:将静态资源部署在反向代理上,直接由代理返回静态资源响应,提升静态资源访问速度。

典型应用CDN(内容分发网络) 本质就是基于反向代理原理实现的。

CDN(Content Delivery Network,内容分发网络)是基于反向代理原理构建的分布式网络,核心目标是让用户就近获取内容,提升访问速度与稳定性。

核心原理

  1. 资源缓存与分发:将源站的静态资源(图片、CSS、JS、视频等)缓存到遍布全球的边缘节点(反向代理服务器)。
  2. 就近访问 :用户请求时,CDN通过智能调度,将请求导向离用户最近、负载最低的边缘节点。
  3. 回源机制:若边缘节点无对应缓存,则向源站请求资源,缓存后再返回给用户。

总结
CDN = 把内容搬到用户家门口的分布式反向代理网络,让用户更快、更稳地获取资源。

NAT和代理服务器对比

  1. 应用层面
  • NAT :网络基础设施,核心目的是解决IPv4地址不足,让多个内网设备共享公网IP。
  • 代理服务器:贴近具体业务应用,例如翻墙、游戏加速(如迅游)、负载均衡、缓存加速等。
  1. 底层实现
  • NAT :工作在网络层(第3层),直接对IP地址进行替换(源/目的IP转换),对上层应用透明。
  • 代理服务器 :通常工作在应用层(第7层),需要解析应用层协议(如HTTP),对请求/响应进行处理后再转发。
  1. 使用范围
  • NAT :一般部署在局域网出口(如家庭/公司路由器),仅用于内网与公网之间的地址转换。
  • 代理服务器:部署更灵活,可在局域网、广域网,甚至跨网络部署,适用场景更广。
  1. 部署形态
  • NAT :通常集成在防火墙、路由器等硬件设备中,是网络设备的基础功能。
  • 代理服务器 :以软件程序形式存在(如Nginx、Squid),需要部署在独立服务器上运行。

内网穿透

什么是内网穿透?

内网穿透(也叫NAT穿透 ),就是让公网设备可以直接访问到内网里的机器(比如家里的电脑、树莓派、公司服务器),解决内网设备没有独立公网IP、被路由器NAT隔离的问题.

总结 :只要能让公网访问到内网设备,都叫内网穿透。

常见两种:

  • 公网服务器中转(frp、nps)
  • P2P 打洞直连

如下是内网穿透最简单的例子:

内网打洞

两台都在内网的设备,互相主动发包,在 NAT 上开"临时通道",实现直连。

它是内网穿透的一种(P2P 方式)


通过各自主动向对方公网地址发包,在 NAT 上建立了 "记忆"(映射表),让对方的流量能直接进入内网,实现端到端直连。

相关推荐
文静小土豆2 小时前
Docker 网络配置指南:Bridge、Host、None、Container 全攻略
网络·docker·容器
white-persist2 小时前
【CTF线下赛 AWD】AWD 比赛全维度实战解析:从加固防御到攻击拿旗
网络·数据结构·windows·python·算法·安全·web安全
_OP_CHEN3 小时前
【Linux网络编程】(一)初识计算机网络:从独立主机到协议世界的入门之旅
linux·服务器·网络·网络协议·计算机网络·socket·c/c++
一袋米扛几楼987 小时前
【密码学】CrypTool2 工具是什么?
服务器·网络·密码学
南棱笑笑生11 小时前
20260310在瑞芯微原厂RK3576的Android14查看系统休眠时间
服务器·网络·数据库·rockchip
yy552711 小时前
LNAMP 网络架构与部署
网络·架构
Godspeed Zhao12 小时前
现代智能汽车系统——CAN网络2
网络·汽车
爱丽_12 小时前
Docker 从原理到项目落地(镜像 / 容器 / 网络 / 卷 / Dockerfile)
网络·docker·容器
眼镜哥(with glasses)14 小时前
网络技术三级考试综合题笔记整理(第二题、第三题)
网络·笔记·智能路由器