IP地址介绍,子网划分(VLSM),构造超网(CIDR) 详解

2023-10-28

概述


IPv4地址从被设计开始一直到现今,一共经历了三次重大变化:

  • 分类的IPv4地址
  • 子网划分
  • 构造超网

1、分类的IPv4地址


IP地址是路由器用来跨网段转发IP数据报,寻找路线的32位 二进制代码,由网络地址(网络号)和主机地址(主机号)构成,分为四段每段8位二进制数,每一段最大值是255,每一段用句点隔开,如:11000000.10101000.00000001.00000001。但是因为二进制代码让网络设计、开发人员难以理解和接受,所以我们在计算机上面能看到的IP地址都以点分十进制表示,如上面那个IP地址就表示为:192.168.1.1 最开始IP地址的设计者们为了将IP地址合理的分配给不同需求的客户,将IP地址分成A、B、C、D、E类地址,下图是每一类IP地址的网络地址和主机地址各自占据的位数。

在这里插入图片描述
IP地址的范围:


注:私网IP地址是不能在公网上使用的,内部主机要与Internet其他主机通信,就得通过NAT技术将私网IP地址转换成公网IP后,数据包才能在外网传输。


特殊的IP地址

 
后来有人觉得分类IP的设计并不合理,造成了大量的地址浪费,如:很少有一个组织或机构能能够用到A类地址这样大的地址块,所以就有人提出了子网划分的概念,接下来我们讲子网划分。

2.子网划分(VLSM)


子网划分的目的是将一个大网络通过一些手段再次划分成更小的网络,而这个手段就是从原来的主机位上借几位来作为网络号,这个过程就要和子网掩码一起使用,我们知道子网掩码全1的部分是网络号,那么现在借了几位主机号作为网络号,那么网络号就增加几位,所以为了标识这个网络,子网掩码也得跟着变长,这样的子网掩码就称为VLSM(可变长子网掩码),以前没有变化的就是默认子网掩码,如C类默认子网掩码:255.255.255.0,我借一位主机号后,子网掩码就是:255.255.255.128,主机号的借是从左边开始借,因此最后一段二进制为:1000 0000,借用了最高位。
这样IP地址从主机部分借的那几位就称为子网号
如图所示:

在这里插入图片描述
下图是192.168.1.0/24网络向主机位借了一位作为网络号后成功划分为两个子网,下面是子网掩码变化情况。/25是表示网络号有25位的意思,对应的子网掩码就会有25个1,如图所示:
第一个子网

 在这里插入图片描述

 第二个子网

在这里插入图片描述
综合上图,可知划分子网后,网络号增加了一位,子网掩码的1的个数也增加了一位是不是?,再仔细看看,我知道IP地址的情况下怎么得到网络号呢?嘿,对了就是用IP地址和子网掩码用二进制码展开后,做位与操作(两个1为1,其他情况都为0),得到的就是网络地址啦,简不简单?看看图吧:

在这里插入图片描述

是吧所以网络地址就是192.168.1.128啦,如果你想知道主机地址就用按位取反后的子网掩码和IP地址做位与运算,看图:

在这里插入图片描述

 那么主机号是多少呢?是不是0.0.0.1,嘿嘿,对了就是它,看来这点难不倒大家嘛,又有位同学问:我知道IP地址想知道子网掩码怎么办呀?是这样的,现在的IP地址采用点分十进制的斜线记法形式(斜线记法在后面解释),咯,你看:192.168.1.129/25,这个IP地址斜线后面的25表示网络位有25位,那么子网掩码当然也有25位咯,所以子网掩码就是255.255.255.128对不对?嗯,是的,这下会了吧,会了我们就来实战嘛,俗话说没有上过战场的兵不叫兵。

在这里插入图片描述

 先抓重点:按照该公司需求:需要划分3个子网,每个子网有39台主机,嗯,重点抓住了,解此题要用到两个简单的公式:
1、2n,这个公式计算的计算结果是最多可划分成的网络的个数,n表示要借的主机位位数,所以用此公式计算要借几位时,要保证2n>=要划分的子网个数,然后取最小值。
2、2m-2,这个公式计算每个子网下的有效主机IP数,m表示主机位的位数,
好了,
有了这两个公式,所以有公式得22=4>3(需求),所以我们需要向主机位借2位作为子网位:所以现在的网络号是不是等于24+2=26位啦,是的,那还剩下6位主机位,26 -2=64-2=62>39所以满足公司的要求,所以就按此方案
解:由题得需要借用2位作为子网号即可满足要求,并且26-2也满足每个部门的主机要求,所以得:

在这里插入图片描述

这就是这个题目得分配方案,其中未分配是因为划分了4个子网而我们只用到了其中的3个,要特别注意表中的“可用IP地址范围”是因为当主机号为全0时为网络地址用来表示一个物理网络,不能分配给主机用,主机号全1时是该物理网络的广播地址,不能分配给主机使用,所以2m -2你就应该知道为什么要减2了,减去的是主机号全0和全1这两个不能使用的IP地址。
下面再做一个难一丢丢的:

在这里插入图片描述
根据IP地址知:网络号是前26位,所以子网掩码是:255.255.255.192,又因为是C类网络所以我们知道只借了两位做子网号对不对呀?好的那么接下来解第一题:
还记得(brainstorming),是的,就是头脑风暴,你也来一场,快回忆怎么求网络号,是的,就是用子网掩码和IP地址作位与运算,那你快算算吧!嗯?是不是觉得好麻烦呀,每一段都要转化为二进制,麻烦就对了,我接下来要告诉你一个偷天换日的小技巧:因为我们的子网只借用了第四段的两位,所以我们就只要用最后一段的前两位和子网掩码的最后一段的前两位作与运算就好了,后面的主机位全置0就得到网络地址了,因此我们只需要作如下一步:

在这里插入图片描述

得到最后一段的网络号为64,所以该IP地址的网络地址为:192.168.11.64/26是不是?这样子做,效率是不是比前面那种方法高了很多倍呢?你自己体会。不过温馨提示:要细心哦,如果是粗心的同学,那我觉得还是前面那种方法比较适合。
2.该网络的最小可用地址为:主机号部分使等于1,得到最小可用IP为:192.168.11.65/26
最大可用地址为:主机位全1减1,即:62,所以主机号为62,得到最大可用IP为192.168.11.126/26。
3.该网段的广播地址就是主机位全1咯,也就是192.168.11.127/26
4.分析:主机位有6位,所以可容纳最大主机数量(可用)为:26-2等于62台主机,该网段的IP地址池有26=64个地址,其中有两个不可分配。**

最后再做一题,子网划分就过啦:

在这里插入图片描述
你的答案是什么呢?你们会想:切,就这?还想难倒我,公布答案了喔

在这里插入图片描述
哎,你不是说要减2嘛,为什么没有减呀,对,我是说过要减2,可是我说的是有效的IP地址哦,又不细心。
如果说上面的题目你都能很轻松的做出来:恭喜,你学的不错。
接下来,该学习新知识了。

3.构造超网 无类域间路由(CIDR)


划分子网在一定程度上缓解了互联网在发展中遇到的困难。但是仍然面临着严峻的问题,如:
1、互联网主干网上的路由器路由表中的项目数几句增长(从几千个增长到几万个)。
2、IPv4即将耗尽,我们知道2011年2月3日IANA就宣布全球IPv4已经全部分配完毕,现在我们都是用私网IP在上网。
为了解决这些问题,IETF很快就提出了无类域间路由(CIDR) 首先应明确的是:CIDR消除了传统的分类IP的概念和划分子网的概念,CIDR把32位的IPv4地址划分位前后两个部分:网络前缀和主机号。
CIDR还使用了斜线记法,或称为CIDR记法,在IP地址后面加上斜线“/”,然后写上网络前缀所占的位数
CIDR把网络前缀都相同的IP地址组成一个CIDR地址块。我们只要知道其中任何一台主机的IP地址,就能求出该地址块的起始地址和结束地址,以及地址块中的地址数。例如有IP地址:128.14.35.7/20是某CIDR地址块中的某个地址,现在把它写成二进制表示,其中前20位是网络前缀,而后面的12位是主机号:
128.14.35.7/20=10000000 00001110 00100011 00000111
该地址所在的地址块中的最小地址和最大地址可以很方便的得出:

在这里插入图片描述

