二、IP地址与子网划分

目录

第2课:IP地址与子网划分

第2课:IP地址与子网划分

🎯 这节课为什么重要?

您每天都会遇到这些场景:

  • 🔧 "这台服务器应该配置什么IP地址?"
  • 🔧 "这个网段能容纳多少台设备?"
  • 🔧 "为什么我的IP地址和别人的冲突了?"
  • 🔧 "如何规划公司内网的IP地址?"

IP地址与子网划分必修课,因为:

  • ✅ 工作中天天要配置IP地址
  • ✅ 子网划分错误会导致网络不通

📦 核心概念:IP地址就像"家庭住址"

什么是IP地址?

定义:IP地址是互联网协议地址,用于在网络中唯一标识一台设备。

类比 :IP地址就像家庭住址

复制代码
您的家庭住址:北京市朝阳区XX路XX号XX小区XX室
                ↓            ↓
                城市          具体房间

IP地址:    192.168.1.100
           ↓        ↓    ↓
           网络号   主机号

关键特点

  • 📍 唯一性:同一网络内不能有两台设备使用相同IP
  • 📍 层次性:分为网络部分和主机部分
  • 📍 可路由:路由器根据IP地址转发数据包

📚 一、IP地址的构成

1.1 IP地址的结构

IPv4地址是一个32位 的二进制数,通常用点分十进制表示:

复制代码
IP地址:192.168.1.100
二进制:11000000.10101000.00000001.01100100
       └─网络部分─┘└───主机部分───┘

每一部分(点分十进制的每个数字):
  十进制:192
  二进制:11000000(8位)
  范围:0-255

1.2 网络位与主机位

网络位 (Network Portion):标识设备所在的网络
主机位(Host Portion):标识该网络内的具体设备

复制代码
示例1:192.168.1.0/24
  网络位:前24位(192.168.1)
  主机位:后8位(100)

  二进制表示:
  11000000.10101000.00000001.  01100100
  └──────网络部分(24位)─────┘└主机(8位)┘

示例2:10.0.0.0/8
  网络位:前8位(10)
  主机位:后24位(0.0.0)

  二进制表示:
  00001010.        00000000.00000000.00000000
  └网络(8位)┘└────────────主机(24位)────────────┘

关键理解

  • 相同网络位的IP地址在同一网段,可以直接通信
  • 不同网络位的IP地址在不同网段,需要路由器转发

📖 二、子网掩码详解

2.1 什么是子网掩码?

定义:子网掩码(Subnet Mask)用于区分IP地址中的网络位和主机位。

作用:告诉计算机"IP地址中哪部分是网络号,哪部分是主机号"

2.2 子网掩码的表示方法

有两种表示方法:

方法1:点分十进制表示法
复制代码
子网掩码:255.255.255.0
二进制:  11111111.11111111.11111111.00000000
          └────1的部分是网络位────┘└0的部分是主机位┘
方法2:CIDR表示法(推荐)
复制代码
表示为:/24
含义:前24位是网络位,后8位是主机位

示例:
192.168.1.0/24  → 子网掩码是 255.255.255.0
10.0.0.0/8     → 子网掩码是 255.0.0.0
172.16.0.0/16  → 子网掩码是 255.255.0.0

为什么CIDR更好?

  • ✅ 更简洁(/24 比 255.255.255.0 短)
  • ✅ 更容易识别网络位长度
  • ✅ 现代网络标准,广泛使用

2.3 常见子网掩码对照表

CIDR 子网掩码 二进制掩码 可用IP数量 网络位 主机位
/8 255.0.0.0 11111111.00000000.00000000.00000000 16,777,214 8位 24位
/16 255.255.0.0 11111111.11111111.00000000.00000000 65,534 16位 16位
/24 255.255.255.0 11111111.11111111.11111111.00000000 254 24位 8位
/25 255.255.255.128 11111111.11111111.11111111.10000000 126 25位 7位
/26 255.255.255.192 11111111.11111111.11111111.11000000 62 26位 6位
/27 255.255.255.224 11111111.11111111.11111111.11100000 30 27位 5位
/28 255.255.255.240 11111111.11111111.11111111.11110000 14 28位 4位
/29 255.255.255.248 11111111.11111111.11111111.11111000 6 29位 3位
/30 255.255.255.252 11111111.11111111.11111111.11111100 2 30位 2位
/32 255.255.255.255 11111111.11111111.11111111.11111111 1 32位 0位

