IPv4编址方式

news2025/6/25 15:05:29

IPv4编址方式

本文的知识都可以到B站up湖科大教书匠的视频里去看具体讲解。

分类地址

IPv4地址被分为网络号和主机号,可分为A类地址、B类地址、C类地址、D类地址、E类地址。其中,只有A类、B类、C类地址的可用于给网络中的主机编址。

A类地址的网络号为8位,8位编码默认以0开头,可使用的网络号从1到126,主机号从1到 2 24 − 2 2^{24}-2 2242
B类地址的网络号为16位,16位编码默认以10开头,可使用的网络号从128.0到191.255,主机号从1到 2 16 − 2 2^{16}-2 2162
C类地址的网络号为24位,24位编码默认以110开头,可使用的网络号从192.0.0到223.255.255,主机号从1到 2 8 − 2 2^{8}-2 282

值得注意的是:

  • 当一个设备尚未配置IP地址时(例如,一个新设备或者一个重新启动的设备),它可能会使用0.0.0.0作为源IP地址。这通常发生在动态主机配置协议(DHCP)过程的初期阶段,当设备请求分配一个IP地址时。
  • 网络号为127的所有主机号,也就是127.0.0.0/8 都用于本地软件环回测试。环回测试通常用于检查本地主机的网络栈是否正常工作。当你发送数据到一个环回地址时,数据包不会在任何网络上发送,而是直接由本机处理。
  • 主机号为“全0”,表示主机所在的网络。
  • 主机号为“全1”,表示对主机所在的网络上所有的主机发送信息,也就是广播通信。

在这里插入图片描述

路由器的作用:
IP地址配置在不同的网络中,直接连发送数据是不能成功的,譬如A类直接给B类直接发送数据是不能成功的。如果想要发送到不同网络类型的主机,只能将数据交给某个路由器进行转发才可以让属于两个不同网络的主机互联起来。
一台路由器有多个端口,譬如它有两个端口,一个端口专门收发A类数据,另一个端口专门收发B类数据,那么前一个端口就会有个A类的IP地址,后一个端口就会有个B类的IP地址,两个地址皆可在仿真软件中人为设置。
在A类主机和B类主机的IP配置中设置默认路由器或默认网关,也就是选择从哪一台路由器来收发数据。那A类主机选择自己的联系方为路由器的A端口,B类主机选择自己的联系方为路由器的B端口,具体的不同类型的网络信息的转换就可在路由器内部进行了。

缺陷总结:IP地址的空间利用率有时很低。给每个物理网络分配一个网络号会使路由表变得太大。两级IP地址不够灵活。

划分子网

将网络号+主机号构成的两级网络地址升级成由网络号+子网号+主机号构成的三级IP地址。由于不能改变IPV4的长度,因此从主机号借用一些位数来充当子网号。
那么如何找出一个网络地址,例如145.13.3.10哪些位是网络号,哪些是子网号,哪些是主机号呢? 解决这个问题的办法是引入一个叫子网掩码的概念。
它是一个32比特的IP地址,其中以连续1来代表网络号和子网号,以连续0来代表主机号。
将32比特的IP地址和32比特的子网掩码逐比特相与,就会得到32比特的子网地址,(主机号被清零的IP地址)。

IPv4未划分子网的情况下子网掩码如下图所示。

在这里插入图片描述

A类IP地址会从24比特的主机号中选取0-22位来作为子网,之所以不会选其中的23位作为子网,是因为这样就只会有1位表示主机号,即主机号只会有两种可能0和1,只能够表示网络号和广播号。
在这里插入图片描述

以此类推,B类和C类IP地址的子网掩码如下图:
在这里插入图片描述

在这里插入图片描述

已知IP地址和子网掩码,该如何求网络地址呢?
只要将IP地址和子网掩码逐个想与即可,但是同样的IP地址和不同的子网掩码可以得出相同的网络地址,但其代表的含义却是不同的。
在这里插入图片描述

下图中以子网掩码是255.255.255.192时为例,此时主机号中分出了两位用来表示子网号。
每个子网可分配的主机IP地址数量是255-192=64。
每个子网的网络地址是子网号拼接“全0”的主机号。
每个子网的网络地址是子网号拼接“全1”的主机号。
每个子网上可分配的最小的主机IP地址比子网的网络地址大1。
每个子网上可分配的最大的主机IP地址比子网的广播地址小1。

在这里插入图片描述

那如何快速划分子网呢?
以C类网络为例:C类网络只有第4字节与子网地址相关,若子网掩码为128,则每个子网包含的主机号数量为256-128=128。示例2中若子网掩码为192,则每个子网包含的主机号数量为256-192=64。每一段子网的变化实际上对应了当子网位数为2时,子网号从00,到01,到10,再到11的变化。
在这里插入图片描述

以B类网络为例:B类网络的第3,4字节与子网地址相关,若子网掩码为128.0,每个子网的主机号为256.0-128.0=128.0。若子网掩码为192.0,则每个子网的主机号为256.0-192.0=64.0。
在这里插入图片描述

如果B类网络为255.128,那子网号在第3字节的增量为256-255=1,在第4字节的增量为256-128=128。第四字节的增量就是说,子网掩码是128,10000000,剩余能变化的量就在0-127之间,最开始子网地址从0.0开始,0.1,0.2,0.3增加到0.127,之后第四字节的子网号从0变成1,那子网地址就从0.128开头了,变成0.129,0.130,0.131,一直到0.255。 如果只是第四字节作为子网号+主机号,那这里变化就结束了,但是第三字节在B类网络也是作为子网+主机号的一部分的,它会将子网的地址分布切成更分散的小块。第三字节的子网掩码为255,意味着第三字节没有把任何位给分为主机号,全都作为子网,所以子网号会自然地从0,到1,到2,再到填满了的255,这中间,第三字节就没有额外的主机号位的细致划分了。

在这里插入图片描述

再以A类网络为例,这里是一个最复杂的子网结构。第二字节和第三字节的增量为1,也就是每次的变化都是前进1个字节,因为它们都没有把任何位留给主机号,只是子网号的逐1增加。
在这里插入图片描述

构造超网

无分类域间路由选择CIDR
CIDR使用“斜线记法”,即在IPv4地址后面加上斜线"/",在斜线后面写上网络前缀所占的比特数量。
例如128.14.35.7/20 网络前缀占用的比特数量:20,主机编号所占用的比特数量:32-20=12。
CIDR实际上是将网络前缀都相同的连续IP地址组成一个"CIDR地址块”。

如下图所示,将多个子网的共同前缀找出来,就可以合成一个聚合地址块。
在这里插入图片描述

首先将128.14.35.7/20转化为32比特的网络地址。然后将后12位比特全部置为0,作为最小地址,将后12位比特全部置为1,作为最大地址。
在这里插入图片描述
上图的CIDR地址块,相当于聚合了 2 4 2^4 24个C类网。

路由聚合减少了对路由器存储的占用,并减少了路由器查找的时间。

下图列出了一些常用的CIDR地址块,前缀从13位到27位变化。
在这里插入图片描述

下图是三类网络的主机互相通信的一个过程描述。192.168.16.0/25是一个CIDR地址块,我们为方便不妨称呼它为紫块,它的最小地址是192.168.16.00000000,最大地址是192.168.16.01111111,其中首尾两个地址可以作为网络地址和广播地址,可分配给主机或路由器的地址是192.168.16.1到192.168.16.126。我们不妨将192.168.16.1和168.16.2分配给该网络的两个主机。以此类推,我们也可以得到绿块的CIDR网络块地址,并分配地址给其中的主机。而和紫块通信的路由器的IP地址也得设置成紫块中的IP地址,不妨分配192.168.16.126,路由器和绿块的通信IP地址类似。

注意:两个路由器之间的链路也要看成一个子网。

蓝色块的CIDR地址为192.168.16.192/30,最小地址为192.168.16.192,最大地址为192.168.16.195,则可分配给主机或路由器的地址只有两个,刚好用来作为图中两个路由器之间的通信IP地址。橙色块类似,它也只有两个主机地址可以分配,一个分配给路由器端口,一个分配给最右端的主机。
在这里插入图片描述

下图中显示的是路由器的路由表,如果是直接连接的CIDR网络块,就直接连接,如果需要经过其他路由器才可以连接,就在下一跳中填入途径路由器的相应IP地址。
在这里插入图片描述

划分子网的两种方法

在这里插入图片描述

下图是一个定长的子网掩码的案例,C类网络有8位比特可以分给子网号和主机号。需要分配出5个子网,那就要借用3个比特作为子网号,那每个子网拥有的主机号就可以用5个比特表达,所以每个子网有32个主机号,有30个可分配的主机号。
可见使用定长子网掩码划分子网的缺点是:1.子网划分方式不灵活,只能划分 2 n 2^n 2n个子网。2.每个子网所包含的IP地址数量相同,容易造成IP地址浪费。
在这里插入图片描述

