多次运行 `ping facebook.com` 不会给出相同的 IP

0 networking linux ping

我正在学习 linux 中 net 命令的一些基础知识。我试图 ping 到 facebook.com 的连接,所以我写道:

ping -c 1 facebook.com
Run Code Online (Sandbox Code Playgroud)

结果是:

PING facebook.com (157.240.14.35) 56(84) bytes of data.
64 bytes from edge-star-mini-shv-02-mia3.facebook.com (157.240.14.35): 
icmp_seq=1 ttl=128 time=50.3 ms

--- facebook.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 50.369/50.369/50.369/0.000 ms
Run Code Online (Sandbox Code Playgroud)

现在,如果我再试一次:

ping -c 1 facebook.com
Run Code Online (Sandbox Code Playgroud)

结果改变:

PING facebook.com (31.13.67.35) 56(84) bytes of data.
64 bytes from edge-star-mini-shv-01-mia3.facebook.com (31.13.67.35): 
icmp_seq=1 ttl=128 time=58.0 ms

--- facebook.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 58.077/58.077/58.077/0.000 ms
Run Code Online (Sandbox Code Playgroud)

请注意:IP 更改每个 ping 命令,为什么?服务器的IP地址原本是(第一次ping)157.240.14.35,但是当我做第二次ping时,IP是31.13.67.35. 我试过谷歌和其他网站,IP 每次都一样,但在 Facebook 上发生过?只是提高安全性还是什么?这是因为 Facebook 分发了与他们多台服务器的连接?

djs*_*ide 5

Facebook 拥有许多面向公众的 IP,而不仅仅是一个。每次您重新启动该命令时,它都会查找 facebook.com 并 ping 其获得的第一个地址。

您可以通过执行主机名查找来检查它有许多 IP 的事实。

nslookup facebook.com

每次你都会得到不同的结果。