【计算机网络详解】——网络层(学习笔记)

news2024/11/16 11:28:12

📖 前言:网络层它承担着网络间的数据传输和路由选择等核心任务,通过在传输层协议的基础上添加了路由和转发等功能,使得数据能够在全球范围内的互联网中自由流动。在这篇博客中,我们将深入探讨网络层的工作原理和具体实现,了解其对于现代计算机网络应用的重要性和影响。

在这里插入图片描述


目录

  • 🕒 0. 思维导图
  • 🕒 1. 概述
  • 🕒 2. 两种服务
    • 🕘 2.1 面向连接的虚电路服务
    • 🕘 2.2 无连接的数据报服务
  • 🕒 3. IP地址
  • 🕒 4. ARP协议
  • 🕒 5. IPV4
  • 🕒 6. IP数据报的发送和转发过程
  • 🕒 7. 静态路由配置与路由环路问题
  • 🕒 8. 路由选择协议
    • 🕘 8.1 概述
    • 🕘 8.2 路由信息协议RIP的基本工作原理
    • 🕘 8.3 开放最短路径优先OSPF的基本工作原理
    • 🕘 8.4 边界网关协议BGP的基本工作原理
  • 🕒 9. 虚拟专用网VPN
  • 🕒 10. 网络地址转换NAT
  • 🕒 11. IPV6
  • 🕒 12. 课后习题

🕒 0. 思维导图

🕒 1. 概述

主要任务是实现网络互连,进而实现数据包在各网络之间的传输

因特网(lnternet)是目前全世界用户数量最多的互联网,它使用TCP/IP协议栈

由于TCP/IP协议栈的网络层使用网际协议IP,它是整个协议栈的核心协议,因此在TCP/IP协议栈中网络层常称为网际层

综上所述,我们通过学习TCP/IP协议栈的网际层来学习网络层的理论知识和实践技术。

在这里插入图片描述

🕒 2. 两种服务

🕘 2.1 面向连接的虚电路服务

  • 可靠的通信由网络来保证
  • 必须建立网络层的连接——虚电路VC(Virtual Circuit)
  • 通信双方沿着已建立的虚电路发送分组
  • 目的主机的地址仅在连接建立阶段使用,之后每个分组的首部只需携带一条虚电路的编号(构成虚电路的每一段链路都有一个虚电路编号)。
  • 这种通信方式如果再使用可靠传输的网络协议,就可使所发送的分组最终正确到达接收方(无差错按序到达、不丢失、不重复)。
  • 通信结束后,需要释放之前所建立的虚电路
  • 很多广域分组交换网都使用面向连接的虚电路服务。例如,曾经的X.25和逐渐过时的帧中继FR、异步传输模式ATM等。

🕘 2.2 无连接的数据报服务

  • 可靠通信应当由用户主机来保证
  • 不需要建立网络层连接
  • 每个分组可走不同路径
  • 每个分组的首部必须携带目的主机的完整地址
  • 这种通信方式所传送的分组可能误码、丢失、重复和失序
  • 由于网络本身不提供端到端的可靠传输服务,这就使网络中的路由器可以做得比较简单,而且价格低廉
  • 因特网采用了这种设计思想,也就是将复杂的网络处理功能置于因特网的边缘(用户主机和其内部的运输层),而将相对简单的尽最大努力的分组交付功能置于因特网核心。
对比方面虚电路服务数据报服务
思路可靠通信应当由网络来保证可靠通信应当由用户主机来保证
连接的建立必须建立网络层连接不需要建立网络层连接
终点地址仅在连接建立阶段使用(需要进行路由选择),每个分组使用短的虚电路号(VCID),不需要为每条虚电路预分配带宽。每个分组都有终点的完整地址
分组的转发属于同一条虚电路的分组均按照同一路由进行转发每个分组可走不同的路由
当结点出故障时所有通过出故障的结点的虚电路均不能工作出故障的结点可能会丟失分组,一些路由可能会发生变化
分组的顺序总是按发送顺序到达终点到达终点时不一定按发送顺序
服务质量保证可以将通信资源提前分配给每一个虚电路,容易实现很难实现

