IPv4编址方式

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.mzph.cn/news/688904.shtml

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

相关文章

【Jvm】性能调优(下)线上问题排查思路汇总

文章目录 前言性能调优(上)线上问题排查工具汇总JVM调优(中)Java中不得不了解的OOM Error 一.JVM参数1.参数分类2.非稳定参数(-XX)说明3.查询JVM默认参数及运行时生效参数4.常用参数5.GC日志相关参数6.发生…

嵌入式系统在智慧城市建设中的关键角色与挑战

(本文为简单介绍,观点源于网络) 智慧城市的概念,随着信息技术的日益发展而不断深化。它利用各种信息传感器,通过物联网、云计算、大数据等技术手段,实现城市管理的智能化、精细化。在这一过程中&#xff0…

jvm、jre、jdk的关系

jvm Java 虚拟机(JVM)是运行 Java 字节码的虚拟机。 jre JRE(Java Runtime Environment) 是 Java 运行时环境。它是运行已编译 Java 程序所需的所有内容的集合,主要包括 Java 虚拟机(JVM)、J…

沁恒CH32V30X学习笔记06---串口dma接收+空闲中断组合接收数据

DMA 控制器提供 18 个通道,其中 DMA1 包含 7 个通道,DMA2 包含 11 个通道,每个通 道对应多个外设请求,通过设置相应外设寄存器中对应 DMA 控制位 通道映射 dma1 dma2 示例代码 bsp_usart_it.c /** bsp_usart_it.c** Created on: 2024年2月18日* Author: admin*/…

SPSSAU【文本分析】|LDA主题分析

LDA主题分析 LDA主题分析是一种提取出文本数据核心主题的模型,其可将整份数据文档的信息提取成几个主题,并且标题出主题与关键词之间的权重情况,用于识别主题的具体实际意义,除此之外,LDA主题分析涉及到可视化展示和图…

PyCharm 自动添加文件头注释

PyCharm 自动添加文件头注释 1. File and Code Templates2. Python FileReferences 1. File and Code Templates File -> Settings -> Editor -> File and Code Templates -> Python Script Reformat according to style & Enable Live Templates Created by…

stm32--笔记

一、引脚与变量 ​​​​​​​​​​​​​​ 二、STM32时钟 [STM32-时钟系统详解_stm32时钟_KevinFlyn的博客-CSDN博客] 三、定时器中断实验 1、定时器中断实验 ​ stm32关于通用定时器的周期、频率计算公式_stm32tim频率计算_胶囊咖啡的博客-CSDN博客 ​ 【STM32】通用…

2024.2.18 C++QT 作业

思维导图 练习题 1>定义一个基类 Animal&#xff0c;其中有一个虛函数perform&#xff08;)&#xff0c;用于在子类中实现不同的表演行为。 #include <iostream>using namespace std;class Animal { public:virtual void perform() {cout << "这是一个动…

pytest 框架自动化测试

随笔记录 目录 1. 安装 2. 安装pytest 相关插件 2.1 准备阶段 2.2 安装 2.3 验证安装成功 3. pytest测试用例的运行方式 3.1 主函数模式 3.1.1 主函数执行指定文件 3.1.2 主函数执行指定模块 3.1.3 主函数执行某个文件中的某个类、方法、函数 3.1.4 主函数执行生…

Deployment

一、Deployment&#xff1a;管理部署发布的控制器 1、背景问题&#xff1a; 应用中的 Pod 如果出现了一些故障&#xff0c;如何保证集群内可用 Pod 的数量&#xff1f; 如何为所有 Pod 更新镜像版本&#xff1f; 在更新过程中&#xff0c;如何保证服务的可用性&#xff1f;…

PyCharm 调试过程中控制台 (Console) 窗口内运行命令 - 实时获取中间状态

PyCharm 调试过程中控制台 [Console] 窗口内运行命令 - 实时获取中间状态 1. yongqiang.py2. Debugger -> Console3. Show Python PromptReferences 1. yongqiang.py #!/usr/bin/env python # -*- coding: utf-8 -*- # yongqiang chengfrom __future__ import absolute_imp…

MyBatis框架-动态SQL

动态SQL 什么是动态SQL&#xff1a;动态SQL指的是根据不同的查询条件 , 生成不同的Sql语句. 动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架&#xff0c;你应该能理解根据不同条件拼接 SQL 语句有多痛苦&#xff0c;例如拼接时要确保不能忘记添加必…

Axios学习

文章目录 Axios1.Json-server的搭建2.Axios的基本使用3.Axios的其他使用4.Axios响应结果的结构分析5.Axios配置对象详细说明6.axios的默认配置7.axios创建实例对象&#xff08;create&#xff09;8.axios拦截器1.请求拦截器2.响应拦截器 9.取消请求10.源码分析 Axios 1.Json-s…

小迪安全25WEB 攻防-通用漏洞SQL 读写注入MYSQLMSSQLPostgreSQL

#知识点&#xff1a; 1、SQL 注入-MYSQL 数据库 2、SQL 注入-MSSQL(SQL server) 数据库 3、SQL 注入-PostgreSQL 数据库 #详细点&#xff1a; Access 无高权限注入点-只能猜解&#xff0c;还是暴力猜解 因为access的数据库是独立存在的&#xff0c;不存在统一管理 …

GitLab安装配置

一、GitLab的简介 GitLab是开源的代码托管平台&#xff0c;提供版本控制功能、代码审查、持续集成等工具&#xff0c;帮助团队协作开发软件项目。用户可以创建仓库存储代码&#xff0c;管理问题追踪&#xff0c;部署自动化流程等。 二、GitLab的安装 1、Rocky_Linux 下载安装 …

应用回归分析:多重共线性

多重共线性的概念 在回归分析中&#xff0c;我们通常关注的是如何利用一个或多个自变量&#xff08;解释变量&#xff09;来预测一个因变量&#xff08;响应变量&#xff09;。当我们使用多元线性回归模型时&#xff0c;理想的情况是模型中的每一个自变量都能提供独特的、对因…

【嵌入式学习】C++QT-Day6-C++基础

作业&#xff1a; 1.思维导图 见我的博客&#xff1a;https://lingjun.life/wiki/EmbeddedNote/19Cpp 2.编程题&#xff1a; 以下是一个简单的比喻&#xff0c;将多态概念与生活中的实际情况相联系&#xff1a; 比喻&#xff1a;动物园的讲解员和动物表演 想象一下你去了…

2024 前端面试题(GPT回答 + 示例代码 + 解释)No.114 - No.121

本文题目来源于全网收集&#xff0c;答案来源于 ChatGPT 和 博主&#xff08;的小部分……&#xff09; 格式&#xff1a;题目 h3 回答 text 参考大佬博客补充 text 示例代码 code 解释 quote 补充 quote 上一篇链接&#xff1a;2024 前端面试题&#xff08;GPT回答 示例…

汽车网络安全--关于供应商网络安全能力维度的思考

目录 1.关于CSMS的理解 2.OEM如何评审供应商 2.1 质量评审 2.2 网络安全能力评审 3.小结 1.关于CSMS的理解 最近在和朋友们交流汽车网络安全趋势时&#xff0c;讨论最多的是供应商如何向OEM证明其网络安全能力。 这是很重要的一环&#xff0c;因为随着汽车网络安全相关强…

三防平板电脑丨亿道工业三防平板丨三防平板定制丨机场维修应用

随着全球航空交通的增长和机场运营的扩展&#xff0c;机场维护的重要性日益凸显。为确保机场设施的安全和顺畅运行&#xff0c;采取适当的措施来加强机场维护至关重要。其中&#xff0c;三防平板是一种有效的工具&#xff0c;它可以提供持久耐用的表面保护&#xff0c;使机场维…