news 2026/9/28 20:36:46

计算机网络:网络层(二)——IPv4编址、CIDR与路由选择

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
计算机网络:网络层(二)——IPv4编址、CIDR与路由选择

引言

计算机网络:网络层(一)——服务模型、路由算法与IPv4数据报
在上篇文章中我们介绍了网络层的功能是什么,以及数据报应该如何传输,在本期我们将了解IPv4地址怎样进行划分,路由器怎样根据地址选择路由

IP地址分类

A类地址
  • 网络号位数:8
  • 主机号位数:24
  • 网络号范围:0000 0001 ~ 0111 1110(1~126)
  • 网络号:0000 0000 表示网络地址、本机网络或默认路由 0111 1111 特殊用途
  • 网络号数量:2^7 - 2
  • 单个网络最大主机数:2^24 - 2(去除全0和全1)

B类地址
  • 网络号位数:16
  • 主机号位数:16
  • 网络号范围:1000 0000 0000 0001 ~ 1011 1111 1111 1111(128.1.x.x~191.255.x.x)
  • 网络号:1000 0000 0000 0000 (128.0)
  • 网络号数量:2^14 - 1
  • 单个网络最大主机数:2 ^ 16 - 2(去除全0和全1)
C类地址
  • 网络号位数:24
  • 主机号位数:8
  • 网络号范围:1100 0000 0000 0000 0000 0001 ~ 1101 1111 1111 1111 1111 1111(192.0.1 ~ 223.255.255)
  • 网络号:1100 0000 0000 0000 0000 (192.0)早期/考试不可分配
  • 网络号数量:2^21 - 1
  • 单个网络最大主机数: 2^8 - 2(去除全0和全1)
特殊IP地址
  • 在本地网络中表示网络地址、本机地址,在路由表中表示默认路由(0.0.0.0)
  • 通常在LAN中进行广播,使用该地址表示网络中的所有主机(255.255.255.255)
  • 在发送方不知道主机号的情况下,用于本地软件回环测试,称为回环地址(127.x.x.x)
私有地址

有一部分地址保留用于内部网络,称为私有地址。这部分地址不会被公共互联网分配,不会与公共地址重复。这些地址无法在公共互联网使用,因为路由器不对目标地址是私有地址的分组进行转发

子网划分

简介

将一个地址块划分成几部分,将一个大的网络分割成多个小的子网,供多个内部网络使用,但对于外部世界仍然像单个网络一样,这样可以更好的管理和利用地址空间,避免浪费

通过分割子网,可以限制广播域的范围,减少网络中的广播流量,提升效率
通过将不同的部门或区域划分到不同的子网,可以更好的控制流量,减少潜在的安全风险

CIDR

翻译成中文就是无分类域间路由选择
CIDR是一种新的IP地址划分方法,是一种更灵活的IP地址分配法,它打破了传统的A、B、C类IP地址的限制,CIDR使用一个斜杠跟网络前缀长度来表示IP地址和网络的关系

子网掩码

常见的3类IP地址子网掩码

网络中的主机被分配IP地址的同时,还会制定子网掩码
通过将IP地址和子网掩码两者进行按位与操作,可以得到IP地址所属的网络地址(网络号)

CIDR无分类编址子网掩码

上图演示的是三类IP地址对应的子网掩码,除了常见的三类IP地址之外我们还会遇到现代CIDR无分类编址,该类型的子网掩码相对于前面三种更为直观,一般会直接写在IP地址后面

形如192.24.12.0/22,这就是一个CIDR无分类编址子网掩码,其子网掩码的位数为22位

判断路由能否匹配当前IP地址

在进行网络数据传送时当数据在面临多个路由器时应该如何选择下一条的路由和后续的路由地址?
对应的判断公式为:

目的IP & 该路由器的子网掩码 = 该路由的网络地址

如果计算出来的结果相等,这就说明这条路由能够匹配目的的IP

网络前缀

网络前缀是指IP地址前的若干位,由/n指定长度,用于路由匹配,例如:192.168.1.130/26,这表示前26位是网络前缀,后六位是主机部分。其中网络前缀是指前26位,网络地址是192.168.1.128,主机部分是后6位