2.4 如何计算可用IP数量?

公式

复制代码
可用IP数量 = 2^主机位 - 2

为什么要减2?
  → 第1个IP:网络地址(不能分配给设备)
  → 最后1个IP:广播地址(不能分配给设备)

计算示例

示例1:192.168.1.0/24

复制代码
主机位:8位
总IP数:2^8 = 256个
可用IP:256 - 2 = 254个

IP范围:192.168.1.1 ~ 192.168.1.254
网络地址:192.168.1.0
广播地址:192.168.1.255

示例2:192.168.1.0/26

复制代码
主机位:6位
总IP数:2^6 = 64个
可用IP:64 - 2 = 62个

IP范围:192.168.1.1 ~ 192.168.1.62
网络地址:192.168.1.0
广播地址:192.168.1.63

示例3:192.168.1.0/30

复制代码
主机位:2位
总IP数:2^2 = 4个
可用IP:4 - 2 = 2个

IP范围:192.168.1.1 ~ 192.168.1.2
网络地址:192.168.1.0
广播地址:192.168.1.3

适用场景:点对点链路(如两个路由器之间的连接)

💼 三、IP地址分类

3.1 按用途分类

A类地址
复制代码
范围:1.0.0.0 ~ 126.255.255.255
子网掩码:255.0.0.0 (/8)

特点:
  - 第一位固定为0
  - 网络位:8位
  - 主机位:24位
  - 可用IP数量:16,777,214个

适用场景:大型网络(如跨国公司、政府机构)
示例:10.0.0.0/8(私有地址)
B类地址
复制代码
范围:128.0.0.0 ~ 191.255.255.255
子网掩码:255.255.0.0 (/16)

特点:
  - 前两位固定为10
  - 网络位:16位
  - 主机位:16位
  - 可用IP数量:65,534个

适用场景:中型网络(如大学、大型企业)
示例:172.16.0.0/16(私有地址)
C类地址
复制代码
范围:192.0.0.0 ~ 223.255.255.255
子网掩码:255.255.255.0 (/24)

特点:
  - 前三位固定为110
  - 网络位:24位
  - 主机位:8位
  - 可用IP数量:254个

适用场景:小型网络(如小型企业、家庭网络)
示例:192.168.1.0/24(私有地址)
D类地址(组播地址)
复制代码
范围:224.0.0.0 ~ 239.255.255.255

特点:
  - 前四位固定为1110
  - 用于组播(Multicast)
  - 不分网络位和主机位

示例:视频会议、在线直播
E类地址(保留地址)
复制代码
范围:240.0.0.0 ~ 255.255.255.255

特点:
  - 前四位固定为1111
  - 保留用于未来使用

3.2 特殊IP地址

私有IP地址(内网地址)
复制代码
用途:在局域网内使用,不能直接访问互联网

A类私有地址:10.0.0.0 ~ 10.255.255.255  (10.0.0.0/8)
B类私有地址:172.16.0.0 ~ 172.31.255.255  (172.16.0.0/12)
C类私有地址:192.168.0.0 ~ 192.168.255.255  (192.168.0.0/16)

应用场景:
  - 家庭网络:192.168.1.0/24
  - 公司内网:10.0.0.0/8 或 172.16.0.0/16
网络地址与广播地址
复制代码
网络地址(Network Address):
  - 主机位全为0
  - 标识一个网段本身
  - 不能分配给设备
  示例:192.168.1.0/24

广播地址(Broadcast Address):
  - 主机位全为1
  - 用于向整个网段发送数据
  - 不能分配给设备
  示例:192.168.1.255/24
回环地址(Loopback Address)
复制代码
地址:127.0.0.1

