当前位置: 首页 > 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…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...