5.2.1 分类的IP地址

news2024/10/6 6:44:03

5.2.1 分类的IP地址

通过前面的学习我们知道IPv4协议中包含的内容非常的多,我们学习IPv4又分为几个方面

  1. 介绍分类的IP地址
  2. IP地址的分配与使用
  3. IP分组的格式
  4. 因特网地址到物理地址的映射(ARP协议),用以动态完成IP地址到物理地址映射
  5. 差错与控制报文协议(ICMP协议),报告传送过程中发生的异常情况
  6. 子网编址:介绍如何进行子网划分
  7. 无分类编址与CIDR
  8. IP分组的转发:详细介绍IP协议中分组是如何被转发的包括直接交付与间接交付的概念各种编址情况下转发IP数据报的算法等

一、编制方案

为了全球通信的需要,TCP/IP协议的设计者选择了一种类似于物理网络的编址方案,给因特网上每台主机分配了一个32位比特的唯一值来作为该主机的标识符,该地址可以用在与该主机的所有的通信中,他就是我们要介绍的IP地址。把整个因特网看成一个单一的、抽象的网络。IP地址就是给每个连接在因特网上的主机分配一个在全世界范围是惟一的32比特的标识符。

最初的IP编址方案将32比特分为两个部分即IP地址采用分层的地址结构:前缀+后缀

前缀(network-ID,网络号部分):前缀标识的是主机所属的物理网络称为网络号部分

后缀(host-ID,主机号部分):用于区分物理网络内的主机称为主机号部分

比如说我们将“南京市鼓楼区东方雅苑5号301室”看做一个IP地址那么“南京市鼓楼区东方雅苑”就是网络号部分(前缀),“5号301室”就被称为主机号部分(后缀)

因为前缀+后缀=32比特,如果前缀越长就说明支持的物理网络数量就越多,但是网络内的主机数量就越少也就是网络规模就越小。反之前缀越短,后缀就越长,意味着支持网络规模较大的物理网络,也就是说主机数量多,但是网络数量少。

最初的IP编制方案兼顾了这两种情形,没有采用统一的单一的界限去划分前缀和后缀因此就被成为分类的编址方案。最初的分类编址方案中包含着五种类型的地址。如图A类、B类、C类是三种主要类别,由于标识主机和路由器,D类地址为组播地址,E类地址为保留地址一直没有使用。

分类

1993年起为了更加充分利用IP地址空间,因特网采用了无分类IP编址方案,这个我们后面介绍。虽然分类的IP地址已经不再广泛使用,但是它是IP编址的基础,也是后续发展的根源,所以我们海狮应该有所掌握。

  • A类地址的网络号部分net-ID为8比特,1字节,图中我们可以看出,这里需要注意的是在网络号部分里最左边的一位固定位0,所以可变部分只有7个比特。也就是从理论上说有 2 7 2^7 27个A类网络,后面我们还会学习到还要将两个特殊的地址去掉,所以A类网络的个数只有126个。每个A类网络的主机号部分是24比特,也就意味着每个A类网络中可用的IP地址的个数是不能超过 2 24 2^{24} 224的,在实际当中也会去掉两个特殊的IP地址不能用。
  • B类地址包含16比特的网络号部分,网络号字段net-ID为2个字节,其中最左边两位固定为10,可变部分为14个比特,B类地址包含16个比特的主机号,可见对于B类网络相对于A类网络来说每个网络的规模变小了,也就是每个B类网络中可用的IP地址数量变少了。
  • C类地址包含了24比特的网络号部分,网络号字段net-ID为24比特,3字节,其中最左边的两位固定位110,可变部分为21位,C类地址中包含了8比特的主机号,每个网络的规模进一步缩小。
  • D类地址为组播地址,这里我们只是简单的了解一下组播的概念,所谓的组播又称为多播,表示一对多进行通信,改地址是用于给一个多播组成员进行通信时所用到的地址,这里我们仅做了解即可。
  • E类地址为保留地址,一直没有使用

