计网第四章(网络层)(二)

news2025/1/14 18:04:57

目录

IPV4地址编址

第一历史阶段(分类编址):

A类地址:

B类地址:

C类地址:

D类地址(多播地址):

E类地址(保留地址):

第二历史阶段(划分子网):

划分子网的工具(子网掩码):

第三历史阶段(无分类编址):

 路由聚合(构造超网):

最长前缀匹配:


IPV4地址编址

IPV4总共有32个比特。

第一历史阶段(分类编址):

分类编址的IPV4地址分为A、B、C、D、E五类。

其中只有前三类地址可以分配给网络中的主机或路由器的各接口。

总体上而言,是将地址的一部分作为网络号,另一部分作为主机号。不同的类分配的各部分的位数不同。

主机号为全0的为网络地址,不能分配给主机或者路由器的各接口。

主机号为全1的为广播地址,也不能分配给主机或者路由器的各接口。

注意:A类地址中还有一些特殊的地址也不能分配给主机或者路由器的各接口。这些在A类地址中说明。

地址0.0.0.0是一个特殊的IPV4地址,只能作为源地址使用,表示本网络的本主机。

地址255.255.255.255只能作为目的地址使用,表示只在本网络上进行广播(各路由均不转发)。

A类地址:

32个比特中,网络号占8位,主机号占24位;其中网络号最高位固定为0,即0xxxxxxx。

可以看到,当这个固定位变为1的时候,就不再是A类地址了。所以A类地址的网络号的范围为0~127。

在A类地址中,最小网络号0,保留不指派。最大网络号127,作为本地环回测试地址,不能指派。最小的本地环回测试地址为127.0.0.1(主机号为全0是网络地址,所以从1开始)。最大的本地环回测试地址为127.255.255.254(主机号为全1是广播地址,所以最大只能是254)。

所以第一个可以指派的网络号是1,网络地址为1.0.0.0 。最后一个可指派的网络号是126,网络地址为126.0.0.0 。

可指派的网络数量为2^{7}-2=126个,式中的7是因为A类地址最高位固定为0,并且网络号占8位,那么可以更改的只有后7位,所以是2^{7}个,减去2的原因是要去除前面所述的不能指派的两个网络号(0和127)。

每个网络中可分配的IP地址数量为:2^{24}-2= 16777214个,式中的24为主机号的位数,减2是因为主机号全1和主机号全0不能分配。

B类地址:

32个比特中,网络号占16位,主机号占16位;其中网络号最高位固定为10,即10xxxxxx。

B类地址网络号的第一个字节的范围为128~191。

在B类地址中,最小网络号也是第一个可以指派的网络号是128.0,网络地址为128.0.0.0 。最大的也是最后一个可指派的网络号为191.255,网络地址为191.255.0.0 。

可指派的网络数量为2^{14}=16384个,式中的14是因为B类地址最高位固定为10,并且网络号占16位,那么可以更改的只有后14位,所以是2^{14}个。

每个网络中可分配的IP地址数量为:2^{16}-2= 65534个,式中的16为主机号的位数,减2是因为主机号全1和主机号全0不能分配。

C类地址:

32个比特中,网络号占24位,主机号占8位;其中网络号最高位固定为110,即110xxxxx。

C类地址的网络号的第一个字节的范围为192~223。

在C类地址中最小网络号也是第一个可以指派的网络号是192.0.0,网络地址为192.0.0.0 。最大的也是最后一个可指派的网络号为223.255.255,网络地址为223.255.255.0 。

可指派的网络数量为2^{21}=2097152个,式中的21是因为C类地址最高位固定为110,并且网络号占24位,那么可以更改的只有后21位,所以是2^{21}个。

每个网络中可分配的IP地址数量为:2^{8}-2= 254个,式中的8为主机号的位数,减2是因为主机号全1和主机号全0不能分配。

D类地址(多播地址):

最高位固定为1110。

D类地址的网络号的第一个字节的范围为224~239。

E类地址(保留地址):

最高位固定为1111。

E类地址的网络号的第一个字节的范围为240~255。

第二历史阶段(划分子网):

该阶段的核心思想就是在分类编址的基础之上,从主机号部分借用一部分作为子网号。这样的话就可以避免新增网络时,申请新的网络号会带来的弊端,比如,原有网络的IP地址大量浪费等。

此时,IPV4地址就从二级结构变为了三级结构:

 

划分子网的工具(子网掩码):

32位比特的子网掩码可以表明分类IP地址的主机号部分被借用了几个比特作为子网号。

子网掩码使用连续的比特1来表示网络号和子网号,使用连续的比特0来表示主机号。

从这一点结合不同类的地址网络号所占位数我们可以推理出,

A类地址的子网掩码至少为255.x.x.x ,B类地址的子网掩码至少为255.255.x.x  ,C类地址的子网掩码至少为255.255.255.x 。

将划分子网的IPV4地址与子网掩码进行逻辑与运算就能得到相应的IPV4地址所在子网的网络地址。

