首页 > 其他分享 >NAT技术介绍+缺陷(内网穿透+工具),NAPT(介绍,替换过程,原理,NAT转换表)

NAT技术介绍+缺陷(内网穿透+工具),NAPT(介绍,替换过程,原理,NAT转换表)

时间:2024-09-07 14:23:27浏览次数:12  
标签:NAPT ip 介绍 地址 NAT 主机 路由器

目录

NAT技术

介绍

NAT转换表

引入

介绍

NAPT技术介绍 

NAPT替换过程

NAPT原理

注意点

NAT缺陷

无法直接访问其他内网主机

内网穿透

工具

其他 


NAT技术

介绍

NAT 是一种网络技术,它允许在一个公共 IP 地址和多个私有 IP 地址(入口路由器的wan口地址 和 私网内的私有ip)之间进行转换

  • 目前解决ip地址不足的最主要手段
  • 路由器的重要功能之一

私有ip(介绍,地址范围),私网和公网的关系(访问外部网站的过程,NAT技术)-CSDN博客

NAT转换表

引入

如果局域网内有多台主机请求同一个服务器,经过NAT技术,会在入口路由器处转换ip地址

  • 源ip 替换成 路由器的wan口ip地址

但是,在响应返回的过程中,当路由到入口路由器处时,就会出现多条[目的ip]相同的报文

  • 该如何确定究竟发送局域网内哪台主机呢?
  • 实际上,路由器内会形成一张转换表

介绍

NAT 转换表是路由器用来管理网络地址转换过程的一个数据表

  • 私有源ip+源端口,目的ip+目的端口 -> 公有源ip+源端口,目的ip+目的端口
  • 简单来说就是,建立了[内网使用的套接字->公网使用的套接字]的映射关系

以上过程叫做NAPT技术,NAPT是NAT的一种形式/类型

NAPT技术介绍 

NAPT(Network Address Port Translation,网络地址端口转换)是一种 NAT(网络地址转换)技术的具体实现

  • 用于允许多个内网设备通过一个公共 IP 地址与外部网络进行通信
  • 它不仅仅转换 IP 地址,还涉及到端口号的转换,以便管理和区分不同的网络连接

NAPT替换过程

  • 源ip -- 私有ip -> 入口路由器wan口ip
  • 源端口号 -- 内网某主机的端口号 -> 临时端口号(由路由器分配)

NAPT原理

如果把左侧内容当成一个大字符串,它一定是全网唯一的

  • 之前我们就说过,套接字信息可以唯一标识一条网络通道
  • 即使访问相同的服务器,所有主机的ip地址也会不一样,即使是同一个主机,端口号也会不同
  • 那么,[私有ip可重复]会对这个唯一性造成影响吗?
  • 不会,因为那是在不同局域网内的情况,同一个路由器虽然可以连接多个子网,但如果有重复ip地址,就无法识别,所以不会出现一个路由器内有重复ip
  • 而这个表是路由器内部维护的,所以不会重复

而右侧,也是全网唯一

  • 虽然源ip相同,但因为连端口号也替换了,而这个端口号是路由器内部的标识,所以可以保证唯一性

因为左右均唯一,所以它们互为键值,于是可以实现:

注意点

因为每条连接都会占用一个端口号,那会不会出现超出路由器的容纳上限呢?

  • 不会
  • 路由器分为家庭路由器 和 企业路由器,虽然两种承受能力不同,但家庭路由器完全可以承载一个家庭内的所有设备,企业路由器可以承载更多
  • 即使真的超出数量,运营商也会自动重新组建子网(在大型企业网络和数据中心,通常会使用自动化工具来管理和配置子网)

并且,主机数量过多也会让数据碰撞概率增大,所以一个局域网内也不会有太多主机

  • 所以NAT查表过程成本不高

NAT缺陷

无法直接访问其他内网主机

我们无法主动访问其他私网内主机

  • NAT 主要用于将私网中的 IP 地址转换为公共 IP 地址,从而允许内部设备通过公共 IP 地址访问外部网络
  • NAT 设备不会自动创建外部到内部的映射关系,因此,外部网络设备无法主动发起连接到内部私网中的设备
  • 只能是两台主机先与某公网服务通信,然后由公网服务转发给主机
内网穿透

如果非要这么做 -- 内网穿透 -> 利用一个公网服务器作为中介,使得在内网中的设备能够与外部网络进行通信

  • 首先要建立一个公网服务器,目的主机(内网设备)与该服务器之间要先建立好tcp长连接
  • 这样我们就可以通过这个服务器,来直接与目的主机通信 (公网服务器接收到想要访问目的主机的请求后,通过之前建立的 TCP 连接,将请求转发到内网设备)
  • 这一切的前提是 -- 目的主机已经与服务器建立好连接
工具

