我是网络世界的新手。我知道除非中间有路由器,否则无法 ping 通连接到不同子网的两台 PC。
但是,我想知道为什么我可以 ping 通www.google.com
,但不能 ping 通校园内不同子网上的 PC?显然,我 ping 的 Google 服务器和我的 PC 不在同一子网上。
有人可以帮我澄清我的概念吗?
谢谢。
答案1
造成这种情况的原因可能有以下几种:
- 您尝试 ping 的计算机没有响应。
- 如果您使用主机名,则目标的主机名将不会在 DNS 中。
- 为您的目标子网提供服务的路由器未路由 ping。
- 有一个防火墙阻止 ICMP(ping 协议)流量。
您将始终有一个(至少一个)“中间的路由器”,并且谷歌的服务器是“另一个子网上的计算机”,但是“路由器”和“计算机”都必须选择加入服务 ping 请求。
答案2
如今,大多数连接到互联网的计算机都受到防火墙的保护。在许多情况下,防火墙被配置为“丢弃”(即忽略)传入的 ping(ICMP 协议的回应请求消息)。这当然会阻止 ping 目标做出响应。
除此之外,一些网络管理员甚至会在边界(即互联网连接接入站点网络的路由器)丢弃回声请求。
答案3
假设您使用的是正确的子网术语,那么这是由于 NAT 造成的,看起来好像您的网络管理员已将网络 NAT 设置为能够与互联网通信,但不能与 LAN 内的其他子网通信,这很常见,因为这样做意味着额外的 NAT 规则。
否则,可能是您朋友的计算机的防火墙设置为不回复传入的 ping(ICMP 协议),甚至网络管理员出于安全原因设置为丢弃您网络上的 ICMP 数据包。