当然,以上是两个特殊地址:主机号全0和全1的地址。我们可以用地址块中的最小地址和网络前缀的位数来指明这个地址块,例如,上面那个就可以表示为:128.14.32.0/20。
CIDR使用32位的地址掩码。地址掩码又一串0和一串1组成,而1的个数就是网络前缀的长度。虽然CIDR不使用子网了,但是仍然还有一些网络使用子网划分和子网掩码,因此CIDR的地址掩码也可以继续称为:子网掩码。斜线记法中,斜线后面的数字就是地址掩码中1的个数(说过吧)。
由于一个CIDR地址块中有很多地址,所以在路由表中就利用CIDR地址块来查找,目的网络。这种地址的聚合称为路由聚合,它使得路由表中的一个项目可以表示原来传统分类地址的很多个路由,路由聚合也称为构造超网,下面举一个路由聚合的例子:

在这里插入图片描述

该路由器路由表中有三个目的网络,现在要进行路由聚合成一条路由,则聚合后的路由是三条路由的最长的相同部分,如上图所示。因此得到结论:路由聚合是若干条IP地址的最长的且相同的部分组成的一条新的IP地址。
由此可得一条重要结论:子网划分是将网络号变长,而构造超网是将网络号缩短,也就是网络前缀缩短。网络前缀越短,其地址块所包含的地址数就越多。
最长前缀匹配:
采用CIDR汇聚路由后,IP数据包在路由其中可能会匹配到许多结果,那么选择哪个出口呢?答案是:从匹配结果中选择 相匹配位数长度最长的路由,这就叫做最长前缀匹配,这样做的原因是:网络前缀越长,其地址块就越小,因而路由就越具体。下面举出一个最长前缀匹配的例子:

在这里插入图片描述
该路由器收到数据包后与路由表中的每一路由进行最长前缀匹配,发现与路由2具有30位相同,则将该数据包从1口转发出去。


转载:https://blog.csdn.net/qq_46396470/article/details/115368537

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IP地址介绍,子网划分(VLSM),构造超网(CIDR) 详解 的相关文章

