【华为HCIA路由交换认证指南】第三章 IP地址和子网划分

文章目录

  • [1. 什么是十进制 (Decimal)?](#1. 什么是十进制 (Decimal)?)
  • [2. 什么是二进制 (Binary)?](#2. 什么是二进制 (Binary)?)
  • [3. 如何进行转换?](#3. 如何进行转换?)
    • [🚀 (A) 二进制 转换到 十进制](#🚀 (A) 二进制 转换到 十进制)
    • [🚀 (B) 十进制 转换到 二进制](#🚀 (B) 十进制 转换到 二进制)
  • [4. 什么是 MAC 地址 (物理地址)?](#4. 什么是 MAC 地址 (物理地址)?)
  • [5. 什么是 IP 地址 (逻辑地址)?](#5. 什么是 IP 地址 (逻辑地址)?)
  • [6. IP 地址的组成与格式 (以 IPv4 为例)](#6. IP 地址的组成与格式 (以 IPv4 为例))
  • [7. 什么是子网掩码 (Subnet Mask)?](#7. 什么是子网掩码 (Subnet Mask)?)
    • [(A) 子网掩码的表现形式](#(A) 子网掩码的表现形式)
    • [(B) 子网掩码的作用](#(B) 子网掩码的作用)
  • [8. 什么是网关 (Gateway)?](#8. 什么是网关 (Gateway)?)
  • [9. 什么是 IPv6?](#9. 什么是 IPv6?)
    • [(A) 为什么需要 IPv6?](#(A) 为什么需要 IPv6?)
    • [(B) IPv6 的特点与格式](#(B) IPv6 的特点与格式)
    • [(C) IPv6 的主要优点](#(C) IPv6 的主要优点)
  • [10. 传统的 IP 地址分类 (Classful Addressing)](#10. 传统的 IP 地址分类 (Classful Addressing))
  • [11. 公网地址 (Public IP) vs. 私网地址 (Private IP)](#11. 公网地址 (Public IP) vs. 私网地址 (Private IP))
    • [(A) 公网地址 (Public IP)](#(A) 公网地址 (Public IP))
    • [(B) 私网地址 (Private IP)](#(B) 私网地址 (Private IP))
  • [12. 特殊 IP 地址](#12. 特殊 IP 地址)
  • [13. 为什么需要子网划分?](#13. 为什么需要子网划分?)
  • [14. 什么是等长子网划分 (FLSM)?](#14. 什么是等长子网划分 (FLSM)?)
  • [15. 什么是变长子网划分 (VLSM)?](#15. 什么是变长子网划分 (VLSM)?)
  • [16. 点到点 (P2P) 网络的子网掩码](#16. 点到点 (P2P) 网络的子网掩码)
  • [17. 如何判断 IP 地址所属的网段?](#17. 如何判断 IP 地址所属的网段?)
    • [`10001100 (140) & 11000000 (192)](#`10001100 (140) & 11000000 (192))
  • [17. 合并网段的方法(路由聚合)](#17. 合并网段的方法(路由聚合))
    • [`00000000 00000001 00000010 00000011](#`00000000 00000001 00000010 00000011)
  • [18. 合并网段的规律](#18. 合并网段的规律)
  • [19. 如何判断一个网段是超网还是子网?](#19. 如何判断一个网段是超网还是子网?)

1. 什么是十进制 (Decimal)?


十进制就是我们日常生活中最熟悉的计数系统,它基于数字 10。

  • 基数 (Base): 10
  • 可用数字: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (共10个)
  • 规则: "逢十进一"。
  • 位权 (Positional Value): 每一位的值等于该位的数字乘以 10 的 n 次方(n从右往左,从 0 开始)。

示例:

以数字 145 为例:

145 = ( 1 × 10 2 ) + ( 4 × 10 1 ) + ( 5 × 10 0 ) 145 = (1 \times 10^2) + (4 \times 10^1) + (5 \times 10^0) 145=(1×102)+(4×101)+(5×100)

145 = ( 1 × 100 ) + ( 4 × 10 ) + ( 5 × 1 ) 145 = (1 \times 100) + (4 \times 10) + (5 \times 1) 145=(1×100)+(4×10)+(5×1)

145 = 100 + 40 + 5 145 = 100 + 40 + 5 145=100+40+5


2. 什么是二进制 (Binary)?

二进制是计算机世界的基础。计算机的电路只有两种状态:开(通电)和关(断电),正好对应二进制中的 1 和 0。

  • 基数 (Base): 2
  • 可用数字: 0, 1 (共2个)
  • 规则: "逢二进一"。
  • 位权 (Positional Value): 每一位的值等于该位的数字乘以 2 的 n 次方。n 从右往左,从 0 开始。

示例:

以二进制数 1011 2 1011_2 10112 为例 (下标的 2 表示这是二进制数):

1011 2 = ( 1 × 2 3 ) + ( 0 × 2 2 ) + ( 1 × 2 1 ) + ( 1 × 2 0 ) 1011_2 = (1 \times 2^3) + (0 \times 2^2) + (1 \times 2^1) + (1 \times 2^0) 10112=(1×23)+(0×22)+(1×21)+(1×20)

1011 2 = ( 1 × 8 ) + ( 0 × 4 ) + ( 1 × 2 ) + ( 1 × 1 ) 1011_2 = (1 \times 8) + (0 \times 4) + (1 \times 2) + (1 \times 1) 10112=(1×8)+(0×4)+(1×2)+(1×1)

1011 2 = 8 + 0 + 2 + 1 = 11 ( 十进制 ) 1011_2 = 8 + 0 + 2 + 1 = 11 (十进制) 10112=8+0+2+1=11(十进制)


3. 如何进行转换?

🚀 (A) 二进制 转换到 十进制

方法:按权相加法

这和上面解释二进制时的示例一样:把二进制数的每一位,乘以它对应的 2 的 n n n 次方(位权),然后把所有结果加起来。

示例:将 11010 2 11010_2 110102 转换为十进制

🚀 (B) 十进制 转换到 二进制

方法:除2取余法 (短除法)

这是最系统的方法:将十进制数不断地除以 2,记录下每次的余数,直到商变为 0。最后,将所有余数倒序排列,得到的就是二进制数。

示例:将 43 (十进制) 转换为二进制

  1. 执行短除法:

    • 43 ÷ 2 = 21. 43 \div 2 = 21 . 43÷2=21.... 余 1 (这是最低位)
    • 21 ÷ 2 = 10 21 \div 2 = 10 21÷2=10 ... 余 1
    • 10 ÷ 2 = 5 10 \div 2 = 5 10÷2=5... 余 0
    • 5 ÷ 2 = 2 5 \div 2 = 2 5÷2=2 ... 余 1
    • 2 ÷ 2 = 1 2 \div 2 = 1 2÷2=1 ... 余 0
    • 1 ÷ 2 = 0 1 \div 2 = 0 1÷2=0 ... 余 1 (这是最高位)
  2. 倒序读取余数:

    从下往上读取所有余数:101011

所以,43 (十进制) 等于 101011 (二进制)。

4. 什么是 MAC 地址 (物理地址)?

  • 全称: Media Access Control Address (媒体访问控制地址)。
  • 作用:局域网 (LAN) 内部(例如你家里的所有设备连到同一个路由器)实现设备之间的通信。它工作在数据链路层(OSI 模型的第2层)。
  • 唯一性: 全球唯一。它在设备(主要是网卡,NIC)生产时就被"烧录"进硬件里了。
  • 格式:
    • 它是一个 48 位 (6 字节) 的数字。
    • 通常表示为 6 组两位数的十六进制 数,用冒号 (:) 或短横线 () 分隔。
    • 示例: 00:1A:2B:3C:4D:5E00-1A-2B-3C-4D-5E
  • 类比: 设备的身份证号。无论你走到哪里,你的身份证号都不会变。

5. 什么是 IP 地址 (逻辑地址)?

  • 全称: Internet Protocol Address (互联网协议地址)。
  • 作用:广域网 (WAN) 或整个互联网上定位一台设备,并允许网络之间(例如你家和谷歌的服务器)的数据路由。它工作在网络层(OSI 模型的第3层)。
  • 唯一性:同一个网络中 是唯一的,但在全球范围内不一定(例如,你家的 192.168.1.100 和我家的 192.168.1.100 是不同的,这被称为"私有地址")。
  • 分配: 它可以是动态的 (由网络中的 DHCP 服务器,比如你的路由器,自动分配)或静态的(手动设置)。
  • 类比: 你的快递收货地址。如果你搬家了(连接到新网络),你会得到一个新的地址。

6. IP 地址的组成与格式 (以 IPv4 为例)

目前最常用的是 IPv4 (Internet Protocol version 4)。

  • 本质: IPv4 地址本质上是一个 32 位 的二进制数

    • 例如:11000000.10101000.00000001.01100100
  • 格式 (表现形式):

    • 为了方便人类阅读,这 32 位被分成了 4 个部分,每个部分 8 位(称为一个字节)。
    • 每个 8 位的二进制数被转换成一个十进制数(范围是 0-255)。
    • 这 4 个十进制数之间用点 (.) 隔开。这就是我们熟知的"点分十进制"表示法。
    • 示例: 上面的二进制 11000000.10101000.00000001.01100100
      • 11000000 = 192
      • 10101000 = 168
      • 00000001 = 1
      • 01100100 = 100
    • 所以,它对应的 IP 地址就是:192.168.1.100
  • 组成 (逻辑结构):

    一个 IP 地址在逻辑上被分为两个部分:

    1. 网络ID (Network ID): 标识设备所在的网络(像街道名称)。
    2. 主机ID (Host ID): 标识该网络中的特定设备(像门牌号码)。

关键问题: 看到 192.168.1.100,我们怎么知道哪部分是"网络ID",哪部分是"主机ID"呢?

答案就是:子网掩码 (Subnet Mask)


7. 什么是子网掩码 (Subnet Mask)?

子网掩码是用来"切割" IP 地址的尺子或过滤器。

(A) 子网掩码的表现形式

子网掩码的格式和 IP 地址一样,也是一个 32 位的二进制数,也用点分十进制表示。

它有两种常见的表示方法:

  1. 点分十进制法:

    • 它由一串连续的 1 和一串连续的 0 组成(在二进制下)。
    • 示例 1: 255.255.255.0
      • 二进制:11111111.11111111.11111111.00000000
    • 示例 2: 255.255.0.0
      • 二进制:11111111.11111111.00000000.00000000
  2. CIDR (无类别域间路由) 表示法:

    • 这是一种更现代、更简洁的表示法。
    • 它在 IP 地址后面加上一个斜杠 (/) 和一个数字。
    • 这个数字代表子网掩码中二进制 1 的个数
    • 示例 1: 255.255.255.0 (有 24 个 1) 等价于 /24
    • 示例 2: 255.255.0.0 (有 16 个 1) 等价于 /16

    所以,192.168.1.100 配合 255.255.255.0 的掩码,也可以写成 192.168.1.100/24

(B) 子网掩码的作用

子网掩码的唯一作用,就是告诉计算机:一个 IP 地址中,哪几位是"网络ID",哪几位是"主机ID"。

  • 规则:
    • 在子网掩码的二进制中,所有 1 对应的 IP 地址位是网络ID
    • 在子网掩码的二进制中,所有 0 对应的 IP 地址位是主机ID

我们来看一个完整的例子:

  • IP 地址: 192.168.1.100
  • 子网掩码: 255.255.255.0 (或 /24)
  1. 将两者都转换为二进制:

    • IP: 11000000.10101000.00000001.01100100
    • Mask: 11111111.11111111.11111111.00000000
  2. 进行"与" (AND) 运算(或者说,用掩码过滤):

    • 掩码是 1 的部分 (前 24 位) 被保留下来,代表网络ID:

      11000000.10101000.00000001 (即 192.168.1)

    • 掩码是 0 的部分 (后 8 位) 被识别,代表主机ID:

      01100100 (即 100)

  3. 得出结论:

    • 网络ID (街道): 192.168.1.0 (主机位全为0时,代表这个网络本身)
    • 主机ID (门牌号): 100
    • 广播地址 (向整条街喊话): 192.168.1.255 (主机位全为1时)

为什么这很重要?

计算机通过这个计算来决定如何发送数据包:

当这台 192.168.1.100 电脑要发送数据给 192.168.1.200 时:

  1. 它用自己的子网掩码 /24 计算出目标 192.168.1.200 的网络ID 也是 192.168.1

  2. 结论: "目标和我在同一个局域网(同一条街)!"

  3. 行动: 电脑会直接在局域网内通过 MAC 地址 找到 192.168.1.200 并发送数据。
    当它要发送数据给 8.8.8.8 (谷歌的 DNS) 时:

  4. 它用子网掩码 /24 计算出目标 8.8.8.8 的网络ID 是 8.8.8

  5. 结论: "目标和我的网络 192.168.1 不一样,它在远程网络(别的城市)!"

  6. 行动: 电脑会将数据包发送给它的"网关 (Gateway) "(通常是你的路由器 192.168.1.1),由路由器负责把数据包转发到互联网上。


总结

特性 MAC 地址 IP 地址 (IPv4) 子网掩码
比喻 身份证号 快递地址 邮政编码 / 街道规则
格式 48位十六进制 (如 00:1A:..) 32位点分十进制 (如 192.168.1.100) 32位点分十进制 (如 255.255.255.0)
用途 局域网内设备通信 (L2) 全局网络间路由 (L3) 划分 IP 地址的网络ID和主机ID
谁分配 硬件制造商 (固定) 网络管理员 / DHCP (可变) 网络管理员 (定义网络结构)
唯一性 全球唯一 网络内唯一 -

8. 什么是网关 (Gateway)?

您可以把网关想象成您家里(局域网)的大门。

  • 核心作用: 网关是一个网络设备(通常是您的路由器),它充当连接两个不同网络 的出口和入口。最常见的例子就是连接您家里的局域网 (LAN)互联网 (WAN)
  • 工作原理(接续上个例子):
    • 记得我们之前讨论过,您的电脑(例如 192.168.1.100)如何判断数据是发给"邻居"(局域网)还是"远方城市"(互联网)吗?
    • 当它通过子网掩码计算出目标地址(如 8.8.8.8)不在本地网络时,它不会尝试直接发送。
    • 相反,它会把这个数据包"扔"给它被设定好的"默认网关"。
    • 在您家里,这个默认网关的地址通常是 192.168.1.1192.168.0.1------这正是您路由器的管理地址。
  • 总结:
    • 设备在局域网内通信(邻居):MAC 地址直接对话。
    • 设备要访问互联网(远方): 必须先把数据包发给网关(路由器),由网关负责将数据包转发出去。

9. 什么是 IPv6?

IPv6 (Internet Protocol version 6) 是下一代互联网协议,它的出现主要是为了解决 IPv4 地址即将耗尽的问题。

(A) 为什么需要 IPv6?

  • IPv4 的局限: IPv4 使用 32 位地址(如 192.168.1.100),它最多只能提供约 43 亿 ( 2 32 2^{32} 232) 个地址。
  • 地址耗尽: 随着智能手机、物联网 (IoT) 设备、智能家居等的爆炸式增长,43 亿个地址早已不够用。
  • NAT 的妥协: 我们目前依赖一种叫做 NAT(网络地址转换)的技术。您的路由器(网关)用一个公共 IP 地址,让您家里的所有设备(私有 IP 地址)共享上网。但这只是一个"续命"的妥协方案,它破坏了网络的端到端连接。

(B) IPv6 的特点与格式

  1. 极大的地址空间 (核心优势):

    • IPv6 使用 128 位 (bit) 地址。
    • 这能提供 2 128 2^{128} 2128个地址------这个数字极其庞大,大约是 3.4 × 10 38 3.4 \times 10^{38} 3.4×1038。
    • 这个数量足以让地球上每一粒沙子都分配到一个 IP 地址,彻底解决了地址短缺问题。
  2. IPv6 地址的格式:

    • 表示法: 它不再使用点分十进制,而是使用冒号十六进制
    • 结构: 128 位被分成 8 组,每组 16 位(用 4 个十六进制数表示),组与组之间用冒号 (:) 分隔。
    • 完整示例: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
  3. 格式简化规则 (重要):

    由于完整地址太长,IPv6 有两个简化书写规则:

    • 规则 1:省略前导零 (Leading Zeros)
      • 每一组 (16位) 中,前面的 0 可以省略。
      • 例如:0db8 变为 db8
      • 例如:0000 变为 0
      • 2001:0db8:85a3:0000:0000:8a2e:0370:7334
      • 简化后:2001:db8:85a3:0:0:8a2e:370:7334
    • 规则 2:压缩连续的零 (Double Colon)
      • 如果有多组连续的 0,可以用双冒号 :: 来代替。
      • 注意: 为了避免歧义,:: 在一个地址中只能使用一次
      • 基于上例:2001:db8:85a3:0:0:8a2e:370:7334
      • 0:0 这两组可以压缩
      • 最终简化为:2001:db8:85a3::8a2e:370:7334

© IPv6 的主要优点

  1. 海量地址空间: 根本上解决地址不足的问题。
  2. 无需 NAT: 每个设备都可以拥有一个全球唯一的"公网" IP 地址,实现了真正的端到端连接,这对于 P2P、物联网和实时通信非常有利。
  3. 更高安全性: IPv6 在设计时就原生支持 IPsec(一种加密和身份验证协议),而 IPv4 中 IPsec 只是可选的。
  4. 更高效的路由: IPv6 简化了数据包的头部 (Header) 结构,减轻了路由器(网关)的处理负担,理论上路由效率更高。
  5. 自动配置 (SLAAC): 设备可以不依赖 DHCP 服务器(如路由器)就自动为自己配置一个可用的 IP 地址,简化了网络管理。

总结对比:IPv4 vs IPv6

特性 IPv4 IPv6
地址长度 32 位 (bit) 128 位 (bit)
地址总量 约 43 亿 约 3.4 × 10 38 3.4 \times 10^{38} 3.4×1038 (几乎无限)
表示格式 点分十进制 (如 192.168.1.1) 冒号十六进制 (如 2001:db8::1)
地址配置 手动, 或 DHCP 自动配置 (SLAAC), 或 DHCPv6
NAT 依赖 高度依赖 不需要 NAT
安全性 IPsec (可选) IPsec (原生内置)
头部结构 较复杂,包含校验和 简化,无校验和,处理更快

10. 传统的 IP 地址分类 (Classful Addressing)

在早期,为了方便地划分不同规模的网络,IPv4 地址被分为了 A, B, C, D, E 五类。这个分类是根据地址的第一个字节 (Octet) 的值来决定的。

背景知识: 这种分类方式现在已不常用,已被更灵活的 CIDR(在子网掩码中提到的 /24 这种)所取代,但了解它有助于理解 IP 地址的历史和结构。

类别 第一个字节范围 默认子网掩码 二进制前缀 主要用途 网络/主机划分
A 类 1 - 126 255.0.0.0 (/8) 0xxx... 超大型网络(如国家、巨型企业) 网络.主机.主机.主机
B 类 128 - 191 255.255.0.0 (/16) 10xx... 大型至中型网络(如大型企业、大学) 网络.网络.主机.主机
C 类 192 - 223 255.255.255.0 (/24) 110x... 中小型网络(如小型企业、家庭网络) 网络.网络.网络.主机
D 类 224 - 239 不适用 1110... 多播 (Multicast)(用于一对多的通信) 不划分
E 类 240 - 255 不适用 1111... 保留(用于未来或实验性研究) 不划分

注意:

  • 127.x.x.x 地址段被跳过了,因为它被保留用于一个非常特殊的用途(见下文)。
  • A类 网络数量少(126个),但每个网络能容纳的主机极多(约1677万个)。
  • C类 网络数量多(约209万个),但每个网络能容纳的主机较少(254个)。

11. 公网地址 (Public IP) vs. 私网地址 (Private IP)

这是现代网络中最重要的一个分类概念。

(A) 公网地址 (Public IP)

  • 定义:互联网全球唯一可以直接访问的地址。
  • 分配: 由 ISP(互联网服务提供商,如中国电信、中国联通)分配给您的路由器或服务器。
  • 作用: 就像您在互联网上的"门牌号",全球的设备都可以通过这个地址找到您(除非有防火墙阻挡)。
  • 范围: 除去下面提到的私网地址和特殊地址之外的所有 A、B、C 类地址。
  • 示例: 谷歌的 8.8.8.8 或 百度的主页 IP 39.156.66.10 都是公网地址。

(B) 私网地址 (Private IP)

  • 定义: 专为在局域网 (LAN) 内部(如家庭、办公室、学校)使用而保留的地址。
  • 特点:
    1. 不可在互联网上路由: 互联网上的路由器会丢弃发往这些地址的数据包。
    2. 可以重复使用: 你家的路由器可以分配 192.168.1.100,我家的也可以。它们在各自的局域网内是唯一的,但对外是隔离的。
  • 作用: 解决 IPv4 地址不足的权宜之计。通过 NAT (网络地址转换) 技术(由您的路由器执行),您家里所有使用私网地址的设备(手机、电脑)可以"共享"一个公网 IP 地址来访问互联网。
  • 保留范围 (RFC 1918):
    • A 类私有: 10.0.0.010.255.255.255 (即 10.0.0.0/8)
    • B 类私有: 172.16.0.0172.31.255.255 (即 172.16.0.0/12)
    • C 类私有: 192.168.0.0192.168.255.255 (即 192.168.0.0/16)

如何判断?

当你看到一个 IP 地址时:

  • 如果是 10.x.x.x

  • 或者是 172.16.x.x172.31.x.x

  • 或者是 192.168.x.x

    那么它一定是一个私网地址。否则,它就是一个公网地址(或特殊地址)。


12. 特殊 IP 地址

除了上述分类,还有一些具有特定含义和功能的保留地址:

  1. 0.0.0.0 (全零地址)
    • 含义: "任何地址"或"未指定地址"。
    • 用途:
      • 在路由表中,0.0.0.0 代表"默认网关"路由,即"所有不知道该发往哪里的数据包,都发到这里"。
      • 当设备启动但尚未从 DHCP 获取到 IP 时,它可能会用 0.0.0.0 作为源地址。
  2. 127.0.0.1 (环回地址)
    • 含义: localhost (本地主机),即"本机"。
    • 用途: 用于测试您自己电脑上的网络服务。当您向 127.0.0.1 发送数据时,数据包不会离开您的电脑,而是直接在内部"环回"到您自己。
    • 备注: 整个 127.0.0.0/8 网段(127.0.0.1127.255.255.254)都用于环回,但 127.0.0.1 是最常用的。
  3. 网络地址 (Network Address)
    • 含义: 标识一个网络的"街道名称"。
    • 特征: 主机ID (Host ID) 部分全为 0
    • 示例:192.168.1.100/24 这个配置中,网络地址是 192.168.1.0
    • 用途: 路由器使用网络地址来规划路由。这个地址不能分配给具体的设备(如电脑或手机)。
  4. 广播地址 (Broadcast Address)
    • 含义: "向网络中的所有人喊话"。
    • 特征: 主机ID (Host ID) 部分全为 1
    • 示例:192.168.1.0/24 这个网络中,广播地址是 192.168.1.255
    • 用途: DHCP 服务器在分配 IP 地址时会用到它。这个地址也不能分配给具体设备。
  5. 169.254.x.x (APIPA 地址)
    • 全称: Automatic Private IP Addressing (自动私有 IP 寻址)。
    • 含义: 这是一个"链接本地地址"。
    • 用途: 当您的电脑设置为自动获取 IP (DHCP),但网络中的 DHCP 服务器失联或故障 时,操作系统(如 Windows)会自动169.254.0.0/16 这个范围中为自己挑选一个 IP。
    • 现象: 如果你发现你的 IP 变成了 169.254.x.x,这通常意味着你无法连接到路由器或互联网

子网划分 (Subnetting) 就是一个网络管理员主动 进行的操作,目的是把一个大网络 "切割"成多个小网络

您可以把一个 C 类网络(例如 192.168.1.0/24,有 254 个可用地址)想象成一整块没有切割的大披萨。


13. 为什么需要子网划分?

如果您不切割这块"披萨"(不划分 C 类网络),而是把 250 台电脑都放在一个网络里,您会遇到三个严重的问题:

  1. 广播风暴 (Broadcast Storm):
    • 在网络中,有一种消息叫做"广播"(Broadcast),它需要发送给网络中的所有设备(例如,一台新电脑启动时会喊:"谁是 DHCP 服务器?")。
    • 在一个有 250 台设备的网络中,任何一台设备发送广播,其他 249 台设备都必须停下手头的工作来处理这个广播。
    • 当设备数量很多时,这些"呐喊"会占用大量资源,导致网络性能急剧下降,就像一个菜市场一样嘈杂。
    • 子网划分的解决: 将网络划分为 4 个子网后,每个子网(广播域)只有约 60 台设备。一个子网内部的"呐喊"(广播)不会穿过路由器传播到其他子网。这样就实现了"隔音",极大提升了性能。
  2. 网络安全 (Security):
    • 在一个扁平的、未划分的网络中,所有设备默认都可以"看到"彼此。
    • 这意味着"财务部"的电脑可以轻易访问"研发部"的服务器,这非常不安全。
    • 子网划分的解决: 我们可以为财务部(子网A)和研发部(子网B)划分不同的子网。然后,我们在连接两个子网的路由器 上设置访问控制列表 (ACL),规定:"只允许财务部主管的 IP 访问研发部的某台服务器"。这样就实现了精细的安全隔离。
  3. 管理与灵活性 (Management):
    • 如果一个公司在三个不同的楼层,您是希望所有 250 个 IP 地址混在一起,还是希望楼层 1(子网1)、楼层 2(子网2)、楼层 3(子网3)分别管理?
    • 子网划分使网络结构化,便于排查问题(例如,192.168.1.x 全是楼层1的),也便于 IP 地址的分配和管理。

14. 什么是等长子网划分 (FLSM)?

FLSM (Fixed-Length Subnet Masking) 是最基础、最简单的子网划分方法。

  • 核心理念: "等长" (Fixed-Length) 指的是,一旦你决定了如何切割,所有切割出来的"小块"大小必须完全一样

  • 比喻: 您有一块大披萨 (/24),您决定把它切成 4 块。使用 FLSM,您必须"咔咔"两刀,把它切成4 块大小完全相等的披萨。

  • 如何实现: 通过从"主机ID"部分"借走"固定位数的 bit 来增加"网络ID"。

  • 示例:

    • 原始网络: 192.168.1.0 /24 (掩码 255.255.255.0)
    • 目标: 将其划分为 4 个子网。
    • 计算: 要得到 4 个子网,需要 2 n ≥ 4 2^n \geq 4 2n≥4,所以 n = 2 n=2 n=2。我们从主机位借 2 位。
    • 新掩码: 原来是 /24,借了 2 位后,新掩码变成了 /26 (即 255.255.255.192)。
    • 结果 (4 个 /26 子网):
      1. 192.168.1.0 /26 (可用主机 62 个)
      2. 192.168.1.64 /26 (可用主机 62 个)
      3. 192.168.1.128 /26 (可用主机 62 个)
      4. 192.168.1.192 /26 (可用主机 62 个)
  • FLSM 的问题:

    非常浪费!

    如果您的财务部需要 50 台电脑(一个 /26 刚好),但您的研发部需要 100 台电脑(一个 /26 不够,必须给两个),而连接两个路由器的 WAN 口只需要 2 个 IP 地址。如果您也给 WAN 口分配一个 /26 (62个地址),就浪费了 60 个 IP 地址!


15. 什么是变长子网划分 (VLSM)?

VLSM (Variable-Length Subnet Masking) 是 FLSM 的进化版,是现代网络规划的基石。

  • 核心理念: "变长" (Variable-Length) 指的是,您可以根据实际需求 ,将一个大网络切割成大小不等的子网。

  • 比喻: 您有一块大披萨 (/24)。财务部说要 50 人份(切一块 /26 给他们),研发部说要 100 人份(切一块 /25 给他们),路由器说只要 2 人份(切一块 /30 给他们)。VLSM 允许您进行这种按需分配

  • 如何实现: 递归地对子网进行再划分。

  • 示例 (解决 FLSM 的浪费问题):

    • 原始网络: 192.168.1.0 /24
    • 需求:
      1. 研发部 (Dept-A):需要 100 个主机
      2. 财务部 (Dept-B):需要 50 个主机
      3. WAN 链接:需要 2 个主机
    • VLSM 规划 (总是从最大的需求开始):
      1. 研发部 (100 个):
        • 需要 2 n − 2 ≥ 100 2^n - 2 \geq 100 2n−2≥100, n = 7 n=7 n=7 ( 2 7 = 128 2^7=128 27=128)。
        • 需要 7 个主机位,所以掩码是 32 − 7 = / 25 32 - 7 = /25 32−7=/25。
        • 分配:192.168.1.0 /25 (使用 128 个地址)
      2. 财务部 (50 个):
        • 需要 2 n − 2 ≥ 50 2^n - 2 \geq 50 2n−2≥50, n = 6 ( 2 6 = 64 ) n=6 (2^6=64) n=6(26=64)。
        • 需要 6 个主机位,所以掩码是 32 − 6 = / 26 32 - 6 = /26 32−6=/26。
        • 上一个子网用到了 ...0...127,我们从 ...128 开始。
        • 分配:192.168.1.128 /26 (使用 64 个地址)
      3. WAN 链接 (2 个):
        • 需要 2 n − 2 ≥ 2 2^n - 2 \geq 2 2n−2≥2, n = 2 n=2 n=2 ( 2 2 = 4 2^2=4 22=4)。
        • 需要 2 个主机位,所以掩码是 32 − 2 = / 30 32 - 2 = /30 32−2=/30。
        • 上一个子网用到了 ...128...191,我们从 ...192 开始。
        • 分配:192.168.1.192 /30 (使用 4 个地址)
  • VLSM 的优势:

    极其高效! 我们完美地满足了所有需求,并且没有像 FLSM 那样为了 WAN 链接而浪费 60 个地址。使用 VLSM,我们只用了 4 个地址(/30)就搞定了 WAN 链接。

总结对比

特性 FLSM (等长) VLSM (变长)
比喻 披萨必须切成大小相等的块 披萨可以按需切成大小不一的块
掩码 同一级别下的所有子网,掩码相同 不同子网的掩码可以不同
效率 ,容易造成 IP 地址浪费 ,极大节约了 IP 地址
应用 早期路由协议 (如 RIPv1),教学 现代所有路由协议 (如 OSPF, EIGRP, BGP)

16. 点到点 (P2P) 网络的子网掩码

点到点 (Point-to-Point, P2P) 网络是指连接两个设备的网络,最常见的例子是两个路由器之间的直连链路。

  • 需要多少 IP?

    • 路由器 A 的接口需要 1 个。
    • 路由器 B 的接口需要 1 个。
    • 总共需要 2 个可用的主机 IP 地址。
  • 如何计算掩码?

    我们需要找到一个能提供至少 2 个可用 IP 的最小子网。

    • 我们使用公式:可用主机数 = 2 n − 2 2^n - 2 2n−2 (其中 n n n 是主机位的数量)
    • n = 1 n=1 n=1: 2 1 − 2 = 0 2^1 - 2 = 0 21−2=0 个可用 IP。(不够)
    • n = 2 n=2 n=2: 2 2 − 2 = 4 − 2 = 2 2^2 - 2 = 4 - 2 = 2 22−2=4−2=2个可用 IP。(正好!)
  • 得出掩码:

    • 当主机位 n = 2 n=2 n=2 时,网络位就是 32 − 2 = 30 32 - 2 = 30 32−2=30 位。
    • CIDR 形式: /30
    • 十进制形式: 255.255.255.252
    • 二进制: 11111111.11111111.11111111.11111100

结论:

在 IPv4 中,用于点到点网络的最标准、最节约地址的子网掩码是 /30 (或 255.255.255.252)。

示例:

如果您使用 192.168.1.4 /30 这个子网:

  • 网络地址: 192.168.1.4
  • 可用 IP 1: 192.168.1.5 (分配给路由器 A)
  • 可用 IP 2: 192.168.1.6 (分配给路由器 B)
  • 广播地址: 192.168.1.7

17. 如何判断 IP 地址所属的网段?

要确定一个 IP 地址属于哪个网段,您需要两个信息

  1. IP 地址 (例如 192.168.1.140)
  2. 子网掩码 (例如 /26255.255.255.192)

方法:使用"按位与" (Bitwise AND) 运算

核心原理是:将 IP 地址的二进制和子网掩码的二进制进行"与"运算。结果就是该 IP 所属的网络地址(即网段的"名字")。

  • "与" (AND) 运算规则:
    • 1 AND 1 = 1
    • 1 AND 0 = 0
    • 0 AND 1 = 0
    • 0 AND 0 = 0

示例:

  • IP 地址: 192.168.1.140
  • 子网掩码: 255.255.255.192 (即 /26)
  1. 转换为二进制(我们只关心最后一个字节,因为前三是 255):

    • IP 140: 10001100
    • 掩码 192: 11000000
  2. 执行"与" (AND) 运算:

    `10001100 (140)

    & 11000000 (192)

    10000000 (128)`

  3. 得出结果:

    运算结果是 128。

  4. 组合回去:

    将前三个字节(因为掩码是 255)和运算结果组合,得到网络地址:192.168.1.128。

结论:

IP 地址 192.168.1.140 (子网掩码 /26) 属于 192.168.1.128 这个网段。

要判断一个 IP 地址是否属于 115.64.4.0/22 网段,您需要找出这个网段的完整地址范围


🚀 快速判断法 (最常用)

一个 IP 地址(我们称之为 A.B.C.D)如果属于 115.64.4.0/22 网段,它必须满足以下所有条件:

  1. 第一个字节 A 必须是 115
  2. 第二个字节 B 必须是 64
  3. 第三个字节 C 必须在 47 之间 (包括 4 和 7)
  4. 第四个字节 D 必须在 0255 之间 (包括 0 和 255)

所以,这个网段的完整范围是:115.64.4.0 ~ 115.64.7.255

举例:

  • 115.64.5.20 在这个范围内吗?
  • 115.64.7.255 在这个范围内吗? (这是广播地址)。
  • 115.64.3.100 在这个范围内吗? (因为 3 小于 4)。
  • 115.64.8.1 在这个范围内吗? (因为 8 大于 7)。

💡 原理计算法 (为什么是 4 到 7?)

这个方法能告诉您上面的范围是如何计算出来的。

  1. 分析掩码:/22

    • /22 意味着 32 位 IP 地址中,前 22 位是"网络位",后 (32 - 22) = 10 位是"主机位"。

    • 子网掩码的二进制是:

      11111111.11111111.11111100.00000000

    • 转换为十进制是:255.255.252.0

  2. 找到"关键字节"

    • 掩码 255.255.252.0 中,数字既不是 255 也不是 0 的那一位,是第三个字节 (252)。这就是我们要计算的"关键字节"。
  3. 分析关键字节 (第 3 字节)

    • 关键字节的掩码是 252,二进制是 11111100
    • 这 8 位中,前 6 位是网络位,后 2 位是主机位。
    • 整个网段的 10 个主机位,就是由这 2 位 和 第 4 字节的 8 位组成的 (2 + 8 = 10)。
  4. 计算网络地址 (主机位全为 0)

    • 题目给的网络地址是 115.64.4.0
    • 它的第 3 字节是 4
    • 4 的二进制是 00000100
    • 我们可以看到,它的后 2 位正好是 00 ,这确认了 115.64.4.0 确实是一个网络地址。
  5. 计算广播地址 (主机位全为 1)

    • 广播地址就是把所有 10 个主机位都变成 1
    • 第 3 字节:
      • 网络部分 (前 6 位) 不变:000001
      • 主机部分 (后 2 位) 变为 11
      • 组合起来:00000111 十进制是 7
    • 第 4 字节:
      • 全部 8 个主机位都变为 1
      • 组合起来:11111111 十进制是 255
  6. 得出结论

    • 网络地址 (主机位全 0):115.64.4.0
    • 广播地址 (主机位全 1):115.64.7.255
    • 所有属于该网段的 IP :就是从 115.64.4.0115.64.7.255 的所有地址。
    • 可分配给主机的 IP115.64.4.1115.64.7.254 (去掉头尾)。

  1. 子网划分需要注意的几个问题

在进行网络规划和子网划分时,必须考虑以下关键点:

  1. " n − 2 n-2 n−2" 可用性原则:
    • 最重要的一条: 任何一个子网中的第一个地址 (网络地址,主机位全0) 和最后一个地址 (广播地址,主机位全1) 都是不可用的,不能分配给电脑、服务器等设备。
    • 公式: 可用主机数 = 2 n − 2 2^n - 2 2n−2 (其中 n n n 是主机位的数量)。
    • 陷阱: 如果一个部门需要 60 台电脑,你不能给它一个 /26 的子网 ( 2 6 − 2 = 62 2^6 - 2 = 62 26−2=62 个可用 IP),因为这只剩下 2 个 IP 的余量,非常危险。
  2. VLSM 规划顺序(变长子网):
    • 在使用 VLSM(变长子网掩码)时,必须 遵循"从大到小"的分配原则。
    • 原因: 您必须先把最大的地址块(例如需要 500 个 IP 的 /23)从您的地址池中分配出去。如果您先分配了小的(如 /27),可能会导致剩余的地址空间"碎片化",无法容纳下您后续需要的大块地址。
  3. 可扩展性 (Scalability):
    • 不要"过度优化"。 即使一个部门现在只有 10 台设备(需要一个 /28,14个可用IP),也不要只给他们 /28
    • 考虑未来: 很快他们就会增加打印机、VoIP 电话、新员工、访客 Wi-Fi。为每个子网预留至少 50% 到 100% 的增长空间 (例如,直接分配 /27/26)是明智的规划。
  4. 路由聚合 (Summarization) 的可能性:
    • 尽量将地理位置相近功能相似 的子网分配连续的 (Contiguous) 地址块。
    • 示例:
      • 好规划: 1楼用 10.1.1.0/24,2楼用 10.1.2.0/24,3楼用 10.1.3.0/24
      • 坏规划: 1楼用 10.1.1.0/24,2楼用 10.8.5.0/24,3楼用 10.20.1.0/24
    • 好处: 在"好规划"中,核心路由器可以"聚合"这些路由,只用一条 10.1.0.0/22 的路由条目就能代表 1、2、3 楼,极大地减小了路由表的体积,提高了路由效率。
  5. 清晰的文档:
    • 子网划分一旦实施就很难更改。必须创建并维护一份清晰的文档(或使用 IPAM 工具)。
    • 文档应包含: 每个子网的用途(如"财务部-数据")、网络地址、子网掩码、可用 IP 范围、网关地址、广播地址。
    • 否则,网络会迅速变得混乱,导致 IP 冲突和排错困难。

17. 合并网段的方法(路由聚合)

合并网段(或称为"创建超网")的核心目的 是:用一个 网络条目来代表多个 连续的小网络,从而极大缩减路由表的大小,提高路由器的效率。

方法:寻找共同前缀(二进制比较法)

假设您要合并以下 4 个 C 类网络(它们都是 /24):

  • 192.168.0.0 /24
  • 192.168.1.0 /24
  • 192.168.2.0 /24
  • 192.168.3.0 /24

步骤:

  1. 找出变化的部分: 很明显,变化发生在第三个字节(0, 1, 2, 3)。

  2. 将变化部分转换为二进制:

    • 0 = 00000000
    • 1 = 00000001
    • 2 = 00000010
    • 3 = 00000011
  3. 从左到右,寻找共同的前缀:

    `00000000

    00000001
    00000010
    00000011

    000000... <-- 在这里开始不同了`

    • 它们共同的前缀000000 (前 6 位)。
  4. 计算新的子网掩码:

    • 原始网络的前两个字节 (192.168) 是固定的,即 16 位。
    • 加上我们在第三个字节找到的 6 位共同前缀。
    • 新的网络位 = 8 + 8 + 6 = 22 8 + 8 + 6 = 22 8+8+6=22 位。
    • 新的掩码是:/22 (即 255.255.252.0)
  5. 确定汇总后的网络地址:

    • 将共同前缀 000000 补全 8 位(补 0),即 00000000,转回十进制是 0
    • 汇总后的网络地址是:192.168.0.0 /22

结论: 192.168.0.0/22 这一个条目,就成功代表了从 192.168.0.0192.168.3.255 的所有地址。


18. 合并网段的规律

不是任何网段都可以随意合并,它们必须满足严格的规律:

  1. 地址必须连续 (Contiguous):
    • 可以 合并 192.168.0.0192.168.1.0
    • 不能 合并 192.168.0.0192.168.2.0 (如果 192.168.1.0 不在其中),因为它们不连续。
  2. 必须是 2 的幂 ( 2 n 2^n 2n):
    • 您只能合并 2 个、4 个、8 个、16 个...等 2 n 2^n 2n 数量的网段。
    • 不能 只合并 3 个网段(例如 0.0, 1.0, 2.0)。如果你尝试合并它们,你必须连同 3.0 一起合并(如上例),即使 3.0 你并没在用。
  3. 掩码必须一致:
    • 要合并的子网本身的大小必须是相等 的。你不能直接合并一个 /24 和一个 /25
  4. 必须在"自然"边界上 (Alignment):
    • 这是最容易出错的地方。汇总后的网络地址必须能被汇总的范围"整除"。
    • 例 1 (正确): 合并 192.168.0.0/24192.168.1.0/24 192.168.0.0/23
    • 例 2 (错误):不能 合并 192.168.1.0/24192.168.2.0/24 192.168.1.0/23
    • 为什么? 因为 /23 (包含 2 × 256 2 \times 256 2×256 个地址) 的网络边界只能...0.0, ...2.0, ...4.0, ...6.0... (偶数开始)。192.168.1.0/23 这个写法本身就是无效的,它实际上属于 192.168.0.0/23 这个大网段。

19. 如何判断一个网段是超网还是子网?

这个问题的答案是相对的。您需要一个"参照物",这个参照物就是我们之前提过的"默认分类掩码" (A, B, C 类)。

  • 默认 (主类) 掩码 (复习):
    • A 类 (如 10.x.x.x):默认 /8
    • B 类 (如 172.16.x.x):默认 /16
    • C 类 (如 192.168.x.x):默认 /24

判断规则:

拿一个网段的实际掩码与其默认分类掩码进行比较:

  1. 子网 (Subnet)
    • 定义: 当实际掩码长于 (大于) 默认掩码时。
    • 含义: "网络位"变多了,主机位变少了。您从主机位借走了 bit,把一个大网络**"切小"**了。
    • 示例:192.168.1.128 /26
      • 192 开头是 C 类,默认掩码是 /24
      • 实际掩码是 /26
      • /26 > /24 ,所以这是一个子网
  2. 超网 (Supernet)
    • 定义: 当实际掩码短于 (小于) 默认掩码时。
    • 含义: "网络位"变少了,主机位变多了。您把网络位归还给了主机位,把几个小网络**"合并"**了。
    • 示例:192.168.0.0 /23
      • 192 开头是 C 类,默认掩码是 /24
      • 实际掩码是 /23
      • /23 < /24 ,所以这是一个超网
  3. 主类网络 (Classful Network)
    • 定义: 当实际掩码等于默认掩码时。
    • 示例:192.168.1.0 /24
      • 192 开头是 C 类,默认掩码是 /24
      • 实际掩码是 /24
      • 两者相等,这是一个主类网络 (或者说,一个没有被划分也没有被合并的 C 类网络)。

总结表格:

网络示例 IP 类别 默认掩码 实际掩码 比较 结论
10.1.2.0 /16 A 类 /8 /16 /16 > /8 子网
172.16.0.0 /16 B 类 /16 /16 /16 = /16 主类网络
192.168.1.0 /24 C 类 /24 /24 /24 = /24 主类网络
192.168.1.0 /25 C 类 /24 /25 /25 > /24 子网
192.168.0.0 /22 C 类 /24 /22 /22 < /24 超网
相关推荐
特立独行的猫a2 小时前
鸿蒙PC生态三方软件移植:ohos-sdk 生成的库或二进制的自动签名实现
华为·harmonyos·签名·ohos-sdk
_OP_CHEN2 小时前
【从零开始的Qt开发指南】(二十一)Qt 网络编程封神指南:UDP/TCP/HTTP 全场景实战
网络·qt·http·udp·tcp·前端开发·qt网络
能c能v2 小时前
uniapp+JPush(极光推送) 华为厂商离线接收不到通知问题。
华为·uni-app
pusheng20252 小时前
数据中心安全警报:为何“免维护”气体传感器可能正在制造危险盲区?
linux·网络·人工智能
小码吃趴菜2 小时前
UDP知识点总结
网络协议·tcp/ip·udp
酒醉的胡铁2 小时前
uniapp运行到鸿蒙没有反应或者一直运行方式:打开 undefined, 导入 dist\dev\.app-harmony 运行
华为·uni-app·harmonyos
微学AI2 小时前
26年1月远程软件测评:网易UU远程全方位优胜向日葵、Todesk等远程软件
网络
Crazy________2 小时前
Kubernetes探针实战和生命周期
linux·服务器·网络·kubernetes
小雨下雨的雨4 小时前
Flutter鸿蒙共赢——墨染算法:柏林噪声与鸿蒙生态中的数字水墨意境
算法·flutter·华为·交互·harmonyos·鸿蒙