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

IPv4编址及子网划分

IPv4编址及子网划分

  • 一、IPv4地址概述
    • 1.1、IPv4报文结构
    • 1.2、IPv4地址分类
      • 1.2.1、A类
      • 1.2.2、B类
      • 1.2.3、C类
      • 1.2.4、D类
      • 1.2.5、E类
    • 1.3、私有IP地址
    • 1.4、特殊地址
  • 二、子网划分
    • 2.1、子网掩码
    • 2.2、VLSM 可变长的子网掩码
    • 2.3、子网划分
    • 2.4、子网划分示例
      • 2.4.1、子网划分案例 —— A类网络
      • 2.4.2、子网划分案例 —— B类网络
      • 2.4.3、子网划分案例 —— C类网络
    • 2.5、CIDR 子网聚合
    • 2.6、CIDR 子网聚合案例
    • 2.7、路由聚合的计算方法
  • 三、园区网络IP地址规划
    • 3.1、IP地址规划原则
    • 3.2、节约IP地址的技巧

一、IPv4地址概述

IPV4地址的作用:用于标识一个节点的网络地址。

1.1、IPv4报文结构

  • 版本:目前的IP协议版本号为4。
  • 服务类型:用于IP报文的标记,多用于QoS。
  • 生存时间:IP报文所允许通过的路由器的最大数量。
  • 协议:指出IP报文携带的数据使用的协议。
  • 源IP地址:标识IP数据报的源端设备。
  • 目的IP地址:标识IP数据报的目的地址。

在这里插入图片描述

  • IP地址结构:IPv4地址长度为32位,包括网络位和主机位两部分。
  • 网络位是为了标识这个IP地址所属的网段。
  • 主机位是为了标识这个IP地址在网段中具体的节点。

在这里插入图片描述

  • 为了方便书写和表达,我们将IPv4地址分为4段,称为“点分十进制”。
  • 每段从0开始到255结束,最小的IP是0.0.0.0,最大的IP是255.255.255.255

在这里插入图片描述

  • IP地址结构:
    • IP地址举例:172.16.122.204

在这里插入图片描述

1.2、IPv4地址分类

  • 早期的网络中,IP地址没有掩码的概念:
    • 为了方便划分网络大小,根据网络大小的不同,按照“有类”的方式将网络划分为A、B、C、D、E五类。
    • A、B、C类IP地址的网络位都是固定的,D、E类IP地址没有网络位与主机位。

在这里插入图片描述

1.2.1、A类

  • A类IP地址范围:1.0.0.0~126.255.255.255
  • 前8位为网络位,第一位为0,其余的7位可以分配,A类地址共分为27块,每一块网络号不同。

在这里插入图片描述

  • A类地址网络号全为0和网络位全为1的地址保留。
  • 每个A类网络可以分配的主机号的数量为2^24-2=16777214(主机号全为0和全为1的两个地址保留)。

A类地址的使用:

  • 第一块地址范围:0.0.0.0~0.255.255.255(网络号=0);
  • 第二块地址范围:1.0.0.0~1.255.255.255(网络号=1);
  • ……
  • 最后一块地址范围:127.0.0.0~127.255.255.255(网络号=127);

1.2.2、B类

  • B类IP地址范围:128.0.0.0~191.255.255.255

  • 前16位为网络位,前两位为10,其余的14位可以分配,B类地址共分为214块。
    在这里插入图片描述

  • B类网络可以分配的主机号的数量为2^16-2=65534(主机号全为0和全为1的两个地址保留)。

B类地址的使用:

  • 第一块地址范围:128.0.0.0~128.0.255.255(网络号=128.0);
  • 第二块地址范围:128.1.0.0~128.1.255.255(网络号=128.1);
  • ……
  • 最后一块地址范围:191.255.0.0~191.255.255.255(网络号=127);

1.2.3、C类

  • C类IP地址:192.0.0.0~223.255.255.255

  • 前24位为网络位,前三位为110,其余的21位可以分配,C类地址共分为221块;
    在这里插入图片描述

  • C类网络可以分配的主机号的数量为2^8-2=254(主机号全为0和全为1的两个地址保留);

C类地址的使用:

  • 第一块地址范围:192.0.0.0~192.0.0.255(网络号=192.0.0)。
  • 第二块地址范围:192.0.1.0~192.0.1.255(网络号=192.0.1)。
  • ……
  • 最后一块地址范围:223.255.255.0~223.255.255.255(网络号=223.255.255)。

1.2.4、D类

  • D类IP地址:224.0.0.0~239.255.255.255
  • D类地址不标识网络,用于组播地址。

在这里插入图片描述