随机推荐

  • 直流输入过压保护电路

    在嵌入式产品设计中 许多都为电池供电或者USB接口供电 当误操作使供电电压高于芯片工作电压时 就会导致芯片烧坏 带来严重的后果 因此在电源的输入端到芯片的供电输入端 还是很有必要加一个过压保护电路 当输入电压超过设定值 就切断电源 保护芯片
  • java登录远程服务器

    加入ssh的依赖 ch ethz ganymed ganymed ssh2 262 代码实现 因为执行SHELL脚本的时候可能是给出正常的返回值 也可能是异常的信息 这里需要一个JAVA Bean来接收这两个消息 代码如下 import j
  • OpenMMLab开源库总结——笔记1

    摘要 很高兴能加入OpenMMLab AI实战营 成为第二期4班的一名学员 OpenMMLab经过几年的发展和沉淀 其开源项目已经覆盖到计算机视觉的各个领域 OpenMMLab 为香港中文大学 商汤科技联合实验室 MMLab 开源的算法平台
  • mysql软件架构

    客户端是你的业务应用 怎么连接mysql server 一般都是用jdbc Java odbc C 客户端连接mysql 服务 发指令发sql语句等 文件系统 操作系统的文件系统 比如windows的文件系统 linux的文件系统 综上所述
  • 蓝桥杯模拟-排列序数

    问题 X星系的某次考古活动发现了史前智能痕迹 这是一些用来计数的符号 经过分析它的计数规律如下 为了表示方便 我们把这些奇怪的符号用a q代替 abcdefghijklmnopq 表示0 abcdefghijklmnoqp 表示1 abcd
  • 数据结构例题--迷宫

    迷宫 问题要求 定义一个二维数组N M 其中2 lt N lt 10 2 lt M lt 10 如5x5数组 如下所示 int maze 5 5 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1
  • 记录红米k40解BL、Root、装XPOSED

    一 前言 刚从一加转到红米 不得不吐槽虽然一加系统简陋但社区搞基搞机氛围非常好 官方支持root也保修和第三方ROM下大神层出不群 小米的社区放眼望去基本没人讨论root 第三方ROM 都是各种吐槽提问但没人回复的帖子 既然找不到教程那就按
  • qt,信号槽连接不成功原因

    在 Qt 中 信号槽连接不成功的原因可能有很多 下面是一些可能的原因和解决方法 1 信号和槽的声明不匹配 请确保信号和槽的参数类型和数量完全匹配 如果它们不匹配 连接将不会成功 检查信号和槽的声明 确保它们是兼容的 2 信号和槽的作用域问题
  • JSON数组,JSON对象,数组的区别与基本操作整理

    JSON 语法规则 JSON 语法是 javascript 对象表示语法的子集 数据在名称 值对中 数据由逗号分隔 花括号保存对象 方括号保存数组 JSON 名称 值对 JSON 数据的书写格式是 名称 值对 名称 值对组合中的名称写在前面
  • 三大WEB服务器对比分析(apache ,lighttpd,nginx)

    一 软件介绍 apache lighttpd nginx 1 lighttpd Lighttpd是一个具有非常低的内存开销 cpu占用率低 效能好 以及丰富的模块等特点 lighttpd是众多OpenSource轻量级的web server
  • 微信小程序开发(七) swiper 组件

    微信小程序swiper组件 banner 图 广告页 splash 实现效果 代码 js Page data iamgeUrls https img zcool cn community 0106445dc28607a801209e1f62
  • C++11右值 &&引用

    C 11右值 引用 2017年06月06日 11 56 25 Ink cherry 阅读数 2394 标签 C 右值引用 完美转发 个人分类 C C 感觉这篇讲的比较深入细致了 存一下 via http www cnblogs com Ti
  • [技术经理]02 什么是技术经理?

    目录 01什么是技术经理 02总结 01什么是技术经理 什么是技术经理 我用一句话概括为 专业技术团队的管理者 技术经理 是一种管理职位 通常是在软件开发 互联网等科技公司或技术团队中担任 技术经理的职责 是管理和协调技术团队 确保团队能够
  • java写一个圆类求面积_java编程:定义一个圆类,属性为半径,方法为对输入的半径计算其周长和面积?...

    展开全部 java编程e68a8462616964757a686964616f31333365633864定义一个类圆属性半径方法 计算周长面积设置半径读取半径急java编程定义一个类 java编程定义一个类圆属性半径 方法计算周长面积设置
  • “3D 元宇宙技术”在汽车新零售领域的应用与实践

    一 引言 随着不久前汽车之家新零售项目震撼发布 我们直击用户看车选车痛点首次提出ABC新体验模式 以元宇宙科技打造沉浸式交互服务 开放元宇宙能源空间站体验店 为用户打造更 有用 的体验 其中 A 是指一站式选车试车服务 All in one
  • python爬虫基础知识的总结

    什么是爬虫 一 爬虫概述 简单来说 爬虫就是获取网页并提取和保存信息的自动化程序 1 获取页面 如urllib requests等 2 提取信息 Beautiful Soup pyquery lxml等 3 保存数据 MySQL Mongo
  • [Pandas]Dataframe中切片常用技巧

    1 根据值在是否在列表中进行切片 方法一 使用isin方法可以根据DataFrame中的某列的值是否在某个列表中来进行切片 注意 这里不要直接使用in 否则会报错 代码如下 pf pd DataFrame 74 27 EA 4D 93 BD
  • 2. Redis持久化、主从哨兵架构详解

    分布式缓存技术Redis 1 Redis持久化 1 1 RDB快照 snapshot 1 1 1 bgsave的写时复制 COW 机制 1 2 AOF append only file 1 2 1 AOF重写 1 3 Redis 4 0 混
  • 努力一周,开源一个超好用的接口Mock工具——Msw-Tools

    作为一名前端开发 是不是总有这样的体验 基础功能逻辑和页面UI开发很快速 本来可以提前完成 但是接口数据联调很费劲 耗时又耗力 有时为了保证进度还不得不加加班 为了摆脱这种痛苦 经过一周的努力 从零开发了一个灵活无依赖 且集成简单的数据接口
  • IP地址介绍,子网划分(VLSM),构造超网(CIDR) 详解

    概述 IPv4地址从被设计开始一直到现今 一共经历了三次重大变化 分类的IPv4地址 子网划分 构造超网 1 分类的IPv4地址 IP地址是路由器用来跨网段转发IP数据报 寻找路线的32位 二进制代码 由网络地址 网络号 和主机地址 主机号