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

2024-09-05 17:44

本文主要是介绍NAT技术介绍+缺陷(内网穿透+工具),NAPT(介绍,替换过程,原理,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连接也都会断开

这篇关于NAT技术介绍+缺陷(内网穿透+工具),NAPT(介绍,替换过程,原理,NAT转换表)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1139632

相关文章

MySql match against工具详细用法

《MySqlmatchagainst工具详细用法》在MySQL中,MATCH……AGAINST是全文索引(Full-Textindex)的查询语法,它允许你对文本进行高效的全文搜素,支持自然语言搜... 目录一、全文索引的基本概念二、创建全文索引三、自然语言搜索四、布尔搜索五、相关性排序六、全文索引的限制七

C#实现将Excel表格转换为图片(JPG/ PNG)

《C#实现将Excel表格转换为图片(JPG/PNG)》Excel表格可能会因为不同设备或字体缺失等问题,导致格式错乱或数据显示异常,转换为图片后,能确保数据的排版等保持一致,下面我们看看如何使用C... 目录通过C# 转换Excel工作表到图片通过C# 转换指定单元格区域到图片知识扩展C# 将 Excel

基于Java实现回调监听工具类

《基于Java实现回调监听工具类》这篇文章主要为大家详细介绍了如何基于Java实现一个回调监听工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录监听接口类 Listenable实际用法打印结果首先,会用到 函数式接口 Consumer, 通过这个可以解耦回调方法,下面先写一个

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

C#中async await异步关键字用法和异步的底层原理全解析

《C#中asyncawait异步关键字用法和异步的底层原理全解析》:本文主要介绍C#中asyncawait异步关键字用法和异步的底层原理全解析,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录C#异步编程一、异步编程基础二、异步方法的工作原理三、代码示例四、编译后的底层实现五、总结C#异步编程

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

基于Python打造一个全能文本处理工具

《基于Python打造一个全能文本处理工具》:本文主要介绍一个基于Python+Tkinter开发的全功能本地化文本处理工具,它不仅具备基础的格式转换功能,更集成了中文特色处理等实用功能,有需要的... 目录1. 概述:当文本处理遇上python图形界面2. 功能全景图:六大核心模块解析3.运行效果4. 相