D类地址的使用:

  • 224.0.0.1 所有主机的地址
  • 224.0.0.2 所有组播路由器的地址
  • 224.0.0.5 所有OSPF路由器
  • 224.0.0.6 OSPF DR/BDR
  • 224.0.0.9 RIPv2路由器
  • 224.0.0.18 VRRP协议报文地址

1.2.5、E类

  • E类IP地址:240.0.0.0~247.255.255.255。
  • E类地址暂时保留,用于科研实验。

在这里插入图片描述

1.3、私有IP地址

  • 为了节省IP地址,将IP地址分为:
    • 公有地址
    • 私有地址
  • 私有地址:
    • A类:10.0.0.0至10.255.255.255
    • B类:172.16.0.0至172.31.255.255
    • C类:192.168.0.0至192.168.255.255
  • 私有地址只能应用于企业内网。
    • 在企业边界通过NAT把数据的私有地址转换为公有地址。

1.4、特殊地址

  • 本地回环地址(测试):
    • 127.X.X.X
  • 网络号:主机位全为0
    • 例:192.168.1.0/24
  • 子网广播地址:主机位全为1
    • 例:192.168.1.255/24
  • 本地广播地址:
    • 255.255.255.255
  • 未知地址:网络位和主机位全为0
    • 0.0.0.0

二、子网划分

2.1、子网掩码

  • 子网掩码用来区分IP地址中的网络位和主机位。
  • 子网掩码由连续的1和0组成:1表示对应IP地址的网络位,0表示对应IP地址的主机位。
  • IP地址和子网掩码本质均是由32位二进制数字组成。
  • 为了书写方便,使用“/数字”法表示子网掩码。

在这里插入图片描述

2.2、VLSM 可变长的子网掩码

  • VLSM:Variable Length Subnetwork Mask ,可变长的子网掩码
    • 使用多个不同的子网掩码把网络划分为不同大小的子网
    • 使IP地址空间得到更有效的利用

子网划分示例:172.16.0.0 255.255.0.0(172.16.0.0/16)

  • 172.16.0.0/24
  • 172.16.1.0/24
  • ……
  • 172.16.254.0/24
    • 172.16.254.0/30
    • 172.16.254.4/30
    • ……
    • 172.16.254.252/30
  • 172.16.255.0/24
    • 172.16.255.1/32
    • 172.16.255.2/32
    • ……
    • 172.16.255.255/32

2.3、子网划分

  • 改变子网掩码,把一个大的网络划分为若干个小的网络
  • 提高IP地址的使用率
    • 子网的个数:2^𝑋(x 代表子网的位数)
    • 每个子网内有效主机个数:2^y-2(y 代表主机位数)

在这里插入图片描述

2.4、子网划分示例

  • 一个C类网段:192.168.10.0/24
  • 默认掩码 /24(255.255.255.0)
  • 总共IP ,2的8次方=256个
  • 掩码就像一把“刀”,将网段进行“切割”

在这里插入图片描述

2.4.1、子网划分案例 —— A类网络

  • 子网划分举例: 10.1.1.2 255.255.255.252(/30)
    在这里插入图片描述

  • 从子网掩码中可以看出,IP地址的前30位为网络位,后两位为主机位。

  • 10.1.1.2 的二进制表示如下:

在这里插入图片描述

  • 最后两位有4种组合,因此这个网段中有4个IP地址,10.1.1.0-10.1.1.3,由于每个网络的第一个和最后一个IP地址不可用,因此实际可用的IP地址为10.1.1.1和10.1.1.2 。

2.4.2、子网划分案例 —— B类网络

  • 子网划分举例:172.16.0.0 255.255.0.0(/16)
    • 将一个B类地址划分为多个 C类地址
    • 子网划分前可用IP地址数为2^16-2=65534个,都在同一个网段
    • 子网划分后172.16.0.0被划分为2^8个C类地址,每个子类地址可用IP地址数为254个
      在这里插入图片描述

2.4.3、子网划分案例 —— C类网络

  • 子网划分举例:192.168.10.213 255.255.255.192(/26)
    • 192.168.10.213是一个C类地址,默认掩码为/24
    • 子网数:26-24 = 2,因此子网数是2^2即4个。
    • 每个网络的有效主机数:由于主机位是32-26=6,因此有效主机数是2^6-2=64-2=62个。

在这里插入图片描述

2.5、CIDR 子网聚合

  • CIDR(Classless Inter-Domain Routing,无类域间路由)
    • 将多个“有类”的子网合并成一个,以减少路由表中的路由条目。
    • 不受制于A B C类地址空间,消除了自然分类地址和子网划分的界限。

在这里插入图片描述

2.6、CIDR 子网聚合案例

  • 路由聚合将多条路由聚合为一条,大大减少了路由器中路由的条目。

在这里插入图片描述

