AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1473252
Accepted
Number945
Number945
Asked: 2019-08-21 05:10:47 +0800 CST2019-08-21 05:10:47 +0800 CST 2019-08-21 05:10:47 +0800 CST

子网掩码 /32 是什么意思?

  • 772

我在这个问题中看到,路由表有:

192.168.1.1/32     link#4             UCS             2        0     en0
openwrt.lan        46:94:fc:63:fc:7   UHLWIir        11     3610     en0   1200
192.168.1.125/32   link#4             UCS             2        0     en0

拥有子网掩码是什么意思,/32在这种情况下,它的网络 ID 是什么?如果我们将上述视为单个主机,主机是否可以在没有网络 ID 的情况下存在?

据我所知,分配给该网络中主机的网络 ID 和 IP 地址是两个不同的东西。192.168.0.0 是一个网络 ID,如果它的子网是 255.255.255.0,那么这个网络中的主机可以是 192.168.0.1 - 192.168.0.254。在这种情况下,没有网络 ID 的主机如何存在?

联系:为什么我的子网掩码是255.255.255.255?

networking router
  • 6 6 个回答
  • 157550 Views

6 个回答

  • Voted
  1. Worthwelle
    2019-08-21T05:38:13+08:002019-08-21T05:38:13+08:00

    /32寻址

    一般来说,/32这意味着网络只有一个 IPv4 地址,所有流量都将直接在具有该 IPv4 地址的设备和默认网关之间传输。该设备将无法与本地子网上的其他设备通信。

    据我所知,这有几个可能的原因。它可能是:

    • 服务于多个站点的网络服务器,每个站点都绑定到特定的 IPv4 地址
    • 用于测试的环回地址。
    • 一个网络安全花招:将带有 /32 网络掩码的机器与子网上的其他系统隔离开来。这仅允许流量流向由系统上的静态路由明确定义的目的地。例如,这可用于停用系统。

    网络 ID

    IP 地址的网络 ID部分由子网掩码确定。例如:

    • IPv4 网络的/24子网掩码为1111.1111.1111.0000,这意味着前 3 个八位字节是网络 ID,最后一个八位字节用于分配主机 ID(256 个可用 ID,但通常保留一些)。
    • IPv4 网络的/16子网掩码为1111.1111.0000.0000,这意味着前 2 个八位字节是网络 ID,最后一个八位字节用于分配主机 ID(65536 个可用 ID,但通常保留一些)。

    在 的情况下/32,这不适用,因为地址既是网络 ID 又是主机 ID。/31地址也是所有主机 ID,没有保留的第 0 个地址。

    • 48
  2. Best Answer
    Gordon Davisson
    2019-08-21T09:52:02+08:002019-08-21T09:52:02+08:00

    这里有点混乱;/32 不是指任何(子)网络的大小,而是指特定路由表条目适用的地址范围。通常两者是相同的(因为您将网络或子网作为一个单元进行路由,对吗?),但 macOS 对同一本地网络上的其他主机的处理方式略有不同。让我在你引用的那些之前添加一些行:

    Destination        Gateway            Flags        Refs      Use   Netif Expire
    default            openwrt.lan        UGSc           10        0     en0
    ...
    192.168.1          link#4             UCS             2        0     en0
    192.168.1.1/32     link#4             UCS             2        0     en0
    openwrt.lan        46:94:fc:63:fc:7   UHLWIir        11     3610     en0   1200
    192.168.1.125/32   link#4             UCS             2        0     en0
    

    请注意,192.168.1(192.168.1.0/24 的缩写)通过 en0(也称为 link#4)路由;不是通过任何网关,而是通过接口本身。这是 Mac 本身所在的网络。192.168.1.1 和 192.168.1.125 都是该网络范围内的特定地址。如果将那些 /32 条目与 192.168.1 条目进行比较,它们基本上是重复的;他们说同样的话,只是关于特定地址而不是整个网络范围。

    我不知道为什么 macOS 会创建这些冗余的特定于地址的条目,但这可能与您在上面的清单中看到的另一件事有关:macOS 在路由表中列出了它的 ARP 表条目。上面的“openwrt.lan”条目(我很确定实际上是 192.168.1.1,只是按名称而不是数字列出)表示它通过 en0 路由到 MAC 地址 46:94:fc:63:fc:7 .

    因此,您在路由列表中看到的是实际网络路由(如“默认”和 192.168.1 条目)和每个主机条目(/32 和 MAC-targeted 条目)的混合。

    • 30
  3. ron
    2019-08-21T05:36:36+08:002019-08-21T05:36:36+08:00

    最简单的事情是网络搜索和阅读与subnet mask和subnet mask binary shorthand和相关的文章CIDR

    也退房subnet calculators

    the/32是 CIDR(简写),指的是子网掩码中有多少个 1。因为/32那是255.255.255.255 或11111111.11111111.11111111.1111111

    这意味着在需要网关/路由器离开该网络之前,您的网络上只能有一个 IP 地址。/32 就是你。 子网掩码是定义网络中可用 IP 地址范围的数字

    CIDR = 无类域间路由

    使用 /32 是什么意思:我不认为这是一个无效的设置,但是它有效地关闭了网络...或者将网络限制为只有您...如果您没有网关,您只能自言自语设置为到达该网络掩码之外。

    它的网络 ID 是什么:我假设你的意思是 ip 地址是什么,ip 地址将是你设置的任何内容。IP 地址和子网掩码(这是您正在处理的)是两个不同但相关的事物。

    主机可以没有网络 ID [IP 地址吗?]:没有名字和姓氏或没有地址可以存在吗?是的,主机可以存在。有点需要更好地定义你所说的存在的意思。

    • 5
  4. recanavar
    2019-08-22T01:10:14+08:002019-08-22T01:10:14+08:00

    它只是 CIDR 值。您可以在此处了解有关 CIDR 的更多信息。

    TL;博士

    一个 CIDR 网络地址在 IPv4 下看起来像这样:

    192.30.250.00/18

    “192.30.250.0”是网络地址本身,“18”表示前 18 位是地址的网络部分,最后 14 位用于特定主机地址。 子网掩码

    • 5
  5. cjs
    2019-08-21T23:13:20+08:002019-08-21T23:13:20+08:00

    您正在查看的不是子网掩码。它们表示路由表¹ 前缀的长度。

    路由表的简单实现会列出每个可能的 IP 地址,这样,在给定任何 IP 地址的情况下,您都可以查找确切的 IP 地址并取回与其关联的路由信息​​²。

    显然需要某种压缩。路由信息的本质是相邻的地址很可能使用相同的信息,因此我们可以使用一种基数树的形式将它们压缩在一起。在这里,简要说明它是如何工作的。

    给定数字 0-7,我们可以用二进制表示它们:

    0   000
    1   001
    2   010
    3   011
    4   100
    5   101
    6   110
    7   111
    

    现在,如果我们有两个路由表条目,一个用于地址 0 和 1,另一个用于地址 2 和 3,我们可以将它们存储在它们共享的二进制前缀下。如果我们使用 a.来指示前缀末尾后的“未使用”位,00.则范围为 0-1 和 01.范围 2-3。

    表示这一点的标准方法是使用范围中的最小数字,后跟前缀的长度;在这种情况下,这些将0/2用于范围 0-1 和2/2范围 2-3。

    但是如果我们要查找地址 6 的路由信息​​会怎样呢?通常我们会添加一组带有前缀的“默认”路由信息0/0,即匹配任何位,然后当我们搜索时我们寻找最具体的信息,即我们可以找到的最长匹配前缀。所以我们刚刚描述的完整路由表是:

    0/2     00.     Matches addresses 1 and 2.
    2/2     01.     Matches addresses 3 and 4.
    0/0     ...     Matches any address.
    

    子网掩码也可以用前缀来描述,所以经常使用这种方案。但请记住,仅仅因为此方案可用于描述子网并不意味着它仅用于描述子网。

    作为路由表前缀不是子网的示例,您可以将两个网络接口连接到同一网络,例如 192.168.2.0/24。(这可以通过将两个单独的网卡连接到同一个交换机来实现,每个网卡都有自己的电缆。)然后您可以设置路由表以使用两个路由表条目“平衡”两个接口之间的传出流量:

    192.168.2.0/25      eth0        # range ...2.0   to ...2.127
    192.168.2.128/25    eth1        # range ...2.128 to ...2.255
    

    这会将发往该网络上地址 0-127 的数据包发送出去eth0,但发送发往该网络上地址 128-255 的数据包eth1。这是一种糟糕的做法(出于我不会在这里讨论的原因),但演示了路由前缀和网络地址可能如何不匹配。


    ¹不幸的是,关于路由表的维基百科文章说前缀字段包含“网络 ID”。虽然这在路由表的某些特定实现中可能是正确的,但在一般情况下它并不总是网络 ID,如您提供的示例和本答案后面的示例所示。

    ²此路由信息通常包括诸如要使用的接口、在该接口上联系的路由器(如果有)、主机的 MAC 地址(对于可通过该接口直接访问的主机)、我们应该在数据包中放置的源地址(如果主机)有多个源地址、安全信息等。那里可能有各种各样的数据,但对于本次讨论而言,这些都不重要,因为我们只是在谈论如何为给定地址查找正确的数据集,而不是数据集中的内容本身.

    • 2
  6. Ahmad Kakar
    2021-01-01T06:46:59+08:002021-01-01T06:46:59+08:00

    还有另一个用例,如果您熟悉 Cisco SD-Access(软件定义的访问)。每个边缘交换机都会在其环回接口上收到一个 /32 地址,并被视为特殊主机。

    • -1

相关问题

  • 用户使用 FileZilla 连接到 SFTP 服务器拒绝连接

  • NAT 后面的 NAT 如何工作(路由器的 NAT 和 ISP 的 NAT)?

  • Win10 1803:如何让移动热点成为专用网络?

  • nc如何识别服务名称

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    Windows 10 服务称为 AarSvc_70f961。它是什么,我该如何禁用它?

    • 2 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Marko Smith

    ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1056)

    • 4 个回答
  • Marko Smith

    我如何知道 Windows 安装在哪个驱动器上?

    • 6 个回答
  • Martin Hope
    Albin 支持结束后如何激活 WindowsXP? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 “HTTPS Everywhere”仍然相关吗? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch Windows 10 删除大量小文件的速度非常慢。有什么办法可以加快速度吗? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Ctrl+C 和 Ctrl+V 是如何工作的? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve