网络层常见协议——IPV4、IPV6、ARP、ICMP、QoS

news2024/11/23 14:53:05

目录

1、IPV4 协议

IPV4 地址的组成:

IPV4地址的分类:

关于多播和组播:

常见组播地址分类:

特殊的 IPV4 地址:

私有地址和公有地址:

私有地址的范围:

子网划分:

子网掩码:

可变长子网掩码(VLSM):

CIDR:

路由器中的最佳匹配原则:

IPV4 数据报格式:

2、ARP协议

广域网中主机进行通信时 IP 与 MAC 的变化:

ARP 协议原理:

ARP协议的报文类型:

Windows 中 ARP 相关的命令:

代理ARP(Proxy-ARP)

RARP 协议

3、ICMP 协议(网际控制报文协议)

ICMP协议的报文类型:

ICMP报文的注意事项:

ICMP的应用:

4、QoS:

5、IPV6 协议

IPV6 地址表示:

IPV6 的地址类型:

链路本地地址:

IPV6 多播(组播)地址:

IPV6 任播地址:

IPV6报文的格式:

IPV4 到 IPV6 的过渡方案


1、IPV4 协议

        IP 地址分为两类:IPV4 和 IPV6;IP地址用于标识网络设备。网络中的设备都有IP地址,并通过IP地址进行网络的连接。

        IP 地址是逻辑地址,可以手动配置和修改。

        IPV4 使用32位二进制表示 IP 地址。通常采用点分十进制表示法来进行表示:每8位为一组,共4组,每组之间使用 “.” 进行分隔。

        每一组的取整范围都是 0~255 (十进制);

IPV4 地址的组成:

        两部分:前面的网络部分、后面的主机部分

        如:192.168.0.11 ,设其网络部分是192.168,后面的 0.11则为主机部分。

        如果几台主机的网络部分是一样的,则代表他们在同一个网段(在同一网段的主机即在同一局域网下,相互通信使用交换机通信,不需要使用路由器;而不同网段的主机之间相互通信需要使用到路由器)。

IPV4地址的分类:

        A类地址:第一组为网络部分,限制第一组的范围为 1~126

        B类地址:第一、二组为网络部分,限制第一组的范围为 128~191

        C类地址:第一、二、三组为网络部分,限制第一组的范围为 192~223

        D类地址:第一组为网络部分,取值为224~239,其他三组是组播地址IP;

        E类地址(保留地址):第一组取值为240~255

其中A、B、C类地址是单播地址,D类地址是多播地址。单播表示“一对一”之间的通信,而多播即“一对多”的通信。

        在计算有效的 IP 地址(能够分配给用户主机使用的IP)个数时,要减去2。其中一个是主机部分全为0,表示网络地址一个是主机位全取1,表示广播地址。如 IPV4 地址 192.168.1.100 中,前24位(192.168.1)为网络部分,则有效的 IP 地址为192.168.1.1~192.168.1.254,减去网络地址192.168.1.0 和广播地址 192.168.1.255。

关于多播和组播:

        多播是向一组特定的接收者发送信息,只有加入了同一个组的主机才能接收到此组内的所有数据。广播则是向网络中的所有主机发送信息,不论这些主机是否属于同一组。

        多播有固定的地址段(D类地址),而广播使用特定的广播地址或特定网络的广播地址(如199.123.255.255)

        不管一个组播组中包含多少个成员,当组播服务发送信息时,只需要发送一个分组。( 在组播中,“组”是用IP组播地址进行标识的一个集合。任何用户主机(或其他接收设备)加入一个组播组,就成为该组的成员,可以识别并接收发往该组播组的组播数据。一个组播源可以同时向多个组播组发送数据,而多个组播源也可以同时向一个组播组发送数据。组播组成员可以动态地加入或离开组播组,成员的主机可以广泛分布在网络中的任何地方。)

        组播和广播只能用于目的地址,而不能用于源地址。

    

常见组播地址分类:

224.0.0.0 - 224.0.0.255供路由器协议使用
224.0.1.0 - 224.0.1.255公用组播地址,用于Internet
224.0.2.0 - 238.255.255.255

全网范围内的临时可用组播地址

239.0.0.0 - 239.255.255.255本地管理组播地址,仅在特定的本地范围内有效

特殊的 IPV4 地址:

形式是否能作为源地址使用是否能作为目的地址使用备注
0.0.0.0在本网络上代表本主机
255.255.255.255在本网络上进行广播
127.0.0.1用作本地软件环回地址测试使用
169.254.x.y (主机号非全0或全1)Windows主机DHCP服务器故障时操作系统分配的私有 IP 地址(APIPA,自动专用IP地址)

私有地址和公有地址:

        公有地址由因特网信息中心复杂分配,可以通过公有地址直接访问因特网。公有地址是全网唯一的,不能重复使用。

        私有地址是非注册地址,专门为组织机构内部使用,不能直接访问因特网。私有地址在同一内网中唯一使用,不同内网中可以重复使用。

        私有地址要访问因特网,需要使用 NAT(网络地址转换协议)将私有的 IP 转换为公有 IP。内网的主机使用NAT协议,可以通过一个公共的网关来访问因特网。

私有地址的范围:

地址类别地址范围网络号
A10.0.0.0 - 10.255.255.25510
B

172.16.0.0 - 172.31.255.255

172.16 ~ 172.31
C192.168.0.0 - 192.168.255.255192.168.0 ~ 192.168.255

子网划分:

        目的 —— 解决地址浪费问题。

        作用 —— 将一个大的网络划分成多个不同的小网络,进而解决 IP 地址空间利用率低、两级IP地址不够灵活的问题。

        实现过程 —— 借用 IP 地址的若干主机位来充当子网位,进而生成多个不同的子网网络。

        通过子网划分后IP地址变成了三级的结构:<网络位><子网位><主机位>

        由子网号取不同的值,得到不同的子网网络。

某公司想把原来使用的172.16.0.0/16标准网络划分为12个子网,其中最大的子网节点数在4000个左右。求每个子网的范围。

 

172.16.0.0/16,最后的16表示网络号位数为16位,则主机号位数为32-16=16位,最后两组为主机号,可以用来做子网划分。

 

需要12个子网,使用4个二进制位可以表示12,则第 17-20 位用作子网位(可以任意选择12个数,16选12);剩余的12位用作主机位,12位主机位可以表示的主机数量为 2^12-2=4094 个,满足题目的要求。

 

每个子网的范围可以是:

172.16.0000 0000.1/20 ~ 172.16.0000 0000.254/20;

172.16.0001 0000.1/20 ~ 172.16.0001 0000.254/20;

        ……

172.16.1011 0000.1/20 ~ 172.16.1011 0000.254/20;

172.16.1100 0000.1/20 ~ 172.16.1100 0000.254/20;

子网掩码:

        作用:用于指明 IP 地址的网络位和主机位,规定网络位取1,主机位取0;

        设某IP地址的网络位有19位,主机位有13位,则子网掩码为

        由 IP 地址的表示方式:192.168.128.100/19 可以看出:

        1)子网掩码:255.255.224.0,子网掩码长度19位

        2)网络部分:192.168.100 00000.100

        3)主机部分:192.168.100 00000.100

        4)该地址为C类的私有 IP 地址

可变长子网掩码(VLSM):

        在子网的基础上继续划分子网。计算方法也是类似的。

CIDR:

        无类别域间路由。是一个用于给用户分配IP地址以及在互联网上有效地路由IP数据包的对IP地址进行归类的方法。

        CIDR使用斜线记法,又称为 CIDR 记法,即在 IP 地址后面加一个斜线“/”,然后写上网络前缀所占的位数(子网掩码中1的个数),如:192.168.32.10/20

        CIDR路由汇聚:将网络地址中连续相同的位进行汇聚,不同的位则归为汇聚之后的主机位,从而实现多个网段汇聚成一个新的超网网段。

        如有四个网段:

                192.168.129.0/24 —— 192.168.1000 0001.0/24

                192.168.130.0/24 —— 192.168.1000 0010.0/24

                192.168.132.0/24 —— 192.168.1000 0100.0/24

                192.168.133.0/24 —— 192.168.1000 0101.0/24

        则可知在第三组取得最长公共前缀: 1000 0,则新的网络位为 2 * 8 + 5 = 21 位。192.168.128.0/21 为汇聚后的超网 ID。

        路由汇聚的好处是可以精简路由器的路由表的数量;路由汇聚的特点是,将多个小的网络,汇聚成一个大的网络。