在这里还有一个类似的概念需要辨析,那就是网络号,网络号指的是一个网络的编号或者标识。在CIDR中,网络号通常就是指网络前缀所标识的值,所以在很多情况下这两个概念会被混用。但是网络前缀还强调了长度,例如

192.168.1.0/24 192.168.1.0/25

虽然前面的十进制数相同,但是前缀长度不同,表示的网络范围也不同

路由选择

路由选择是指主机或者路由器根据数据报的IP地址,从路由表中选择一条合适的路径,并确定下一跳的路由器和数据报发送接口,它解决的问题是:
当目的主机不在当前网络中时,数据接下来应该交给谁

一台路由器通常只决定”下一跳“,不会一次规划数据报经过的全部路由器

路由聚合

简介

路由聚合也叫路由汇总,是指:
将多个连续、具有相同高位前缀的小网络,合并成一个更大范围的CIDR网络,并用一条汇总路由表示

例如下面四条路由:

192.24.12.0/24 192.24.13.0/24 192.24.14.0/24 192.24.15.0/24

可以聚合成192.24.12.0/22
于是子路由不必分别保存或通告四条路由,只需要使用一条汇总路由

原理

路由聚合的核心是:找出多个网络地址在二进制形势下共同的连续前缀
将四个网络地址的第三个字节转换为二进制:

12 = 00001100 13 = 00001101 14 = 00001110 15 = 00001111

排列在一起:

192.24.00001100.00000000 192.24.00001101.00000000 192.24.00001110.00000000 192.24.00001111.00000000 └──────┘ 公共前缀

第三个字节中前6位相同:
0000 11
前两个字节已有16位相同,所以共同前缀长度为:22位。将公共前缀之后的位全部置零,得到:
192.24.12.0/22

特性

CIDR往往更适合路由聚合,这是因为CIDR可以明确携带的前缀长度,因此路由器能够更准确的知道聚合地址块的范围

最长匹配前缀

简介

最长路由匹配前缀是路由器查询路由表时使用的基本规则:
如果一个目的IP地址同时匹配多条路由,就选网络前缀最长,地址范围最具体的那一条,例如:

/24 的前缀比 /22长 /22 的前缀比 /16长 /16 的前缀比 /0长

因此当出现多条路由同时匹配路径时:

/24 优先于 /22 /22 优先于 /16 /16 优先于 /0

示例

假设路由表中同时有:

192.24.12.0/22 192.24.15.0/24 0.0.0.0/0

这几个网络的范围是:

路由表示范围
192.24.12.0/22192.24.12.0~192.24.15.255
192.24.15.0/24192.24.15.0~192.24.15.255
0.0.0.0/0所有IPv4地址
他们是一层套一层的关系
0.0.0.0/0 └── 192.24.12.0/22 └── 192.24.15.0/24

所以目的地址192.24.15.2同时处于这三个范围内
为什么我们会优先选择24?
因为/24的范围更小,描述的更加精确

/0 :中国 /22 :某个城市 /24 :某条街道

如果我们知道了一个人位于某条街道,那么我们就没必要到全中国的各个角落去找他

总结

后续我还会继续分享相关的网路层学习笔记敬请期待

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/28 20:36:19

DC-DC辐射发射超标的EMC整改实战:从48MHz振铃到全频段通过

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/28 20:36:10

开源鸿蒙平台 KMP/CMP 三方库「Okio」适配全流程

本文记录 okio 接入 OpenHarmony 的完整过程,覆盖 KMP/CMP 工程盘点、ohosArm64 目标、Kotlin/Native 动态库、C ABI/N-API 桥接、ArkUI 真机页面、HAP 签名和真机验收。 本次适配复用 Okio 的 Kotlin Multiplatform 公共 API 和 Buffer 实现,再由 OpenH…

作者头像 李华
网站建设 2026/9/28 20:34:29

秋招电控岗简历没回音?10个开源项目做深才有工程信号

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/28 20:33:16

NanoVNA实用指南:矢量网络分析、校准与天线测量要点

如果你平时喜欢捣腾天线、滤波器、对讲机手台,或者在做射频小板的阻抗匹配,NanoVNA这个名字应该早就躺在你的购物车和收藏夹里了。作为一台能把“矢量网络分析”这件事做到几百块价位的掌上仪器,它几乎成了DIY射频圈子的标配工具:…

作者头像 李华