对于32比特的IP地址来说,在应用程序或技术文档中为了便于阅读,一般习惯性的采用点分十进制记法,也就是把32比特的IP地址,每8比特分成一组,每组用一个十进制数字来表示,所以这里我们就要牢牢掌握二进制和十进制的转换,因为后面我们还会用到十进制转换成二进制。这里我们还要注意我们通常用到的都是八位二进制数和0到255之间的十进制数之间的转换。

二、点分十进制

把得到的四个十进制整数,用三个点来隔开,比如说某主机32比特的IP地址是10000011000010110010001100011010,先将其每8个比特分成一组并分别转换成十进制之后,再用三个点隔开,就可以写成其点分十进制的表示形式:131.11.35.26。由于改地址的最高两位是10,根据分类的规定,可以知道这个地址是一个B类的IP地址,而且网络号部分为131.11,主机号部分是后面的16位,35.26,该主机所在物理网络的网络地址也可以写成32位IP地址的形式,也就是131.11.0.0,这里我们需要注意,网络地址是一个特殊的IP地址,它的特点就是主机号部分用全零表示。这个实例中的IP地址是一个B类的地址,是根据其二进制的最高两个比特是10来判断的,既然我们平时习惯用点分十进制来表示IP地址,如何判断采用点分十进制表示的IP地址的类型呢?我们只需要把每种类型的IP地址用点分十进制表示的时候把第一个数字的范围记住就可以了。如表格所示

网络类别最大网络数第一个可用的网络号最后一个可用的网络号每个网络中最大的主机数
A126( 2 7 − 2 2^7-2 272)112616777214
B16384( 2 14 2^{14} 214)128.0191.2556534
C2097152( 2 21 2^{21} 221)192.0.0223.255.255254

A类地址第一个数字是在1到126之间,B类地址第一个数字是在128到191之间,C类地址第一个数字是在192到223之间。这里我们要掌握判断IP地址类型的方法,如对于B类地址的范围是如何得到的,因为对于B类地址来说,第一组8位最小为10000000,最大为10111111,把它们分别转换为十进制,就得到了128和191,其他的以此类推。

从表格中我们也可以看出,一共有126个A类网络,这里我们要强调,因为点分十进制,0开始的地址是特殊的IP地址,全1开始的127也是一个特殊的环回地址,所以A类网络只有126个,对于B类和C类网络来说分别有 2 14 2^{14} 214个和 2 21 2^{21} 221个。表格右侧是指每种类型网络中可用的IP地址个数,这里我们要注意在任何一种类型的网络中主机号部分全零和全1的地址是不分配的。因为主机号部分全零的地址就是我们刚所说的网络地址。主机号部分全1的地址是网络内的广播地址,关于广播地址的用途我们后面介绍。在这里我们只需要知道网络中有两个地址不能分配就可以了,所以在A类网络中可用的IP地址个数是 2 24 − 2 2^{24}-2 2242个,一个B类网络中可用的IP地址个数是 2 16 − 2 2^{16}-2 2162个即65534个IP地址,C类网络中有 2 8 − 2 2^8-2 282个,即254个。

在明白了如何判断IP地址的类型以后,我们来看一个简单的例子

例:IP地址是202.119.230.8的主机所在网络的网络地址是多少?

我们知道网络号部分保留,主机号部分全零的地址是该网络的网络地址。那么我们只用找到该IP地址的主机号部分即可,因此关键之处就在于要判断出它是什么类型的IP地址,根据它的第一个数字是202可知,192<202<223,该IP地址为C类地址,对于C类地址来说,网络号部分是24为,主机号部分是8位,所以对于其所在网络的网络地址来说是前24位保留,主机号部分则全0,因此该主机所在网络的网络地址是202.119.230.0。

如果将该主机的IP地址修改为190.119.230.8,则该主机所在网络的网络地址就变成了190.119.0.0

三、小结

我们学习了三种分类的IP地址,这里我们要理解IP地址的组成,掌握如何判断IP地址的类型,可以根据IP地址能够计算其所在网络的网络地址,后面我们一起学习IP地址的分配和使用。

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

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

相关文章

时间序列预测 | Matlab基于灰狼算法优化支持向量机(GWO-SVM)的时间序列预测

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 时间序列预测 | Matlab基于灰狼算法优化支持向量机(GWO-SVM)的时间序列预测 评价指标包括:MAPE、MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %----------------

