当前位置: 首页 > ai >正文

NAT 与代理服务器 -- NAT,NAPT,正向代理,反向代理

目录

1. NAT 技术

1.1 NAT 技术背景

1.2 NAT 的核心工作原理

 1.3 NAPT

1.3.1 NAPT 的工作原理

2. 代理服务器

2.1 正向代理

2.2 反向代理

3. NAT 和代理服务器


1. NAT 技术

1.1 NAT 技术背景

        在 IPv4 协议中,IP 地址用于现在的网络环境中存在 IP 地址不足的情况,而 NAT(Network Address Translation,网络地址转换)是解决 IPv4 地址不足问题的关键技术。其核心目的是在局域网(LAN)和公网(Internet)之间,实现私有 IP 地址与公网 IP 地址的转换映射,使多台内网设备共享少量公网 IP 访问互联网

1.2 NAT 的核心工作原理

        如上图所示,全球的网络就是由一个一个子网嵌套式的组成在一起,最后通过一个路由器连入广域网中(公网)。

        路由器有两个主要的功能,一是进行地址转换,二是构建子网

        一个路由器可以配置两个 IP 地址,一个是 LAN 口 IP(子网 IP),一个是 WAN 口 IP(上级网络 IP)。 

        一般家用的主机,都是通过网线连在路由器的 LAN 口上,这表示这个主机属于该路由器构建的子网当中。

        在路由器构建的子网当中,路由器的子网 IP 通常都是 192.168.1.1,子网内的主机 IP 地址不能重复,且网络号都为 192.168.0.0。但是不在同一子网的主机 IP 地址可以重复

        每一个路由器在网络中叫做一个节点,运营商就可以将这些节点分成很多层级,最外层的路由器叫做进出口路由器,WAN 口 IP 就是一个公网 IP子网内的主机需要和外部网络进行通信时,路由器将 IP 协议首部中 IP 地址进行替换(将 LAN 口 IP 替换为 WAN 口 IP),这样逐级替换,最终内网发出的数据包中的 IP 地址就被替换成了一个公网 IP ,这种技术成为 NAT(网络地址转换)

 1.3 NAPT

        使用 NAT 技术可以在解决 IP 地址不足的情况下,使其在内网的主机能够访问到公网上的服务器。但是公网中的服务器想要将应答返回到子网的主机上是做不到的。因为当内网 IP 将数据发送到出入口路由器,路由器使用 NAT 技术将内网 IP 转换成公网 IP,把数据发送给服务器之后,服务器返回应答时,数据包中的目的 IP 为出入口路由器的公网 IP ,所以公网返回的应答到不了子网中的主机中

        这时候就需要 NAPT(Network Address Port Translation,网络地址端口转换)技术来解决这个问题。NAPT 是 NAT 技术的一种扩展形式。它的核心功能是在转换 IP 地址的同时,对传输层端口号进行映射,从而实现多个内部主机通过同一个公网 IP 地址访问互联网的需求

1.3.1 NAPT 的工作原理

        NAPT 采用 IP + Port 的方式构建映射关系

        如上图所示,客户端 A、B、C 属于同一个子网中,NAT 路由器另外一端连接的是一个公网上的服务器。

        当客户端 A 对服务器进行访问的时候,通过 NAT 路由器,路由器不仅将客户端 A 的 IP 地址转换成公网 IP 地址,还将客户端 A 的端口号进行了映射,所以客户端 A 到路由器的转换为:10.0.0.10:1025 -> 202.244.174.37:1025,当客户端 B 使用相同的端口对服务器进行访问的时候,IP 地址的转换和客户端 A 一样,端口号也一样,这时候为了避免冲突,就将端口号映射为另外一个端口号,则客户端 B 到路由器的转换为:10.0.0.11:1025 -> 202.244.174.37:1026

        当服务器返回数据的时候,就可以通过上述的映射关系,找到子网中对应的主机了。

        上述的这种映射关系是由 NAT 路由器自动维护的。例如在 TCP 建立连接时,就会生成这个表项,在断开连接后,就会删除这个表项。

2. 代理服务器