由于TCP/IP体系结构的因特网的网际层提供的是简单灵活、无连接的,不可靠的数据报服务,因此本章主要围绕网际层如何传送IP数据报这个主题进行讨论。

🕒 3. IP地址

IP地址是TCP/IP体系结构网际层所使用的地址

IP地址是Internet上的主机和路由器所使用的的地址,由两部分信息构成:

  • 网络号:标识因特网上数以百万计的网络;
  • 主机号:标识同一网络上不同主机(或路由器各接口)。

MAC地址不具备区分不同网络的功能,而IP地址可以通过网络号做到

  • 如果只是一个单独网络,不接入因特网,则使用MAC地址就足够了(这不是一般用户的应用方式)
  • 如果主机所在的网络要接入因特网,则IP地址和MAC地址都需要使用

数据包转发过程中IP地址与MAC地址变换情况
在这里插入图片描述

  • 数据报转发过程中源IP地址和目的IP地址保持不变
  • 数据包转发过程中源MAC地址和目的MAC地址(由ARP协议获得)逐个链路(或逐个网络)改变
  • 路由器上有路由表,记录了要到目的IP地址,先要走哪些路(即下一跳位置)。所以H1起初只带有目的IP地址,查询路由表后路由器指路,从而知道下一步该往哪里走,从而不断转发直至到达目的地。

【2018年 题37】路由器R通过以太网交换机S1和S2连接两个网络,R的接口、主机H1和H2的lP地址与MAC地址如下图所示。若H1向H2发送一个IP分组P,则H1发出的封装P的以太网帧的目的MAC地址、H2收到的封装P的以太网帧的源MAC地址分别是
A.00-a1-b2-c3-d4-62 00-1a-2b-3c-4d-52
B.00-a1-b2-c3-d4-62 00-1a-2b-3c-4d-61
C.00-1a-2b-3c-4d-51 00-1a-2b-3c-4d-52
D.00-1a-2b-3c-4d-51 00-a1-b2-c3-d4-61
在这里插入图片描述
解析:
在这里插入图片描述

🕒 4. ARP协议

地址解析协议ARP协议属于TCP/IP体系结构的网际层,其作用是已知设备所分配到的IP地址,使用ARP协议可以通过该IP地址获取到设备的MAC地址。

