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

计算机网络期末复习(知识点)

概念题

在实际复习之前,可以看一下这个视频将网络知识串一下,以便更好地复习:【你管这破玩意叫网络?】

网络规模的分类

  • PAN(个人区域网络):用于个人设备间的连接,如手机与蓝牙耳机之间的连接。
  • LAN(局域网络):在有限的地理区域内(如办公室、大楼或学校)的计算机网络。
  • MAN(都市区域网络):覆盖较大的地理区域,如一个城市。
  • WAN(广域网络):覆盖大范围地区,可以是一个国家、多个国家或全球。

网络协议的三要素

分别是语法、语义和同步,以下是详细介绍:

语法(Syntax)

  • 定义:语法规定了数据与控制信息的结构或格式,也就是确定了通信时数据应该按照什么样的格式进行组织和编排。例如,在TCP/IP协议族中,IP数据报有着固定的首部格式,首部包含了版本号、首部长度、服务类型、总长度等多个字段,每个字段的长度、顺序以及取值范围等都是由语法来明确规定的;再比如以太网帧格式,有着明确的目的MAC地址、源MAC地址、类型字段以及数据和校验和等各部分的格式要求,这些都是语法层面的体现。
  • 作用:它确保了不同设备在进行通信时,能够准确识别对方发送的数据格式,就像人们交流时要遵循一定的语言语法规则(如句子的主谓宾结构等)一样,网络设备之间遵循语法规则才能正确解析收到的信息,避免因格式混乱造成通信错误。

语义(Semantics)

  • 定义:语义主要用于解释控制信息每个部分的具体含义,规定了需要发出何种控制信息,以及完成何种动作、做出何种响应等内容。例如,在HTTP协议中,“GET”方法的语义就是请求获取由请求-URI所标识的资源,而“POST”方法的语义则是向指定资源提交要被处理的数据;在TCP协议中,ACK标志位被设置为1时的语义就是表示对收到的数据进行确认,这些都是明确规定了不同信息所代表的意义和对应的操作。
  • 作用:明确了网络通信中各种消息、指令的实际意义,使得通信双方能清楚知晓对方意图,从而按照相应的语义去执行相应的操作,保障通信能够有序、准确地进行,实现有效的信息交互。

同步(Timing)

  • 定义:同步也被称作时序,它规定了事件的执行顺序以及通信过程中各种操作的时间顺序。比如在TCP协议建立连接时,需要经过三次握手的过程,先是客户端发送SYN报文,服务器收到后回复SYN + ACK报文,客户端再发送ACK报文,这个先后顺序就是一种同步要求;又比如在一些实时通信场景中,数据发送的频率、接收确认的时间间隔等都属于同步需要考虑的范畴,要确保通信双方在时间上协调一致。
  • 作用:通过对时间顺序的合理规范,避免通信过程中出现混乱,确保信息能在合适的时间被发送、接收和处理,使整个网络通信能够有条不紊地进行,特别是在复杂的多步交互通信场景中起到关键的协调作用。

OSI七层模型&&TCP/IP模型

OSI七层模型

在这里插入图片描述
各层功能总结:
在这里插入图片描述

  • 物理层: 实现相邻节点之间的比特(0/1)的传输。需要定义电路接口参数(如:形状、尺寸、引脚数等),需要定义传输信号的含义、电气特征。
  • 数据链路层: 确保相邻节点之间的链路逻辑上无差错。需要进行差错控制(检错+纠错、检错+丢弃+重传)、流量控制(协调两个节点的速率)。
  • 网络层: 把“分组”从源节点转发到目的节点。包含以下功能:
    • 路由选择: 构造并维护路由表,决定分组到达目的节点的最佳路径。
    • 分组转发: 将“分组”从适合的端口转发出去。
    • 拥塞控制: 发现网络拥塞,并采取措施缓解拥塞。
    • 其他功能: 差错控制、流量控制、连接建立与释放、可靠传输管理。
  • 传输层: 实现端到端通信(即实现进程到进程的通信,“端”指“端口”)。包含以下功能:
    • 复用和分用: 发送端几个高层实体复用一条底层的连接,在接收端在进行分用。
    • 其他功能: 差错控制、流量控制、连接建立与释放、可靠传输管理。
  • 会话层:管理进程间会话。
  • 表示层:解决不同主机上信息表示不一致的问题。
  • 应用层:实现特定网络应用。

两台计算机通信时,使用到的协议

思路: 根据分层结构,高层数据要向下封装直到最底层,这个过程经过应用层、传输层、网络层、数据链路层。