路由器中的最佳匹配原则:

        使用路由汇聚时,路由表的项目主要由 “网络前缀” 和 “下一跳” 地址组成。

        查找路由表匹配报文中的目标IP地址时可能会得到不止一个匹配项,应当从匹配结果中选择具有最长网络前缀的路由(最长前缀匹配)。

        网络前缀越长,其块地址就越小,因而路由就越具体(即该网络下的主机数量越少)。

IPV4 数据报格式:

字段占位大小(位)备注取值
版本4ip协议的版本号IPV4为4(0100)
首部长度4IP报文的长度单位为4字节。最小取值为5(0101),即IP报文的报头长度最小是20个字节
总长度16IP报文的总长度单位为字节。IP报文最长为 65535 B。
标识16对IP分片做表示同一报文中的不同分片有相同的标识,用于对分片的重组
标志3

DF占一位,表示是否不允许分片

MF占一位,表示是否还有更多的分片

还有一位是保留位。

若分片,则DF为0,否则DF=1;

若该片为最后的一片,没有更多的分片,则MF=0,否则MF=1;

片偏移13指出分片中的数据在报文中的相对位置单位为8B,可以按片偏移字段的值从小到大进行排序和重组。
生存时间(TTL)8也叫“跳数”,用来预防IP报文无限制地在网络中转发每经过一个路由器,报文中的TTL值会相应减1,当TTL值为0时,路由器将丢弃该报文。
协议8用来标识上层使用了什么协议
首部校验和16在网络中转发时,对IP头部做校验
源地址32发送方方IP地址
目的地址32接收方的IP地址
选项可变长
填充可变长用于确保IP报文首部的长度为4B的整数倍

例:IP数据报经过 MTU 较小的网络时需要分片。假设一个大小为1500的报文分为两个较小的报文,其中一个报文的大小为800字节,则另一个报文的大小至少为多少字节?(2017年下半年网工上午试题)

 

1500的报文,IP 报头占 20 字节,则数据只有 1480 字节;

要分成两个小的报文来发送,第一个报文的数据是800-20=780字节,那么第二个报文的数据是 1480-780=700,加上首部 20个字节,则为 720 字节。

2、ARP协议

        ARP协议只在局域网中使用。

        当一台主机要和另一台主机通信时,必须要知道目的主机的MAC地址,而这个MAC地址就是通过ARP协议获得的。 ARP 协议即地址解析协议,用于实现 IP 地址到 MAC 地址的映射。

        当主机A想要与主机 B 通信但不知道其 MAC 地址时,它会发送一个 ARP 请求广播报文到局域网中,询问主机 B 的 MAC 地址。这个 ARP 请求广播报文会包含主机 B 的 IP 地址,由于尚未知道主机 B 的 MAC 地址,此时的目的 MAC 地址为 0 ;当封装成帧时,目的 MAC 地址会被设置为广播地址(FF-FF-FF-FF-FF-FF),以便局域网中的所有主机都能接收到这个报文。

若主机 hostA 的 MAC 地址为 aa-aa-aa-aa-aa-aa,主机 hostB 的 MAC 地址为 bb-bb-bb-bb-bb-bb。由 hostA 发出的查询 hostB 的 MAC 地址的帧格式如下图所示,则此帧中的目标MAC地址为多少?ARP报文中的目标MAC地址为多少?(2018年上半年网工上午题)

帧中的目标MAC地址为:ff-ff-ff-ff-ff-ff;

报文中的目标MAC地址为:00-00-00-00-00-00

        当主机 B 收到这个 ARP 请求广播报文后,它会检查报文中的 IP 地址是否与自己的IP地址匹配。如果匹配,主机 B 就会回复一个ARP响应报文给主机 A,将自己的 MAC 地址提供给主机A。(广播发送 ARP 请求,单播回应 ARP 响应。)

         网络层及以上使用 IP 地址;数据链路层及以下使用硬件地址(MAC地址)。

