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连接也都会断开
相关推荐
山河君几秒前
ubuntu使用DeepSpeech进行语音识别(包含交叉编译)
linux·ubuntu·语音识别
鹏大师运维4 分钟前
【功能介绍】信创终端系统上各WPS版本的授权差异
linux·wps·授权·麒麟·国产操作系统·1024程序员节·统信uos
筱源源7 分钟前
Elasticsearch-linux环境部署
linux·elasticsearch
龙哥说跨境29 分钟前
如何利用指纹浏览器爬虫绕过Cloudflare的防护?
服务器·网络·python·网络爬虫
懒大王就是我43 分钟前
C语言网络编程 -- TCP/iP协议
c语言·网络·tcp/ip
Elaine2023911 小时前
06 网络编程基础
java·网络
pk_xz1234562 小时前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器
小珑也要变强2 小时前
Linux之sed命令详解
linux·运维·服务器
海绵波波1072 小时前
Webserver(4.3)TCP通信实现
服务器·网络·tcp/ip
九河云4 小时前
AWS账号注册费用详解:新用户是否需要付费?
服务器·云计算·aws