当前位置: 首页 > news >正文

【网络协议】IPv4 地址分配 - 第二部分

前言

在第 1 部分中,我们学习了 IPv4 地址的分配方式,了解了各种类型的 IPv4 地址,并进行了基础的子网划分(Subnetting)。在第 2 部分中,我们将继续学习子网划分,并引入一些新的概念。

【网络协议】IPv4 地址分配 - 第一部分

文章目录

    • 前言
    • IPv4 的类别式地址(Classful Addressing)
    • 无类别 IPv4 地址分配(Classless Addressing)
    • CIDR 和 VLSM
    • 子网划分(Subnetting)续篇
    • 子网划分
      • 任务 1:一个子网容纳 125 个主机
      • 任务 2:一个子网容纳 60 个主机
      • 任务 3:一个子网容纳 30 个主机
      • 任务 4:3 个子网,每个子网有 2 个主机 IP 地址
    • 超网 (Supernetting)
      • 超网实验

IPv4 的类别式地址(Classful Addressing)

当 IPv4 地址最初被引入时,其标准基于 RFC 791,采用了按类别划分的方式。根据当时企业的需求,IPv4 地址分为以下三类:

  • A 类:分配给大型组织。
  • B 类:分配给中型企业。
  • C 类:分配给小型组织。

以下是 IPv4 地址各类别的分类表:

在这里插入图片描述

  • A 类地址:以 0 位开头,范围为 0.0.0.0 到 127.255.255.255。其中第一个地址 0.0.0.0 配合子网掩码 0.0.0.0 被保留为默认路由(Default Route)。这一点将在后续章节中讨论。
  • B 类地址:高阶位以 10 开头,其范围如上表所示。
  • C 类地址:高阶位以 110 开头,范围为 192.0.0.0 到 223.255.255.255。
  • 其余的 IPv4 地址范围则保留用于实验用途或组播(Multicast)。

然而,类别式 IPv4 地址分配存在一些问题。例如,某公司只需要 100 个主机,但被分配了一个 B 类地址范围,这会导致大量 IP 地址浪费,从而影响未来的扩展和 IPv4 地址的使用。因此,引入了无类别的 IPv4 地址分配方式。

无类别 IPv4 地址分配(Classless Addressing)

无类别 IPv4 地址分配解决了类别式分配导致的地址浪费问题。无类别域间路由(Classless Inter-Domain Routing,CIDR) 使用子网掩码而非高阶位数量来分配 IP 地址。

CIDR 和 VLSM

通过 CIDR,可以使用可变长度子网掩码(Variable Length Subnet Masks, VLSM),根据组织的需求灵活分配 IP 地址。这种方式允许根据内部需求进一步划分网络。

在本章中,我们将讨论子子网划分(Sub-subnetting)和超网(Supernetting)。

子网划分(Subnetting)续篇

如上一篇文章所述,子网划分可以进一步细化为子子网,以满足组织的具体需求。在这一部分,我们将学习如何对子网进行进一步划分(Sub-subnetting)。

例如,假设我们有一个 IP 地址 192.168.1.0/24,我们可以对子网进行划分,以高效地为主机分配 IP 地址。

在本节中,我们将学习如何对子网进行划分。这是 VLSM 的具体应用场景。

子网划分

已知 IP 网络 192.168.1.0/24,任务是将其划分为满足以下需求的子网:

  • 一个子网需要容纳 125 个主机;
  • 一个子网需要容纳 60 个主机;
  • 一个子网需要容纳 30 个主机;
  • 三个子网需要容纳 2 个主机。

任务 1:一个子网容纳 125 个主机

首先,我们需要计算所需的主机位数,其余位数将分配给网络部分。

2^n=125 – 2

2^7=128

128-2 = 126

结论:
我们需要 7 个主机位,剩余 1 位分配给网络部分。

在这里插入图片描述

当我们向网络部分添加 1 位时,新的子网掩码将是:

在这里插入图片描述
192.168.1.0/25

因此,增量将是 128。在这种情况下,第一个网络将是 192.168.1.0/25。

在这里插入图片描述

第二个网络将是 192.168.1.128/25,如下所示。

在这里插入图片描述

这将为 125 个主机提供足够的主机 IP 地址。

任务 2:一个子网容纳 60 个主机

在任务 1 中,我们已经将网络 192.168.1.0/25 分配给第一个网络,这意味着我们现在可以使用 192.168.1.128/25。这个子网需要进一步划分,以提供 60 个主机的 IP 地址。

因此,我们需要计算能够容纳这些主机所需的主机位数。

2^n-2= 60

2^5- 2=30,这小于 60,因此不足以满足需求。

2^6-2 = 62,因此足够满足 LAN A 的主机需求。

主机位数将是 6,我们需要从主机位中借用 2 位来创建这些新子网。

划分后的 192.168.1.128/25 网络的新子网掩码将是:

在这里插入图片描述
255.255.255.192

注意:在任务 1 中,我们保留了第二个子网,即 192.168.1.128/25,因此新子网必须从该子网中划分。

增量值为 64,因此两个新子网为:

  • 192.168.1.128/26
  • 192.168.1.192/26