变长的子网掩码可以在同一个地址块中为各个网络分配不同大小的空间。
分配原则见下图。如网络1,218.75.230.32/28,前28位都是网络号+子网号,后4位是主机号,所以主机地址所占总共是 2 4 2^4 24=16bit,于是无论网络1在所有网络中按什么顺序分配,它的网络起点位置只能选在0,16,32,48这些位,即块整数倍的大小作为起点。

网络2,218.75.230.0/27,即为5个bit用来存储主机号,则主机号总共有32个,网络2起点可选为0,32,64,128。
在这里插入图片描述

如何判断两个IP地址在不在同一个网络呢?比如有两个网络地址A和B,将网络地址B的IP地址和A的地址掩码做AND操作,看所得是否与A的CIDR块地址相同。如下图,所得结果192.168.16.128不等于192.168.16.0,所以不在一个网路中。

或者,有两个IP地址和一个地址掩码,将两个IP地址都与该地址掩码相AND,所得一致则在一个网络块中,不一致则不在同一个网络。
在这里插入图片描述

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

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

相关文章

详解 leetcode_078. 合并K个升序链表.小顶堆实现

/*** 构造单链表节点*/ class ListNode{int value;//节点值ListNode next;//指向后继节点的引用public ListNode(){}public ListNode(int value){this.valuevalue;}public ListNode(int value,ListNode next){this.valuevalue;this.nextnext;} }package com.ag; import java.ut…

上位机图像处理和嵌入式模块部署(cmake的使用)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 过去我们编写windows程序的时候,习惯上都是直接使用visual studio创建工程开发。而开发linux程序的时候,则是编写好c、cpp代…

计算机设计大赛 深度学习YOLO图像视频足球和人体检测 - python opencv

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络4 Yolov5算法5 数据集6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习YOLO图像视频足球和人体检测 该项目较为新颖,适合作为竞赛课题方向,学长非…

Unity中关于ScrollRect组件完整解决方案(ScrollRect中元素自动排版+ScrollRect中元素自动定位到Viewport可见范围内)

这个教程可以实现点击我这个视频中所示的效果 一、元素自动排版功能 1、首先要往我们的unity项目中导入两个脚本文件,脚本文件名称分别是UIScrollEventListener和CZScrollRect,这两个脚本文件代码如下所示。 1-1、介绍UIScrollEventListener脚本写法。…

树和二叉树的基本知识

一、树的概念及结构 1.树的概念 树是一种 非线性 的数据结构,它是由 n ( n>0 )个有限结点组成一个具有层次关系的集合。 把它叫做树是因 为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的 。 有一个 特殊…

上位机图像处理和嵌入式模块部署(Halcon借鉴与客户学习)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 对于很多学院派的同学来说,他们对市场的感觉一般是比较弱的。如果写一个软件的话,或者说开发一个项目的话,他们…

SQL-Labs靶场“11-15”关通关教程

君衍. 一、十一关 基于POST单引号字符型注入1、源码分析2、联合查询注入3、报错注入 二、十二关 基于POST双引号字符型注入1、源码分析2、联合查询注入3、报错注入 三、十三关 基于POST单引号报错注入变形1、源码分析2、报错注入 四、十四关 基于POST双引号报错注入1、源码分析…

2024阿里云云服务器ECS价格表出炉

2024年最新阿里云服务器租用费用优惠价格表,轻量2核2G3M带宽轻量服务器一年61元,折合5元1个月,新老用户同享99元一年服务器,2核4G5M服务器ECS优惠价199元一年,2核4G4M轻量服务器165元一年,2核4G服务器30元3…

项目开发日志(登录页面):1. Header组件

Header组件 样式 说明 属性 属性名含义类型是否必填默认值linkUrl图标点击后链接界面String否javascript:;(none) 属性名含义类型是否必填默认值url图片路径String是无 样式 mainColor -> 主题颜色 代码 <template><div class"header-container&qu…

定制你的【Spring Boot Starter】,加速开发效率

摘要&#xff1a; 本文将介绍如何创建一个自定义的 Spring Boot Starter&#xff0c;让您可以封装常用功能和配置&#xff0c;并在多个 Spring Boot 项目中共享和重用。 1. 简介 Spring Boot Starter 是 Spring Boot 框架中的一种特殊的依赖项&#xff0c;它用于快速启动和配置…

51_蓝桥杯_led流水灯

一 原理图分析 二 三八译码器工作原理 三八译码器&#xff1a;3个输入控制8路互斥的低电平有效输出。 C B A 输出 0 0 0 Y0 0 0 1 Y1 0 1 0 Y2 0 1 1 Y3 1 0 0 Y4 1 0 1 Y5 1 1 0 Y6 1 1 1 Y7 三 锁存器工作原理 锁存器&#xff1a;当使…

租房招聘|在线租房和招聘平台|基于Springboot的在线租房和招聘平台设计与实现(源码+数据库+文档)

在线租房和招聘平台目录 目录 基于Springboot的在线租房和招聘平台设计与实现 一、前言 二、系统功能设计 三、系统实现 1、房屋管理 2、招聘管理 3、平台资讯管理 4、平台资讯类型管理 四、数据库设计 1、实体ER图 六、论文参考 七、最新计算机毕设选题推荐 八、源…

Oracle19c PDB的简介与创建

多租用户环境&#xff08;Multitenant Environment&#xff09;&#xff0c;允许一个数据库容器&#xff08;CDB&#xff09;承载多个可插拔数据库&#xff08;PDB&#xff09;。 首先&#xff0c;毋庸置疑的是pdb只能在cdb root下创建&#xff0c;每个cdb里面都有一个pdb$seed…

自定义配置IDEA中的Java注释模板

文章目录 1.背景2.模板配置2.1.配置类模板2.2.配置方法模板2.2.1. 创建自定义模板分组2.2.2. 配置缩写、模板、触发键2.2.3. 变量配置 3.总结 1.背景 由于在公司的编码规约中关于注释的规约&#xff0c;在IDEA中的默认模板无法适配&#xff0c;所以在每次新建接口、类、方法的…

信息安全研究方向

信息安全研究方向 目前信息安全的研究包含密码学、网络安全、信息系统安全、信息内容安全、信息对抗等方向。 网络空间是所有信息系统的集合,网络安全的核心是信息安全。网络空间安全学科是研究信息的获取、存储、传输、处理等领域中信息安全保障问题的一门学科。 信息安全理…

数据分析 — Pandas 数据加载、存储和清洗

目录 一、文件读取1、常见文件读取函数2、read_csv()3、read_table()4、read_excel()5、read_json()6、read_html()7、大文件读取 二、数据保存1、csv2、excel3、json4、html5、MySQL1、连接数据库2、MySQL 存储到本地3、本地存储到 MySQL 三、数据清洗1、处理缺失值1、判断数据…

【C++初阶】第三站:类和对象(中) -- 日期计算器

目录 前言 日期类的声明.h 日期类的实现.cpp 获取某年某月的天数 全缺省的构造函数 拷贝构造函数 打印函数 日期 天数 日期 天数 日期 - 天数 日期 - 天数 前置 后置 前置 -- 后置-- 日期类中比较运算符的重载 <运算符重载 运算符重载 ! 运算符重载 …

【教3妹学编程-算法题】N 叉树的前序遍历

2哥 : 叮铃铃&#xff0c;3妹&#xff0c;准备复工了啊&#xff0c;过年干嘛呢&#xff0c;是不是逛吃逛吃&#xff0c;有没有长胖呢。 3妹&#xff1a;切&#xff0c;不想上班&#xff0c;假期能不能重来一遍啊&#xff0c;虽然在家我妈张罗着要给我相亲呢。可是在家还是很好的…

压敏电阻:浪涌保护的理想解决方案?

有关电涌保护的新法规迫使工程师寻找解决方案&#xff0c;以最小的成本损失集成此类保护&#xff0c;特别是在成本敏感的消费产品中。在汽车领域&#xff0c;电涌保护也越来越重要&#xff0c;这要归功于即使是最基本的量产车中电子含量的快速增长&#xff0c;以及公认的电源电…

MySQL简单配置GTID

前期规划 IP地址 角色 系统版本 内核 软件包名称 192.168.2.3 Mysql主服务器 CentOS Stream 9 5.14.0- 381.el9.x86_64 mysql-8.2.0-linux-glibc2.17-x86_64.tar.xz 192.168.2.4 Mysql从服务器 CentOS Stream 9 5.14.0- 381.el9.x86_64 mysql-8.2.0-linux-glibc…