如果我有一个“实时IP地址”,即一个IP地址,如果我运行服务器,任何人都可以访问该服务器。
现在让我说在网关下面有一大堆计算机,它们具有“实时IP地址”。
以下是真的吗?
如果此IP地址下的所有计算机在同一端口80上使用keep-alive
标头访问同一台Google服务器,则最大连接数可以是2 ^ 16 = 65536
我是如何得出这个数字的?
TCP / IP数据包由(src.ip,src.port,dst.ip,dst.port)标识
对于我们的情况,如果我们从服务器端看,而不是src.ip = MY LIVE IP,dst.ip = google server ip,dst.port = 80,所以我们留下了16位的src.port。
如果以上情况属实,那么:
套接字连接的最大数量也是2 ^ 16,因为每个TCP连接只能有一个套接字。这是真的吗?
答案 0 :(得分:1)
理论上,从客户端到同一服务器的最大并发连接数是否为65536.然而,IPv4地址空间不足已成为现实,ISP已开始实施A + P策略广泛的可用地址数。
A + P表示地址加端口共享。这意味着端口号的某些位用于可寻址目的。在实践中,这意味着IPv4公共地址可能由不同的客户共享,每个客户都被分配了一系列端口。这限制了每个客户的可用连接数。您的操作系统可能仍然会在0-65565之间为源端口选择一个随机数,但在某些时候,您的私有IPv4源地址和端口将在您外出之前自动进入指定的源端口范围。
这是一个先进的话题,但值得考虑。 RFC6346有更多相关信息。
答案 1 :(得分:0)
但请注意,google.com
有大量IP地址,每个客户端都会尝试,因此您需要对每个IP进行攻击。例如,我的电脑可以看到google.com
的16种不同的IP。