移动网络方面的持久 TCP 连接?

Posted

技术标签:

【中文标题】移动网络方面的持久 TCP 连接?【英文标题】:Persistent TCP connections in terms of Mobile networks? 【发布时间】:2013-02-22 10:23:36 【问题描述】:

我对移动连接中的 WebSocket 通信有疑问。

我想知道当用户在不同网络之间迁移时,如何在移动网络中长时间处理长期存在的 TCP 连接。当切换(hand-off)发生时,已经建立的 TCP 连接会发生什么?

在这种情况下,不同的技术(3G、4G 等)是否表现不同?

如果您能留下一些在线资源或文章,我将不胜感激,我可以在这方面阅读更多内容?

提前谢谢你:)

【问题讨论】:

【参考方案1】:

切换对用户始终是透明的 - 在 LTE、UMTS 等商业移动网络上的塔之间转换时,所有 TCP 和语音连接始终保持活动状态。您可能会遇到数据停止的某些时间段流动,但仅此而已。

我有好几次机会通过在 T-Mobile USA 的 HSPA+ 全国网络上进行的有趣实验来验证这一点。从一个主要城市开车 12 小时以上到另一个城市,无需关闭手机。查看外部 IPv4 地址终止的区域(通过使用 traceroute)。您可能会注意到它仍然在您开始旅行的同一区域。现在重新启动电话,然后查看外部 IPv4 地址现在路由到的位置。您会注意到,现在它很可能在离您所在位置更近的主要都会区终止。也就是说,您在运营商核心网络中的连接不仅会跟随您在给定的城市、地铁或州内,而且还会在州和时区之间。

原因是运营商有一个核心网,所有对外连接都由核心网Packet Gateway处理>,它跟踪所有的连接。有关这方面的更多信息,请参阅名为High Performance Browser Networking (HPBN.co) 的书的Chapter 7。

【讨论】:

我希望我能给你一颗金星并请你吃饭。这些信息在网上很难得到!【参考方案2】:

这并不是一个真正的 SO,而是一个程序员的问题,我看不出你自己研究了什么,但你当然不能依靠连接来维持生命,无论是否移动。

事实上,移动运营商通过在一定时间或数据量后重置它们来终止长期连接。因此,无论如何,您都应该准备好在套接字异常时重新连接。

【讨论】:

以上是关于移动网络方面的持久 TCP 连接?的主要内容,如果未能解决你的问题,请参考以下文章

Android上持久移动连接的最佳实践?

移动平台游戏网络重连方案(转)

重磅移动网络性能揭秘(下)--网络协议及性能提升实践

计算机基础(笔记)——计算机网络(无线网络和移动网络)

计算机基础(笔记)——计算机网络(无线网络和移动网络)

计算机网络·详解TCP流量控制,拥塞控制,运输连接管理