当前位置:   article > 正文

FRP源码学习(一):关于NAT以及内网穿透的认识_frp nat

frp nat

frp是一个可用于内网穿透的高性能反向代理应用。这句话有几个点需要解释。

  1. 内网穿透:即NAT穿透。
  2. NAT
  3. 反向代理

首先,要明白NAT这个概念

NAT在计算机网络领域是一种在IP数据包通过路由器或防火墙时重写来源IP地址或目的IP地址的技术。这句话基本揭示了NAT在底层的工作方式。NAT被普遍应用在有多台主机但只有一个公有IP地址可供访问Internet的环境。但是NAT使主机间的通信变得复杂,导致了通信效率的降低。

NAT是作为一种解决IPv4地址短缺的方案而流行的。一个典型的配置就是,一个本地网络使用一个转悠网络的指定子网(比如192.168.x.x或10.x.x.x)和连在这个网络上的一个路由器。并且路由器占据了网络空间的一个专有地址(如192.168.0.1),同时,路由器还通过一个或多个公有IP地址连接到外部网络上。

RFC文档中区分的几种NAT:

1.基本NAT(也可称作静态NAT)

仅支持地址转换,不支持端口映射,一个内网地址对应一个公网IP地址,通常作为服务器使用。基本NAT维护一个无端口号NAT表,如下

内网ip外网ip
192.168.1.55210.10.168.200
192.168.1.56210.10.168.201
192.168.1.57210.10.168.202

2.NAPT(网络地址端口转换)

支持端口映射,许多主机共享一个公网IP地址。又分为两类,原地址转换,目的地址转换。前者发起连接的计算机IP地址将会被重写,作用是使得内网主机发出的IP数据包能够到达外网主机;后者被连接的计算机IP地址将会被重写,作用是使得外网主机发出的数据包能够到达内网主机。实际上,两种方式需要一起使用以支持双向通信。NAPT维护了一个带有IP以及端口号的NAT表,如下

内网ip外网ip
192.168.1.55:8080210.10.168.200:9200
192.168.1.56:8080210.10.168.200:9201
192.168.1.57:80

210.10.168.200:9202 

192.168.1.57:22

210.10.168.200:9203

NAT机制可以保证内网主机能够访问外网,但是问题在于,NAT设备自动屏蔽了非内网主机发起的连接,也就是说,从外网直接发给内网的数据包是会被NAT设备丢弃的。因此,不同NAT设备后的主机是无法直接交换信息的。由于端口限制圆锥形NAT的设计,外部主机要与内网主机相互通信,必须由内网主机主动发起连接。使NAT设备产生一个映射条目。

内网穿透的目的是为了使某一个特定源IP地址和源端口号的数据包不被NAT设备屏蔽而正确路由到内网主机。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/801401
推荐阅读
相关标签
  

闽ICP备14008679号