Linux 网络掩码对于公共IP意味着什么?

Linux 网络掩码对于公共IP意味着什么?,linux,networking,vps,digital-ocean,Linux,Networking,Vps,Digital Ocean,我了解网络掩码的工作原理-它们用于提取IP地址的网络部分,因此用于定义网络 当我在digitalocean上创建一个新的液滴时,我获得了该液滴的公共IP,可用于访问服务器。但我不明白我得到的网络掩码对我的公共IP意味着什么 我的困惑是: 我只从digitalocean租了一台电脑,没有网络,那么网络掩码应该是255.255.255.255 当用户在我的站点上查看内容时,或者当我使用ssh登录我的droplet时,我们只需要输入公共IP地址,而不需要输入网络掩码。并且前提是通过在路由器之间进行“跳

我了解网络掩码的工作原理-它们用于提取IP地址的网络部分,因此用于定义网络

当我在digitalocean上创建一个新的液滴时,我获得了该液滴的公共IP,可用于访问服务器。但我不明白我得到的网络掩码对我的公共IP意味着什么

我的困惑是:

  • 我只从digitalocean租了一台电脑,没有网络,那么网络掩码应该是255.255.255.255

  • 当用户在我的站点上查看内容时,或者当我使用ssh登录我的droplet时,我们只需要输入公共IP地址,而不需要输入网络掩码。并且前提是通过在路由器之间进行“跳跃”来传输数据包。如果没有提供网络掩码,路由器如何决定下一跳是什么(需要网络掩码来查找路由表)


  • 谢谢你看这个问题。这件事我想了好几天了。。但仍然无法理解。

    路由器根据IP数据包头中的目标IP地址进行路由。此IP地址没有掩码。路由器将在其路由表中查找与IP地址最接近的前缀,并按照路由表条目的方向发送数据包

    可以在路由器中配置默认前缀(
    0.0.0.0/0
    ),该前缀将匹配任何IP地址,但掩码长度(
    0
    )将是最短匹配,因此默认前缀将用作最后手段


    如果路由器没有找到与IP地址匹配的前缀或默认前缀,数据包将被丢弃。

    Ron,谢谢你的回答,那么为什么公共IP需要网络掩码?公用IP不是已经唯一了吗?在任何特定的主机上,您都有一个IP地址和网络掩码,以便主机知道目的地何时不在同一网络上,从而可以将包含数据包的帧发送到已配置网关的MAC地址,而不是在同一网络上查找与IP地址关联的MAC地址。