首先了解一下,什么是内网穿透?为什么要用内网穿透?
先看一下关于内网穿透的定义
看完之后好像还是不明白,那么在看一张图。
通过这张图大概就可以明白,就是将局域网的IP地址和端口号和互联网的IP地址和端口号对应起来,通过访问互联网的IP和端口号,就可以通过内网穿透技术直接访问到局域网的某个IP地址和端口号。
那什内网穿透技术在什么时候下会用到呢?这里举个简单的例子。比如自己用单片机做个一个温度和湿度的采集系统,可以实时采集家里的温度和湿度。但是这个数据只能直接在单片机上看到,那么如果我想在网络上访问我这个温度采集系统要怎么办呢?
第一步就是要把这个单片机挂在互联网上,可以使用wifi模块,单片机通过串口连接wifi模块,然后wifi模块在连接到路由器上。那么这时候连接到路由器上的所有设备都可以通过这个wifi模块访问到这个温度和湿度采集系统了。
虽然已经可以通过wifi访问模块了,但是此时这个模块的IP地址还是一个局域网的地址,比如当前wifi模块的IP地址是192.168.0.100,那么只有为192.168.0.XXX的设备才能访问到模块,如果我想在公司访问家里这个模块要怎么办呢?
第二步就是要把wifi模块这个局域网内的地址和互联网的地址联系起来,而互联网地址地址可能是好多人共用同一个地址。比如一个公司有100台电脑都可以上网,但是这100台的互联网地址可能就只有一个,这100台电脑共用了同一个互联网地址。这同一个互联网地址首先连接到路由器上,然后公司的100台电脑在通过局域网的IP地址去区分。虽然互联网的IP地址只有一个,但是它的端口号有很多。
也就是说虽然这100台电脑共用了一个互联网IP,但是每个IP地址拥有唯一的端口号。这样我们就可以通过IP地址+端口号的方式,在互联网上找到局域网中对应的每一个电脑。比如这100台电脑共用的互联网IP地址为:118.36.116.200,这个IP地址的端口号从8001到8100对应着局域网的100台电脑。比如访问118.36.116.200:8010,意思就是访问IP地址为118.36.116.200,端口号为8010就可以访问到局域网内IP地址为192.168.0.110这台电脑了。这样通过互联网上的IP地址加上端口号就可以访问到局域网中的每一个IP地址了。
现在还有一个问题就是,如何将端口和局域网中的IP地址对应起来呢?这时要用到的这个技术就叫做内网穿透。就是通过软件的设置,可以将互联网IP地址和端口号和局域网中的IP地址和端口号对应起来。专门用来实现内网穿透功能的软件不少。读者可以选择使用。