用途:
  - 本机测试
  - 网络软件自检
  - 永远代表"本机"

示例:
  ping 127.0.0.1  → 测试TCP/IP协议栈是否正常
自动专用地址(APIPA)
复制代码
范围:169.254.0.0/16

用途:
  - 当DHCP服务器故障时
  - Windows自动分配的IP地址
  - 只能在同网段通信

示例:
  IP地址:169.254.123.45
  → 说明DHCP获取失败

🛠️ 四、子网划分实战

4.1 什么是子网划分?

定义:将一个大的网络划分成多个小的子网络。

目的

  • ✅ 提高网络性能(减少广播域)
  • ✅ 增强网络安全性(隔离不同部门)
  • ✅ 节省IP地址资源
  • ✅ 便于网络管理

4.2 子网划分示例

场景:公司有一个C类网段 192.168.1.0/24,需要划分成4个子网

原始网络

复制代码
192.168.1.0/24
  - 可用IP:254个
  - 所有设备在同一网段

划分后的4个子网

子网1

复制代码
192.168.1.0/26
网络位:26位(借用2位主机位)
子网掩码:255.255.255.192
可用IP:62个
IP范围:192.168.1.1 ~ 192.168.1.62
广播地址:192.168.1.63
用途:研发部

子网2

复制代码
192.168.1.64/26
子网掩码:255.255.255.192
可用IP:62个
IP范围:192.168.1.65 ~ 192.168.1.126
广播地址:192.168.1.127
用途:市场部

子网3

复制代码
192.168.1.128/26
子网掩码:255.255.255.192
可用IP:62个
IP范围:192.168.1.129 ~ 192.168.1.190
广播地址:192.168.1.191
用途:财务部

子网4

复制代码
192.168.1.192/26
子网掩码:255.255.255.192
可用IP:62个
IP范围:192.168.1.193 ~ 192.168.1.254
广播地址:192.168.1.255
用途:服务器区

4.3 子网划分步骤总结

复制代码
步骤1:确定需要划分的子网数量
  示例:需要4个子网

步骤2:计算需要借用的主机位
  2^n >= 子网数量
  2^2 = 4 >= 4
  → 需要借用2位主机位

步骤3:确定新的子网掩码
  原主机位:8位
  借用后:8 - 2 = 6位
  新掩码:/26(255.255.255.192)

步骤4:计算每个子网的地址范围
  子网块大小:2^6 = 64个IP
  子网1:192.168.1.0 ~ 192.168.1.63
  子网2:192.168.1.64 ~ 192.168.1.127
  子网3:192.168.1.128 ~ 192.168.1.191
  子网4:192.168.1.192 ~ 192.168.1.255

⚙️ 五、配置命令示例

5.1 Windows配置IP地址

图形界面配置
复制代码
1. 右键点击"网络"→"属性"
2. 点击"更改适配器设置"
3. 右键网卡→"属性"
4. 双击"Internet 协议版本 4 (TCP/IPv4)"
5. 选择"使用下面的IP地址"
6. 输入:
   IP地址:192.168.1.100
   子网掩码:255.255.255.0
   默认网关:192.168.1.1
   首选DNS:114.114.114.114
命令行配置
cmd 复制代码
# 查看当前IP配置
ipconfig /all

# 设置静态IP地址
netsh interface ip set address "以太网" static 192.168.1.100 255.255.255.0 192.168.1.1

# 设置DNS服务器
netsh interface ip set dns "以太网" static 114.114.114.114

# 设置为DHCP自动获取
netsh interface ip set address "以太网" dhcp
netsh interface ip set dns "以太网" dhcp

5.2 Linux配置IP地址

临时配置(重启失效)
bash 复制代码
# 查看当前IP配置
ip addr show
ifconfig

# 配置IP地址
ip addr add 192.168.1.100/24 dev eth0

# 启用网卡
ip link set eth0 up

# 添加默认路由
ip route add default via 192.168.1.1
永久配置(重启生效)

CentOS/RHEL