广域网中主机进行通信时 IP 与 MAC 的变化:

        设主机 H1 和主机 H2 在不同的局域网中,主机 H1 要发送消息给主机 H2,通信中间要经过路由器 R1。

        数据离开 H1 时,源IP为IP1,目的IP为IP2,源MAC地址为 HA1,目的MAC地址是HA3。(注意这里是广域网通信,不清楚目标主机的MAC,所以目标MAC是中转的路由器MAC地址,让路由器帮忙处理;如果是局域网中,则目标MAC地址就一定是目标主机的MAC地址)

        从 H1 到 R1 和从 R1 到 H2 时:IP数据报中的源地址和目的地址都是 IP1 、IP2;两个IP地址始终保持不变。

        但是,从H1 到 R1 后,数据帧中的目的 MAC 地址由 R1 的 MAC 地址变成 H2 的 MAC 地址HA2,源MAC地址由 HA1 变成 HA4。

        总而言之,在不同的局域网中进行通信,IP地址始终不变,每经过一次路由器,MAC地址都(源、目的)会发生改变在同一个局域网中进行通信,IP地址和MAC地址都不会变

ARP 协议原理:

        ARP 协议在 IP 协议之下,通过广播发送 ARP 请求报文,来获取 IP 与 MAC 的映射关系。

ARP协议的报文类型:

      ARP 报文包括 ARP 请求分组报文和 ARP 响应分组报文。报文内容都包括以下部分:

                发送方MAC地址;

                发送方IP地址;

                目标方MAC地址(如果是请求分组报文,该项未知时为0);

                目标方IP地址;

        路由器不会转发 ARP 请求,ARP请求只会在本地进行广播,直接封装在帧中进行传输。

Windows 中 ARP 相关的命令:

arp -a查看ARP缓存表
arp -d清除ARP缓存
arp -s ip地址 mac地址

用于静态绑定

如:arp -s 192.168.1.123 a0-1a-64-aa-aa-aa

arp 192.168.1.2获取 192.168.1.2 这台主机对应的MAC地址

代理ARP(Proxy-ARP)

        当出现跨网段的 ARP 请求时,由离源主机最近的路由器将自己的 MAC 地址返回给发送 MAC广播请求的主机,实现 MAC 地址代理最终使主机能够正常通信。

RARP 协议

        逆向地址解析协议,实现 MAC 地址到 IP 地址的映射。

3、ICMP 协议(网际控制报文协议)

        背景:IP 协议采用无连接的数据报转发方式,网络中的节点尽最大努力交付IP报文,整个过程并不保证可靠交付。

        ICMP 协议的作用:可以传送 IP 通信过程中出现的错误信息,进而帮助提升 IP 报文成功交付的概率。

        ICMP 协议封装在 IP 数据报中进行传输。

ICMP协议的报文类型:

ICMP报文的注意事项:

  • 对 ICMP 差错报告报文不再发送 ICMP 差错报告报文;
  • 对具有特俗地址(如127.0.0.1、0.0.0.0等)的数据报不发生 ICMP 差错报告报文;
  • 对具有多播地址的数据报都不发送 ICMP 差错报告报文;
  • 对第一个分片的数据报片的所有后续数据报片都不发送 ICMP 差错报告报文;

ICMP的应用:

路由追踪的过程:

        通过向目标发送一连串TTL值依次加1且端口不可达的数据报,从而实现对到达目标地址的路径跟踪。

H1发送一个 TTL=1 数据包,根据返回的超时消息可获得第一跳路由器的地址 RA

H1发送一个 TTL=2 数据包,根据返回的超时消息可获得第二跳路由器的地址 RB

        ……

H1发送一个 TTL = 4 数据包,数据包成功到达目标主机,返回一个端口不可达的错误,此时路由跟踪结束。

4、QoS:

        IPV4 网络存在以下几个问题:延迟、丢包、延迟抖动;

        QoS —— 服务质量,是用来解决网络延迟和阻塞等问题的一项技术。使用QOS的目的是为了区分流量,保证重要流量及时被转发。

5、IPV6 协议

        解决的问题:从根本上解决 IPV4 地址资源不足的问题

        相较于 IPV4 的改进:

  • 更大的地址空间,128位
  • 拓展的地址层次结构
  • 灵活的首部格式
  • 改进的选项
  • 允许协议继续扩充
  • 支持手动配置
  • 支持资源的预分配

IPV6 地址表示:

        IPv6地址由128位组成,分为前缀和后缀两部分。前缀部分用于标识网络,由IPv6地址分配机构分配;后缀部分用于标识主机,由网络接口ID生成

  • 使用冒号十六进制记法,把每一个16位的二进制值使用十六进制值表示,各值之间用冒号分隔。
  • 允许把数字前面的 0 省略
  • 支持将一组连续的 0 压缩成一对冒号代替(零压缩),但是双冒号的形式只能出现一次