在这里插入图片描述

  • 数据的发送需要经过链路,仅仅知道IP地址是无法在数据链路层实现传输的,因此我们需要得到IP地址与MAC地址的对应关系,即地址解析。
  • 每台主机都会有一个ARP高速缓存表,记录有IP地址与MAC地址的对应关系
  • 初始ARP高速缓存表为空,假设此时B知道CIP地址,准备发送信息,但是由于不知道CMAC地址,因此无法封装数据帧,所以此时会广播一个ARP请求报文(封装在MAC帧中,目的地址为广播地址FF-FF-FF-FF-FF-FF),内容如下:
    • 我的IP地址是:xxx ;我的MAC地址是:XXX;我想知道C主机的MAC地址是多少?这个广播帧会被该广播域的所有主机收到;
    • A主机收到后交由上层处理,发现B问的不是他,所以不予理会;
    • C收到后交由上层处理,发现这个IP地址正是自己,因此首先将B的MAC地址和IP地址的对应关系记录到自己的高速缓存表中,接着返回给ARP响应报文(封装在单播MAC帧中,目的地址为B的MAC地址),其中包含自己的MAC地址。
  • ARP高速缓存条目有静态与动态两种类型:
    • 动态代表是通过广播自动获取的条目,生命周期默认为两分钟;
    • 静态是手工设置的条目,不同操作系统下的生命周期不同。
  • ARP协议只能在一段链路或一个网络上使用
  • 除ARP请求和响应外,ARP还有其他类型的报文(例如用于检查IP地址冲交的“无故ARP、免费ARP(Gratuitous ARP)" )。
  • ARP没有安全验证机制,存在ARP欺骗(攻击)问题。

🕒 5. IPV4

🔎 【网络协议详解】——IPv4

🕒 6. IP数据报的发送和转发过程

同一个网络之间的主机可以直接通信,不同网络之间的主机通信需要路由器中转。

接下来的举例忽略数据链路层的过程。

IP数据报的发送和转发过程包含以下两部分:

  • 主机发送IP数据报

    • 判断目的主机是否与自己在同一个网络(将自身的IP地址与子网掩码相与得到自身的网络号1,再将目的IP地址与自身子网掩码相与得到网络号2。若两个网络号相等,则说明处在同一个网络)
      • 若在同一个网络,则属于直接交付
      • 不在同一个网络,则属于间接交付
        • 传输给主机所在网络的默认网关(路由器),由默认网关帮忙转发。所谓默认网关,即当路由表中查不到数据时会将数据发往的路由器端口IP地址。
  • 路由器转发IP数据报

    • 检查IP数据报首部是否出错:
      • 若出错,则直接丢弃该IP数据报并通告源主机;
      • 若没有出错,则进行转发;
    • 根据IP数据报的目的地址在路由表中查找匹配的条目(将目的地址与路由条目中的地址掩码相与得到目的网络地址,该目的网络地址与路由条目中的目的网络地址不相同,则这条路由条目不匹配):
      • 若找到匹配的条目,则转发给条目中指示的下一跳;
      • 若找不到,则丢弃该IP数据报并通告源主机;
  • 中继器和集线器工作在物理层,既不隔离冲突域也不隔离广播域。

  • 网桥和交换机(多端口网桥)工作在数据链路层,可以隔离冲突域,不能隔离广播域。

  • 路由器工作在网络层,既隔离冲突域,也隔离广播域,有效抑制广播风暴。

【2012年题37】下列关于IP路由器概念的描述中,正确的是()
Ⅰ 运行路由协议,设置路由表
Ⅱ 监测到拥塞时,合理丢弃lP分组
Ⅲ 对收到的IP分组头进行差错校验,确保传输的IP分组不丢失
Ⅳ 根据收到的IP分组的目的IP地址,将其转发到合适的输出线路上
A.仅Ⅲ、Ⅳ
B.仅Ⅰ、Ⅱ、Ⅲ
C.仅Ⅰ、Ⅱ、Ⅳ
D.Ⅰ、Ⅱ、Ⅲ、Ⅳ

【解析】
IP路由器工作在TCP/IP体系结构的网际层(或称IP层),TCP/IP体系结构的网际层并不负责可靠传输,也就是不能确保传输的IP分组不丢失。

IP路由器对收到的IP分组头进行差错校验,当发现错误时会丢弃该IP分组并向源主机发送ICMP差错报告报文(类型为参数错误)。

因此选C。

【2015年题47】某网络拓扑如下图所示,其中路由器内网接口、DHCP服务器、WWW服务器与主机1均采用静态IP地址配置,相关地址信息见图中标注;主机2~ 主机N通过DHCP服务器动态获取IP地址等配置信息。
(3)若主机1的子网掩码和默认网关分别配置为255.255.255.0和111.123.15.2,则该主机是否能访问WWW服务器?是否能访问Internet?请说明理由。
在这里插入图片描述
主机1可以访问WWW服务器。从IP地址与子网掩码配置以及物理连接方面看,主机1和WWW服务器在同一网络中。

主机1不能访问Internet,因为它的默认网关错误配置成了DHCP服务器的IP地址,DHCP服务器不具备路由器的功能,无法将IP分组转发到Internet。正确的配置应该指定为路由器该接口的IP地址。

🕒 7. 静态路由配置与路由环路问题

静态路由配置是指用户或网络管理员使用路由器的相关命令给路由器人工配置路由表

  • 这种人工配置方式简单、开销小。但不能及时适应网络状态(流量、拓扑等)的变化
  • 一般只在小规模网络中采用。

使用静态路由配置可能出现以下导致产生路由环路的错误

  • 配置错误
  • 聚合了不存在的网络口
  • 网络故障

路由条目的类型

  • 直连网络
  • 静态路由(人工配置)
  • 动态路由(路由选择协议)

特殊的静态路由条目

  • 默认路由(目的网络为0.0.0.0,地址掩码为0.0.0.0)
  • 特定主机路由(目的网络为特定主机的lP地址,地址掩码为255.255.255.255)
  • 黑洞路由(下一跳为null0)

静态路由配置
在这里插入图片描述

默认路由、特定主机路由
在这里插入图片描述
静态路由配置错误

在这里插入图片描述

  • 为了防止IP数据报在路由环路中永久兜圈,在IP数据报首部设有生存时间TTL字段。
  • IP数据报进入路由器后,TTL字段的值减1。若TTL的值不等于0,则被路由器转发,否则被丢弃。

聚合了不存在网络:

在这里插入图片描述
通过增加黑洞路由解决这一问题:
在这里插入图片描述

网络故障:
在这里插入图片描述

通过增加黑洞路由解决这一问题:

在这里插入图片描述

如果之前的故障消失了,则R1又自动地得出了其接口0的直连网络的路由条目,并将人工配置的针对该网络的黑洞路由条目设置为失效状态。

🕒 8. 路由选择协议

🕘 8.1 概述

静态路由选择动态路由选择
人工配置的网络路由、默认路由、特定主机路由、黑洞路由等都属于静态路由路由器通过路由选择协议自动获取路由信息
这种人工配置方式简单、开销小。但不能及时适应网络状态(流量、拓扑等)的变化比较复杂、开销比较大。能较好地适应网络状态的变化
一般只在小规模网络中采用适用于大规模网络

因特网所采用的的路由选择协议主要特点

  • 自适应:动态路由选择,能较好地适应网络状态的变化
  • 分布式:路由器之间交换路由信息
  • 分层次:将整个因特网划分为许多较小的自治系统AS(Autonomous System)

自治系统(AS):由同一个技术管理机构管理、使用统一选路策略的一些路由器的集合。

每个自治系统都有唯一的编号,这个编号是由因特网地址分配组织(IANA)分配的。

自治系统的编号范围为1~65535,其中:

  • 1~64511 是注册的因特网编号
  • 64512~65535 是私有网络编号。

内部网关协议IGP(如路由信息协议RIP或最短路径优先OSPF)

  • 设法使分组在一个自治系统内尽可能有效地从源网络传输到目的网络
  • 无需考虑自治系统外部其他方面的策略

外部网关协议EGP(如边界网关协议BGP)

  • 在不同自治系统内,度量路由的"代价"(距离,宽带,费用等)可能不同。因此,对于自治系统之间的路由选择,使用"代价"作为度量来寻找最佳路由是不行的
    • 比如A系统路由选择度量是距离,B系统是带宽……那么A到系统E的路由怎样走最好呢?由于没有统一度量,所以不能直接得到最佳路由
  • 自治系统之间的路由选择必须考虑相关策略(政治、经济、安全等)
    • 如中国的数据报尽量要绕开美国的自治系统

IGP 与EGP 的区别有以下两点:

  • IGP 是运行在AS 内部的路由协议,主要有RIP、OSPF 及IS-IS,IGP 着重于发现和计算路由
  • EGP 是运行于AS 之间的路由协议,现通常都是指BGP,BGP 是实现路由控制和选择最好(未必最优)的路由协议。

在这里插入图片描述

注:此处网关含义与路由器相同。

常见的路由选择协议:

请添加图片描述

路由器的基本结构:
在这里插入图片描述

  • 路由表一般仅包含从目的网络到下一跳的映射
  • 路由表需要对网络拓扑变化的计算最优化
  • 转发表是从路由表得出的
  • 转发表的结构应当使查找过程最优化

🕘 8.2 路由信息协议RIP的基本工作原理

🔎 【网络协议详解】——RIP协议

🕘 8.3 开放最短路径优先OSPF的基本工作原理

🔎 【网络协议详解】——OSPF协议

🕘 8.4 边界网关协议BGP的基本工作原理

🔎 【网络协议详解】——BGP协议

🕒 9. 虚拟专用网VPN

  • 利用公用的因特网作为本机构各专用网之间的通信载体,这样的专用网又称为虚拟专用网VPN(Virtual Private Network)。
  • 由于IPv4地址的紧缺,一个机构能够申请到的IPv4地址数量往往远小于本机构所拥有的主机数量。因此,虚拟专用网中的各主机所分配的地址应该是本机构可自由分配的专用地址,而不是需要申请的、在因特网上使用的公有地址。

专用(私有)地址:
10.0.0.0~10.255.255.255(10/8地址块)
172.16.0.0~172.31.255.255(172.16/12地址块)
192.168.0.0~192.168.255.255(192.168/16地址块)

IP隧道技术

如下图所示,同一机构内不同部门的内部网络所构成的虚拟专用网VPN又称为内联网VPN

有时一个机构的VPN需要有某些外部机构(通常就是合作伙伴)参加进来。这样的VPN就称为外联网VPN

在外地工作的员工需要访问公司内部的专用网络时,只要在任何地点接入到因特网,运行驻留在员工PC中的VPN软件,在员工的PC和公司的主机之间建立VPN隧道,即可访问专用网络中的资源。这种VPN称为远程接入VPN

在这里插入图片描述

🕒 10. 网络地址转换NAT

虽然因特网采用了无分类编址方式来减缓IPv4地址空间耗尽的速度,但由于因特网用户数目的激增,特别是大量小型办公室网络和家庭网络接入因特网的需求不断增加,IPv4地址空间即将面临耗尽的危险仍然没有被解除。

1994年提出了一种网络地址转换NAT(Network Address Translation)的方法再次缓解了IPv4地址空间即将耗尽的问题

(静态或动态)NAT能使大量使用内部专用地址的专用网络用户共享少量外部全球地址来访问因特网上的主机和资源

在这里插入图片描述

在因特网中的所有路由器,对目的地址是专用(私有)地址的数据报一律不进行转发。RFC1918指明的专用该地址是:
(1)10.0.0.0到10.255.255.255(或记为10/8,它又称为24位块)
(2)172.16.0.0到172.31.255.255(或记为172.16/12,它又称为20位块)
(3)192.168.0.0到192.168.255.255(或记为192.168/16,它又称为16位块)

该转换方法存在一个问题:如果NAT路由器具有N个全球IP地址,那么至多只能有N个内网主机能够同时和因特网上的主机通信。(1个私有IP地址对1个公有IP地址)

由于绝大多数的网络应用都是使用运输层协议TCP或UDP来传送数据,因此可以利用运输层的端口号和IP地址一起进行转换。

这样,用一个全球IP地址就可以使多个拥有本地地址的主机同时和因特网上的主机进行通信。这种将端口号和IP地址一起进行转换的技术叫作网络地址与端口号转换NAPT(Network Address and Port Translation)。

在这里插入图片描述
在这里插入图片描述

不可以由外网主机主动与内网主机进行通信,对于一些P2P网络应用,需要外网主机主动与内网主机进行通信,在通过NAT时会遇到问题,需要网络应用自己使用一些特殊的NAT穿越技术来解决问题。

由于NAT对外网屏蔽了内网主机的网络地址,能为内网的主机提供一定的安全保护。

NAT技术实验
实验背景:为了方便同学们访问图书馆资源,学校图书馆架设了一个FTP服务器,方便师生在家里通过Internet访问下载教学资源,同时申请了公网地址102.3.1.3/24作为该服务器的对外地址,原公网地址调整为102.3.1.1/24。同时教学办公楼、图书馆、南区学生宿舍、英东楼北区学生宿舍也有访问Internet的需求,但私有地址不能用在公网上,需要进行NAT地址转换。
请分别使用静态NAT、NAPT技术使得上述需求得以满足。本次实验在IP组网规划的那次实验基础上完成。

实验拓扑:
在这里插入图片描述
实验步骤:
1、配置Server1的IP地址等信息
在这里插入图片描述

2、完成出口路由器R1的静态NAT配置,以及ISP撤销上次配的静态路由

[ISP]int g0/0/1
[ISP-GigabitEthernet0/0/1]ip add 102.3.2.254 24
[ISP]undo ip route-static 172.16.0.0 20 102.3.1.1	# 撤销上次配的静态路由
[ISP-Serial4/0/0]ip add 102.3.1.2 24
[R1-Serial2/0/0]ip add 102.3.1.1 24
[R1-Serial2/0/0]nat static global 102.3.1.3 inside 172.16.14.189

3、配置Client1的IP地址及ISP接口地址(即Client1的网关地址)
在这里插入图片描述

4、验证Client1是否可以访问Server1的ftp服务器
在ISP的串口上启动抓包软件;双击Server1,打开服务器信息选项卡,选择FTPServer,配置好文件根目录为自己主机某个文件夹,点启动。

在这里插入图片描述

5、双击Client1,打开客户端信息选项卡,选择FtpClient,服务器地址输入Server1的外网地址,文件传输模式设为PORT,点击登录,查看是否登录成功,如看到服务器文件列表中文件与前一步所设文件夹内的内容一致,则成功登录,

在这里插入图片描述
在这里插入图片描述

思考题1:此时并未设置ISP上新增网段的路由,为何Client1可以访问Server1?
A:此时完成了静态 NAT,对Client1而言,访问的IP是102.3.1.3。对ISP而言,这个IP是它的直连网段(s0/0/0口所在网段)可达;对R1而言,前一个实验已经部署了默认路由,可达。

思考题2:为何删了ISP上的静态路由仍然可以连通呢?
A:此时完成了NAPT,对ISP而言,两边的网段
是102.3.1.0/24和102.3.2.0/24,都是它的直连网段,均可达;对R1而言,前一个实验已经部署了默认路由,可达。

思考题3:观察此时PC1-PC5访问Client1的数据包,如果Client1主动发起流量访问PC1,能否成功,为什么?
A:不能成功,因为没有做 NAPT之前,PC1的地址ISP路由不可达。Client1主动发起流量时,PC1没有做 NAPT。

🕒 11. IPV6

IPv6时代来临:IPv6是什么?

🔎 【网络协议详解】——IPv6协议

🕒 12. 课后习题

  1. 【单选题】一个C类网络至少需要划分为5个子网,每个子网最多20台主机,则适用的子网掩码是()。
    A、255.255.255.192
    B、255.255.255.240
    C、255.255.255.248
    D、255.255.255.224

  2. 【单选题】某单位分配了一个B类地址,计划将内部网络分成35个子网,将来要增加16个子网,每个子网中的主机数目接近800台,可行的掩码方案为( )。
    A、255.255.248.0
    B、255.255.252.0
    C、255.255.254.0
    D、255.255.255.0

  3. 【单选题】主机A发送IP数据报给主机B,途中经过了2个路由器,则在IP数据报的发送过程中使用ARP的次数是
    A、1
    B、2
    C、3
    D、4

  4. 【判断题】OSPF协议与RIP协议一样采用分类的IP地址,所以宣告网络时不需要指明子网掩码。

  5. 【单选题】不考虑NAT,在Internet中,IP数据报从源主机到目的主机可能需要经过多个网络和路由器,在整个传输过程中,IP数据报首部中的
    A、源IP地址和目的IP地址都不会发生变化
    B、源IP地址有可能发生变化而目的IP地址不会发生变化
    C、源IP地址不会发生变化而目的IP地址有可能发生变化
    D、源IP地址和目的IP地址都有可能发生变化

  6. 【单选题】为了减少IPv4地址的浪费,对于两个路由器之间的一条点对点链路,子网掩码应配置为
    A、255.255.128.0
    B、255.255.192.0
    C、255.255.255.0
    D、255.255.255.252

答案:1.D(解析:C类子网的掩码是255.255.255.0,要求的子网数转换为二进制5=101,占了三位,因而最后一个字节为11100000=224)
2.B(解析: 2 n ≥ 800 , 2 m ≥ 51 , m + n = 16 2^n \geq 800, 2^m\geq 51, m+n=16 2n800,2m51,m+n=16 248=11111000,252=11111100,254=11111110,255=11111111)
3.C(解析:ARP协议只能逐链路(或网络)使用。若源主机与目的主机之间有n个路由器,则使用ARP的次数为n+1。)
4.×(解析:OSPF采用划分子网的IP地址和CIDR地址,宣告网络时需要指明子网掩码。)
5.A(解析:源lP地址和目的IP地址始终保持不变;源MAC地址和目的MAC地址逐链路改变。)
6.D(解析:两个路由器之间的点对点链路,这种场景里只涉及两个路由器的两个接口需要进行区分,也就意味着只需要2个IP地址,所以我们分配IP地址时,这个链路所属的网络就只需要2个路由器接口IP地址+1个网络地址+1个广播地址=4个IP地址,所以主机号需要2位,网络号的位数=32位-2位=30位。根据子网掩码的定义,网络位全部取“1”,主机位取“0”,用点分十进制表示出来就是255.255.255.252)


OK,以上就是本期知识点“网络层”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~

❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页

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

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

相关文章

D. Binary String Sorting(枚举位置)

Problem - 1809D - Codeforces 给定一个仅由字符0和/或1组成的二进制字符串s。 您可以对此字符串执行几个操作(可能为零)。有两种类型的操作: 选择两个相邻的元素并交换它们。为了执行此操作,您需要支付1012硬币; 选…

网络作业10【计算机网络】

网络作业10【计算机网络】 前言推荐网络作业10一. 单选题(共13题,68.2分)二. 多选题(共4题,21.2分)三. 阅读理解(共2题,10.6分) 练习5-39 最后 前言 2023-6-23 15:35:39…

MySQL ----主从复制、分离解析

文章目录 一、MySQL 主从复制1.1服务性能扩展方式1.2 MySQL的扩展什么是读写分离? 1.3为什么要读写分离呢?1.4什么时候要读写分离?1.5主从复制与读写分离1.6mysql支持的复制类型1.7主从复制的工作过程1.8MySQL 读写分离原理1.9目前较为常见的…

2023年05月份青少年软件编程Scratch图形化等级考试试卷四级真题(含答案)

2023-05 Scratch四级真题 分数:100 题数:24 测试时长:90min 一、单选题(共10题,共30分) 1. 下列积木运行后的结果是?(B)(说明:逗号后面无空格)&#xff08…

考研算法29天:希尔排序 【希尔排序】

算法介绍 希尔排序 等差数列 普通版插入排序 循环数组 第一次每n/2为间隔分为4组,然后组内排序。 第二次每n/4为间隔分为2组。然后组内排序 第三次n/8为间隔分为一组。然后组内排序。 组内排序用插入排序来排序。 注:也可以第一次为n/3为间隔&am…

Elasticsearch:DSL Query

Query DSL的分类 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出所有的数据,一般测试用,例如:match_all,但有分页限制,一次20…

知乎网友问题:Android 悬浮窗怎么让窗口响应事件的同时,也能让背后挡住的地方收到事件?---腾讯课堂千里马亲自解答

问题:Android 悬浮窗怎么让窗口响应事件的同时,也能让背后挡住的地方收到事件? 点击悬浮窗,自己能收到事件,背后挡住的区域也要能收到,怎么实现,return. false 无效 原生android机制不支持原因…

【C++入门第五期】类和对象(中)

这里写目录标题 类的6个默认成员函数构造函数特征 析构函数概念特性 拷贝构造特征拷贝构造如何自定义 运算符重载赋值运算符重载赋值运算符重载前置和后置重载 取地址及const取地址操作符重载 类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。 class…

基于深度学习的高精度抽烟行为检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于深度学习的高精度抽烟行为检测识别系统可用于日常生活中或野外来检测与定位抽烟行为目标,利用深度学习算法可实现图片、视频、摄像头等方式的抽烟行为目标检测识别,另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5…

【五子棋实战】第6章 调用接口进行联调

【五子棋实战】第6章 调用接口进行联调 Ajax调用接口 调用五子棋接口 点击优化 尾声 更多待开发的功能 Ajax调用接口 引入Jquery&#xff0c;使用JQ封装的ajax&#xff0c;demo如下&#xff1a; <script src"jquery-3.5.0.min.js"></script> <…

无显示器玩转树莓派桌面版

title: 无显示器玩转树莓派桌面版 zhaoolee在Github开启了长篇连载《树莓派不吃灰》https://github.com/zhaoolee/pi 目前已经更新到18篇&#xff0c;主要是给树莓派刷Ubuntu当做家庭服务器用。 恰好手头还有一块闲置的树莓派4B &#xff0c;我打算深度玩一下树莓派桌面版&…

CODESYS电子齿轮同步MC_GearIn指令编程应用

MC_GearIn属于比例随动控制,有关比例随动控制详细介绍请参看下面文章: 运动控制比例随动系统_RXXW_Dor的博客-CSDN博客PLC如何测量采集编码器的位置数据,不清楚的可以参看我的另一篇博文:三菱FX3U PLC高速计数器应用(附代码)_RXXW_Dor的博客-CSDN博客本文主要以三菱FX3U…

第十一章 EfficientNetv1网络详解

系列文章目录 第一章 AlexNet网络详解 第二章 VGG网络详解 第三章 GoogLeNet网络详解 第四章 ResNet网络详解 第五章 ResNeXt网络详解 第六章 MobileNetv1网络详解 第七章 MobileNetv2网络详解 第八章 MobileNetv3网络详解 第九章 ShuffleNetv1网络详解 第十章…

ffmpeg 音视频处理神器

1 FFmpeg是什么 ffmpeg是一套用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它包含了非常先进的音频/视频编解码库libavcodec&#xff0c;提供了录制、转换以及流化音视频的完整解决方案。 许多FFmpeg的开发人员都来自MPla…

AWS Lambda 介绍

计算服务的演进 EC2------Container-------Lambda 虚拟机---容器--------------serverless无服务器架构 什么是AWS Lambda&#xff1f; AWS lambda的核心是事件驱动&#xff0c;驱动可能来自&#xff0c;Alexa,SNS&#xff0c;DynamoDB&#xff0c;S3&#xff0c;Kinesis等&…

什么是队列?Python中如何使用队列(62)

小朋友们好&#xff0c;大朋友们好&#xff01; 我是猫妹&#xff0c;一名爱上Python编程的小学生。 和猫妹学Python&#xff0c;一起趣味学编程。 今日主题 什么是队列&#xff1f; 队列有哪些接口(api)&#xff1f; 在Python中如何表示队列&#xff1f; 什么是队列 队…

HDFS的工作原理是怎么样的?是如何实现HA模式?

原文链接&#xff1a;http://www.ibearzmblog.com/#/technology/info?id714dcb3957e29185493239b269a9ef65 前言 HDFS是能够提供一个分布式文件存储的系统&#xff0c;在大型数据文件的存储中&#xff0c;能够提供高吞吐量的数据访问&#xff0c;那么它是如何实现数据文件的…

电机调速执行

一、建立思维导图&#xff0c;将功能分析近而转换成技术要点&#xff0c;逐步实现。 二、编码器 1、机械编码器 &#xff08;1&#xff09;机械编码器是什么&#xff0c;张啥样&#xff1f; 如下图&#xff0c;这个就是我们生活应用中常见的机械编码器&#xff0c;我们又叫旋…

【C++】模板初阶——函数模板和类模板

&#x1f680; 作者简介&#xff1a;一名在后端领域学习&#xff0c;并渴望能够学有所成的追梦人。 &#x1f681; 个人主页&#xff1a;不 良 &#x1f525; 系列专栏&#xff1a;&#x1f6f8;C &#x1f6f9;Linux &#x1f4d5; 学习格言&#xff1a;博观而约取&#xff0…