bash 复制代码
# 编辑配置文件
vi /etc/sysconfig/network-scripts/ifcfg-eth0

# 配置内容:
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114

# 重启网络服务
systemctl restart network

Ubuntu/Debian

bash 复制代码
# 编辑配置文件
vi /etc/network/interfaces

# 配置内容:
auto eth0
iface eth0 inet static
  address 192.168.1.100
  netmask 255.255.255.0
  gateway 192.168.1.1
  dns-nameservers 114.114.114.114

# 重启网络
/etc/init.d/networking restart

Ubuntu新版本(Netplan)

bash 复制代码
# 编辑配置文件
vi /etc/netplan/01-netcfg.yaml

# 配置内容:
network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [114.114.114.114]

# 应用配置
netplan apply

5.3 华为交换机配置VLAN接口

shell 复制代码
# 进入系统视图
system-view

# 创建VLAN
vlan batch 10 20 100

# 配置VLANIF接口(三层接口)
interface Vlanif 10
 ip address 192.168.10.1 24
 quit

interface Vlanif 20
 ip address 192.168.20.1 24
 quit

interface Vlanif 100
 ip address 192.168.100.1 24
 quit

# 查看接口IP配置
display ip interface brief

# 保存配置
save

⚠️ 六、常见误区与易错点

误区1:混淆子网掩码的表示方法

错误认识

复制代码
"子网掩码必须是255.255.255.0这样的格式"

正确理解

复制代码
子网掩码有两种表示方法,它们是等价的:

/24 = 255.255.255.0
/26 = 255.255.255.192
/30 = 255.255.255.252

CIDR表示法(/24)更简洁,现代网络标准推荐使用

误区2:忘记网络地址和广播地址不能使用

错误认识

复制代码
"/24的网段有256个IP可用"

正确理解

复制代码
/24的网段:
  总IP数:256个
  可用IP:254个(减去网络地址和广播地址)

不能用:
  网络地址:192.168.1.0(主机位全0)
  广播地址:192.168.1.255(主机位全1)

可以分配:
  192.168.1.1 ~ 192.168.1.254

误区3:认为所有IP地址都能直接访问互联网

错误认识

复制代码
"我有IP地址就能上网"

正确理解

复制代码
私有IP地址(10.x.x.x, 172.16-31.x.x, 192.168.x.x)
  → 不能直接访问互联网
  → 需要通过NAT转换成公网IP

公网IP地址
  → 可以直接访问互联网
  → 需要向ISP申请购买

家庭/公司网络:
  私有IP → 路由器NAT → 公网IP → 互联网

误区4:子网划分时计算错误

错误认识

复制代码
"把/24划分成4个子网,每个子网有64个IP可用"

正确理解

复制代码
把/24划分成4个/26子网:

原始:192.168.1.0/24
  可用IP:254个

划分后:4个/26子网
  每个子网总IP数:64个
  每个子网可用IP:64 - 2 = 62个(减去网络地址和广播地址)

总可用IP:62 × 4 = 248个
损失IP:254 - 248 = 6个(子网划分的开销)

误区5:忽略默认网关的重要性

错误认识

复制代码
"配置了IP地址就能通信"

正确理解

复制代码
默认网关 = 本网段的出口路由器

没有网关:
  ✅ 同网段通信正常
  ❌ 跨网段通信失败

有网关:
  ✅ 同网段通信正常
  ✅ 跨网段通信正常(通过网关转发)

配置示例:
  IP地址:192.168.1.100
  子网掩码:255.255.255.0
  默认网关:192.168.1.1(通常是路由器IP)

📌 七、本节重点总结

核心要点

  1. IP地址结构

    • 32位二进制,点分十进制表示
    • 分为网络位和主机位
    • 相同网络位在同一网段
  2. 子网掩码作用

    • 区分网络位和主机位
    • CIDR表示法(/24)更简洁
    • /24 = 255.255.255.0
  3. 可用IP计算

    • 公式:2^主机位 - 2
    • 减2的原因:网络地址 + 广播地址
  4. 私有IP地址

    • 10.0.0.0/8(A类)
    • 172.16.0.0/12(B类)
    • 192.168.0.0/16(C类)
    • 不能直接访问互联网
  5. 子网划分

    • 大网分成小网
    • 提高性能和安全性
    • 需要借用主机位

