搜索
bottom↓
回复: 29

求助跨网段通信方式

[复制链接]

出0入0汤圆

发表于 2017-3-21 21:40:48 | 显示全部楼层 |阅读模式

网络结构如图所示,此项目需要用ESP8266采集房间数据,每个房间均有一个无线路由或者是无线AP,ESP8266要把数据实时传到服务器(PC)中。
服务器(PC)接入总路由器。
这样的结构可以正常通信吗?用GET和POST的方式或者是什么比较好点?
大侠们指点一下,对网络不是很熟悉。谢谢。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2017-3-21 21:50:15 | 显示全部楼层
有必要了解一下vlan这东西,问题是,你的设备不对头。

出0入0汤圆

发表于 2017-3-21 21:54:09 来自手机 | 显示全部楼层
认真看了一下,假如服务器处于0网段,其他路由器wan口接上一级路由lan口,设定二级路由上网方式为固定IP或者静态IP,那么esp8266是可以和服务器进行通信的。不信你可以找两个路由试试。

出0入0汤圆

发表于 2017-3-21 22:05:36 | 显示全部楼层
完全可以

出0入0汤圆

 楼主| 发表于 2017-3-21 22:12:16 | 显示全部楼层
lengshuicha 发表于 2017-3-21 21:54
认真看了一下,假如服务器处于0网段,其他路由器wan口接上一级路由lan口,设定二级路由上网方式为固定IP或 ...

这样用TCP进行通信?
如果次级路由(esp8266连的路由),不是静态IP的呢?

出0入0汤圆

 楼主| 发表于 2017-3-21 22:14:09 | 显示全部楼层

可以用什么样的方式通信?
可以说说吗,谢谢。
我知道连外网的可以用GET或者POST的方式跟云端连。
但是在这样的跨网段局域网不知道怎么连。

出0入0汤圆

发表于 2017-3-21 23:14:59 | 显示全部楼层
tcp socket 通讯

出0入0汤圆

发表于 2017-3-22 11:06:20 | 显示全部楼层
你这个根本就不需要考虑那么多,反正你的服务器在最上层,设置好8266的ip地址和网关,然后正常通讯就行了。跟外网方式完全相同。

出300入477汤圆

发表于 2017-3-22 11:13:37 | 显示全部楼层
事实上你没有“跨网段”。所有这些模块在同一个大的局域网里面。只要每个路由器都正确的设置了路由,啥事都没有。每个模块都可以自由的访问你这个内网里面任意的机器

出0入0汤圆

发表于 2017-3-22 11:19:18 | 显示全部楼层
这样通信完全没问题,但各个不同子网段互相通信不行,比如.1网段不能跟.2网段设备通信。普通设备即可

出0入0汤圆

 楼主| 发表于 2017-3-22 11:24:33 | 显示全部楼层
hxdma 发表于 2017-3-22 11:06
你这个根本就不需要考虑那么多,反正你的服务器在最上层,设置好8266的ip地址和网关,然后正常通讯就行了。 ...

如果服务器不在最上层呢。这样可以吗?

出0入0汤圆

 楼主| 发表于 2017-3-22 11:26:27 | 显示全部楼层
haibaogk 发表于 2017-3-22 11:19
这样通信完全没问题,但各个不同子网段互相通信不行,比如.1网段不能跟.2网段设备通信。普通设备即可 ...

就是说如果服务器不在最上层,就没办法通讯?
因为客户不一定会把服务器接到最顶层的路由器下面。

出0入0汤圆

 楼主| 发表于 2017-3-22 11:27:00 | 显示全部楼层
redroof 发表于 2017-3-22 11:13
事实上你没有“跨网段”。所有这些模块在同一个大的局域网里面。只要每个路由器都正确的设置了路由,啥事都 ...

就是说如果服务器不在最上层,可以通讯吗
因为客户不一定会把服务器接到最顶层的路由器下面。

