子网划分的学习

定长子网划分(Fixed-length Subnetting

也叫做固定长度子网划分,是指在一个IP网络中,把网络划分成若干个大小相等的子网,每个子网的子网掩码长度是一样的。


一、定长子网划分的背景

在早期的IP地址分配中,一个组织如果申请一个A、B、C类地址块,可能地址数量远大于实际需求,造成浪费。为了更合理地使用IP地址资源,就出现了子网划分的概念。


二、定长子网划分的基本特点

特点说明
子网数量固定所有子网大小一致
子网掩码相同每个子网使用相同的子网掩码
主机数一致每个子网可分配的主机数一样
网络划分整齐便于网络管理

三、定长子网划分的实现方法

  1. 选择一个IP地址段(如:192.168.1.0/24)

  2. 决定要划分成多少个子网(如:划分为4个子网)

  3. 计算需要借用的主机位数

    使用公式:

    2^n≥所需子网数

    其中 n是需要借用的主机位数。

  4. 确定新的子网掩码

    原来的掩码 + 借用的位数,例如原来是 /24,借用2位后就是 /26

  5. 划分子网地址段

    每个子网的步长(地址间隔)为:

    2^剩余主机位数

    比如 /26 剩6位,步长为 2^6=64,即每个子网有64个地址(包括网络地址和广播地址)

    子网地址:

    • 192.168.1.0/26

    • 192.168.1.64/26

    • 192.168.1.128/26

    • 192.168.1.192/26


四、应用场景

  • 一个部门有多个相同规模的小组,各小组需要独立的子网

  • 路由器之间配置多个等规模的子网连接

  • 网络管理员希望统一管理,简化规划

变长子网划分(Variable Length Subnet Masking, VLSM)

它是定长子网划分的“进阶版”,在实际网络设计中非常常用。


一、什么是变长子网划分?

变长子网划分(VLSM) 是指根据实际需求,将一个IP地址段划分为大小不一的多个子网,每个子网根据所需主机数量使用不同长度的子网掩码,从而更灵活、高效地利用IP地址。


二、与定长子网划分的对比

项目定长子网划分变长子网划分
子网大小相同不同
子网掩码一样不一样
地址利用率可能浪费更高效
配置复杂度较低较高
应用场景主机数一致主机数不一致

三、VLSM 的使用步骤

  1. 知道你拥有的网络地址段

    • 例如:192.168.1.0/24

  2. 列出所有需要划分的子网以及各自需要的主机数量

    • 比如:

      • 子网A:50台主机

      • 子网B:20台主机

      • 子网C:10台主机

      • 子网D:5台主机

  3. 按主机数从大到小排序

  4. 逐个分配子网,从大往小划分

    • 为50台主机保留的地址数至少需要 2^6=64(实际可用主机数是62),所以掩码为 /26

    • 接下来的空闲地址块中再继续为剩下的子网分配

  5. 重复直到全部子网分配完成


四、举个例子

假设我们要从 192.168.1.0/24 中划分出以下子网:

子网主机数掩码分配地址段
A50/26192.168.1.0 – 192.168.1.63
B20/27192.168.1.64 – 192.168.1.95
C10/28192.168.1.96 – 192.168.1.111
D5/29192.168.1.112 – 192.168.1.119

这样就可以最大限度地节省IP地址,而不像定长划分那样为每个子网分配统一大小造成浪费。


五、VLSM的优点

  • 更加节省IP地址资源

  • 适用于主机需求差异大的网络环境

  • 能满足复杂路由设计

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/78016.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3.QT-信号和槽|自定义槽函数|自定义信号}自定义的语法}带参数的信号和槽(C++)

信号和槽 Linux信号 Signal 系统内部的通知机制. 进程间通信的方式. 信号源:谁发的信号.信号的类型:哪种类别的信号信号的处理方式:注册信号处理函数,在信号被触发的时候自动调用执行. Qt中的信号和Linux中的信号,虽…

如何在 Element UI 中优雅地使用 `this.$loading` 显示和隐藏加载动画

如何在 Element UI 中优雅地使用 this.$loading 显示和隐藏加载动画 在现代 Web 应用开发中,用户体验至关重要。当执行耗时操作(如网络请求或数据处理)时,显示一个友好的加载动画可以让用户知道系统正在工作,而不是卡…

动态加载内容时selenium如何操作?

当处理动态加载的内容时,Selenium 是一个非常强大的工具,因为它可以模拟真实用户的浏览器行为,等待页面元素加载完成后再进行操作。以下是使用 Selenium 获取动态加载内容的详细步骤和代码示例。 一、安装 Selenium 和 ChromeDriver &#…

力扣第446场周赛

有事没赶上, 赛后模拟了一下, 分享一下我的解题思路和做题感受 1.执行指令后的得分 题目链接如下:力扣 给你两个数组:instructions 和 values,数组的长度均为 n。 你需要根据以下规则模拟一个过程: 从下标 i 0 的第一个指令开…

三维点拟合平面ransac c++

理论 平面的一般定义 在三维空间中,一个平面可以由两个要素唯一确定: 法向量 n(a,b,c):垂直于平面的方向 平面上一点 平面上任意一点 p(x,y,z) 满足: ( p − p 0 ) ∗ n 0 (p - p0) * n 0 (p−p0)∗n0 即 a ( x − x 0 ) …

基于LSTM-AutoEncoder的心电信号时间序列数据异常检测(PyTorch版)

心电信号(ECG)的异常检测对心血管疾病早期预警至关重要,但传统方法面临时序依赖建模不足与噪声敏感等问题。本文使用一种基于LSTM-AutoEncoder的深度时序异常检测框架,通过编码器-解码器结构捕捉心电信号的长期时空依赖特征&#…

Docker 部署 PostgreSQL 数据库

Docker 部署 PostgreSQL 数据库 基于 Docker 部署 PostgreSQL 数据库一、拉取 PostgreSQL 镜像二、运行 PostgreSQL 容器三、运行命令参数详解四、查看容器运行状态 基于 Docker 部署 PostgreSQL 数据库 一、拉取 PostgreSQL 镜像 首先,确保你的 Docker 环境已正确…

MySQL性能调优(四):MySQL的执行原理(MYSQL的查询成本)

文章目录 MySQL性能调优数据库设计优化查询优化配置参数调整硬件优化 1.MySQL的执行原理-21.1.MySQL的查询成本1.1.1.什么是成本1.1.2.单表查询的成本1.1.2.1.基于成本的优化步骤实战1. 根据搜索条件,找出所有可能使用的索引2. 计算全表扫描的代价3. 计算使用不同索…

用 Go 优雅地清理 HTML 并抵御 XSS——Bluemonday

1、背景与动机 只要你的服务接收并回显用户生成内容(UGC)——论坛帖子、评论、富文本邮件正文、Markdown 等——就必须考虑 XSS(Cross‑Site Scripting)攻击风险。浏览器在解析 HTML 时会执行脚本;如果不做清理&#…

Redis SCAN 命令的详细介绍

Redis SCAN 命令的详细介绍 以下是 Redis SCAN​ 命令的详细介绍,结合其核心特性、使用场景及底层原理进行综合说明: 工作原理图 : ​ 一、核心特性 非阻塞式迭代 通过游标(Cursor) 分批次遍历键,避免一次…

SpringBoot3集成MyBatis-Plus(解决Boot2升级Boot3)

总结:目前升级仅发现依赖有变更,其他目前未发现,如有发现,后续会继续更新 由于项目架构提升,以前开发的很多公共的组件,以及配置都需要升级,因此记录需要更改的配置(记录时间&#…

基于mybatis与PageHelper插件实现条件分页查询(3.19)

实现商品分页例子 需要先引入mybatis与pagehelper插件&#xff0c;在pom.xml里 <!-- Mybatis --> <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>3.0.3&l…

Spring Bean 全方位指南:从作用域、生命周期到自动配置详解

目录 1. Bean 的作用域 1.1 singleton 1.2 prototype 1.3 request 1.4 session 1.5 application 1.5.1 servletContext 和 applicationContext 区别 2. Bean 的生命周期 2.1 详解初始化 2.1.1 Aware 接口回调 2.1.2 执行初始化方法 2.2 代码示例 2.3 源码 [面试题…

C++ (非类型参数)

模板除了定义类型参数之外&#xff0c;也可以在模板内定义非类型参数 非类型参数不是类型&#xff0c;而是值&#xff0c;比如&#xff1a;指针&#xff0c;整数&#xff0c;引用 非类型参数的用法&#xff1a; 1.整数常量&#xff1a;非类型参数最常见的形式是整数常量&…

短视频+直播商城系统源码全解析:音视频流、商品组件逻辑剖析

时下&#xff0c;无论是依托私域流量运营的品牌方&#xff0c;还是追求用户粘性与转化率的内容创作者&#xff0c;搭建一套完整的短视频直播商城系统源码&#xff0c;已成为提升用户体验、增加商业变现能力的关键。本文将围绕三大核心模块——音视频流技术架构、商品组件设计、…

5.QT-常用控件-QWidget|enabled|geometry|window frame(C++)

控件概述 实现图形化界面的程序. Qt中已经给我们提供了很多的“控件" 就需要学习和了解这些控件&#xff0c;学会如何使用这些控件 编程讲究的是“站在巨人的肩膀上”&#xff0c;而不是“从头发明轮子" 一个图形化界面上的内容&#xff0c;不需要咱们全都从零去实…

2025-04-22| Docker: --privileged参数详解

在 Docker 中&#xff0c;--privileged 是一个运行容器时的标志&#xff0c;它赋予容器特权模式&#xff0c;大幅提升容器对宿主机资源的访问权限。以下是 --privileged 的作用和相关细节&#xff1a; 作用 完全访问宿主机的设备&#xff1a; 容器可以访问宿主机的所有设备&am…

高性能服务器配置经验指南1——刚配置好服务器应该做哪些事

文章目录 安装ubuntu安装必要软件设置用户远程连接安全问题ClamAV安装教程步骤 1&#xff1a;更新系统软件源步骤 2&#xff1a;升级系统&#xff08;可选但推荐&#xff09;步骤 3&#xff1a;安装 ClamAV步骤 4&#xff1a;更新病毒库步骤 5&#xff1a;验证安装ClamAV 常用命…

直流绝缘监测解决方案:保障工业与新能源系统的安全运行

一、引言 随着工业自动化和新能源技术的快速发展&#xff0c;直流供电系统在光伏发电、储能电站、电动汽车充电桩等领域的应用日益广泛。然而&#xff0c;直流系统的正负极不接地&#xff08;IT系统&#xff09;特性&#xff0c;使得绝缘故障可能导致漏电、短路甚至设备损毁等…

VSCode 用于JAVA开发的环境配置,JDK为1.8版本时的配置

插件安装 JAVA开发在VSCode中&#xff0c;需要安装JAVA的必要开发。当前安装只需要安装 “Language Support for Java(TM) by Red Hat”插件即可 安装此插件后&#xff0c;会自动安装包含如下插件&#xff0c;不再需要单独安装 Project Manager for Java Test Runner for J…