别再纠结页面设计!挑选小程序页面设计模板就对了

小程序页面设计模板可以是一个非常棒的选择&#xff0c;特别是如果你想要快速创建一个优秀的小程序。 以下是一些关于如何选择小程序页面设计模板的建议&#xff1a; 确定你的需求&#xff1a;在开始挑选小程序页面设计模板之前&#xff0c;你需要明确你的需求。确定你的小程…

下载安装LabVIEW

下载安装LabVIEW 介绍下载安装流程下载安装 后续 介绍 LabVIEW 是 工程 师 用来 开发 自动 化 研究、 验证 和 生产 测试 系统 的 图形 化 编 程 环境。Labview作为图形化编程语言&#xff0c;图形控件拖拽式编程&#xff0c;显得更加直观形象&#xff0c;也很容易上手学习。 …

pytorch 绘制一维热力图

热力图 热力图&#xff08;Heat Map&#xff09;是指用 X 轴 和 Y 轴 表示的两个分类字段确定数值点的位置&#xff0c;通过相应位置的矩形颜色去表现数值的大小&#xff0c;颜色深代表的数值大。 热力图是非常特殊的一种图&#xff0c;可以显示不可点击区域发生的事情。热力…

3.5. 异常处理

在Java中&#xff0c;异常是一种用于表示程序在运行过程中遇到的错误或异常情况的对象。Java提供了一套异常处理机制&#xff0c;可以帮助我们更好地处理运行时可能出现的错误和异常。异常处理的主要概念包括&#xff1a; 异常类&#xff1a;Java中的异常类是继承自Throwable类…

L1频段卫星导航射频前端低噪声放大器芯片 AT2659/AT2659S

AT2659 是一款具有高增益、低噪声系数的低噪声放大器&#xff08;LNA&#xff09;芯片&#xff0c;支持L1频段多模式全球卫星定位&#xff0c;可以应用于GPS、北斗二代、伽利略、Glonass等GNSS导航接收机中。芯片采用先进的SiGe工艺制造&#xff0c;采用1.5 mm X 1 mm 0.78 mm的…

招标采购评标专家管理数智化解决方案

评标专家作为评标活动的重要一环&#xff0c;对保证评标活动的公平公正和评标质量&#xff0c;乃至提升营商环境都意义重大。 为了加强招采过程中评标专家的监督管理、健全评标专家库制度&#xff0c;保证评标活动的公平公正&#xff0c;提高评标质量&#xff0c;国家出台了相…

Pytest 高级进阶用法Hook使用pdm打包成插件

系列文章目录 提示&#xff1a;阅读本章之前&#xff0c;请先阅读目录 文章目录 系列文章目录前言一、创建项目二、安装pdm三、使用pdm创建项目四、创建src五、src下面&#xff0c;再创建包名六、编写plugin七、编写配置pyproject.toml八、使用pdm&#xff0c;添加pytest到该插…

如何看待人工智能?——比尔盖茨谈智能时代的机遇与挑战

原创 | 文 BFT机器人 01 比尔盖茨称AI将颠覆搜索、购物网站 “你永远不会去搜索网站了&#xff0c;也不会再去亚马逊了。” 当地时间5月22日&#xff0c;盖茨在出席一场关于AI的活动时表示&#xff0c;未来的顶级AI助理将颠覆现有互联网使用方式&#xff0c;替代人们执行某些任…

PHPMySQL基础(三):处理查询SQL返回的结果集

PHP&MySQL基础&#xff08;一&#xff09;:创建数据库并通过PHP进行连接_长风沛雨的博客-CSDN博客 PHP&MySQL基础&#xff08;二&#xff09;:通过PHP对MySQL进行增、删、改、查_长风沛雨的博客-CSDN博客 目录 一、连接MySQL&#xff0c;处理错误&#xff0c;统一字…

面了个4年经验的测试,自动化都不会,真是醉了····