现在给你一个IP地址,根据逻辑与运算的特点,主机号部分最后全部会被清0,而网络号和子网号会被保留下来。由前面可以知道,主机号部分全为0即为所在网络的网络地址,所以就可以得知所在子网的网络地址。

其实要进行逻辑与运算最重要的是子网掩码中第一个不为255的字节,算出来这个地址的值,在它前面的字节照抄,后面的直接为0。  原因是因为掩码是用连续的比特1来表示网络号的,

比如:假设某个主机的IP地址为180.80.77.55,子网掩码为255.255.252.0,求主机所在子网的网络地址。

首先判断这是哪类地址,从IP地址进行判断,B类地址的网络号的第一个字节的范围为128~191。该IP地址的第一个字节为180,所以为B类地址。

直接找到掩码第一个不为255的字节,也就是第三个字节,相应地,IP地址的第三个字节为77。

转换为二进制后进行逻辑与,算出所在的子网的网络地址为180.80.76.0。

在此基础上再加一问,如果向其所在子网发送广播分组,则目的地址可以是?

从前面我们可以知道,广播地址应该是主机号全为1。如图:

 由此可以得出,目的地址可以是:180.80.79.255

第三历史阶段(无分类编址):

无分类域间路由选择CIDR消除了传统的A类地址、B类地址、C类地址,以及子网划分的概念。它可以更有效地分配IPV4地址空间。

CIDR采用斜线记法,又叫CIDR记法。即在IP地址后面加上斜线“/”,斜线后面写上网络前缀所占比特的数量(设为x)。   主机号所占比特的数量就等于32-x。

CIDR实际上是将网络前缀都相同的连续的IP地址组成了一个“CIDR地址块”。

在这个地址块中,只需要知道其中任何一个地址,就可以知道该地址块的全部细节:

1.地址块的最小地址和最大地址(这里并不区分是否为可分配的地址,所以最小地址应该是主机号全为0,最大地址应该是主机号全为1)。   

2.地址块中的地址数量(2^{n} 这里n为主机号的位数)。   

3.地址块中聚合某类(A类、B类、C类)网络的数量(\frac{2^{u}}{2^{v}} 其中2^{u}为地址块中的地址数量,u为主机号的位数,2^{v}为该类一个网络的地址的数量,A类应该为2^{24},B类应该为2^{16},C类应该为2^{8})。 

4.地址掩码(又称为子网掩码)(网络前缀用连续的比特1表示,主机号用连续的比特0表示)。

比如:CIDR地址块 128.14.35.7/20 的全部细节

首先得出网络前缀为20位,即前两字节加第三个字节的前四位为网络前缀,那么主机号的位数为12位。

 最小地址:主机号全为0 ,则最小地址为128.14.32.0

注意:人家要是问最小的可分配的地址,那就应该是128.14.32.1

 最大地址:主机号全为1 即最大地址为128.14.47.255

注意: 同上,最大的可分配地址应该为128.14.47.254

 地址块中的地址数量:2^{12}

 聚合C类网的数量:\frac{2^{12}}{2^{8}}=2^{4}=16

地址掩码:

前两个字节不用犹豫,直接写255,第三个字节前四位变为1,剩余位数全部变为0。

则地址掩码为255.255.240.0。

 路由聚合(构造超网):

路由聚合可以减少路由记录对路由表的占用。其核心思想是找地址的共同前缀。

比如:

转发接口相同的4条路由表项,目的地址分别为35.230.32.0/21,35.230.40.0/21,35.230.48.0/21,35.230.56.0/21。进行路由聚合。

 

最长前缀匹配:

网络前缀越长,地址块也就越小,路由就越具体。

如果路由器查表转发分组时发现有多条路由可以选择,那么就选择网络前缀最长的那条。

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

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

相关文章

懵了,面试官问我Redis怎么测,我哪知道!

有些测试朋友来问我,redis要怎么测试?首先我们需要知道,redis是什么?它能做什么? redis是一个key-value类型的高速存储数据库。 redis常被用做:缓存、队列、发布订阅等。 所以,“redis要怎么测…

数据通信——OSPF基础

一,实验背景 公司盈利了,老总打算扩展公司规模,也发现了RIP协议的缺点带来的影响。身为工程师,老总让你替换更好的网络,顺带为拓展出的新部门进行新的网络部署,甚至买来很多设备。 此时你要用OSPF协议解决问…

推荐系统在线峰会来了,冷启动、推荐工程、模型训练…你都能找到答案

回顾推荐系统的发展历程,从 30 余年前的协同过滤算法起步,经历了深度学习的浪潮,到如今热火朝天的大模型,推荐系统一次又一次地焕发出新的活力。随着大模型的到来,推荐系统正处于变革的前夜,原有的系统模块…

计算机竞赛 基于大数据的时间序列股价预测分析与可视化 - lstm

文章目录 1 前言2 时间序列的由来2.1 四种模型的名称: 3 数据预览4 理论公式4.1 协方差4.2 相关系数4.3 scikit-learn计算相关性 5 金融数据的时序分析5.1 数据概况5.2 序列变化情况计算 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 &…