frp -- 高效的内网穿透工具,允许通过公网服务器将内网设备的服务暴露给外部网络,实现远程访问

  • 包含两个主要组件 -- frps(服务端) ,  frpc(客户端)
  • 我们可以在云服务器上部署frps,家里的电脑部署frpc:
  • 只要能访问云服务器,你就能通过 frp 提供的映射访问家里的电脑上的服务,实现远程操作

其他 

  • 装换表的生成和销毁都需要额外开销
  • 通信过程中一旦NAT设备异常, 即使存在热备(备份系统或组件在主系统运行时已经在线并处于活动状态), 所有的TCP连接也都会断开

标签:NAPT,ip,介绍,地址,NAT,主机,路由器
From: https://blog.csdn.net/m0_74206992/article/details/141884942

相关文章

  • 真人模特失业?AI虚拟试衣一键成图,IDM-VTON下载介绍
    在电商行业竞争尤为激烈的当下,除了打价格战外,如何有效的控制成本,是每个从业者都在思考的问题IDM-VTON是一个AI虚拟换装工具,旨在帮助服装商家解决约拍模特导致的高昂成本问题,只需一张服装图片,就可以生成各种身穿该服装的模特,大大简化了传统的产品展示过程IDM-VTON最新中文版:百度网盘......
  • 真人模特失业?AI虚拟试衣一键成图,IDM-VTON下载介绍
    在电商行业竞争尤为激烈的当下,除了打价格战外,如何有效的控制成本,是每个从业者都在思考的问题IDM-VTON是一个AI虚拟换装工具,旨在帮助服装商家解决约拍模特导致的高昂成本问题,只需一张服装图片,就可以生成各种身穿该服装的模特,大大简化了传统的产品展示过程  IDM-VTON最新中文......
  • Design Patterns for Cloud Native Applications
    研究背景研究问题:本书旨在解决如何构建云原生应用的问题。云原生应用具有成本节约和可扩展性的优势,但其开发和部署面临诸多挑战。研究难点:云原生应用的复杂性在于如何在动态环境中设计和开发可扩展、可靠、可管理和可观测的应用。相关工作:本书参考了现有的架构原则和实......
  • 鹰眼雾炮介绍
    朗观视觉鹰眼雾炮是一种专业的环保设备,具有多种功能和特点,以下是关于鹰眼雾炮的详细介绍:一、定义与功能鹰眼雾炮通过物理雾化技术,将水颗粒化为微小的雾滴,并通过高功率风机将雾滴喷射到远距离。它主要用于控制空气中的粉尘、细菌和异味,同时也具备在火灾现场进行灭火的功能。......
  • MySQL 日期函数语法介绍和案例示范以及常见问题解决
    本文将以电商交易系统为例,详细讲解MySQL日期类型及其转化,常用的日期函数,以及一些解决常见问题的方案。一、MySQL日期数据类型MySQL提供了多种日期数据类型,适用于不同的使用场景。常见的日期类型包括DATE、DATETIME、TIMESTAMP、TIME和YEAR。DATE:只存储日期,不包含......
  • 2024年电气工程自动化与信息处理国际会议 2024 International Conference on Electric
    文章目录一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题六、咨询一、会议详情二、重要信息大会官网:https://ais.cn/u/vEbMBz提交检索:EICompendex、IEEEXplore、Scopus2024年09月20-22日|中国武汉三轮截稿时间:2024年9月10日三、大会介绍2024......
  • 2024年人文艺术、教育与社会发展国际学术会议(HAESD 2024) 2024 International Conferen
    文章目录一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题六、咨询一、会议详情二、重要信息大会官网:https://ais.cn/u/vEbMBz提交检索:EICompendex、IEEEXplore、Scopus大会时间:2024年9月27日-29日大会地点:中国西安三、大会介绍为迎接知识经济......
  • 区块链技术介绍
    一.概述1.什么是区块链?  区块链是一种分布式数据库技术,它以链式数据结构的形式存储数据,每个数据块与前一个数据块相关联,形成了一个不断增长的数据链。每个数据块中包含了一定数量的交易信息或其他数据,这些数据经过加密和验证后被添加到区块链上。由于每个数据块都包含了前......
  • SRT库介绍
    文章目录简介SRT协议介绍FFmpeg+SRS推拉流测试SRT库介绍apps示例程序srt-file-transmitsrt-live-transmitsrt-test-multiplexsrt-test-relaysrt-tunneldocs/buildsrtcoreexamples编译安装错误处理API说明初始化、回收创建配置套接字连接管理SocketGroup属性设置传输......
  • BRAM IP Native模式使用
    简介    BRAM(‌BlockRAM)是‌FPGA(Field-ProgrammableGateArray)中的一种专用RAM资源,固定分布在FPGA内部的特定位置。该内容主要对BRAM(BlockRAM”的缩写)Native模式下IP界面做详细描述和使用。界面介绍Basic界面          1、选择对外接口,可以是AXI总线......