计算机网络基础之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 位地址空间                      │
└─────────────────────────────────────────────────────┘
相关推荐
两个人的幸福1 天前
Windows 桌面应用自研 PHP 队列(下):完整代码与六大工程化优化
php
BingoGo3 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
JaguarJack3 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
用户3074596982074 天前
PHP 扩展——从入门到理解
php
鹏仔先生5 天前
拷贝漫画APP下载页PHP程序,后台带免费AI写作
php
云水一下5 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php
treesforest5 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
xingpanvip5 天前
星盘接口开发文档:本命盘接口指南
android·开发语言·css·php·lua
江华森5 天前
TCP/IP 协议栈实战 — 7 个实验详解
网络·tcp/ip·智能路由器
酉鬼女又兒5 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php