如 IPV6 的初始地址为:0000:0000:0000:0db8:0000:0000:0042:8329

前导零进行省略:0000:0000:0000:db8:0000:0000:42:8329

压缩连续的零:::db8:0000:0000:42:8329  或 0000:0000:0000:db8::42:8329

因为连续的零只能出现一次,因此不能变成:::db8::42:8329

特殊的地址:

环回地址

        0000:0000:0000:0000:0000:0000:0000:0001,可以通过规则缩写为 ::1

未分配地址(全为0),不能分配给任何节点,也不能用作目的地址

        0000:0000:0000:0000:0000:0000:0000:0000,即 ::/128

在 IPV6 中,CIDR斜线表示方法仍然适用,如 60 位前缀12AB00000000CD30可以记为:

  • 12AB:0000:0000:CD30:0000:0000:0000:0000/60
  • 或 12AB::CD30:0:0:0:0/60
  • 或 12AB:0:0:CD30::/60

IPV6 的地址类型:

(1)单播:传统的点对点通信

(2)多播:一点对多点的通信

(3)任播:任播是IPV6 新增加的一个类型,数据报在交付时只交付其中的一个,通常是距离最近的一个。

地址类型地址前缀IPV6前缀标识
全球单播地址全球路由选择前缀(48位)前三位固定为001
链路本地(单播)地址1111111010FE80::/10
站点本地(单播)地址1111111011FEC0::/10
多播地址11111111FF00::/8
任播地址从单播地址空间中进行分配,使用单播地址格式

全球单播地址的等级结构:

链路本地地址:

  • 每个设备的接口在启动 IPV6 时都会自动配置一个链路本地地址
  • IPV6 的 “邻居发现” (ND)机制要用到 IPV6 的链路本地地址,IPV6 中没有广播,也不需要使用ARP协议,“邻居发现” 是 IPV6 中与 IPV4 的 ARP 对应的寻址机制
  • 链路本地地址以 “FE80” 开头
  • 接口ID(接口表示符)由 EUI-64 算法生成,将 MAC 地址和其他的一些信息转换为 IPv6 地址的后 64 位;
  • 路由器不会转发链路本地地址

IPV6 多播(组播)地址:

  • 任何一个节点都可以是一个组播组的成员
  • 一个源节点可以发送数据包到组播组
  • 组播组的所有成员都能收到发往该组播组的数据包
  • 组播地址在 IPV6 中不能用作源地址使用,也不能出现在任何选择路由中

IPV6 任播地址:

  • 任播地址是 IPV6 特有的地址类型,他用来标识一组网络接口(主机、路由器、交换机等)
  • 路由器会将目的地址是任播地址的数据包发送给距离本地路由器最近的一个网络接口(一对一组中的一个)

IPV6报文的格式:

        首部长度固定40字节, 通过选项字段来扩充首部,并封装于有效载荷。

        IPV6 和 IPV4 二者是不兼容的(报文格式不同)。

        在 IPV6 网络中,除了逐跳选项拓展首部外,路由器都不处理其他的拓展首部,这样大大提高了路由器的处理效率。

        在 RFC 2460 中定义了六种拓展首部:

  • 逐跳选项
  • 路由选项
  • 目的站选项
  • 分片
  • 鉴别
  • 封装安全有效载荷

IPV4 到 IPV6 的过渡方案

        

IPV6 的隧道技术有多种,分为手动隧道和自动隧道

隧道技术特殊地址
自动隧道ISATAP隧道::0000:5EFE:w.x.y.z
IPV4 兼容 IPV6 自动隧道::w.x.y.z(0:0:0:0:0:0:w.x.y.z)
IPV6 to IPV4 隧道完整的IPV6 to IPV4 主机地址由 IPV6 to IPV4地址的48位格式前缀(2002:A.B.C.D::/48)和后面的子网标识符ID以及64位的接口ID组成
手动隧道IPV6-OVER-IPV4 GRE隧道手动指定IPV4地址

三种过渡方案的对比:

特点
双协议栈技术是实现其他IPV6过渡方案的基础技术
隧道技术通常应用于IPV6孤网,通过现有的IPV4网络通信,通过再次封装,形成通信隧道
网络地址转换技术通过地址转换协议,进行 IPV6 to IPV4 或IPV4 to IPV6 访问转换,可满足IPV4纯节点于IPV6纯节点之间的双向访问请求

参考:

[1] IPv4地址分类(A类 B类 C类 D类 E类)_ipv4分类-CSDN博客

[2] 一文读懂ARP协议,从IP获取对方MAC实操 - 知乎

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

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

相关文章

Codeforces Round 665 (Div. 2) (A-F)

A.Problem - A - Codeforces &#xff08;1&#xff09;题意 给你个X轴&#xff0c;初始A点在n这个位置&#xff0c;O在源点0&#xff0c;问你要把B放在哪才能让|AB-BO| k&#xff0c;最小化A需要移动多少次。 &#xff08;2&#xff09;思路 直接分情况套路即可。 &#xff0…

uwb人员定位系统:人员轨迹实时定位

UWB定位系统是一种基于超宽带技术的定位系统。它与传统的通信技术不同&#xff0c;不需要使用载波&#xff0c;而是通过发送和接收具有纳秒或微妙级以下的极窄脉冲来实现无线传输。这种系统的优势包括低功耗、对信道衰落不敏感、抗环境能力强、不会对同一环境下的其他设备造成影…

LINUX 基本命令

​ 一 展示当前目录下的内容 $ ls查看当前目录 pwd // /home/winnie二 mkdir 三 touch-cat-more 进入翻页后 通过键盘 q 退出翻页 b 翻上一页 四 cp mv rm mv 如果 mv 2.txt 5.txt (因为5.txt不存在&#xff0c;或者说他是个文件不是路径)&#xff0c;故此操作将2.txt更名…

openfire 4.7.5 Web插件开发

文章目录 1、openfire服务端下载安装1.1、openfire解压运行1.2、Spark安装和登录 2、openfire插件开发2.1、基于servlet开发http接口2.2、基于Jersey开发http接口2.3、WEB UI页面开发2.4、上传插件2.4.1、访问servlet接口效果2.4.2、访问Jersey接口效果2.4.3、访问页面效果 Ope…

撰写博客的工具记录

文章目录 前言TyporaPicgoGitee 免费图床ScreenToGifPointofix和Snipaste墨滴社区小结 前言 本文主要目的是记录和分析自己在写博客和相关文档时所用到的工具&#xff0c;单纯记录。按照一篇文章从0到发布的场景进行叙述。 Typora Typora是一款Markdown编辑器。Markdown的优…

游戏制作资源推荐

教程 创建僵尸第一人称射击游戏 | 虚幻引擎 5 初学者教程https://www.youtube.com/watch?vqOam3QjGE8g ​​​​​​​ 虚幻商城免费资产 人物资产 各种角色应有尽有 关键词&#xff1a;paragon &#xff1b;推荐程度&#xff1a;三颗星

C. MEX Repetition

题目&#xff1a;样例&#xff1a; 输入 5 1 2 1 3 1 0 1 3 2 2 0 2 5 5 1 2 3 4 5 10 100 5 3 0 4 2 1 6 9 10 8输出 1 2 0 1 2 1 2 3 4 5 0 7 5 3 0 4 2 1 6 9 10 思路&#xff1a; 从题目和样例中&#xff0c;我们可以知道&#xff0c;从一个数组中&#xff0c;按照包括0的自…

leetCode 121. 买卖股票的最佳时机 贪心算法

给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。…

2023年汉字小达人市级比赛在线模拟题来了,四种练习助力好成绩

2023年第十届汉字小达人比赛区级自由报名活动已于9月30日结束&#xff0c;尽管最终晋级市级比赛的名单还需要在11月初发布&#xff08;有一些学校的校级选拔还没结束&#xff09;&#xff0c;但是许多小朋友已经开始准备市级比赛了。 根据往年的经验&#xff0c;实际比赛也是在…

软断言你也学不会

断言是测试用例的一部分&#xff0c;也是测试工程师开发测试用例的核心。断言通常集成在单元测试和集成测试中&#xff0c;断言分为硬断言和软断言。 硬断言是我们狭义上听到的普通断言:当用例运行后得到的[实际]结果与预期结果不匹配时&#xff0c;测试框架将停止测试执行并抛…