计算公式速查

复制代码
1. 根据CIDR计算子网掩码:
   /8  = 255.0.0.0
   /16 = 255.255.0.0
   /24 = 255.255.255.0
   /26 = 255.255.255.192

2. 根据CIDR计算可用IP:
   可用IP = 2^(32-CIDR) - 2
   示例:/24 → 2^(32-24) - 2 = 254

3. 根据子网掩码计算CIDR:
   将255的个数累加
   示例:255.255.255.0 → 有3个255 → /24

4. 判断两IP是否在同一网段:
   子网掩码相同 && 网络位相同 → 同网段

🎯 思考题与实操任务

思考题1:基础计算(必答)

题目

复制代码
给定网段:192.168.10.0/26

请回答:
1. 子网掩码是什么
  26 / 255.255.255.192
2. 这个网段有多少个可用IP?
  可用IP=2^(32-26)-2=64
  192.168.10.1-192.168.10.64  除去网络位和广播地址-2 实际可用IP为62
  最终可用IP是192.168.10.1-192.168.10.62   
3. 第一个可用IP是什么?最后一个可用IP是什么?
   第一个 192.168.10.1,最后一个192.168.10.62
4. 网络地址和广播地址分别是什么?
   网络地址 192.168.10.0 广播地址 192.168.10.63

思考题2:场景分析(进阶)

场景

复制代码
公司有100台电脑,需要规划一个C类网段

要求:
1. 使用192.168.x.x私有地址段
2. 能容纳所有设备并有扩展空间
3. 考虑未来可能增加50台设备

请设计IP地址方案:
- 网络地址:(如192.168.x.x/x)
- 子网掩码:
- 可用IP范围:
- 可容纳设备数:

通用IP规划思路:

  1. 确定最大主机数:当前设备 + 未来扩展。
  2. 计算所需主机位:找最小 nn 使得 2n−2≥2n−2≥ 主机数。
  3. 确定子网前缀:前缀 = 32 − nn (IPv4)。
  4. 选私有地址段:如 192.168.x.0。
  5. 验证容量和扩展性 :确保可用IP ≥ 需求,并留余量。
    示例:150台 → 需 /24(254个可用IP)。
bash 复制代码
# 解题过程

1. 明确需求:

- 当前设备:100 台
- 未来增加:50 台 → 总共最多 150 台主机
- 必须使用 192.168.x.x 私有地址(C 类私有地址范围)
- 需要 一个连续子网,能容纳 ≥150 台,并留有扩展余量

1. 计算所需 IP 数量:
每个子网中,可用 IP 数 = 2^主机位数−2(减去网络地址和广播地址)

尝试不同子网大小:

- /25:主机位 = 7 → 27−2=12627−2=126 →  不够(<150)
- /24:主机位 = 8 → 28−2=25428−2=254 →  满足(>150,且预留 100+ 扩展空间)

3. 选择具体网段: 
从 192.168.0.0/24 到 192.168.255.0/24 中任选一个未使用的,例如
192.168.10.0/24

4. 确定关键参数:

- 网络地址:192.168.10.0
- 广播地址:192.168.10.255
- 可用 IP 范围:192.168.10.1 ~ 192.168.10.254
- 子网掩码:255.255.255.0
- 可容纳设备数:254 台

# 最终答案

- 网络地址:192.168.10.0/24
- 子网掩码:255.255.255.0
- 可用IP范围:192.168.10.1 ~ 192.168.10.254
- 可容纳设备数:254 台(满足当前 100 台 + 未来 50 台 + 充足扩展空间)

思考题3:子网划分(挑战)

场景

复制代码
网络管理员获得了一个C类网段:192.168.1.0/24