2.1 正向代理

        正向代理(Forward Proxy)是一种位于客户端(用户)与目标服务器之间的中介服务器,客户端通过正向代理向互联网发送请求,代理服务器代表客户端与目标服务器通信,并将响应返回给客户端

        正向代理的功能如下:
        (1)突破访问限制:通过代理服务器允许访问目标网络的区域(如科学上网)。

        (2)缓存加速:代理服务器可缓存用户常用资源(如网页、图片、视频等),减少重复请求服务器,减少通信并且减少重复请求相同资源的带宽消耗。

        (3)隐私保护:隐藏客户端的真实 IP 地址,目标服务器仅能看到代理服务器的 IP。 

       (4)内容过滤:正向代理可以根据预设的规则对客户端的请求或响应进行过滤,如屏蔽广告、阻止恶意网站等。

2.2 反向代理

        反向代理(Reverse Proxy)是位于目标服务器之前的中介服务器,客户端向反向代理发送请求,代理服务器根据规则将请求转发至后端的真实服务器,并将响应返回给客户端,客户端无需直到真实服务器的存在

        反向代理的功能如下:

        (1)负载均衡:将请求分发到多个后端服务器,避免单台服务器过载(如 Nginx)。

        (2)安全防护:隐藏真实服务器的 IP 地址,阻拦直接针对服务器的攻击。

        (3)缓存与性能优化:缓存静态资源(如 HTML、图片等),减少后端服务器的压力。

        (4)服务聚合:统一对外提供的接口,屏蔽后端法务的架构细节。 

3. NAT 和代理服务器

        路由器往往都具备 NAT 设备的功能,通过 NAT 设备进行中转,完成子网设备和其他子网设备的通信。

        代理服务器看上去和 NAT 设备有一点像。客户端向代理服务器发送请求,代理服务器将情趣转发给真正要请求的服务器,服务器返回结果后,代理服务器又把结果回传给客户端。

        但是这两者是有区别的:
        (1)从应用上讲,NAT 设备是网络基础设备之一,解决的是 IP 不足的问题;代理服务器则更贴近具体应用,比如通过代理服务器进行科学上网,以及进行游戏加速。

        (2)从工作层级上讲,NAT 是工作在网络层,直接对 IP 地址进行替换;代理服务器往往工作在应用层。

        (3)从使用范围上讲,NAT 一般在局域网的出口部署,代理服务器可以部署在局域网,可以部署在广域网,也可以跨网络部署。

        (4)从本质上讲,NAT 一般集成在防火墙、路由器等硬件设备上;代理服务器则是一个软件程序,需要部署在服务器上。        

http://www.xdnf.cn/news/14477.html

相关文章:

  • RabbitMQ概念
  • 基于python的web系统界面登录
  • P7 QT项目----会学天气预报
  • 黑马python(八)
  • 设置环境变量(linux,windows,windows用指令和用界面)
  • AntV G6入门教程
  • CppCon 2017 学习:C++ in Academia
  • 【开源解析】基于Python+Qt打造智能应用时长统计工具 - 你的数字生活分析师
  • 鼎捷T100开发语言-Genero FGL 终极技术手册
  • Mac OS上安装Redis
  • Python 正则表达式
  • 解决戴尔电脑No bootable devices found问题
  • TIA Portal (博图) 中 SCL 语言 REPEAT_UNTIL循环语句的用法介绍及案例
  • 资源占用多,Linux 系统中如何降低 CPU 资源消耗并提升利用率?
  • CentOS 7 虚拟机网络配置异常 典型问题:启动了NetworkManager但是network无法启动
  • 03.【C语言学习笔记】分支和循环
  • 网络层协议 IP 协议介绍 -- IP 协议,网段划分,私有 IP 和 公网 IP,路由
  • 设计模式笔记_创建型_单例模式
  • 【图像处理入门】9. 基础项目实战:从去噪到图像加密
  • 接口适配器模式实现令牌桶算法和漏桶算法
  • 加密、加签、摘要算法对比
  • 自然语言处理【NLP】—— CBOW模型
  • 浅谈快排的退化与优化
  • 鼠标报告描述符与对应的数据结构体
  • 实现汽车焊装线设备互联:DeviceNet与Modbus TCP协议转换网关
  • Debian 编译安装 ruby3.2
  • stm32使用定时器PWM
  • Linux编程:4、进程通信-管道(匿名管道)
  • 二手商城系统+SpringBoot + Vue (前后端分离)
  • 通用embedding模型和通用reranker模型,观测调研