Android IP流量路由 - WiFi上的蜂窝IP?

时间:2014-09-02 19:24:20

标签: android linux routing ip wifi

在使用Wireshark从Android手机捕获一些流量时,我发现了一个奇怪的副作用。在与WiFi建立新的网络连接后不久,似乎有一些数据包会泄漏"在WiFi接口上保留Cellular IP源地址。这通常不会持续很长时间,似乎这些连接很快就会被新的WiFi IP地址停止并重新启动。

是什么导致这种影响?路由交换机是否将数据包重定向到新接口,但允许它们保留旧地址?在这种情况下,应用程序会看到什么样的错误?

1 个答案:

答案 0 :(得分:0)

IP数据包在一个层创建,而路由它们在较低层完成。当蜂窝网接口"关闭并且路由表更新,所有未发往本地子网的数据包将被发送到"默认网关"。由于该网关可通过WiFi接口访问,因此即可发送数据包。路由仅基于目标地址而非源地址发生。

如果没有防火墙或路由器丢弃它们(实际上很可能是有状态路由器和受保护网络的这一天),那些数据包仍然会到达目的地但是回复数据包将被定向到不再有的蜂窝提供商与手机的连接因此被丢弃或导致ICMP"主机无法访问"消息回到服务器。

手机上的应用程序没有看到任何错误,只是没有回复。但是,应用程序可以注意到系统上的其他行为;例如,OS 可以使用封闭接口的IP地址为所有连接自动生成重置(RST)数据包。

TCP连接在打开时无法更改网络地址或端口,目标来源。必须关闭(或重置)并启动新连接。