2.7、路由聚合的计算方法

  • 第一步:将地址转换为二进制格式,并将它们对齐。
  • 第二步:找到所有地址中都相同的最后一位。在它后面划一条竖线。
  • 第三步:竖线左边的位数为子网掩码位数。
  • 第四步:竖线右边全设为零,竖线左边保持不变,即可形成路由汇总网络地址。

在这里插入图片描述

三、园区网络IP地址规划

3.1、IP地址规划原则

  • IP地址规划的好坏,将会直接给网络带来影响:
    • 网络路由协议算法的效率
    • 网络的性能
    • 网络的扩展
    • 网络的管理
  • IP地址规划主要遵从四个原则:
    • 唯一性:一个IP网络中不能有两个主机使用相同的IP地址
    • 可扩展性:在IP地址分配时,要有一定的余量,以满足网络扩展时的需要
    • 连续性:分配的连续的IP地址要有利于管理和地址汇总,连续的IP地址易于汇总,减小路由表,提高路由效率
    • 实意性:分配IP地址时尽量使所分配的IP地址具有一定实际意义
    • 例如:使人一看到该IP地址就可以知道此IP地址分配给了哪个部门或哪个地区

3.2、节约IP地址的技巧

  • 在分配IP地址时,如需要节约IP地址,注意以下几点:
    • 配置Loopback地址时,使用的子网掩码为32
    • 配置互联地址时,使用的子网掩码为/30
    • 对各业务网关进行统一设定
      • 比如:将所有的网关统一设置成X.X.X.254
    • 在完成IP地址规划之后,公司既可以配置静态IP地址,也可以使用DHCP服务器动态分配IP地址

相关文章:

IPv4编址及子网划分

IPv4编址及子网划分 一、IPv4地址概述1.1、IPv4报文结构1.2、IPv4地址分类1.2.1、A类1.2.2、B类1.2.3、C类1.2.4、D类1.2.5、E类 1.3、私有IP地址1.4、特殊地址 二、子网划分2.1、子网掩码2.2、VLSM 可变长的子网掩码2.3、子网划分2.4、子网划分示例2.4.1、子网划分案例 —— A…...

HashMap 二十一问

1&#xff1a;HashMap 的数据结构&#xff1f; A&#xff1a;哈希表结构&#xff08;链表散列&#xff1a;数组链表&#xff09;实现&#xff0c;结合数组和链表的优点。当链表长度超过 8 时&#xff0c;链表转换为红黑树。transient Node<K,V>[] table; 2&#xff1a;…...

什么是Selenium?使用Selenium进行自动化测试

什么是 Selenium&#xff1f;   Selenium 是一种开源工具&#xff0c;用于在 Web 浏览器上执行自动化测试&#xff08;使用任何 Web 浏览器进行 Web 应用程序测试&#xff09;。   等等&#xff0c;先别激动&#xff0c;让我再次重申一下&#xff0c;Selenium 仅可以测试We…...

解决“先commit再pull”造成的git冲突

一、问题场景 在分支上修改了代码然后commit&#xff08;没有push&#xff09;&#xff0c;此时再git pull&#xff0c;拉下了别人的修改&#xff0c;但是报错无法merge 二、解决步骤 1.在idea下方工具栏选择git -> log&#xff0c;可以看到版本变化链表&#xff0c;右键…...

JAVA设计模式----原型设计模式

文章目录 一、简介二、实现方式三、原型模式的注意事项浅拷贝与深拷贝浅拷贝深拷贝一、简介 定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 类型:创建类模式 类图: 原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Protot…...

树·c++

树&#xff08;Tree&#xff09; 是一种非线性的数据结构&#xff0c;它由若干个 节点&#xff08;Node&#xff09; 组成&#xff0c;并通过 边&#xff08;Edge&#xff09; 相互连接。树的结构类似于现实中的树&#xff0c;其中 根节点&#xff08;Root Node&#xff09; 位…...

vuejs 设计与实现 - 双端diff算法

我们介绍了简单 Diff 算法的实现原理。简单 Diff 算法利用虚拟节点的 key 属性&#xff0c;尽可能地复用 DOM元素&#xff0c;并通过移动 DOM的方式来完成更新&#xff0c;从而减少不断地创建和销毁 DOM 元素带来的性能开销。但是&#xff0c;简单 Diff 算法仍然存在很多缺陷&a…...

RISC-V在快速发展的处理器生态系统中找到立足点

原文&#xff1a;RISC-V Finds Its Foothold in a Rapidly Evolving Processor Ecosystem 作者&#xff1a;Agam Shah 转载自&#xff1a;https://thenewstack.io/risc-v-finds-its-foothold-in-a-rapidly-evolving-processor-ecosystem/ 以下是正文 But the open source pr…...