例如:

  • 当客户端在浏览器输入一个网址,应用层会使用到HTTP、DNS协议,传输层会使用到TCP、UDP,网络层会使用到IP、ARP协议。
  • 当客户机使用ping 网址时,应用层使用DNS,传输层使用UDP协议,网络层使用IP、ARP、ICMP协议。

因为不管以哪个协议传输数据,都必须要直到目的主机的IP地址:如果现已知道目的主机的域名(通过网址访问),要使用DNS查询到对应的IP地址,传输层使用UDP。在数据链路层需要使用IP地址查询到目的主机的MAC地址,需要使用到ARP协议。

物理层

相关概念

  • 奈奎斯特定理: 无噪声情况下信道的极限波特率。
  • 香农定理: 有噪声情况下信道的极限比特率。
  • 噪声: 对信道产生干扰影响信道的数据传输效率。(并不一定是声波,只要是影响信道的数据传输效率的因素都可以称为噪声。例如在传输电磁波时,强磁场环境的就会影响数据传输效率,因此磁场也可以别称为噪声)
    在这里插入图片描述
    在这里插入图片描述

物理设备

  • 中继器: 中继器只有两个端口。通过一个端口接收信号,将失真信号整形再生,并转发至另一端口(信号再生会产生一些时延)。仅支持半双工通信(两端连接的结点不可同时发送数据,会导致“冲突")。中继器两个端口对应两个“网段
  • 集线器: 不能隔离冲突域。
  • 以太网交换机: 可以隔离冲突域。(因为交换机会通过MAC地址,识别目的MAC地址的主机在那个冲突域中,如果不在其他的冲突域中,交换机不会进行转发,这样就隔离了冲突域)
  • 交换机要转发广播帧,路由器不会转发广播帧。(因此,路由器可以隔离广播域)
    在这里插入图片描述
    在这里插入图片描述

数据链路层

组帧

在这里插入图片描述

在这里插入图片描述

HDLC协议和PPP协议就是使用了零比特填充法

差错控制CRC

这里主要介绍 循环冗余校验码CRC(Cyclic Redundancy Check)。
在这里插入图片描述

首先要得到校验码,因为校验码有两个部分组成:信息位 + 校验位,其中信息位是已知的,所以要先求得校验位。

  • 校验位的获取: 将信息位尾部添加R个0(R为生成多项式的最高幂数),将该数作为被除数与约定好的除数进行模2除,得到的余数就是校验位。
  • 模2除: 余数第一位为1时,商一;余数第一位为0时,商零。然后后三位进行异或运算。

在这里插入图片描述

在这里插入图片描述

流量控制和可靠传输

S-W停止等待协议、GBN后退N帧协议、SR选择重传协议是用来实现可靠传输和流量控制的具体协议,三个协议有相同的地方:
在这里插入图片描述

在实现这两个特性时,要解决以下问题:

  1. 如果数据帧丢失,收/发双方会发生什么?
  2. 如果接收方检测出数据帧有“差错”并将其丢弃,会发生什么?
  3. 如果接收方接收到重复数据帧,收/发双方会怎么做?

回答:

  1. 数据帧丢失时,接收方不会发送确认号,发送方在一定时间内收不到确认号,就会超时重传,重新发送丢失的数据帧。还有一些细节:
    • 接收方收不到接收窗口内的数据帧,接收窗口不会向后移动
    • 发送方在收不到确认号时,发送窗口也不会向后移动
    • 发送方在发送一个数据帧后,一定时间内,收不到确认号就会超时重传。
    • 当接收方发送给发送方的确认号丢失时,也是通过超时重传解决的。
  2. 接收方检测出数据帧有“差错”并将其丢弃时,相当于没有收到该数据帧,不会发送确认帧,等待发送方的超时重传。
  3. 在接收方接收到重复数据帧这一情况,首先需要理解接收方是如何知道收到的数据帧是重复的,这个主要是靠当前数据帧的帧序号在不在接收窗口中,如果不在就是重复数据帧。当接收方接收到重复数据帧,接收方会发送最后一个接收帧的帧序号。(出现这种情况主要是因为,确认帧丢失导致的)

由上面几个问题可以知道,确认号和帧序号的重要性。对于帧序号要有这个关系: W T + W R < = 2 N W_T + W_R <= 2^N WT+WR<=2N,具体原因如下:

  • 首先需要了解的一个问题是 为什么需要为数据帧编号?答: 接收方无法判别“重复帧”
  • 如果帧序号没有上述这一关系,会出现以下情况:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

同时还需要注意,发送窗口和接收窗口大小问题,要保证发送窗口大于等于接收窗口。 通常采用发送窗口等于接收窗口,因为:

  • 发送窗口大于接收窗口时,由于接收窗口的大小小于 发送窗口的数据帧,因此接收方不能全部接收发送方发送来所有的数据帧,会导致数据帧的浪费。
  • 接收窗口大于发送窗口时,由于发送方一次发送的数据帧不能完全充满接收窗口,导致接收窗口大于发送窗口的部分,可能会出现长空缺的情,浪费窗口大小。

其中对于这三个协议,有不同的特点:

  • S-W协议: 不会存在“数据帧失序”问题,因为接收方/发送方两者一次只“交易”一个数据帧,一个数据帧并不存在顺序问题。
  • GNB协议: 接收方可以累计确认,在连续接收到多个数据帧时,可以仅返回最后一个帧的ACK。若发送方超时未收到ACK_i,则会 超时重传 i号帧 ,及其之后的所有帧。
  • SR协议: 若接收方检测出帧出错,则丢弃帧,并返回NAK_i,主动请求重传。接收方不能“累计确认”,必须“一帧一确认”。

信道划分/介质访问控制

介质访问控制(Medium Access Control,MAC):多个节点共享同一个“总线型”广播信道时,可能发生“信号冲突”。

为了控制各个节点对传输介质的访问,减少冲突,甚至避免冲突,有以下几种策略:
在这里插入图片描述
在这里插入图片描述

其中主要介绍码分复用CDM。

码分复用CDM

在2G、3G移动网络时代,节点和节点之间的通信通常使用CDMA(Code Division Multiple Access)技术,而该技术的底层原理就是码分复用(Code Division Multiple,CDM).

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

  • m维向量的分量通常取1或者-1,是为了方便接收方在接收数据后进行规格化内积
  • 各节点的“m维向量”必须相互正交,是为了接收方能够分离各发送方的数据

在这里插入图片描述

在这里插入图片描述

随机访问介质访问控制

在这里插入图片描述

  • 坚持: 如果信道不空闲,节点会坚持监听信道
  • 非坚持: 如果信道不空闲,节点不会坚持监听信道,而是随机推迟一段时间后再尝试监听
  • 数字前缀: 当检测到信道空闲时,立即发送数据帧的概率

CDMA/CD

在这里插入图片描述

争用期(Contention Period)

定义

争用期也常被称为冲突窗口(Collision Window),它是指在以太网采用的载波监听多路访问/冲突检测(CSMA/CD)机制下,一个站点从开始发送数据帧起到检测出是否与其他站点发送的数据产生冲突为止的最长时间间隔。

时间计算及依据

在以太网中,争用期的时长通常被设定为两倍的端到端传播时延(Propagation Delay)。这是因为考虑最极端的情况,即当某个站点刚开始发送数据帧时,在网络的最远端可能刚好有另一个站点也同时开始发送数据,信号要经过一段传播时延才能到达对端,那么从发送开始到最远的冲突信号传播回来被检测到,最长就是两倍的端到端传播时延。

例如,对于常见的10Mbps以太网,其争用期一般规定为51.2微秒,这个时间对应的帧长度(最小帧长)是64字节。如果在争用期内没有检测到冲突,那就可以认为此次数据发送基本不会遇到冲突了,后续可继续完成数据帧的发送;而如果在争用期内检测到了冲突,发送站点就需要立即停止发送,并按照一定的退避算法来等待一段时间后重新尝试发送数据,以解决多个站点同时竞争信道使用权而产生冲突的问题。

作用

争用期是以太网CSMA/CD机制中非常关键的一个概念和时间设定,它有助于协调多个站点对共享的传输介质(如双绞线等)的访问,通过限定这个检测冲突的最大时间范围,让整个网络中的站点能够较为合理、有序地竞争信道,在冲突发生时及时做出反应,避免持续的无效数据传输,进而保障网络通信的有效性和稳定性,使网络能够正常运转,实现多个设备之间的数据交互。

以太网交换机的自学习能力

  • 交换机的交换表起始时为空
  • 假设连接在同一台交换机的终端节点互相知道彼此的MAC地址(后续说明“节点之间如何知道彼此的MAC地址”),这样在构建数据帧时,才能填写目的主机的MAC地址
  • 如果交换机不知道当前数据帧的MAC地址归属于哪个主机,就将该数据帧通过其他端口转发进行转发,相当于当成一个广播帧去转发。最后只有目的主机接收该数据帧,其他主机会将该数据帧丢弃。
  • 当交换机接收到的数据帧中,接收方和发送方MAC地址所对应的端口号是一样的,就不需要进行转发。

当一个终端主机在交换机端口的位置发生变化,如果再使用原始交换表中的信息进行转发,目的主机就不能再接收到数据。其实,交换表会设置每个表项的有效期,过期自动作废。当发生位置变动的主机主动发送数据帧时,交换机就能记录其最新端口位置。

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

在这里插入图片描述

网络层

  • 一台主机在将一个网络包进行转发时,会先判断源IP地址和目的IP地址是否在同一个局域网中(网络号是否相等):如果相等,就使用ARP协议,获取目的主机的MAC地址,封装成帧进行转发。如果不相等(通信的两台主机,不再同一个局域网中,需要跨网络转发),也使用ARP协议获取默认网关的MAC地址,封装成帧转发给默认网关,再由默认网关根据目的IP地址查询转发表,要将这个网络包从哪个转发接口转发,发送给下一个路由器,再由其进行转发。
  • 当一台主机在刚接入一个局域网时,是没有IP地址的,需要该主机发送一个IP报文:源地址为全0,目的地址为全1,用来广播,当DHCP服务器接收到该报文时,就会为该主机分配一个IP地址。

在这里插入图片描述

若路由器R因为拥塞丢弃IP分组,则此时R可向发出该IP分组的源主机发送的ICMP报文的类型是()。
A.路由重定向
B.目标不可到达
C.源抑制
D.超时

A. 路由重定向:这种ICMP报文类型通常用于通知主机存在一条更好的路由到目的网络或主机。当路由器发现有更优的路由时,它会向源主机发送路由重定向报文。这与网络拥塞的情况不符,因此A选项不正确。

B. 目标不可到达:这种ICMP报文类型用于通知源主机目的网络或主机不可达。这通常发生在路由器无法根据路由表找到到达目的地的路径时。然而,在本题中,路由器是因为拥塞而丢弃IP分组,并非因为目的地不可达,所以B选项也不正确。

C. 源抑制:源抑制(Source Quench)是一种ICMP报文类型,用于告诉源主机减少发送数据的速率,因为网络中存在拥塞。当路由器或目的主机因为拥塞而必须丢弃数据报时,它会向源主机发送源抑制报文。这与题目描述的情况相符,因此C选项是正确的。

D. 超时:这种ICMP报文类型用于通知源主机一个IP数据包的生存时间(TTL)已经减少到零,并且该数据包已被丢弃。这通常发生在数据包在传输过程中经过太多跳数时。然而,在本题中,路由器是因为拥塞而丢弃IP分组,并非因为TTL超时,所以D选项也不正确。

分片和组装

一个UDP用户数据报的数据字段为8192字节,要使用以太网来传递。问应当划分为几个数据报片?说明每一个数据报片的数据字段长度和片偏移字段的值。

  1. 首先在传输层的UDP数据字段被封装为UDP数据报(添加UDP报头),再向下交付给网络层:
    在这里插入图片描述
    UDP协议的报头长度为8B,并且UDP数据报长度小于65535B,则添加报头后,UDP数据报的报文长度为 8192 + 8 = 8200 B 8192 + 8 = 8200B 8192+8=8200B,再向下交付给网络层。
  2. 在网络层,会检测UDP数据报在添加IP报头后是否会超过1500B(以太网能够传输的最大数据帧MTU = 1500B)。因为IP报头长度为20B,也就会检测UDP数据报是否大于1480B,如果大于则需要进行分片;如果小于则直接向下交付。
  3. 这里UDP数据报的长度为8200B,大于1480B需要进行分片:
    在这里插入图片描述
    8200B / 1480 = 5片……800B,所以应当划分为6个IP数据报,前五个IP数据报的数据部分为1480B,最后一个数据报的数据部分为800B。
    在这里插入图片描述
  4. 注意:
    • 每个分片都是一个可以被单独转发的IP数据报,都包含首部。
    • IP数据报的“分片”可能在源主机、或任何一个路由器中发生。
    • 只有目的主机才会对分片进行“重组。
    • 各分片有可能乱序到达目的主机。
    • 由于首部的“片偏移”字段是以×8B为单位,因此,除了最后一个分片外,其他每个分片的数据部分必须是8B的整数倍。

子网划分

是将主机号的位数进行利用划分。
在这里插入图片描述

  • 子网划分: 因为早期申请的一个B类IP地址,可能使用不完,可以子网划分技术,将取主机号的前几个比特位作为子网号,将一个B类地址拆分为几个不同的网络(这几个网络使用路由器连接)。采用子网划分技术的主机,需要在主机中配置子网掩码

  • 子网掩码: 为1的总位数,包括网络号和子网号。与网络号的位数相比,可以判断当前网络中是否采用了子网划分的技术。

  • 使用子网划分技术的主机在进行转发网络包的过程如下:

    • 将源IP和目的IP地址分别与网络掩码相遇,获取网络号和子网号,判断两者的网络号和子网号是否相等:如果相等,则说明两台主机在同一个子网下,需要使用ARP协议获取目的主机的MAC地址,将IP数据封装成帧进行转发(这一过程不涉及路由器的转发)。
    • 如果不相等,则说明两台主机不在同一个子网,需要使用ARP协议获取默认网关的MAC地址,转发给默认网关,到达路由器后,将目的主机的IP地址和路由表项中的子网掩码进行与运算,判断其网络号是否与该表项的网络号相等,如果相等,就从该表项中的转发接口转发,同样需要封装成帧;
  • 对于一个没有进行子网划分的网络,其子网掩码和网络号位数一致(B类网络的子网掩码前16位为1)。

  • 当路由器中的所有转发表中的网络号都与目的主机IP地址不匹配时,会通过默认路由转发接口进行转发,因为默认路由的子网掩码为全0,其网络号也为全0,所以一定能够匹配。
    在这里插入图片描述

在这里插入图片描述

无分类编址CIDR/子网划分

网络号进行改良。

  • 在变长子网划分中,只有叶子节点才能分配IP地址。一个叶子节点对应一个子网。相当于从根节点构建一个哈夫曼树,二叉树。
  • 在定长子网划分中,相当于从根节点划分为多叉树

路由聚合

在这里插入图片描述
这里再来说一下ARP协议的作用:用于查询 同一个网络内 IP地址与MAC地址对应关系。

NAT

NAT(Network Address Translation),使用NAT技术,需要使用到端口号(端口号是传输层的概念)。主要思想是:同一个局域网内的主机共享使用一个IP地址,同一个局域网内主机的进程,使用端口号进行区分。

  • 外网网关的IP+端口号的组合 与 内网主机 IP地址 + 端口号的组合一一对应。
  • 使用NAT技术的两台主机在进行通信时,传输层封装数据段中的目的端口号,是在NAT路由表中的端口号,而不是实际目的主机中的端口号。源主机使用的端口号是实际的端口号(封装时),不过会在路由器进行替换。
  • 网络层封装数据报时,目的主机的IP地址,也是外网的IP地址。源主机使用的IP地址是内网IP地址,在路由器会进行替换。
  • 路由器应该有传输层,这样才能修改一个报文的端口号。也有网络层,这样才能修改IP地址。
    在这里插入图片描述

ARP协议

  • 构造一个ARP分组,分组中要有当前主机的IP地址,还要有当前主机的MAC地址(在网络层中,当前主机的MAC地址已经知道了,需要在ARP分组中封装,这里与数据链路层进行封装MAC地址是两个过程);目的主机的IP地址。
  • 当目的主机收到广播帧后,就会以单播帧的形式进行回复。

DHCP

在这里插入图片描述

路由协议算法

路由器与路由器之间相互配合生成路由表转发表
在这里插入图片描述

  • 自治系统与自治系统之间相互连接的路由器叫作边界网关
  • 自治系统内部使用RIP协议OSFP协议生成路由表,自治系统之间(边界网关之间)使用BGP协议

这里没有复习知识点(时间不够用了≡(▔﹏▔)≡),直接做题了:
在这里插入图片描述

  • A: 动态路由只知道曾经走过的路(没有问的道路不知道),只维护了 部分拓扑结构信息。静态路由相当于有当前地区的地图,也就有整个网络的拓朴结构信息。这个选项是错误的,两者的特点说反了。
  • B: 正确。
  • D: 两种路由方式都需要维护路由表。

在这里插入图片描述

  • B: 可以改变,但需要管理员手动配置

在这里插入图片描述
在这里插入图片描述
答案:B。
在这里插入图片描述
对于内部网关,如果转发的数据在其他自治系统中,就需要使用边界网关BGP协议进行传送,而内部网关是不知道如何具体转发到目的主机的,它只知道将数据转发给边界网关,再由边界网关进行转发。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
题解:
在这里插入图片描述
在这里插入图片描述

传输层

在这里插入图片描述

端口号

  • 端口号是用来表示本主机的一个特定进程的。每台主机的端口号是相互独立的。TCP、UDP两种协议的端口号是相互独立的。

  • 因为传输层实现 端到端 (进程到进程)的通信。因此在TCP/UDP报文段的首部,需要指明源端口、目的端口。

  • 熟知端口号:
    在这里插入图片描述
    HTTPS:443、SSH:22.

UDP协议提供复用/分用服务,如何理解?

复用(Multiplexing)

  1. 概念
    复用是指在发送端,UDP协议处理多个进程的用户数据报,UDP将这些来自不同应用进程的数据报封装好,然后添加UDP首部信息,最终把它们交给网络层进行传输。就好像多个不同的水流(代表不同应用进程的数据)通过同一个管道(UDP协议)汇聚起来,送往同一个方向(网络层)。

  2. 实现机制
    每个应用进程在使用UDP发送数据时,会被分配一个不同的端口号(UDP端口号范围是0 - 65535)。UDP协议依据这些端口号来区分是哪个应用进程的数据,将它们各自封装成UDP数据报,然后一起传递给下一层(网络层)。

  3. 作用及意义
    复用的好处在于能够让多个应用程序在同一台主机上共享网络传输服务,无需为每个应用单独构建复杂的传输机制,提高了网络资源的利用效率,使得多个应用可以同时向网络中发送数据,方便了网络应用的开发和运行。

分用(Demultiplexing)

  1. 概念
    分用与复用是相反的过程,发生在接收端。当网络层将接收到的UDP数据报传递给UDP协议时,UDP需要依据数据报中的目的端口号,将其准确地分发给对应的应用进程。也就是把从网络层这个“大管道”接收到的混合在一起的数据报,按照端口号这个标识,分别引导到各自对应的“小支流”(不同的应用进程)中去。

  2. 实现机制
    UDP数据报首部中包含有目的端口号字段,接收端的UDP协议会读取这个目的端口号,然后查找本地主机上与之对应的应用进程。例如,主机收到一个UDP数据报,其目的端口号是12345,UDP协议就会知道这个数据报应该交给之前在该端口上等待接收数据的视频播放应用;如果目的端口号是56789,就会将其分发给对应的文件传输应用。

  3. 作用及意义
    分用保证了网络中传来的数据能准确无误地到达各个相应的应用进程,使得多个应用可以在接收端有条不紊地获取属于自己的信息,从而实现了网络通信中多应用同时接收数据的有序性,保障了整个网络应用通信体系的正常运转。

总的来说,UDP协议的复用/分用服务就如同一个高效的“交通枢纽”,在发送端把多个应用进程的数据整合起来送往网络层,在接收端又能精准地把数据分发给对应的应用进程,使得基于UDP的网络通信能够高效、有序地开展。

相关文章:

计算机网络期末复习(知识点)

概念题 在实际复习之前&#xff0c;可以看一下这个视频将网络知识串一下&#xff0c;以便更好地复习&#xff1a;【你管这破玩意叫网络&#xff1f;】 网络规模的分类 PAN&#xff08;个人区域网络&#xff09;&#xff1a;用于个人设备间的连接&#xff0c;如手机与蓝牙耳机…...

Apache XMLBeans 一个强大的 XML 数据处理框架

Apache XMLBeans 是一个用于处理 XML 数据的 Java 框架&#xff0c;它提供了一种方式将 XML Schema (XSD) 映射到 Java 类&#xff0c;从而使得开发者可以通过强类型化的 Java 对象来访问和操作 XML 文档。下面将以一个简单的案例说明如何使用 Apache XMLBeans 来解析、生成和验…...

飞凌嵌入式i.MX8M Mini核心板已支持Linux6.1

飞凌嵌入式FETMX8MM-C核心板现已支持Linux6.1系统&#xff0c;此次升级不仅使系统功能更加丰富&#xff0c;还通过全新BSP实现了内存性能的显著提升。 基于NXP i.MX8M Mini处理器设计开发的飞凌嵌入式FETMX8MM-C核心板&#xff0c;拥有4个Cortex-A53高性能核和1个Cortex-M4实时…...

【数据链电台】洛克希德·马丁(Lockheed Martin)

洛克希德马丁公司&#xff08;Lockheed Martin&#xff09;是全球领先的航空航天、国防、先进技术和安全领域的供应商之一。 公司为美军及盟国军队提供了广泛的通信系统&#xff0c;包括数据链电台和相关的通信系统。 洛克希德马丁的许多产品用于战术通信、卫星通信、电子战、…...

python关键字(保留字)用法、保留的标识符类(1)

python关键字(保留字)用法、保留的标识符类&#xff08;1&#xff09; 一、python保留字(关键字) 1.1、python关键字 以下标识符为保留字&#xff0c;或称 关键字&#xff0c;不可用于普通标识符&#xff0c;即我们不能把它们用作任何标识符名称。 python 保留字(关键字) 关键…...

Ubuntu平台虚拟机软件学习笔记

Ubuntu平台上常见虚拟机软件 VirtualBox [Download]KVM/QEMU 1. VirtualBox 1.1 查看安装版本 VBoxManage -V2. KVM/QEMU KVM: Kernel-based Virtual Machine QEMU: Quick EMUlator 通义千问&#xff1a; virt-manager 既不是QEMU也不是KVM&#xff0c;而是用于管理和创建…...

【数据库系统概论】数据库恢复技术

目录 11.1 事务的基本概念 事务的定义 事务的开始与结束 事务的ACID特性 破坏ACID特性的因素 11.2 数据库恢复概述 11.3 故障的种类 1. 事务内部的故障 2. 系统故障 3. 介质故障 4. 计算机病毒 11.4 恢复的实现技术 如何建立冗余数据 数据转储 登记日志文件 11…...

R 语言科研绘图 --- 折线图-汇总

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

基于 Python 和 OpenCV 的人脸识别上课考勤管理系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…...

工业 4G 路由器赋能远程医疗,守护生命线

在医疗领域&#xff0c;尤其是偏远地区的医疗救治场景中&#xff0c;工业 4G 路由器正发挥着无可替代的关键作用&#xff0c;宛如一条坚韧的 “生命线”&#xff0c;为守护患者健康持续赋能。 偏远地区医疗资源相对匮乏&#xff0c;常常面临着专业医生短缺、诊疗设备有限等困境…...

Windows安装Ubuntu子系统图形化工具

Windows如何使用WSL方式安装Ubuntu&#xff0c;可以参考&#xff1a;https://blog.csdn.net/xiangzhihong8/article/details/145044370。接下来&#xff0c;我们说一下如何安装Ubuntu的图形化系统。 为了测试&#xff0c;这里介绍两种常见的图形化工具。第一种为VcXsrv Gnome…...

MiniMind - 从0训练语言模型

文章目录 一、关于 MiniMind &#x1f4cc;项目包含 二、&#x1f4cc; Environment三、&#x1f4cc; Quick Start Test四、&#x1f4cc; Quick Start Train0、克隆项目代码1、环境安装2、如果你需要自己训练3、测试模型推理效果 五、&#x1f4cc; Data sources1、分词器&am…...

sql正则表达

MySQL中的正则表达式使用REGEXP关键字来指定匹配模式。常见的正则表达式符号包括&#xff1a; .&#xff1a;匹配任意单个字符 ^&#xff1a;匹配字符串的开始位置 $&#xff1a;匹配字符串的结束位置 *&#xff1a;匹配前面的字符或字符集出现零次或多次 &#xff1a;匹配前面…...

基于华为Maas(大模型即服务)和开源的Agent三方框架构建AI聊天助手实践

引言 随着人工智能技术的快速发展,AI聊天助手已经成为企业与用户之间沟通的重要桥梁。为了构建一个高效、智能且易于扩展的AI聊天助手,我们可以利用华为云提供的Maas(Model-as-a-Service,大模型即服务)平台,结合开源的Agent三方框架来实现。本文将详细介绍这一实践过程,…...

微信小程序——创建滑动颜色条

在微信小程序中&#xff0c;你可以使用 slider 组件来创建一个颜色滑动条。以下是一个简单的示例&#xff0c;展示了如何实现一个颜色滑动条&#xff0c;该滑动条会根据滑动位置改变背景颜色。 步骤一&#xff1a;创建小程序项目 首先&#xff0c;使用微信开发者工具创建一个新…...

Qt官方下载地址

1. 最新版本 Qt官方最新版本下载地址&#xff1a;https://www.qt.io/download-qt-installer 当前最新版本Qt6.8.* 如下图&#xff1a; 2. 历史版本 如果你要下载历史版本安装工具或者源码编译方式安装&#xff0c;请转至此链接进行下载&#xff1a;https://download.qt.i…...

网络-ping包分析

-a&#xff1a;使 ping 在收到响应时发出声音&#xff08;适用于某些操作系统&#xff09;。-b&#xff1a;允许向广播地址发送 ping。-c count&#xff1a;指定发送的 ping 请求的数量。例如&#xff0c;ping -c 5 google.com 只发送 5 个请求。-i interval&#xff1a;指定两…...

SEO内容优化:如何通过用户需求赢得搜索引擎青睐?

在谷歌SEO优化中&#xff0c;内容一直是最重要的因素之一。但要想让内容真正发挥作用&#xff0c;关键在于满足用户需求&#xff0c;而不是简单地堆砌关键词。谷歌的算法越来越智能化&#xff0c;更注重用户体验和内容的实用性。 了解目标用户的需求。通过工具如Google Trends…...

ubuntu22.04 的录屏软件有哪些?

在Ubuntu 22.04上&#xff0c;有几款适合做视频直播和录屏的软件&#xff1a; 1. OBS Studio (Open Broadcaster Software) 功能&#xff1a;OBS Studio 是最常用的开源直播和录屏软件&#xff0c;支持视频录制、直播流式传输&#xff0c;并且有强大的插件支持&#xff0c;能…...

Opencv查找、绘制轮廓、圆形矩形轮廓和近似轮廓

查找、绘制轮廓、圆形矩形轮廓和近似轮廓 目录 查找、绘制轮廓、圆形矩形轮廓和近似轮廓1 轮廓查找和绘制1.1 轮廓查找1.1.1 函数和参数1.1.2 返回值 1.2 轮廓绘制1.2.1 函数和参数 1.3 步骤1.4 实际测试绘制轮廓 2 绘制近似轮廓2.1 函数和参数2.2 查找特定轮廓2.3 近似轮廓测试…...

深入解析 Python 2 与 Python 3 的差异与演进

Python 2 和 Python 3 是 Python 编程语言的两个主要版本。Python 3 于 2008 年发布&#xff0c;旨在解决 Python 2 中的一些设计缺陷&#xff0c;并引入了许多新特性。虽然 Python 2 在很长一段时间内仍然被广泛使用&#xff0c;但自 2020 年 1 月 1 日起&#xff0c;Python 2…...

后端:Spring(IOC、AOP)

文章目录 1. Spring2. IOC 控制反转2-1. 通过配置文件定义Bean2-1-1. 通过set方法来注入Bean2-1-2. 通过构造方法来注入Bean2-1-3. 自动装配2-1-4. 集合注入2-1-5. 数据源对象管理(第三方Bean)2-1-6. 在xml配置文件中加载properties文件的数据(context命名空间)2-1-7. 加载容器…...

排序:插入、选择、交换、归并排序

排序 &#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性 &#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&#xff0c;若经过排序&#xff0c;…...

认识+安装ElasticSearch

1. 为什么要学习ElasticSearch? 一般的来说,项目中的搜索功能尤其是电商项目,商品的搜索肯定是访问频率最高的页面之一。目前搜索功能是基于数据库的模糊搜索来实现的&#xff0c;存在很多问题。 1.1 数据库搜索所存在的问题 1.1.1 查询效率较低 由于数据库模糊查询不走索引&…...

一个模块实现期货分钟 K 线计算、主连行情合成

由于不同期货品种的交易时间存在差异&#xff0c;且不同期货合约的活跃度各不相同&#xff0c;因此基于期货快照行情数据合成分钟K线的计算方法在时间对齐上需要进行不同的处理。 本教程旨在提升 DolphinDB 在具体业务场景中的应用效率&#xff0c;并降低其在实际业务中的开发…...

PyTorch:.max(1)和.max(0)的使用

目录 1&#xff09;.max(1)的使用&#xff1a; 2&#xff09;.max(0)的使用&#xff1a; 1&#xff09;.max(1)的使用&#xff1a; 假设有一个形状为 ( m , n ) 的 Tensor x &#xff0c;其中m表示行数&#xff0c;n表示列数。 x.max(1) &#xff0c;相当于x.max(dim1) 。作…...

ASP.NET Core 中使用 Cookie 身份验证

在 ASP.NET Core 中使用 Cookie 身份验证&#xff0c;通常是为了实现用户的登录和授权。以下是配置 Cookie 身份验证的步骤。 1. 安装必要的 NuGet 包 首先&#xff0c;确保项目中包含 Microsoft.AspNetCore.Authentication.Cookies 包。你可以通过 NuGet 包管理器或命令行安…...

Ollama私有化部署大语言模型LLM

目录 一、Ollama介绍 二、安装Ollama 1、标准安装 2、国内加速 三、升级Ollama版本 四、使用Ollama 1、启动ollama服务 systemctl start ollama.service ollama serve 2、使用ollama命令 ollama run 运行模型 ollama ps 查看正在运行的模型 ollama list 查看(本地)…...

安卓app抓包总结(精)

前言 这里简单记录一下相关抓包工具证书的安装 burp证书安装 安装证书到移动设备(安卓7以后必须上传到设备系统根证书上) 导出证书 openssl x509 -inform DER -in cacert.der -out cacert.pem 转换格式 openssl x509 -inform PEM -subject_hash_old -in cacert.pem …...

Three.js 性能优化:打造流畅高效的3D应用

文章目录 前言一、减少几何体复杂度&#xff08;Reduce Geometry Complexity&#xff09;二、合并几何体&#xff08;Merge Geometries&#xff09;三、使用缓冲区几何体&#xff08;Use BufferGeometries&#xff09;四、纹理压缩与管理&#xff08;Texture Compression and M…...