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)和多家运营商上重现 似乎在某些地方没有发生 似乎发生在其他位置,尤其是当我看到数据速度指示器在3G
、H
和H+
(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 会发生啥?