我们目前有一个IoT设备,该设备使用2G上的原始TCP连接连接到我们的服务器,并且该设备有时会发送“保持活动”消息,因为我们已经看到它消耗的电池更少,而不是每次需要发送消息时(大约每1至5分钟一次)重新打开连接

我们正在考虑切换到LTE-M,特别是因为我们已经看到eDRX模式将允许我们可以节省很多时间,但是我有以下问题:在eDRX模式下,TCP连接是否仍然打开,即如果我从服务器发送一些数据,客户端醒来收到吗?

评论

为什么不试试看呢?

@Mawg不幸的是,我目前在中国,这里还没有部署LTE-M网络:(

@sysko您发现了什么?网络会实际创建一个SYN数据包吗?还是会唤醒设备?然后应用程序代码必须处理轮询服务器?

#1 楼

是的,在使用LTE-M的eDRX模式时,TCP连接仍处于打开状态,但是根据您所使用的运营商,会有些麻烦。

首先,将数据从服务器发送到移动设备设备永远不会立即唤醒移动设备。移动设备将在下一个eDRX间隔唤醒(尽管其他一些非蜂窝事件也可能导致它更快唤醒)。

现在,令人困惑的部分是您的移动设备是否会收到服务器在下一个eDRX间隔唤醒时的数据。 《 GSMA LTE-M部署指南》实际上在6.2和6.4节中对此进行了讨论。麻烦的行在6.4节中:


因此,这意味着,如果LTE-M设备位于PSM或eDRX中,则移动终止消息取决于MNO选择将被缓冲还是被丢弃



换句话说,小区服务提供商(例如Verizon,AT&T等)可以决定是否要缓冲要转发的TCP数据包

即使是在eDRX睡眠期间缓冲数据的运营商上,它们的时间上限也往往在几分钟左右。 >
但是,您的服务器可能没有意识到eDRX连接的间歇性,将执行其正常的TCP重试,并且总是有可能在eDRX窗口中发送这些重试之一到移动设备。发生这种情况时,即使在确实丢弃数据的网络上,它看起来也“正常工作”,但比其他任何事情都幸运。 (缩短eDRX循环时间和在服务器上使用更快的TCP重试速率都可以改善此设置的运气。)

评论


欢迎登机。好答案!

–莫格说要恢复莫妮卡
19年10月10日在9:50

大约一年后的现在,我发现AT&T(美国)的官方文档清楚地详细说明了其eDRX / PSM缓冲规则。对于任何关心的人,如果您的设备处于PSM模式,则数据包将被丢弃,并且只有前4KB的数据在eDRX模式下最多可缓冲4个EDRX时序周期。 Verizon永远不会缓冲任何内容。

– JustinB
20/11/10在15:16

非常感谢您的反馈。希望它将对某人有所帮助。请发布答案并接受它,以使它很清楚。谢谢(+1)

–莫格说要恢复莫妮卡
20/11/10在15:36