很多用户有疑问:为什么DTU只能去连接一个有公网IP的电脑?我电脑在一个校园网/公司内网行不行?
答案是:行,但是需要用户校园网/公司内网配合才可以。至于为什么,下面来详细给用户讲讲:
DTU联网,是去发起一个TCP/UDP连接,这个连接和通信的过程,在这里用打电话(打电话的例子与DTU联网比较类似)的例子来类比说明:
如下图所示,有两个公司A和B,总机分别是123和456,两个公司的分机号分别为01、02、03和05、06、03;那么如果A公司的01分机,想打电话给B公司的03分机,该如何拨打呢?
很明显,他需要先拨打B公司的总机456,拨通后转拨B公司的03分机号,或者拨号时就直接拨打456-03才可以打通这个电话;
如果他直接拨打分机号03,那么只能把电话打到A公司的03分机,而无法把电话打到B公司。
跟上面打电话的例子类似,在互联网上,可以做如下类比:
公网IP相当于一个总机号码,是一个可以直接拨打的号码;
局域网IP相当于一个分机,这个分机的分机号是公网IP的一个端口,就是说公网IP映射到局域网电脑的端口是局域网电脑的分机号;
端口映射相当于给局域网的电脑分配分机号码;
动态IP类似于一个人经常换号;
动态域名就是网络上有一个专门的设备,来记录换号的人每次换号以后的号码,方便查找
DTU进行联网的时候,其实是处于移动或者联通的手机局域网里的一个设备,它获得的IP地址是一个局域网的IP,类似于电话网络里的分机,而且这个分机号还不是固定的,是不断变化的,它每次发起连接的时候都会从移动电话网里面获得一个新的分机号;如果用户希望DTU能直接连接到他的电脑上,那么他的电脑就必须有一个公网IP(类似于拥有固定的号码),或者最少能获得一个公网IP的分机号码(做端口映射),否则是无法通信的。
那么没有固定的公网IP地址怎么办?普通的网络用户,使用宽带或者ADSL上网,获得的是一个动态的公网IP,那么办法还是有的,就是做动态域名,所谓动态域名,形象点说,就是网络上的电话本,它一直更新一个表,来把域名(相当于电话本上的人名)跟电话号码对应起来,而且每次更新IP(换号)后都会通知这个网络电话本,来记录它新的IP(号码),这时候只要把域名设置到DTU里,DTU就会自动去网络电话本来查找这个域名当前对应的IP地址,然后去发起连接进行数据传输。
如果网络用户通过运营商获得的IP不是公网IP,那就相当于在分机号码下面再接分机,DTU就无能为力了,这时用户的电脑在网络里隐藏的太深,DTU已经无法找到它了,只能让用户的电脑连接一个有公网IP的服务器,告诉服务器它的具体号码,DTU也把数据发到服务器,由服务器来做一个数据转发了。
DTU连接个人电脑网络拓扑图