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

NAT、代理服务、内网穿透

NAT、代理服务、内网穿透

  • 1、NAT
    • 1.1、NAT过程
    • 1.2、NAPT
  • 2、内网穿透
  • 3、内网打洞
  • 3、代理服务器
    • 3.1、正向代理
    • 3.2、反向代理

1、NAT

1.1、NAT过程

之前我们讨论了IPv4协议中IP地址数量不充足的问题。NAT技术是当前解决IP地址不够用的主要手段,是路由器的一个重要功能。
NAT能够将私有IP对外通信时转为全局IP。也就是就是一种将私有IP和全局IP相互转化的技术方法。
很多学校,家庭,公司内部采用每个终端设置私有IP,而在路由器或必要的服务器上设置全局IP。
全局IP要求唯一,但是私有IP不需要。在不同的局域网中出现相同的私有IP是完全不影响的。

在这里插入图片描述
如图,客户端A要给服务器发送消息,源地址就是客户端A的IP地址10.0.0.10,目标地址为163.221.120.9,然后客户端A拿着目标地址与自己所在子网的子网掩码进行按位与,客户端A也不知道这个IP地址是哪的,但是可以肯定的是绝对不在当前子网中,所以转发给路由器。路由器再转发给服务器,但是内网IP是不能出现在公网上的,所以将源地址替换成路由器的WAN口地址202.244.174.37,而路由器的10.0.0.1称为LAN口地址。替换后转发给服务器,将来服务器应答的时候,源地址为163.221.120.0,目标地址为202.244.174.37。但是应答到了路由器之后怎么再转发给客户端A我们还不知道。
对原始报文中的源IP地址进行替换,替换成途径路由器的WAN口IP的过程,我们称之为NAT(Network Address Translation)网络地址转换。


1.2、NAPT

在这里插入图片描述
客户端A给服务器发数据,源IP+端口为10.0.0.10:1025,目的IP+端口为163.221.120.9:80,首先判断目标IP不在当前子网,转发给路由器,路由器在进行源IP替换的时候,还会构建一张NAPT转换表。左边是源IP+源端口和目的IP+目的端口。右边也是如此,只不过第一行的源IP+源端口替换成路由器的了。所以路由器对报文中的源IP+端口进行替换,还会形成如图所示的映射关系,然后转发给服务器。而由于第一次建立了映射关系,之后主机A再发送给服务器到达路由器这里直接进行查表替换源IP地址即可。

左侧源IP标识了客户端A所在子网中唯一一台主机,源端口标识了该主机上的唯一一个进程。然后目的IP标识了全网唯一一台主机,目的端口标识了目的主机上的唯一一个进程。所以左侧整个部分是唯一的。右侧源IP+源端口也是具有唯一性,目的IP+目的端口同样如此,所以右侧整个部分也是唯一的。左侧和右侧都是一个四元组,并且都具有唯一性。左侧和右侧是互为键值的一组映射关系。

服务器收到后要做响应,源IP地址+端口为163.221.120.8:80,目的IP地址+端口为202.244.174.37:1025,所以服务器先转发给路由器,路由器收到后根据这四元组反向再查NAPT,将目的IP地址+端口替换为10.0.0.10:1025,然后进行内网转发,转发给客户端A。


相关文章:

  • AI 推理与训练优化的核心理论体系建构及关键技术分析框架
  • Leetcode - 周赛445
  • ServletRequestAttributeListener 的用法笔记250417
  • usb重定向qemu前端处理
  • Java排序算法百科全书:原理、实现与实战指南
  • 如何新建一个空分支(不继承 master 或任何提交)
  • SQL刷题记录贴
  • Nodemon vs. PM2:开发与生产环境的 Node.js 部署最佳实践
  • 【AI插件开发】Notepad++ AI插件开发实践:实现对话窗口功能
  • 多 Agent 协作怎么整:从谷歌A2A到多Agent交互方案实现
  • 【hive】Hive对数据库,对表的操作(一)
  • 第六节:React Hooks进阶篇-自定义Hook设计
  • 大模型时代下全场景数据消费平台的智能BI—Quick BI深度解析
  • 【数字图像处理】图像增强
  • King3399(ubuntu文件系统)GDB/GDBServer调试配置
  • 《Cangjie Magic实战手记:用Agent DSL与MCP协议重构智能物流调度系统》——一次从技术困惑到行业落地的探索之旅
  • 当 AI 有了 “万能插头” 和 “通用语言”:MCP 与 A2A 如何重构智能体生态
  • 【JAVA】在idea新加artifact时,点击Build-Build Artifacts时,新加的artifact不能选中
  • Java NIO Java 虚拟线程(微线程)与 Go 协程的运行原理不同 为何Go 能在低配机器上承接10万 Websocket 协议连接
  • 吊顶上的灯线怎么预留?是提前到位还是后期随意拉拽?
  • 学生靠老干妈下饭、职工餐肉类又多又好?纪委出手整治
  • 中国证监会副主席李明:目前A股估值水平仍处于相对低位
  • 盲人不能刷脸认证、营业厅拒人工核验,央媒:别让刷脸困住尊严
  • 墨西哥海军帆船纽约撞桥事故已致2人死亡19人受伤
  • 看展 | 黄永玉新作展,感受赤子般的生命力
  • 当智慧农场遇见绿色工厂:百事如何用科技留住春天的味道?