最近面试了一个 4 年测试经验的测试工程师&#xff0c;简历和个人介绍都提到了会自动化&#xff0c;于是我就问了几个自动化方面的问题&#xff1a; 在自动化测试中&#xff0c;你是如何选择和设计测试用例的&#xff1f;你使用过哪些自动化测试工具&#xff0c;如何选择自动化…

从C语言到C++_14(vector的常用函数+相关选择题和OJ题)

目录 1. vector的常用函数 1.1 vector 的介绍 1.2 vector 的初始化 1.3 vector 的操作和遍历 1.4 vector 的容量和增删查改 2. vector 相关笔试题 3. vector 相关OJ题 136. 只出现一次的数字 - 力扣&#xff08;LeetCode&#xff09; 解析代码&#xff1a; 118. 杨辉…

华为OD机试真题B卷 Java 实现【求解立方根】,附详细解题思路

一、题目描述 计算一个浮点数的立方根&#xff0c;不使用库函数。保留一位小数。 数据范围&#xff1a;∣val∣≤20 。 二、输入描述 待求解参数&#xff0c;为double类型&#xff08;一个实数&#xff09; 三、输出描述 输出参数的立方根。保留一位小数。 四、解题思路…

【九】设计模式~~~结构型模式~~~外观模式(Java)

【学习难度&#xff1a;★☆☆☆☆&#xff0c;使用频率&#xff1a;★★★★★】 4.1. 模式动机 不知道大家有没有比较过自己泡茶和去茶馆喝茶的区别&#xff0c;如果是自己泡茶需要自行准备茶叶、茶具和开水&#xff0c;如图1(A)所示&#xff0c;而去茶馆喝茶&#xff0c;最…

从自动化到测开,测试人员逆袭之路从此起步...

在当今竞争激烈的软件测试行业中&#xff0c;近期的招聘市场确实面临一些挑战。大量的求职者争相涌入岗位&#xff0c;许多热衷于功能测试的人士甚至难以找到理想的工作机会。更不幸的是&#xff0c;连自动化测试和性能测试这些专业领域也受到了测试开发人员的竞争压力。然而&a…

jvs-rules 规则引擎-变量管理(函数式)的配置说明

JVS规则引擎变量管理 变量在规则引擎中的作用 数据存储和共享&#xff1a;变量配置允许在规则引擎中存储和访问数据。通过定义变量&#xff0c;可以将数据存储在规则引擎中&#xff0c;使其可供规则和决策过程使用。这样可以消除重复数据存储的需求&#xff0c;提高数据的共享…

ipad手写笔什么牌子好?最好用的电容笔

由于Apple pencil太过昂贵&#xff0c;很多小伙伴想入手一支电容笔&#xff0c;但是国内的品牌众多&#xff0c;不知道该如何挑选出合适自己的电容笔&#xff0c;我们在挑选电容笔要注意一些事项&#xff0c;才能挑选出合适的电容笔&#xff0c;今天给大家总结几个点再给大家介…

如何部署项目到Tomcat + 第一个Servlet程序

博主简介&#xff1a;想进大厂的打工人博主主页&#xff1a;xyk:所属专栏: JavaEE初阶 目录 文章目录 一、Tomcat 1.1 Tomcat是什么 1.2 下载安装 1.3 部署项目 二、第一个Servlet程序 2.1 Servlet是什么 2.2 创建Maven项目 2.3 引入依赖 2.4 创建目录 2.5 编写类方法 2.6 打包…

进程(三)

进程三 2.11 进程同步、进程互斥2.11.1 进程同步2.11.2 进程互斥2.11.3 总结 2.12 进程互斥和软件实现方法2.12.1 单标志法2.12.2 双标志先检查法2.12.3 双标志后检查法2.12.4 Peterson 算法2.12.5 总结 2.13 进程互斥和硬件实现方法2.13.1 中断屏蔽方法2.13.2 TestAndSet 指令…

vue 阻止事件冒泡常用的方法

在 Vue 中&#xff0c;阻止事件冒泡有两种常用方法&#xff1a; 1. 使用 event.stopPropagation() 方法&#xff1a; 在事件处理函数中&#xff0c;可以通过调用事件对象的 stopPropagation() 方法来阻止事件冒泡。例如&#xff1a; html <template> <div click"…