Browser 我的ISP上的端口80被阻塞,那么我的浏览器如何工作?

Browser 我的ISP上的端口80被阻塞,那么我的浏览器如何工作?,browser,tcp,dns,ip,Browser,Tcp,Dns,Ip,我知道,当我请求example.com时,我的浏览器实际上会对example.com失去兴趣:80。但是,我的ISP阻止80端口侦听,因此,如果端口80被阻止,我如何接收请求的响应?它不应该起作用,不是吗 但是,我的ISP阻止了80端口的监听 作为术语,您不能阻止端口侦听;我想您的意思是,您的ISP拒绝在端口80(即从世界到您的计算机)上的传入连接。但是,传出连接(从您的计算机到世界)与传入连接是分开的,这就是您在使用浏览器时使用的连接 通常只说“ISP阻止我的端口80”是可以的,但在此了解具体

我知道,当我请求example.com时,我的浏览器实际上会对example.com失去兴趣:80。但是,我的ISP阻止80端口侦听,因此,如果端口80被阻止,我如何接收请求的响应?它不应该起作用,不是吗

但是,我的ISP阻止了80端口的监听

作为术语,您不能阻止端口侦听;我想您的意思是,您的ISP拒绝在端口80(即从世界到您的计算机)上的传入连接。但是,传出连接(从您的计算机到世界)与传入连接是分开的,这就是您在使用浏览器时使用的连接


通常只说“ISP阻止我的端口80”是可以的,但在此了解具体发生了什么是很重要的。

当您发出HTTP请求(实际上,任何TCP请求)时,都会涉及两个端口。目的地上有一个端口80(在您的示例中为“example.com”),您的计算机上有一个端口;此端口称为“源端口”,因为您的计算机是请求的源


通常,您的计算机会随机选择超过1000的端口号(例如,3135或45978),因为编号较低的端口很容易记住(并被阻止),并且通常用于托管服务(例如端口80上的网站)。因为源端口是由您的计算机创建的,目的是在端口80上与example.com通信,所以它不会打开很长时间(只需要足够长的时间来完成它的工作)。这些港口有时被称为“临时港口”;请参见

但当TCP协议启动时,会出现握手。我首先在端口80上启动与SYN的连接。之后,服务器像ping(ACK)一样发送到我的internet连接的IP:80。如果我的ISP阻止端口80,该请求(PING)如何返回到我的浏览器?否,当您创建传出连接时,您将随机本地端口(例如20385)与远程端口80连接。因此,传入的数据包通过了,因为它们的目标是20385,而不是80。对不起,你错了。我可以在SYN中欺骗我的IP,因此服务器必须确保我是IP的所有者。因此,Web服务器将使用端口80启动到请求初始连接的IP的新连接。我不知道Web服务器发出的这个请求是如何到达我的浏览器的,因为如果我尝试打开我的_IP:80,没有打开任何东西(当然,端口80被阻止)。同样,没有。TCP连接只涉及两个端口:你连接的远程端口和随机本地端口。您可能会想到,它可能由远程服务器启动,也可能不由远程服务器启动,与端口80无关(发生在113上),并且不是TCP协议的一部分。非常感谢!现在它变得更有意义了!但是,在Wiki中的TCP协议中,在第一个请求(SYN)中没有指示Web服务器必须发送ACK的端口的片段。那么Web服务器如何知道它必须连接哪个随机端口才能发送ACK呢?起始端口和目标端口都在中。在TCP报头中,前16位是源端口,后16位是目标端口。该信息存在于所有TCP数据包中。见: