是什么:
-
内网:
局域网(LAN:local area network),内部可实现资源共享。
可以通过ip或者域名,经过路由器访问外网
-
公网
广域网(WAN:wide area network),相对于一般意义的局域网范围更大,可能连接多个城市,国家等。但是不等于互联网
-
公网IP:全球唯一IP
-
内网穿透:
又叫做NAT穿透,NAT:network address translation,网络地址转换器
表现是:外部设备通过内网穿透的技术,访问到内网设备,能够提高下载速度
简单举例就是:内网中有台服务器IP是192.168.0.199,属于wifi-YF,它可以访问Internet。但是,在其他网络,就访问不到这个服务器。
而内网穿透就可以让我们访问到这个199服务,且速度提升
做什么
外网通过ip或者域名的方式访问内网
相关的
NAPT原理
- 简单来说,就是内网设备A向外网发送请求的时候,先经过NAT网关
- NAT网关进行修改和记录:将源数据包的IP地址和端口改为自身的IP地址和未使用的端口,将修改记录到表里。
- 发送数据包到目标主机
- 接收响应包,根据记录找到需要响应的内地设备A
- 这样,内部的设备没有公网ip,也可以借助NAT的公网IP访问公网
内网穿透
- 我们上面的是内网访问外网,是通过借助NAT这一个公网IP的。那么我们公网访问内网应该怎么做?同理也应该通过一个公网IP来访问。也就是说,需要将内网设备的ip,比如192.168.0.123映射到一个公网上。
优势
- 可以不在公网服务器上再搭建一遍服务,只通过公网服务器,穿透到内网获取服务。
实现原理
- 首先,我们假设我们有一个公网服务器,IP为2.2.2.2,内网设备IP为192.168.0.2。
- 公网服务器开放一个端口为外网提供HTTP服务,比如80端口(默认的web服务端口)。
- 公网服务器再开放另一个端口比如777作为与内网连接的端口
- 内网服务器连接公网777端口形成“隧道”
- 外网访问公网80,公网通过隧道将数据包交给内网主机,内网主机接收到数据包,再访问自己的80端口(到这里就完成了外网访问内网主机的80端口)
- 内网主机处理完请求后,将数据包通过隧道原路返回给公网的80端口
- 公网将响应包发送给请求80端口的客户端
相关工具
花生壳,frp等