最新Python浪漫520表白代码?

前言 520是每年的5月20日,因数字“520”与“我爱你”发音相似而被许多年轻人用作表达爱意的节日。这个节日起源于中国互联网文化,逐渐传递到其他国家和地区。在这一天,情侣们通常会互送礼物、发表情、或者举行浪漫的活动来庆祝爱情。快来领取…

Unity ProBuilder SetUVs 不起作用

ProBuilder SetUVs 不起作用 🐟 需要设置face.manulUV true public static void Set01UV(this ProBuilderMesh mesh){foreach (var face in mesh.faces){face.manualUV true;//设置为手动uv}var vertices mesh.GetVertices().Select(v > v.position).ToArray(…

计算机竞赛 基于图像识别的跌倒检测算法

前言 🔥 优质竞赛项目系列,今天要分享的是 基于图像识别的跌倒检测算法 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/…

大数据平台安全主要是指什么安全?如何保障?

大数据时代已经来临,各种数据充斥着我们的生活与工作。随着数据的多样性以及复杂性以及大量性,大数据平台诞生了。但对于大数据平台大家都不是很了解,有人问大数据平台安全主要是指什么安全?如何保障? 大数据平台安全…

9.阿里Sentinel哨兵

1.Sentinel Sentinel(哨兵)是由阿里开源的一款流量控制和熔断降级框架,用于保护分布式系统中的应用免受流量涌入、超载和故障的影响。它可以作为微服务架构中的一部分,用于保护服务不被异常流量冲垮,从而提高系统的稳定…

angular15 数据切换报错

解决方案 1.涉及的属性不要公用,只能有一个标签调用 2.settimeout setTimeout(() > { xxx //导致报错的赋值代码 }, 0);

全新红娘交友系统定制版源码/相亲交友小程序源码

全新红娘交友系统定制版源码,相亲交友小程序源码。定制版红娘交友平台小程序源码,很牛逼的东西,虽然是小程序,但是有700多M大,功能超级强大,还带聊天等功能。 下载地址:https://bbs.csdn.net/t…

Drools的KieSession(有状态会话)的获取,领导就说一句话,员工加班都做不完!

使用Drools规则引擎的代码,最简单的主要有以下几部分: //这一部分的连接:“万恶”之源的KieServices,获取代码就一行,表面代码越少里面东西就越多,本以为就是个简单的工厂方法,没想到里面弯弯绕…

Windows下编译NextCloud desktop 3.9.1

首先从官方下载源码: https://github.com/nextcloud/desktop💻 Desktop sync client for Nextcloud. Contribute to nextcloud/desktop development by creating an account on GitHub.https://github.com/nextcloud/desktop 我选择的是3.9.1的稳定版本…

工控机引领移动机器人的智能化革命!

随着制造业数字化转型的加速,工业4.0时代的到来,工业互联网逐步成为中国推进新型工业化进程的核心驱动力量。而工控机作为工业互联网领域的重要组成部分,已经在越来越多行业得到广泛应用。据中商情报网数据显示,2022年我国工业自动…

Linux CentOS7系统,抓取http协议的数据包

使用 tcpdump 命令 1.首先确认是否安装 [rootlocalhost ~]# which tcpdump /usr/bin/which: no tcpdump in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) [rootlocalhost ~]#我这里没有安装 1.1 安装 tcpdump yum install tcpdump 安装成功如下&#xf…

【Linux】进程间通信原理与Reactor模式

一、用户进程缓冲区和内核缓冲区 缓冲区的目的,是为了减少频繁的系统IO调用。大家都知道,系统调用需要保存之前的进程数据和状态等信息,而结束调用之后回来还需要恢复之前的信息,为了减少这种损耗时间、也损耗性能的系统调用&…

有趣的无限缓存OOM现象

作者:邹阿涛涛涛涛涛涛 想必大家都知道OOM是啥吧,我就不扯花里胡哨的了,直接进入正题。先说一个背景故事,我司app扫码框架用的zxing,在很长一段时间以前,做过一系列的扫码优化,稍微列一下跟今天…

学习ts(九)混入

对象混入 使用Object.assign()进行对象混入,最后的people会被识别为三种类型的联合类型 类混入 使用implement并非extnds实现混入。 属性在混入类里面定义,分别在类中占位,方法分别在类中定义,在混合类中占位。这告诉编译器这…

自动化的驱动力,工控机助您实现智能生产!

“智能工厂建设如火如荼,部分成果已经落地,在大规模资金投入的市场催化下,海尔、海信等制造企业通过智能工厂手段推进生产效率成倍增长的新闻层出不穷。在工业4.0时代,“中国制造2025”战略中,智能工厂构建都是其中不可…

激活函数总结(十九):激活函数补充(ISRU、ISRLU)

激活函数总结(十九):激活函数补充 1 引言2 激活函数2.1 Inverse Square Root Unit (ISRU)激活函数2.2 Inverse Square Root Linear Unit (ISRLU)激活函数 3. 总结 1 引言 在前面的文章中已经介绍了介绍了一系列激活函…