Networking 3G塔交换上的TCP连接会发生什么变化?

Networking 3G塔交换上的TCP连接会发生什么变化?,networking,tcp,3g,Networking,Tcp,3g,在3G网络上上传数据时,我在Django的POST处理程序中随机得到IOError:request data read error。为什么Django会引发这个特殊的异常(摘要:据称发生在客户端丢弃TCP连接时)。然而,在我的例子中,我试图解决潜在的问题 从我缩小问题范围的尝试中,我发现: 无法在WiFi上复制 仅在GPRS上不可复制 可在各种类型的手机(Android和iPhone)和多个运营商上复制 在某些地方似乎没有发生 似乎发生在其他位置,尤其是当我看到数据速度指示器在3G、H和H+(

在3G网络上上传数据时,我在Django的POST处理程序中随机得到
IOError:request data read error
。为什么Django会引发这个特殊的异常(摘要:据称发生在客户端丢弃TCP连接时)。然而,在我的例子中,我试图解决潜在的问题

从我缩小问题范围的尝试中,我发现:

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

我的猜测是,那里发生的事情是交换塔。那么,当3G在塔台之间切换时,TCP连接会发生什么情况呢?

在性能良好的网络中进行切换时,TCP连接本身通常不会出现连接中断,即使发生了中断,TCP通常也会简单地退出并重试

实际上,3G网络中存在不同类型的切换,这取决于运营商接入网络中您要移动的“塔”连接到什么,以及接入节点在运营商核心网络中又连接到什么。这还取决于核心网络的配置方式-一些网络将在接入节点和核心节点之间具有一对一映射,而一些网络将允许接入节点池共享核心节点,这将降低必须在一个核心节点和另一个核心节点之间传输的可能性

以下指南很好地概述了3G网络中的切换类型:

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