我记得当我通过电话线和56kbps调制解调器连接到Internet时,更改ISP就像更改调制解调器拨打的电话号码一样简单。

我记得我的IP地址会每1分钟更改一次,而不会中断连接。但是我也记得通过HTTP下载大文件,有时下载需要几个小时才能完成。

在这种情况下,TCP连接如何保持打开状态,而IP地址却频繁变化?英国,所以现在所有的都是光纤和静态IP,我想知道世界上其他地方是否仍然依赖这种技术。

评论

使用拨号上网时,您的IP地址实际上每分钟更改一次吗?应该在呼叫接通并且PPP(或任何协议)与ISP连接并分配了地址时确定地址分配。仅当会话以某种方式中断时,IP才应该更改。

@cpt_fink好点,也许我记不清了,很久以前了。

PPP IPCP每个会话仅发生一次,因此,除非您的PPP连接每分钟重置一次,否则您的地址不会更改。您的运营商的NAT设置可能使任何外部观察者都可以看到它。

#1 楼

TCP连接无法通过更改的IP保持打开状态,因为连接是由源IP +端口和目标IP +端口定义的。如果其中一项发生更改,那么您将不再具有相同的连接。

如果在ISP的IP发生更改时需要保持连接,则不应将此IP用作传出地址,而是建立了到外部某些VPN服务器的隧道。即使从ISP获得的IP发生更改,VPN也会为您提供恒定的IP。另一个选择是编写您的应用程序,以便它注意到IP的更改并重新连接并恢复流量。

#2 楼

TCP是使用流套接字的面向连接的协议。它由两个端点的IP地址和端口号绑定。在面向连接的协议中,在交换数据之前在对等方之间建立逻辑通道。因此,如果IP地址正在更改,则必须断开现有连接并重新建立连接,这显然会造成破坏。

如果为订户配置了静态IP地址或动态IP地址的计划,则每次重新启动时IP地址都可能会更改。

IP地址当连接打开时,更改不是首选,因为考虑到更高级别的协议(如TCP)将被关闭,这会造成破坏。当移动台在不同的PDN之间移动时,可能会发生这种情况。为了克服这个问题,基于3GPP的网络使用GTP或移动IP。

GTP(GPRS隧道协议)确保通过隧道传输数据,从而保留相同的IP地址。

移动IP允许使用CoA(地址维护)来进行数据的位置独立路由,该地址使用PGW作为本地代理(HA),而SGW作为外部代理(FA)。在这里,FA将特定于移动设备的CoA提供给HA,以便可以将数据包转发到移动位置的正确目的地。

#3 楼

目前无法使用香草TCP。

但是:正在开发一种名为“多路径TCP”的明确目标是“将TCP与IP分离”。


https://zh.wikipedia.org/wiki/Multipath_TCP
http://multipath-tcp.org/
如果您真的很好奇:以下是185页的演示文稿:http ://multipath-tcp.org/data/MultipathTCP-netsys.pdf



#4 楼

Steffen Ullrich已经阐明了TCP连接会发生什么情况。我也想回答您的问题。

由于IPv4地址耗尽,世界各地许多ISP仍依赖IP租约。每分钟更改一次是不现实的,但通常每24小时更改一次。原因仅仅是因为它们没有足够的地址来为每个客户端提供专用的IP。在可预见的将来,这种情况将随着具有足够地址的IPv6而改变。

评论


“由于IPv4地址耗尽,世界上许多ISP仍然依赖IP租约。每分钟更改一次是不现实的,但通常每24小时更改一次。”对于住宅/家庭网络而言,这是正确的,但此处不存在问题,但企业网络不应出现此问题。

–罗恩·莫潘♦
20 Dec 20'2:21