出300入477汤圆

发表于 2017-3-22 11:29:04 | 显示全部楼层
belongfs 发表于 2017-3-22 11:27
就是说如果服务器不在最上层,可以通讯吗
因为客户不一定会把服务器接到最顶层的路由器下面。 ...

服务器在任何一个小路由器下面都没区别
只要这些小路由器都是当作"路由器",不是当作“NAT网关”

出300入477汤圆

发表于 2017-3-22 11:32:02 | 显示全部楼层
要注意区分“路由器”和“NAT网关”
我们平常的路由器都是同时具有这两种作用。
NAT网关会向他的上级隐藏它内部的网络情况,而真正的路由器是允许上下级之间任意通讯的
你这种情况下,所有的路由器都要当作真正的路由器,而不是当作NAT网关,知道这一点就行了。
一个大网络下面的每个小路由器,内网的IP段都必须是不一样的
而每个NAT网关下面的内网IP段基本上都是一样的

出0入0汤圆

 楼主| 发表于 2017-3-22 11:33:09 | 显示全部楼层
redroof 发表于 2017-3-22 11:29
服务器在任何一个小路由器下面都没区别
只要这些小路由器都是当作"路由器",不是当作“NAT网关” ...

好的,用TCP CLIENT可以通讯上吧?
目标地址是服务器地址。

出0入0汤圆

发表于 2017-3-22 11:37:02 | 显示全部楼层
redroof 发表于 2017-3-22 11:32
要注意区分“路由器”和“NAT网关”
我们平常的路由器都是同时具有这两种作用。
NAT网关会向他的上级隐藏它 ...

恕我知识太匮乏。只是你说的这种"真正的路由器",我们普通所见的小路由器如何实现?

出300入477汤圆

发表于 2017-3-22 11:38:17 | 显示全部楼层
belongfs 发表于 2017-3-22 11:33
好的,用TCP CLIENT可以通讯上吧?
目标地址是服务器地址。

如果你图上所有的路由器都是真正的“路由器”,那么整个网络就是一个大的完整的网络,这个网络里面任意机器之间都能互访。
你只要正常的写对方的IP地址即可(网内所有设备的IP地址都是唯一而且不同的)。
你的数据包在中途需要穿过哪几个路由器,不需要你考虑。
只要你当初正确的设置了所有路由器的路由表。

出300入477汤圆

发表于 2017-3-22 11:39:32 | 显示全部楼层
hxdma 发表于 2017-3-22 11:37
恕我知识太匮乏。只是你说的这种"真正的路由器",我们普通所见的小路由器如何实现? ...

别开NAT,设好路由表,就行了。
所有的小路由器都可以当作真正的路由器。只是大部分人默认的配置会把它当作NAT,这样外面的数据包就不能简单的穿透进来了

出0入0汤圆

发表于 2017-3-22 11:47:12 | 显示全部楼层
belongfs 发表于 2017-3-22 11:27
就是说如果服务器不在最上层,可以通讯吗
因为客户不一定会把服务器接到最顶层的路由器下面。 ...

DMZ那个IP应该可行,如192.168.1.3的ip在192.168.1.1上dmz一下(该路由在ip为192.168.0.10),那所有发送和接收到192.168.0.10的数据实际发送到了192.168.1.3上

出0入0汤圆

 楼主| 发表于 2017-3-22 11:47:23 | 显示全部楼层
redroof 发表于 2017-3-22 11:38
如果你图上所有的路由器都是真正的“路由器”,那么整个网络就是一个大的完整的网络,这个网络里面任意机 ...

我还有个问题,就是如果客户没装小的路由器,而是装的无线AP,情况是一样的吗

出300入477汤圆

发表于 2017-3-22 11:55:08 | 显示全部楼层
belongfs 发表于 2017-3-22 11:47
我还有个问题,就是如果客户没装小的路由器,而是装的无线AP,情况是一样的吗 ...