面试题02

这里写目录标题 主存储器和CPU之间增加Cache的目的是?判断一个char变量c1是否为小写字母循环链表顺序存储的线性表,访问结点和增加删除结点的时间复杂度请列举你所知道的c/c++ 语言中引入性能开销或阻碍编译优化的语言特性,并尝试说明对应的解决办法请列举CPU cache对编程开…...

第六章 SpringBoot注解 @ConditionalOnBean

满足条件的则进行组件的注入 Configuration(proxyBeanMethods true) //告诉SpringBoot这是一个配置类 配置文件 ConditionalOnBean(name "tom") public class MyConfig {Bean("tom")public Pet tom(){return new Pet("tomPet");}/*** 外部无论…...

MySQL8的下载与安装-MySQL8知识详解

本文的内容是mysql8的下载与安装。主要讲的是两点&#xff1a;从官方网站下载MySQL8安装和从集成环境安装MySQL8。 一、从官方网站下载MySQL8.0安装 MySQL8.0官方下载地址是&#xff1a;&#xff08;见图&#xff09; 官方正式版的最新版本是8.0.34&#xff0c;也推出了创新版…...

ATF(TF-A)安全通告 TFV-9 (CVE-2022-23960)

ATF(TF-A)安全通告汇总 目录 一、ATF(TF-A)安全通告 TFV-9 (CVE-2022-23960) 二、CVE-2022-23960 一、ATF(TF-A)安全通告 TFV-9 (CVE-2022-23960) Title TF-A披露通过分支预测目标重用&#xff08;branch prediction target reuse&#xff09;引发的前瞻执行处理器漏洞 CV…...

docker实现Nginx

文章目录 1.docker 安装2.docker环境实现Nginx 1.docker 安装 1.使用环境为红帽8.1,添加源 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo2.安装 yum install docker-ce docker-ce-cli containerd.io显示出错 Docker C…...

【Java 回忆录】Java全栈开发笔记文档

这里能学到什么&#xff1f; 实战代码文档一比一记录实战问题和解决方案涉及前端、后端、服务器、运维、测试各方面通过各方面的文档与代码&#xff0c;封装一套低代码开发平台直接开腾讯会议&#xff0c;实实在线一起分享技术问题核心以 Spring Boot 作为基础框架进行整合后期…...

数据结构:力扣刷题

题一&#xff1a;旋转数组 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 思路一&#xff1a; 创建reverse()函数传入三个值分别为数组地址&#xff0c;从第几个数组元素开始&#xff0c;结束元素位置&#xff1b; 在r…...

【Java】常用设计模式的理解

设计模式 前言 有一些重要的设计原则在开篇和大家分享下&#xff0c;这些原则将贯通全文&#xff1a; 面向接口编程&#xff0c;而不是面向实现。这个很重要&#xff0c;也是优雅的、可扩展的代码的第一步&#xff0c;这就不需要多说了吧。 职责单一原则。每个类都应该只有一…...

python - 爬虫简介

什么是爬虫&#xff1f; 模拟浏览器对网站服务器发送请求解析服务器返回的响应数据&#xff0c;并保存数据 爬虫能获取哪些数据&#xff1f; 原则上所有可以通过浏览器获取的数据都可以爬取爬虫也只能获取爬取浏览器可以正常获取的数据 爬虫的应用场景&#xff1f; 数据分…...

【结构型设计模式】C#设计模式之外观模式

题目描述&#xff1a; 假设你正在开发一个音乐播放器应用程序&#xff0c;该应用程序需要与多个子系统进行交互&#xff0c;包括音频解码、音量控制和播放控制等。请使用外观模式设计一个音乐播放器的外观类&#xff0c;并实现相应的子系统类。 要求&#xff1a; 创建一个外观…...

Linux网络编程 socket编程篇(一) socket编程基础

目录 一、预备知识 1.IP地址 2.端口号 3.网络通信 4.TCP协议简介 5.UDP协议简介 6.网络字节序 二、socket 1.什么是socket(套接字)&#xff1f; 2.为什么要有套接字&#xff1f; 3.套接字的主要类型 拓】网络套接字 三、socket API 1.socket API是什么&#xff1f; 2.为什么…...

【二】SPI IP核的使用

【一】SPI IP核使用&#xff1a;传送门 基于qsys通过spi外部总线协议对sd卡进行读写操作 一、实验平台与实验的目的&#xff1a; ​ 正点原子开拓者、芯片型号&#xff1a;EP4CE10F17C8&#xff1b;还需要一张sd卡。 ​ 该实验主要是利用SPI IP核驱动SD卡来实现读写实验&am…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展&#xff0c;越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式&#xff0c;也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建&#xff0c;…...