计算机网络基础之IP地址详解

计算机网络基础之 IP 地址详解

一、IP 地址概述

IP 地址(Internet Protocol Address)是分配给网络中每台设备的逻辑地址,用于在网络中进行标识和通信。

1.1 IP 地址的作用

  • 设备标识:在网络中唯一标识一台设备(主机、路由器等)
  • 寻址与路由:指导数据包从源地址到目的地址的转发路径
  • 网络分层:通过 IP 地址的网络部分区分不同的网络

1.2 IP 地址的版本

版本 地址长度 地址格式 示例
IPv4 32 位 点分十进制 192.168.1.100
IPv6 128 位 冒号分隔十六进制 2001:0db8::8a2e:0370:7334

本文重点讲解 IPv4,IPv6 部分将在最后做简要介绍。

二、IPv4 地址基础

2.1 地址结构

IPv4 地址长度为 32 位(4 字节),用点分十进制表示:

复制代码
11000000.10101000.00000001.01100100
  192    .   168   .    1    .  100

每个字节取值范围:0 ~ 255(2⁸ - 1)。

2.2 二进制与十进制转换

十进制转二进制:逐字节除 2 取余

复制代码
192 = 128 + 64      → 11000000
168 = 128 + 32 + 8  → 10101000
1   = 1             → 00000001
100 = 64 + 32 + 4   → 01100100

二进制转十进制:按位权展开求和

复制代码
11000000 = 1×2⁷ + 1×2⁶ = 128 + 64 = 192

2.3 地址总数

32 位地址空间,理论总地址数:

复制代码
2³² = 4,294,967,296(约 43 亿)

三、IP 地址分类

传统的 IP 地址分为五类(A、B、C、D、E),根据首字节的高位位模式区分。

3.1 分类表

类别 高位位模式 网络位 主机位 网络号范围 默认子网掩码
A 类 0 8 位 24 位 1.0.0.0 ~ 126.0.0.0 255.0.0.0(/8)
B 类 10 16 位 16 位 128.0.0.0 ~ 191.255.0.0 255.255.0.0(/16)
C 类 110 24 位 8 位 192.0.0.0 ~ 223.255.255.0 255.255.255.0(/24)
D 类 1110 --- --- 224.0.0.0 ~ 239.255.255.255 组播地址
E 类 1111 --- --- 240.0.0.0 ~ 255.255.255.255 保留,未使用

3.2 各类地址容量

复制代码
A 类:每个网络可容纳 2²⁴ - 2 = 16,777,214 台主机,共 126 个网络
B 类:每个网络可容纳 2¹⁶ - 2 = 65,534 台主机,共 16,384 个网络
C 类:每个网络可容纳 2⁸ - 2 = 254 台主机,共 2,097,152 个网络

减 2 的原因:主机位全 0 为网络地址 ,主机位全 1 为广播地址,二者不能分配给主机。

3.3 快速判断地址类别

复制代码
首字节  1 ~ 126      → A 类
首字节  128 ~ 191    → B 类
首字节  192 ~ 223    → C 类
首字节  224 ~ 239    → D 类(组播)
首字节  240 ~ 255    → E 类(保留)

特殊记忆:127 开头的地址(127.0.0.1)是回环地址(Loopback),不归属任何类别。

四、特殊 IP 地址

4.1 私有地址(Private Address)

私有地址用于局域网内部通信,不能直接在公网路由。

类别 私有地址范围 CIDR 表示
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.x192.168.0.x
  • 企业内网可能使用 10.x.x.x172.16.x.x ~ 172.31.x.x

私有网络通过 NAT(Network Address Translation) 技术访问公网。

4.2 其他特殊地址

地址 含义
0.0.0.0 未指定地址,表示"本网络"或"任意地址"
127.0.0.1 回环地址(Loopback),指向本机
255.255.255.255 有限广播地址,对本网络所有主机广播
169.254.0.0/16 链路本地地址(APIPA),DHCP 获取失败时自动分配

五、子网掩码与子网划分

5.1 子网掩码

子网掩码用于区分 IP 地址中的网络部分主机部分

复制代码
IP 地址:   192      .  168      .    1      .  100
子网掩码:  255      .  255      .  255      .    0
            ─────网络部分────────  ───主机部分──

掩码中 1 对应网络位,0 对应主机位

用 CIDR 表示法:192.168.1.100/24(24 个 1,即前 24 位为网络位)。

5.2 计算网络地址与广播地址

192.168.1.100/24 为例:

复制代码
IP 地址:  11000000.10101000.00000001.01100100(192.168.1.100)
掩码:     11111111.11111111.11111111.00000000(255.255.255.0)

网络地址 = IP AND 掩码 = 192.168.1.0
广播地址 = 网络地址 + 主机位取反 = 192.168.1.255
可用地址范围:192.168.1.1 ~ 192.168.1.254(共 254 个)

5.3 子网划分示例

192.168.1.0/24 划分为 4 个子网:

  • 从主机位借用 2 位(2² = 4 个子网)
  • 新掩码:/26(24 + 2 = 26),即 255.255.255.192
子网 网络地址 可用地址范围 广播地址
子网 1 192.168.1.0/26 192.168.1.1 ~ 192.168.1.62 192.168.1.63
子网 2 192.168.1.64/26 192.168.1.65 ~ 192.168.1.126 192.168.1.127
子网 3 192.168.1.128/26 192.168.1.129 ~ 192.168.1.190 192.168.1.191
子网 4 192.168.1.192/26 192.168.1.193 ~ 192.168.1.254 192.168.1.255

每个子网有 64 个地址,其中可用主机地址 62 个(减去网络地址和广播地址)。

5.4 子网划分公式

复制代码
子网数 = 2ⁿ(n 为从主机位借用的位数)
每个子网可用主机数 = 2ᵐ - 2(m 为剩余主机位数)

六、CIDR(无类别域间路由)

6.1 什么是 CIDR

CIDR(Classless Inter-Domain Routing)打破了传统的 A/B/C 类地址分类限制,允许使用任意长度的网络前缀。

表示方法:IP地址/前缀长度

复制代码
192.168.1.0/24    → 前 24 位为网络位
10.0.0.0/8        → 前 8 位为网络位
172.16.0.0/12     → 前 12 位为网络位

6.2 CIDR 的优势

  • 灵活性:不再受限于 A/B/C 类的固定划分
  • 聚合路由:将多个小网络合并为一个路由条目,减小路由表
  • 高效利用:按需分配地址,避免浪费

6.3 路由聚合示例

复制代码
192.168.1.0/24
192.168.2.0/24
192.168.3.0/24
192.168.4.0/24

可聚合为:

复制代码
192.168.0.0/22  → 一条路由覆盖以上 4 个网络

七、VLSM(可变长子网掩码)

VLSM 允许在同一个网络中使用不同长度的子网掩码,根据各子网的实际主机数量分配地址。

示例:将 192.168.1.0/24 按需分配:

需求 分配 掩码 可用主机数
100 台主机 192.168.1.0/25 255.255.255.128 126
50 台主机 192.168.1.128/26 255.255.255.192 62
25 台主机 192.168.1.192/27 255.255.255.224 30
10 台主机 192.168.1.224/28 255.255.255.240 14

原则:先满足大网需求,再从小到大依次分配剩余空间。

八、常见子网掩码速查表

CIDR 子网掩码 可用主机数 地址总数
/8 255.0.0.0 16,777,214 16,777,216
/16 255.255.0.0 65,534 65,536
/24 255.255.255.0 254 256
/25 255.255.255.128 126 128
/26 255.255.255.192 62 64
/27 255.255.255.224 30 32
/28 255.255.255.240 14 16
/29 255.255.255.248 6 8
/30 255.255.255.252 2 4
/32 255.255.255.255 1 1

九、NAT(网络地址转换)

9.1 为什么需要 NAT

IPv4 地址数量有限(约 43 亿),而全球设备远超此数。NAT 技术让多台内网设备共享一个公网 IP 访问外网。

9.2 NAT 工作原理

复制代码
内网主机          NAT 路由器            公网服务器
192.168.1.10     公网 IP: 1.2.3.4      5.6.7.8

发送请求:
192.168.1.10:5000 → 1.2.3.4:5000 → 5.6.7.8:80
                     (替换源地址)

接收响应:
5.6.7.8:80 → 1.2.3.4:5000 → 192.168.1.10:5000
              (还原目标地址)

9.3 NAT 类型

类型 说明
静态 NAT 一对一固定映射,内网 IP ↔ 公网 IP
动态 NAT 从公网地址池动态分配
NAPT(PAT) 多对一,通过端口区分不同内网主机(最常用)

十、IPv6 简介

10.1 IPv6 地址格式

128 位地址,用 8 组十六进制表示,每组 16 位:

复制代码
2001:0db8:85a3:0000:0000:8a2e:0370:7334

简化规则:

  • 每组前导零可省略:00000
  • 连续的全零组可用 :: 替代(只能用一次)

简化后:

复制代码
2001:db8:85a3::8a2e:370:7334

10.2 IPv6 地址空间

复制代码
2¹²⁸ = 340,282,366,920,938,463,463,374,607,431,768,211,456

约为 IPv4 地址空间的 2⁹⁶ 倍(7.9×10²⁸ 倍),足以"为地球上每一粒沙子分配一个地址"。

10.3 IPv6 地址类型

类型 前缀 说明
全球单播地址 2000::/3 相当于 IPv4 公网地址
链路本地地址 fe80::/10 相当于 IPv4 的 169.254.0.0/16
唯一本地地址 fc00::/7 相当于 IPv4 私有地址
回环地址 ::1/128 相当于 IPv4 的 127.0.0.1

10.4 IPv4 与 IPv6 对比

特性 IPv4 IPv6
地址长度 32 位 128 位
地址数量 约 43 亿 约 3.4×10³⁸
地址表示 点分十进制 冒号分隔十六进制
头部大小 20~60 字节(可变) 固定 40 字节
广播 支持 不支持(用组播替代)
安全性 可选(IPsec) 内置支持
NAT 必需 通常不需要
配置 手动/DHCP 支持 SLAAC 自动配置

十一、实用命令

Linux / macOS

bash 复制代码
# 查看 IP 地址
ip addr show
# 或
ifconfig

# 查看路由表
ip route show
# 或
netstat -rn

# 查看 DNS 配置
cat /etc/resolv.conf

# Ping 测试
ping -c 4 8.8.8.8

# 查看端口占用
netstat -tlnp
# 或
ss -tlnp

Windows

cmd 复制代码
# 查看 IP 地址
ipconfig

# 查看 IP 地址详细信息
ipconfig /all

# 查看路由表
route print

# Ping 测试
ping 8.8.8.8

# 查看端口占用
netstat -ano | findstr "8080"

# 追踪路由
tracert 8.8.8.8

十二、常见面试题

Q1:子网掩码 255.255.255.248 对应多少可用主机?

255.255.255.248 = /29,主机位 3 位,可用 = 2³ - 2 = 6 台。

Q2:192.168.10.130/25 的网络地址和广播地址是什么?

/25 掩码为 255.255.255.128。130 的二进制是 10000010,最高位为 1,所以属于第二个子网。

  • 网络地址:192.168.10.128
  • 广播地址:192.168.10.255
  • 可用范围:192.168.10.129 ~ 192.168.10.254

Q3:为什么主机位全 0 和全 1 不能分配?

  • 主机位全 0:表示网络本身(网络地址)
  • 主机位全 1:表示向该网络所有主机广播(广播地址)

Q4:ping 127.0.0.1 成功说明什么?

说明本机 TCP/IP 协议栈正常工作,但不代表网卡硬件或网线正常。

Q5:A、B、C 类地址中为什么 127 开头不是 A 类?

127.0.0.0/8 整个网段被保留为回环地址,不用于网络通信。A 类的可用范围实际是 1.0.0.0 ~ 126.0.0.0。

十三、总结

复制代码
IP 地址核心知识点:

┌─────────────────────────────────────────────────────┐
│  IPv4 地址 = 网络部分 + 主机部分                      │
│  子网掩码区分网络位与主机位                            │
│  CIDR 打破传统分类,实现灵活分配                       │
│  VLSM 允许不同子网使用不同掩码                         │
│  NAT 解决 IPv4 地址不足问题                           │
│  IPv6 是未来方向,128 位地址空间                      │
└─────────────────────────────────────────────────────┘
相关推荐
芦芭荞3 小时前
QT之TCP/IP通讯
开发语言·qt·tcp/ip
Leventure_轩先生3 小时前
[RL]强化学习指导搭建IC2E核反应堆
开发语言·php
李彦亮老师(本人)4 小时前
网络安全基础:TCP/IP 协议栈安全分析与防护
tcp/ip·安全·web安全
初中就开始混世的大魔王4 小时前
3.1 DDS 层-Core
开发语言·c++·网络协议·tcp/ip·信息与通信
a8a3024 小时前
IPV6公网暴露下的OPENWRT防火墙安全设置(只允许访问局域网中指定服务器指定端口其余拒绝)
服务器·安全·php
南湖北漠5 小时前
浅谈生活中的规范化品牌代理标准店和精简标准代理店 时间:2026年3月30日(来源网络,原创)
网络·人工智能·计算机网络·其他·生活
有代理ip6 小时前
聚焦性价比:便宜动态IP在网络优化中的应用技巧
网络·网络协议·tcp/ip
zl_dfq6 小时前
计算机网络 之 【https协议】(数字摘要、密钥、数字证书)
网络协议·计算机网络·https
zhangren024688 小时前
Laravel6.x核心特性全解析
开发语言·c++·php