TI中文支持网
TI专业的中文技术问题搜集分享网站

路由设备断电后,再发数据到协调器,需等待协调器发出router request之后,协调器才能收到数据

many to one 的网络里,网关是带PA的,路由设备不带PA,这样导致网关的邻居表里没有路由设备,而路由设备的邻居表里有网关。当路由设备断电重启以后,心跳数据会直接单播目的之地为0x0000的网关,而此时网关是收不到路由设备发出的数据。路由设备会发起router request,但是没有设备相应该帧,需等待网关发出router request之后,路由设备才会重新建立一个合适的路由,把数据发送过去。是不是many to one的参数设置有问题,导致路由设备发起AVDO的router request之后,设备不会帮忙转发?

Alvin Chen:

不太懂你说的意思,
也就是你现在有3个设备;
1 ZC
2.ZR1
3.ZR2.

ZR2 是通过ZR1中继的,而当ZR1掉线后,由于距离问题ZC和ZR2无法通信对吗?

个人建议你都加上PA,或者你ZR2附近还有其他ZR可以和ZC直接通信,你的ZR2才可以router request重新连接。

YiKai Chen:

描述很混亂,建議你抓包用抓包檔說明你的問題,還有你用的協議棧版本是?

user444907929:

回复 Alvin Chen:

ZR1通过ZR2中继,但是ZR1的邻居表里有ZC,ZC的邻居表里没有ZR1,当ZR1重新上电以后,会直接单跳数据到ZC,因为ZC在他的邻居表里,但实际上,通过单跳,ZC是收不到ZR1发送的数据的。所以ZR1会发出router request但没有设备相应,只有当ZC定时,或者有设备发出many to one路由失败的网络状态帧以后,ZC发出router request之后,ZR1再发送数据,ZC才能收到。协议栈版本Z-Stack Home 1.2.2a.44539

user444907929:

回复 YiKai Chen:

数据包是用私密加密,可能不太好提供。网络里至少有ZC,ZR1,ZR2 ,其中ZR1通过ZR2中继,但是ZR1的邻居表里有ZC,ZC的邻居表里没有ZR1,当ZR1重新上电以后,会直接单跳数据到ZC,因为ZC在他的邻居表里,但实际上,通过单跳,ZC是收不到ZR1发送的数据的。所以ZR1会发出router request但没有设备相应,只有当ZC定时,或者有设备发出many to one路由失败的网络状态帧以后,ZC发出router request之后,ZR1再发送数据,ZC才能收到。协议栈版本Z-Stack Home 1.2.2a.44539

YiKai Chen:

回复 user444907929:

有沒有抓包檔可以說明你的問題?

user444907929:

回复 YiKai Chen:

中午好好看了一下空中数据,发现是因为ZR1发出router request之后,ZR2没有帮忙转发该广播帧。如果ZC在ZR1的单跳范围内,ZC才会响应ZR1的router request。问题是不是在于many to one 的网络设置问题?

赞(0)
未经允许不得转载:TI中文支持网 » 路由设备断电后,再发数据到协调器,需等待协调器发出router request之后,协调器才能收到数据
分享到: 更多 (0)