3G 换塔时 TCP 连接会发生啥? [关闭]

Posted

技术标签:

【中文标题】3G 换塔时 TCP 连接会发生啥? [关闭]【英文标题】:What happens to TCP connection on 3G tower switching? [closed]3G 换塔时 TCP 连接会发生什么? [关闭] 【发布时间】:2013-04-18 02:17:32 【问题描述】:

在 3G 网络上上传数据时,我在 Django 的 POST 处理程序中随机获取 IOError: request data read error。为什么 Django 会引发特定异常 has already been answered 的问题(总结:据称发生在客户端断开 TCP 连接时)。但是,就我而言,我正在尝试解决根本问题。

根据我缩小问题范围的尝试,我发现:

无法在 WiFi 上重现 仅在 GPRS 上无法重现 可在各种类型的手机(android 和 iPhone)和多家运营商上重现 似乎在某些地方没有发生 似乎发生在其他位置,尤其是当我看到数据速度指示器在3GHH+(UMTS、HSDPA 和 HSPA+)之间切换时

我的疯狂猜测是那里发生的事情是切换塔。那么3G在塔间切换时TCP连接会发生什么?

【问题讨论】:

我不确定,但我很确定 PDP 上下文已被删除并重新建立,就像降级到 EDGE 和 GPRS 等旧技术时一样。一个新的 PDP 上下文会带来一个新的 PPP 会话,并且很可能是一个新的 IP 地址,所以这当然会中断 TCP 连接。 @Celada:好的,但你说的是从 3G 切换到 2G 或反之亦然,而不是在 3G 的各种速度之间切换 【参考方案1】:

当您在性能良好的网络中进行切换时,TCP 连接本身通常不会出现任何连接中断,即使发生这种情况,TCP 通常也会简单地退出并重试。

实际上,3G 网络中存在不同类型的切换,具体取决于您要从哪个“塔”连接到运营商接入网络中的哪个“塔”,以及接入节点又连接到运营商核心网络中的哪个“塔”。它还取决于核心网络的配置方式——一些网络将在接入节点和核心节点之间进行一对一的映射,而一些网络将允许接入节点池共享核心节点,这将减少在一个核心节点之间进行传输的可能性还有一个。

以下指南很好地概述了 3G 网络中的切换类型: http://www.3g4g.co.uk/Tutorial/ZG/zg_handover.html

【讨论】:

以上是关于3G 换塔时 TCP 连接会发生啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

当连接关闭时,未提交的事务会发生啥?

如果在 SqlDataReader 之前关闭 SqlConnection 会发生啥?

当我将任何命令通过管道传输到 telnet 会话时会发生啥,为啥会话会关闭

http2 TCP 连接何时关闭?

我啥时候必须关闭数据库连接? (爪哇)

什么消耗更多我的电池? wifi、数据连接(3g)或gps。安卓[关闭]