华为云云耀云服务器L实例评测|ClickHouse部署及压测

文章目录 前言&#x1f4e3; 1.前言概述&#x1f4e3; 2.安全设置&#x1f4e3; 3.ClickHouse安装✨ 3.1 申请服务器✨ 3.2 安装前准备✨ 3.3 RPM安装包✨ 3.4 配置文件✨ 3.5 使用ClickHouse &#x1f4e3; 4.ClickHouse压测✨ 4.1 下载数据✨ 4.2 解压数据✨ 4.3 创建数据库和…

(c++)类和对象 下篇

目录 1.再次了解构造函数 2. Static成员 3. 友元 4. 内部类 5.匿名对象 6.拷贝对象时的一些编译器优化 1.再次了解构造函数 1.1 构造函数体赋值 在创建对象时&#xff0c;编译器通过调用构造函数&#xff0c;给对象中各个成员变量一个合适的初始值。 class Date { pub…

火山引擎 ByteHouse:如何提升 18000 节点的 ClickHouse 可用性?

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 ClickHouse 是业内被广泛使用的 OLAP 引擎。当集群规模过大时&#xff0c;ClickHouse 则面临使用局限性的问题。如何提升 ClickHouse 的可用性&#xff0c;成为困扰…

Python实时采集Windows CPU\MEMORY\HDD使用率

文章目录 安装psutil库在Python脚本中导入psutil库获取CPU当前使用率&#xff0c;并打印结果获取内存当前使用率&#xff0c;并打印结果获取磁盘当前使用情况&#xff0c;并打印结果推荐阅读 要通过Python实时采集Windows性能计数器的数据&#xff0c;你可以使用psutil库。psut…

怎么通过portainer部署一个vue项目

这篇文章分享一下今天通过docker打包vue项目&#xff0c;并使用打包的镜像在portainer上部署运行&#xff0c;参考了vue-cli和docker的官方文档。 首先&#xff0c;阅读vue-cli关于docker部署的说明 vue-cli关于docker部署的说明https://cli.vuejs.org/guide/deployment.html#…

SpringCloudAlibaba 相关组件的学习一

目录 前言 系统架构演变 1、单体架构 2、垂直架构 3、分布式架构 4、SOA架构 5、微服务架构 一、微服务架构的介绍 1、微服务架构的常见问题 2 微服务架构的常见概念 2.1 服务治理 2.2 服务调用 2.3 服务网关 2.4 服务容错 2.5 链路追踪 3、微服务架构的常用解决…

第2篇 机器学习基础 —(1)机器学习方式及分类、回归

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。机器学习是一种人工智能的分支&#xff0c;它使用算法和数学模型来使计算机系统能够从经验数据中学习和改进&#xff0c;而无需显式地编程。机器学习的目标是通过从数据中发现模式和规律&#xff0c;从而使计算机能够自动进…

黑马mysql教程笔记(mysql8教程)基础篇——数据库相关概念、mysql安装及卸载、数据模型、SQL通用语法及分类(DDL、DML、DQL、DCL)

参考文章1&#xff1a;https://www.bilibili.com/video/BV1Kr4y1i7ru/ 参考文章2&#xff1a;https://dhc.pythonanywhere.com/article/public/1/ 文章目录 基础篇数据库相关概念&#xff08;数据库DataBase&#xff08;DB&#xff09;、数据库管理系统DataBase Management Sy…

25种ACM模式输入输出模板,支持C++、Java、Python、Go、JS版本

很多录友苦于不熟悉 ACM 输入输入结构&#xff0c;在笔试和面试的时候&#xff0c;处理数据输入输出就花费了大量的时间&#xff0c;以至于算法题没写完&#xff0c;甚至是 根本就写不对输入输出的方式。 下面&#xff0c;我针对常见的25种 ACM输入与输出方式&#xff0c;给大…

Mojo 正式发布,Rust 能否与之匹敌?

9 月 7 日&#xff0c;Modular 公司宣布正式发布 Mojo&#xff1a;Mojo 现在已经开放本地下载——初步登陆 Linux 系统&#xff0c;并将很快提供 Mac 与 Windows 版本。据介绍&#xff0c;Mojo 最初的目标是比 Python 快 35000 倍&#xff0c;近日该团队表示&#xff0c;Mojo 将…