当前位置: 首页 > news >正文

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

目录

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。进行路由聚合。

 

最长前缀匹配:

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

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

相关文章:

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

目录 IPV4地址编址 第一历史阶段(分类编址): A类地址: B类地址: C类地址: D类地址(多播地址): E类地址(保留地址): 第二历史阶…...

原生微信小程序使用 wxs;微信小程序使用 vant-weapp组件

1.原生微信小程序使用 wxs 1.内嵌 WXS 脚本 2. 定义外链 wxs 3. 使用外连wxs 在这里插入图片描述 2. 微信小程序使用 vant weapp 1.安装步骤 2. 安装包管理(package.json)文件的方法 操作顺序 :文档地址 如果使用 typescript 需要操作步骤3,否则不…...

qml相关知识1

qml相关知识1 QtQuick.Controls 哪个版本支持TreeModel 和 TreeItemqt5.12开始,TreeItem 类被删除,无法使用delegate 什么时候可以用Qt5.15中没有 import QtQuick.Controls 1吗,哪个版本有control1qml如何两种版本的controls混用(…...

linux+c+qt杂记

虚拟机网络选择; 桥接模式:设置window宿主机的IP/dns,把虚拟机设置为桥接即可。 切换到终端:我的是 ctrlaltFnF1? 问题解决: Ubuntu系统下载(清华大学开源软件镜像站)(ubuntu-20.…...

shouldComponentUpdate有什么作用?

触发时机 当props或state发生变化时,shouldComponentUpdate() 会在渲染执行之前被调用。 作用 根据shouldComponentUpdate()的返回值,判断react组件的输出是否受当前state或props更改影响。默认行为是state每次发生变化组件都会重新渲染。 shouldCompo…...

华为OD-滑动窗口最大值

题目描述 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例一 输入:nums [1,3,-1,-3,5,3,6,7], k 3 输出…...

Linux:ansible自动化运维工具

环境介绍 当前所有执行权限我是在root下执行的,如果提示权限之类的,可以在每句命令前 加上 sudo ansible主服务器 192.168.0.194 另外两个客户端分别为 192.168.0.193 192.168.0.192 软件只需要在主服务器上安装,客户端不需…...

前端如何使用WebSocket发送消息

系列文章目录 文章目录 系列文章目录前言一、WebSocket的基本原理二、在前端使用WebSocket1.创建WebSocket实例2.监听事件3.发送消息三、实际应用场景总结前言 WebSocket是一种在Web应用程序中实现双向通信的技术,它允许服务器和客户端之间实时交换数据。在本篇博客中,我们将…...

纸贵科技连续三年蝉联IDC中国 FinTech 50榜单

近日,国际权威市场研究机构IDC公布了“2023 IDC中国FinTech 50榜单”。作为领先的区块链技术和解决方案服务商,纸贵科技凭借过硬的区块链技术和丰富的金融科技创新成果,连续第三年荣登IDC中国FinTech 50榜单。 IDC中国FinTech 50榜单是金融科…...

台积电美国厂施工现场混乱,真令人头痛 | 百能云芯

近日,英伟达公司的财报表现异常亮眼,摩根士丹利不仅点名了台积电成为最大的受益者,还预测每售出一颗H100英伟达芯片,台积电就能获得900美元的利润。然而,美国媒体却曝出了一则不利的消息,称美国亚利桑那州的…...

React绑定antd输入框,点击清空或者确定按钮实现清空输入框内容

其实实现原理和vue的双向绑定是一样的,就是监听输入框的onChange事件,绑定value值,当输入框内容发生变化后,就重新设置这个value值。 示例代码:我这里是统一在handleCancel这个函数里面处理清空逻辑了,你们…...

Springboot整合liquIbase组件

liquIbase方式 1、添加依赖 <!-- Liquibase 依赖 --> <dependency><groupId>org.liquibase</groupId><artifactId>liquibase-core</artifactId> </dependency>2、添加配置项 spring:# datasource 数据源配置内容&#xff0c;对应…...

Apache Paimon 实时数据湖 Streaming Lakehouse 的存储底座

摘要&#xff1a;本文整理自阿里云开源大数据表存储团队负责人&#xff0c;阿里巴巴高级技术专家李劲松&#xff08;之信&#xff09;&#xff0c;在 Streaming Lakehouse Meetup 的分享。内容主要分为四个部分&#xff1a; 流计算邂逅数据湖 Paimon CDC 实时入湖 Paimon 不止…...

计算机网络(10) --- 高级IO

计算机网络&#xff08;9&#xff09; --- 数据链路层与MAC帧_哈里沃克的博客-CSDN博客数据链路层与MAC帧https://blog.csdn.net/m0_63488627/article/details/132178583?spm1001.2014.3001.5501 1.IO介绍 1.IO本质 1.如果数据没有出现&#xff0c;那么读取文件其实会被阻塞住…...

学习中ChatGPT的17种用法

ChatGPT本质上是一个聊天工具&#xff0c;旧金山的人工智能企业OpenAI于2022年11月正式推出ChatGPT。那么&#xff0c;ChatGPT与其他人工智能产品相比有什么特殊呢&#xff1f; 它除了可以回答结构性的问题&#xff0c;例如语法修正、翻译和查找答案之外。最关键的是它能够去解…...

融合CDN 如何有效的抵抗DDoS攻击

绝大部分对外网站所有者都离不开CDN的支持&#xff0c;据统计&#xff0c;全球高达70%的互联网流量都是通过CDN来进行缓存和加速的&#xff0c;不论是国外知名的CDN厂商&#xff1a;如Cloudflare、AWS、Akamai等&#xff0c;还是国内主流的CDN厂商阿里云华为云腾讯云等&#xf…...

Git 原理与使用

1.版本控制器 所谓的版本控制器&#xff0c;就是能让你了解到⼀个⽂件的历史&#xff0c;以及它的发展过程的系统。通俗的讲就是⼀个可以记录⼯程的每⼀次改动和版本迭代的⼀个管理系统&#xff0c;同时也⽅便多⼈协同作业。 ⽬前最主流的版本控制器就是 Git 。Git 可以控制电脑…...

如何批量加密PDF文件并设置不同密码 - 批量PDF加密工具使用教程

如果你正在寻找一种方法来批量加密和保护你的PDF文件&#xff0c;批量PDF加密工具是一个不错的选择。 它是一个体积小巧但功能强大的Windows工具软件&#xff0c;能够批量给多个PDF文件加密和限制&#xff0c;包括设置打印限制、禁止文字复制&#xff0c;并增加独立的打开密码。…...

【Unity 工程化】unity一些资源路径用途

Resources Resources 目录用于存放可以通过 Unity 的 Resources.Load 函数进行加载的资源。这些资源会在构建时被打包为一个单独的资源包&#xff0c;因此它们必须满足一些 Unity 所要求的命名和文件夹结构规则。由于这些资源被打包在一起&#xff0c;因此在构建后的游戏中可以…...

使用Docker进行模型部署

一、常见的模型部署场景 实时的、小数据量的预测应用 部署方式&#xff1a;采用python-httpserve应用部署&#xff08;如flask, fastApi, django&#xff09;&#xff0c;缺点是可能需要跨环境&#xff0c;从Java跨到Python环境实时的、大数据量的预测应用 部署方式&#xff1…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件&#xff0c;然后打开终端&#xff0c;进入下载文件夹&#xff0c;键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

NPOI Excel用OLE对象的形式插入文件附件以及插入图片

static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...