正常的小路由器,天生都带完整的路由功能(我所见过的大小路由器都如此,没有不带正常路由功能的)。
但你说的无线AP,我不知道是哪一种。
不知道会不会有某些无线AP不带路由功能

出300入477汤圆

发表于 2017-3-22 11:56:38 | 显示全部楼层
haibaogk 发表于 2017-3-22 11:47
DMZ那个IP应该可行,如192.168.1.3的ip在192.168.1.1上dmz一下(该路由在ip为192.168.0.10),那所有发送 ...

如果自己配路由表不用NAT,那么所有的人都能互访,这样更简单也更方便。
当然如果别人的路由器不归你管,那么你要他开DMZ比要他自己设路由表应该容易实现一些

出0入0汤圆

发表于 2017-3-22 11:57:52 | 显示全部楼层
belongfs 发表于 2017-3-22 11:47
我还有个问题,就是如果客户没装小的路由器,而是装的无线AP,情况是一样的吗 ...

无线ap是更简单的一种方式,它只负责接入,最后的ip地址分配是上一级路由器来分配的。只要把ap的隔离关掉就行了

出0入0汤圆

 楼主| 发表于 2017-3-22 14:04:11 | 显示全部楼层
redroof 发表于 2017-3-22 11:56
如果自己配路由表不用NAT,那么所有的人都能互访,这样更简单也更方便。
当然如果别人的路由器不归你管, ...

谢谢解答,我回头搭一个环境试试看。

出0入0汤圆

 楼主| 发表于 2017-3-22 14:04:27 | 显示全部楼层
haibaogk 发表于 2017-3-22 11:47
DMZ那个IP应该可行,如192.168.1.3的ip在192.168.1.1上dmz一下(该路由在ip为192.168.0.10),那所有发送 ...

谢谢解答,我回头搭一个环境试试看。

出0入0汤圆

 楼主| 发表于 2017-3-22 14:04:44 | 显示全部楼层
hxdma 发表于 2017-3-22 11:57
无线ap是更简单的一种方式,它只负责接入,最后的ip地址分配是上一级路由器来分配的。只要把ap的隔离关掉 ...

谢谢解答,我回头搭一个环境试试看。

出0入0汤圆

发表于 2017-3-22 14:23:42 | 显示全部楼层
hxdma 发表于 2017-3-22 11:37
恕我知识太匮乏。只是你说的这种"真正的路由器",我们普通所见的小路由器如何实现? ...

对个人家庭而言,现在人人都用的是路由器,比如TPLINK,斐讯,交换机是2000初宿舍用的多。
如果傻瓜化用,每个路由器下面的机器可以跟路由器上一级通信,这是NAT映射。你现在家里上网就是这样。
我们再提高一点,如果要把路由器下面机器作为服务器,上一级主动访问下一级,需要开端口映射/DMZ神马的。    这就是你在自己家里开网站。
继续提高了, 想把挂在同一个路由器下面的二级路由下面的两个机器通信,需要在一级路由下面挂个机器做服务器,实现转发或者打洞。  这就是木有公网IP情况下的花生壳
还要提高,你就得打开你家路由器里的静态路由表了,自己去玩里面的TABLE,  这时候才真的是当路由器用了,而然对家庭路由器这个基本是摆设没人用到。
如果你把路由器刷机,还有VLAN特性可用。

出0入0汤圆

发表于 2017-3-22 14:24:09 | 显示全部楼层
别的神马接U盘当下载机之类就不是路由器本身范畴了

出0入0汤圆

 楼主| 发表于 2017-3-22 14:58:11 | 显示全部楼层
huangqi412 发表于 2017-3-22 14:23
对个人家庭而言,现在人人都用的是路由器,比如TPLINK,斐讯,交换机是2000初宿舍用的多。
如果傻瓜化用, ...

谢谢指点,看来还要了解一下整个网络基础
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 08:50

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表