第一个子网(192.168.1.128/26)将分配给需要 60 个主机的网络。第二个子网将根据任务 3 进一步划分。

任务 3:一个子网容纳 30 个主机

我们需要 30 个主机 IP 地址,这些地址将来自任务 2 中获得的第三个子网,即 192.168.1.192/26

首先,我们需要确定主机部分所需的主机位数。

2^n-2= 30

2^4-2=14,不足以满足需求。

2^5-2= 30,足够满足需求,并允许扩展。

因此,主机部分将有 5 位,而网络部分需要从第四个八位组中借用 3 位。

划分后的 192.168.1.192/26 网络的新子网掩码如下所示:

在这里插入图片描述

这是 255.255.255.224。

因此,增量将是 32。

第一个网络如下所示:192.168.1.192/27。

在这里插入图片描述
第二个也是最后一个网络将是:192.168.1.224/27。

在这里插入图片描述

任务 4:3 个子网,每个子网有 2 个主机 IP 地址

最后一个任务是将 192.168.1.224/27 子网进一步划分为三个子网,每个子网包含 2 个主机 IP 地址。

首先,我们确定需要多少主机 IP 地址位数。

2^n-2=2

2^2-2=2,足够满足需求。

因此,主机部分将有 2 位,而网络部分需要从第四个八位组中借用 6 位。

划分后的 192.168.1.224/27 网络的新子网掩码将是:

在这里插入图片描述
子网掩码是:255.255.255.252

该网络中的增量将是 4。

我们需要的三个子网为:

192.168.1.224/30
192.168.1.228/30
192.168.1.232/30

这些网络适用于点对点链接,例如两个路由器之间的连接。

超网 (Supernetting)

在上一节中,我们讨论了子网划分,即将一个大网络分割成更小的网络。超网是其相反的过程,它将多个小网络合并为一个大网络。这个概念将在我们讨论路由汇总时详细介绍。

超网实验

在此场景中,我们给出了以下子网:

在这里插入图片描述

我们的任务是将这些 IP 地址进行超网操作,以便获得一个汇总地址。

步骤 1:将 IP 网络写成二进制形式。

在这里插入图片描述

步骤 2:确定每个网络中相似的位数,并画出一条线标记匹配位的结束位置。

在这里插入图片描述
步骤 3:计算匹配位的数量,并将其转换为十进制格式。

在此场景中,匹配的位是前两个八位组以及第三个八位组的前六个位。

它们可以表示为如下所示:

192.168.0.0

步骤 4:我们需要确定这个汇总地址的新子网掩码:

对于匹配的位,填充所有“1”。

这将是:11111111.11111111.11111100.00000000

这是新的子网掩码,对应的十进制格式如下所示:

255.255.252.0

因此,新网络将是:192.168.0.0/22,即网络的超网(Supernet)。

相关文章:

【网络协议】IPv4 地址分配 - 第二部分

前言 在第 1 部分中,我们学习了 IPv4 地址的分配方式,了解了各种类型的 IPv4 地址,并进行了基础的子网划分(Subnetting)。在第 2 部分中,我们将继续学习子网划分,并引入一些新的概念。 【网络…...

攻防世界 bug

发现有Register界面,先去注册 登录以后发现以下界面,点击Manage显示you are not admin,并且在注册界面用admin为注册名时显示用户名已存在。初步推测是设法改变admin的密码取得权限。 在主界面一通操作并没有什么发现,去findpw…...

Flink如何设置合理的并行度

一个Flink程序由多个Operator组成(source、transformation和 sink)。 一个Operator由多个并行的Task(线程)来执行, 一个Operator的并行Task(线程)数目就被称为该Operator(任务)的并行度(Parallel)。即并行度就是相对于Operator来说的。 合理设置并行度可以有效提高Flink作业…...

小兔鲜儿:生鲜区域,最新专题

生鲜区域: 生鲜区域标题部分: 生鲜区域内容部分: 分左右两个部分 右边区域是8个 li 标签区域,li中嵌套 a ,上部分是图片,下部分是内容;与 a 并列的是cover,定位在 li 之外,设置是溢出隐藏&…...

TypeScript语言的网络编程

基于 TypeScript 的网络编程探索 随着互联网技术的发展,网络编程已成为软件开发中不可或缺的一部分。尤其是在构建现代 Web 应用程序时,网络编程的各个方面,包括 HTTP 请求、WebSocket、API 交互等,都扮演着至关重要的角色。Type…...

复合机器人助力手机壳cnc加工向自动化升级

在当今竞争激烈的制造业领域,如何提高生产效率、降低成本、提升产品质量,成为众多企业面临的关键挑战。尤其是在手机壳 CNC 加工这一细分行业,随着市场需求的持续增长,对生产效能的要求愈发严苛。而复合机器人的出现,正…...

在 C# 中显示动画 GIF 并在运行时更改它们

您可以通过将按钮、图片框、标签或其他控件的Image属性设置为 GIF 文件 来显示动画 GIF 。(如果您在窗体的BackgroundImage属性中显示一个,则不会获得动画。) 有几种方法可以在运行时更改 GIF。 首先,您可以将 GIF 添加为资源。…...

个人博客搭建(二)—Typora+PicGo+OSS

个人博客站—运维鹿: http://www.kervin24.top CSDN博客—做个超努力的小奚: 做个超努力的小奚-CSDN博客 一、前言 博客搭建完一直没有更新,因为WordPress自带的文档编辑器不方便,以前用CSDN写作的时候,习惯了Typora。最近对比了…...

Cloudflare IP 优选工具:轻松找到最快的 CDN 节点

Cloudflare IP 优选工具:轻松找到最快的 CDN 节点 在线体验地址:https://cf-ip.cdtools.click 功能介绍 Cloudflare IP 优选工具是一个专门用于测试和筛选 Cloudflare CDN 节点的在线服务。它能够帮助用户找到最适合自己的 Cloudflare IP 地址&#xff…...

HTB:Ransom[WriteUP]

目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机常用UDP端口进行开放扫描 使用ffuf对靶机80端口进行路径FUZZ 访问/regist…...

Eclipse配置Tomcat服务器(最全图文详解)

前言: 本章使用图文讲解如何在Eclipse开发工具中配置Tomcat服务器、如何创建和启动JavaWeb工程,欢迎童鞋们互相交流。觉得不错可以三连订阅喔。 目标: 一、配置Tomcat服务器 1. 切换Eclipse视图 2. 打开菜单 3. 找到服务选项 4. 选择…...

STM32烧写失败之Contents mismatch at: 0800005CH (Flash=FFH Required=29H) !

一)问题:用ULINK2给STM32F103C8T6下载程序,下载方式设置如下: 出现下面两个问题: 1)下载问题界面如下: 这个错误的信息大概可以理解为,在0x08000063地址上读取到flash存储为FF&am…...

用户界面的UML建模10

非正常的可视反馈可伴随着同步事件发生,而同步事件可由系统动作产生。但是,可以分别对它们进行建模。 在下节中将对这些特殊的事件依次进行论述。 6.1 异常处理建模 异常,由Meyer 定义[16],其作为运行时事件(run-time events&a…...

电影动画shader解析与实现

着色器代码解析 大家好!我是 [数擎AI],一位热爱探索新技术的前端开发者,在这里分享前端和Web3D、AI技术的干货与实战经验。如果你对技术有热情,欢迎关注我的文章,我们一起成长、进步! 开发领域:…...

蓝桥杯 第十五届 研究生组 B题 召唤数学精灵

问题描述: 数学家们发现了两种用于召唤强大的数学精灵的仪式,这两种仪式分别被称为累加法仪式 A(n) 和累乘法仪式 B(n)。累加法仪式 A(n) 是将从 1 到 n 的所有数字进行累加求和,即:A(n)12⋯n累乘法仪式 B(n) 则是将从 1 到 n 的所…...

在 Go 应用中 如何像 FastAPI 一样优雅地构建控制器

文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons:JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram,自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 ? 5 IDEA必装的插件&…...

用户界面的UML建模11

然而,在用户界面方面,重要的是要了解《boundary》类是如何与这个异常分层结构进行关联的。 《exception》类的对象可以作为《control》类的对象。因此,《exception》类能够聚合《boundary》类。 参见图12,《exception》Database…...

历代iPhone运行内存大小和电池容量信息

系列设备名称充电端口标配充电线PD快充无线充电 (W)标配充电器电池容量 (mAh)发布时间RAM运存iPhone 16iPhone 16 Pro MaxUSB Type-CUSB-C to USB-C支持25无47472024/9/108GB LPDDR5XiPhone 16 ProUSB Type-CUSB-C to USB-C支持25无35772024/9/108GB LPDDR5XiPhone 16 PlusUSB …...

计算机网络之---物理层设备

什么是物理层设备 物理层设备是指负责数据在物理媒介上传输的硬件设备,它们主要处理数据的转换、信号的传输与接收,而不涉及数据的内容或意义。常见的物理层设备包括网卡、集线器、光纤收发器、调制解调器等。 物理层设备有哪些 1、网卡(N…...

57. Three.js案例-创建一个带有聚光灯和旋转立方体的3D场景

57. Three.js案例-创建一个带有聚光灯和旋转立方体的3D场景 实现效果 该案例实现了使用Three.js创建一个带有聚光灯和旋转立方体的3D场景。 知识点 WebGLRenderer(WebGL渲染器) THREE.WebGLRenderer 是 Three.js 中用于将场景渲染为 WebGL 内容的核…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...

水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关

在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...

Visual Studio Code 扩展

Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...

一些实用的chrome扩展0x01

简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序,无论是测试应用程序、搜寻漏洞还是收集情报,它们都能提升工作流程。 FoxyProxy 代理管理工具,此扩展简化了使用代理(如 Burp…...

鸿蒙HarmonyOS 5军旗小游戏实现指南

1. 项目概述 本军旗小游戏基于鸿蒙HarmonyOS 5开发,采用DevEco Studio实现,包含完整的游戏逻辑和UI界面。 2. 项目结构 /src/main/java/com/example/militarychess/├── MainAbilitySlice.java // 主界面├── GameView.java // 游戏核…...