需要划分成:
- 子网A:研发部,需要50个IP
- 子网B:市场部,需要30个IP
- 子网C:财务部,需要10个IP
- 子网D:服务器区,需要10个IP

请设计子网划分方案:
子网A:192.168.1.__/__  (可用IP:__个)
子网B:192.168.1.__/__  (可用IP:__个)
子网C:192.168.1.__/__  (可用IP:__个)
子网D:192.168.1.__/__  (可用IP:__个)
bash 复制代码
# 解题思路(简短)

1. 从大到小划分**:先满足最大需求(50 → 需 ≥52 个 IP,即至少 6 主机位 → /26)
2. 计算每个子网所需最小主机位**:
    - 50 台 → 26−2=6226−2=62 → /26
    - 30 台 → 25−2=3025−2=30 → 刚好,需 /27(30 可用)
    - 10 台 → 24−2=1424−2=14 → /28
3. 按顺序从 192.168.1.0 开始分配,不重叠


# 解题过程

- 子网A(50台):/26 → 块大小 64  
    → 起始:192.168.1.0  
    → 网络地址:192.168.1.0/26 
    → 可用IP:62个(.1 ~ .62)
- 子网B(30台):/27 → 块大小 32  
    → 下一段从 .64 开始  
    → 网络地址:192.168.1.64/27
    → 可用IP:30个(.65 ~ .94)
- 子网C(10台):/28 → 块大小 16  
    → 下一段从 .96 开始  
    → 网络地址:192.168.1.96/28
    → 可用IP:14个(.97 ~ .110)
- 子网D(10台):再一个 /28  
    → 下一段从 .112 开始  
    → 网络地址:192.168.1.112/28  
    → 可用IP:14个(.113 ~ .126)

> 剩余地址(.128~.255)可留作未来扩展或备用。


# 最终答案

- 子网A:192.168.1.0/26 (可用IP:62个)
- 子网B:192.168.1.64/27 (可用IP:30个)
- 子网C:192.168.1.96/28(可用IP:14个)
- 子网D:192.168.1.112/28(可用IP:14个)

实操任务1:Windows配置IP地址

任务目标:在Windows上配置静态IP地址

步骤

复制代码
1. 打开"控制面板"→"网络和Internet"→"网络和共享中心"
2. 点击"以太网"→"属性"
3. 双击"Internet 协议版本 4 (TCP/IPv4)"
4. 配置以下信息:
   IP地址:192.168.1.100
   子网掩码:255.255.255.0
   默认网关:192.168.1.1
   首选DNS:114.114.114.114
5. 点击"确定"保存

验证

cmd 复制代码
# 打开命令提示符,执行:
ipconfig /all

# 应该看到:
IPv4 地址 . . . . . . . . . . : 192.168.1.100
子网掩码 . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . : 192.168.1.1
相关推荐
EdgeOne边缘安全加速平台5 小时前
EdgeOne DDoS 高防服务正式上线,企业级安全防护触手可及!
网络·安全·ddos
郝学胜-神的一滴5 小时前
深入解析以太网帧与ARP协议:网络通信的基石
服务器·开发语言·网络·程序人生
pzx_0015 小时前
【SSH连接错误】WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
运维·网络·ssh
skywalk81635 小时前
阿里云FreeBSD系统升级cbsd:cbsd: 14.3.2 -> 15.0.0 [FreeBSD]
运维·服务器·freebsd
半路_出家ren5 小时前
23.Python处理SSH和Redis
运维·网络·redis·python·网络安全·ssh·paramiko
H_ZMY5 小时前
前端实现 HTTPS 强制跳转与移动端域名自动适配
前端·网络协议·https
海涛高软5 小时前
vmware虚拟机 ubuntu20.4手动设置静态IP
linux·运维·服务器
老董杂货铺5 小时前
安防视频互联网化利器:EasyNVR全面解析
网络·信息可视化·音视频
学嵌入式的小杨同学6 小时前
【嵌入式 C 语言实战】栈、队列、二叉树核心解析:存储原理 + 应用场景 + 实现思路
linux·c语言·网络·数据结构·数据库·后端·spring