上层协议类型
- 概念:通常指的是位于网络层(如 IP 层)以上的协议类型,这些协议在数据传输时需要由网络层(或更低层)协议承载。以 IP 协议为例,IP 报文头部中的 协议字段(Protocol Field) 用于标识上层协议类型,该字段告诉网络层(IP 层)接收到数据后应将数据交给哪个上层协议处理。
- 以太网帧中的Type字段值为0x0800,表示该帧的网络层协议为IP协议。
IP报文头部
1、IP报文头部的核心作用:
- 告诉网络“数据该去哪”,包含发送方和接收方的 IP 地址(类似快递的发件人和收件人地址)。
- 指导网络“如何传输”,比如数据是否需要拆分(分片)、传输的优先级、是否有误码等。
2、头部里的关键“信息项”
- 版本(Version):标明是 IPv4 还是 IPv6 协议(比如 IPv4 用 4,IPv6 用 6),就像快递单上的 “快递类型”(普通快递 / 加急快递)。
- 头部长度(Header Length):头部本身有多长(因为有些字段是可选的,所以需要标明长度,避免认错后面的数据)。
- 服务类型(Type of Service):告诉网络数据的优先级(比如视频流需要优先传输,普通文件可以慢一点)。
- 总长度(Total Lenght):整个包裹(头部 + 数据)的大小,方便接收方知道有没有收全。
- 标识、标志、片偏移(Identifier、Flags、Fragment Offset):如果数据太大,需要拆分成多个小包传输,这几个信息能让接收方把小包重新拼起来(类似拼图的编号)。
- 生存时间(TTL,Time TO Live):数据最多能经过多少个路由器(防止数据在网络里无限转圈,比如设置为 64,每经过一个路由器减 1,到 0 就丢弃)。
- 协议(Protocol):告诉接收方 “包裹里的数据是用什么协议包装的”(比如 TCP、UDP,类似 “里面是易碎品”“里面是文件” 的标签)。
- 源IP和目的IP(Source/Destination IP):最重要的信息!发送方和接收方的 IP 地址(类似快递单上的具体地址)。
假设你要寄一封信:
- 信封上的地址、邮编、寄件人信息 → 相当于 IP 报文头部。
- 信的内容 → 相当于 IP 报文的数据部分。
快递员(路由器)会根据信封上的地址(IP 地址)决定走哪条路(路由),根据 “易碎品” 标志(头部里的控制字段)决定如何搬运,最终送到正确的地址。
IP地址
- IP地址被分为网络部分和主机部分
- 由32个二进制位组成,通常用点分十进制形式表示
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
)。 - 特点:这些地址不会在互联网上路由,用于企业或家庭内网,需通过 NAT(网络地址转换)访问外网。
- A 类私有:
-
特殊地址:
0.0.0.0
:表示 “所有网络” 或 “未指定地址”(如主机启动时未获取 IP)。255.255.255.255
:受限广播地址,数据仅在本地网络广播,不经过路由器。网络号+主机号全1
:如192.168.1.255
(C 类网络的广播地址),用于向该网络内所有主机发送广播。
子网掩码(Subnet Mask)
子网掩码是一个 32 位的二进制数(IPv4 中),用于配合 IP 地址划分网络区域,明确标识 IP 地址中的 “网络部分” 和 “主机部分”。它的核心作用是:
- 确定 IP 地址属于哪个网络;
- 将一个大网络划分为多个小的子网(子网划分),提高 IP 地址的利用率。
一、子网掩码的结构与表示
1. 二进制结构
- 子网掩码的二进制中,网络部分和子网部分用连续的 1 表示,主机部分用连续的 0 表示。
例如:- IP 地址:
192.168.1.100
(C 类地址) - 子网掩码:
255.255.255.0
(二进制:11111111 11111111 11111111 00000000
) - 网络部分:前 24 位(
192.168.1
),主机部分:最后 8 位(100
)。
- IP 地址:
2. 表示方法
- 点分十进制:与 IP 地址格式相同,如
255.255.255.0
。 - 前缀长度(CIDR 表示法):用
/
后跟网络部分的位数,如192.168.1.0/24
(表示前 24 位是网络部分,对应掩码255.255.255.0
)。
二、子网掩码的核心作用
1. 区分网络地址和主机地址
通过将 IP 地址与子网掩码按位进行 “与” 运算,得到 网络地址(标识一个具体的子网):
- 例:IP
192.168.1.100
+ 掩码255.255.255.0
- 二进制与运算:
plaintext
IP: 11000000 10101000 00000001 01100100 掩码: 11111111 11111111 11111111 00000000 结果: 11000000 10101000 00000001 00000000 → 192.168.1.0(网络地址)
- 二进制与运算:
2. 子网划分(Subnetting)
当一个网络需要划分为多个子网时,可从主机位 “借位” 作为子网位,延长子网掩码(增加 1 的位数)。
- 例:将 C 类网络
192.168.1.0/24
划分为 2 个子网:- 借 1 位主机位作为子网位,掩码变为
/25
(255.255.255.128
):- 子网 1:网络地址
192.168.1.0/25
,主机范围192.168.1.1~192.168.1.126
(可用 126 个主机) - 子网 2:网络地址
192.168.1.128/25
,主机范围192.168.1.129~192.168.1.254
(可用 126 个主机)
- 子网 1:网络地址
- 借 1 位主机位作为子网位,掩码变为
3. 路由决策
路由器根据子网掩码判断 IP 地址属于哪个子网,决定数据转发的路径。
三、默认子网掩码(针对 A/B/C 类地址)
在早期分类编址中,不同类别的 IP 地址有固定的默认子网掩码:
IP 地址类别 | 默认子网掩码(点分十进制) | 前缀长度(CIDR) |
---|---|---|
A 类 | 255.0.0.0 | /8 |
B 类 | 255.255.0.0 | /16 |
C 类 | 255.255.255.0 | /24 |
注意:默认掩码仅适用于未划分子网的情况。现代网络普遍使用 CIDR,可灵活设置子网掩码(如/20
、/27
等),不再局限于 A/B/C 类的固定划分。
四、特殊子网掩码
-
255.255.255.255
- 所有位都是 1,主机部分为 0,代表 “受限广播地址”(仅在本地网络广播,不经过路由器)。
-
0.0.0.0
- 所有位都是 0,代表 “任意网络”(如主机未配置具体 IP 时,用 0.0.0.0 表示未知网络)。
-
非连续掩码(非常规用法)
- 理论上子网掩码的 1 必须是连续的(如
255.255.254.0
是合法的,255.255.253.0
通常不推荐),但实际中严格要求连续 1 以避免兼容性问题。
- 理论上子网掩码的 1 必须是连续的(如
五、子网掩码与 IP 地址的关系
- 网络地址 = IP 地址
AND
子网掩码 - 广播地址 = 网络地址
OR
(子网掩码取反)
(广播地址用于向子网内所有主机发送数据,主机位全为 1,如192.168.1.255
是/24
网络的广播地址) - 可用主机地址范围 = 网络地址 + 1 到 广播地址 - 1
六、为什么需要子网掩码?
- 解决地址浪费:早期 A/B/C 类地址划分导致大量 IP 浪费(如一个 C 类网络最多 254 台主机,若实际仅需 50 台,剩余地址闲置)。子网掩码允许将大网络划分为小子网,提高地址利用率。
- 网络隔离:通过子网划分,将一个大网络分割为多个逻辑子网(如企业内部分部门组网),减少广播风暴,增强网络管理和安全性。
子网划分(Subnetting)
子网划分是将一个大的 IP 网络(如 A 类、B 类、C 类网络或自定义的 CIDR 块)通过子网掩码划分为多个更小的子网(Subnet),以便更高效地利用 IP 地址、隔离网络流量、提升管理效率。核心是通过 “借用” 主机位作为子网位,将原网络划分为多个逻辑子网。
一、子网划分的核心目的
- 减少广播域:每个子网是独立的广播域,减少网络拥塞。
- 提高地址利用率:避免大网络中地址浪费(如仅需 10 台主机的子网,无需占用 254 个地址的 C 类网络)。
- 逻辑隔离网络:按部门、功能(如办公区、服务器区)划分,便于管理和安全策略部署。
二、关键概念与公式
1. 核心要素
- 原网络地址:如
192.168.1.0/24
(C 类网络,默认掩码255.255.255.0
,主机位 8 位,共 254 个可用地址)。 - 子网位(借位):从主机位中 “借用” n 位作为子网标识,形成
子网数量 = 2^n
(注:早期 RFC 要求排除全 0 和全 1 子网,现代网络支持全 0 / 全 1 子网,需根据设备配置决定)。 - 主机位:剩余主机位 m 位,每个子网的可用主机数 =
2^m - 2
(减 2 是排除子网网络地址和广播地址)。
2. 公式总结
- 若需划分 S 个子网,则子网位 n 满足:
2^n ≥ S
(向上取整)。 - 若每个子网需 H 个可用主机,则主机位 m 满足:
2^m - 2 ≥ H
(向上取整)。 - 子网掩码 = 原网络掩码 + 子网位(如原掩码
/24
,借 3 位子网位,新掩码为/27
)。
三、子网划分步骤(以 C 类网络为例)
场景:将192.168.1.0/24
划分为 4 个子网,每个子网最多容纳 50 台主机
-
确定子网位和主机位:
- 子网数量:4 个,需子网位 n=2(
2^2=4
)。 - 每个子网主机数:50 台,需主机位 m=6(
2^6-2=62≥50
)。 - 总借位:n=2 位,原主机位 8 位,剩余 m=6 位主机位。
- 新子网掩码:
/24 + 2 = /26
(即255.255.255.192
)。
- 子网数量:4 个,需子网位 n=2(
-
计算每个子网的网络地址:
- 子网间隔 =
2^m = 64
(主机位 6 位,每个子网包含 64 个地址)。 - 子网 1:网络地址
192.168.1.0/26
(地址范围0~63
,网络地址0
,广播地址63
,可用1~62
)。 - 子网 2:网络地址
192.168.1.64/26
(地址范围64~127
,可用65~126
)。 - 子网 3:网络地址
192.168.1.128/26
(地址范围128~191
,可用129~190
)。 - 子网 4:网络地址
192.168.1.192/26
(地址范围192~255
,可用193~254
)。
- 子网间隔 =
-
验证可用性:
- 每个子网可用地址 62 个,满足 50 台主机的需求,且 4 个子网地址不重叠。
四、子网划分的两种场景
场景 1:已知子网数量,求每个子网的主机数
例:将10.0.0.0/8
划分为 32 个子网
- 子网位 n=5(
2^5=32
),子网掩码/8+5=/13
(255.248.0.0
)。 - 每个子网主机位 = 32-13=19 位,可用主机数
2^19-2=524286
。
场景 2:已知每个子网的主机数,求子网数量
例:有一个172.16.0.0/16
网络,每个子网需容纳 200 台主机
- 主机位 m=8(
2^8-2=254≥200
),子网掩码/32-8=/24
。 - 子网位 = 16-24?不,原网络是
/16
,需从 16 位后借位:
实际子网位 = 24-16=8 位(掩码从/16
变为/24
),子网数量2^8=256
个。
五、子网划分中的特殊情况
1. 全 0 子网和全 1 子网
- 全 0 子网:如第一个子网网络地址为
x.x.x.0/26
(早期被认为无效,现代网络支持)。 - 全 1 子网:最后一个子网广播地址为
x.x.x.255/26
(现代网络也支持)。 - 是否可用:取决于路由器 / 交换机配置(多数支持,需关闭
ip subnet-zero
限制,默认已开启)。
2. 可变长子网掩码(VLSM)
- 若不同子网的主机数差异大(如有的需 100 台,有的需 10 台),可使用 VLSM 为不同子网分配不同掩码,进一步减少地址浪费。
- 例:用
192.168.1.0/24
划分子网:- 子网 A(100 台):掩码
/25
(可用 126 地址)。 - 子网 B(50 台):掩码
/26
(可用 62 地址)。 - 子网 C(10 台):掩码
/28
(可用 14 地址)。
- 子网 A(100 台):掩码
- 例:用
六、子网划分快速计算表
主机数需求 | 所需主机位 (m) | 可用主机数 (2^m-2) | 子网掩码 (CIDR) | 子网间隔 (2^m) |
---|---|---|---|---|
≤2 | 2 | 2 | /30 | 4 |
≤14 | 4 | 14 | /28 | 16 |
≤30 | 5 | 30 | /27 | 32 |
≤62 | 6 | 62 | /26 | 64 |
≤126 | 7 | 126 | /25 | 128 |
≤254 | 8 | 254 | /24 | 256 |
七、子网划分实战步骤总结
- 明确需求:需要多少子网?每个子网最多多少主机?
- 计算子网位和主机位:
- 子网位 n:满足
2^n ≥ 子网数量
(向上取整)。 - 主机位 m:满足
2^m - 2 ≥ 主机数
(向上取整)。
- 子网位 n:满足
- 确定子网掩码:原网络掩码 + 子网位(如原
/24
,借 3 位,新掩码/27
)。 - 生成子网列表:
- 网络地址 = 原网络地址 + 子网间隔 × 子网号(从 0 开始)。
- 广播地址 = 网络地址 + 子网间隔 - 1。
- 可用地址范围 = 网络地址 + 1 到 广播地址 - 1。
- 验证是否重叠 / 浪费:确保子网地址不重叠,且地址利用率合理。
八、示例:用 VLSM 划分复杂网络
需求:公司有 4 个部门,主机数分别为 100、50、20、10 台,使用192.168.1.0/24
地址块。
- 按主机数从大到小划分:
- 100 台:需
/25
(126 地址,子网 1:192.168.1.0/25
)。 - 50 台:需
/26
(62 地址,子网 2:192.168.1.128/26
)。 - 20 台:需
/27
(30 地址,子网 3:192.168.1.192/27
)。 - 10 台:需
/28
(14 地址,子网 4:192.168.1.224/28
)。
- 100 台:需
- 剩余地址:
192.168.1.240/28
(14 地址,预留扩展)。