【计算机网络】75 张图详解:网络设备、网络地址规划、静态路由(万字长文)

75 张图详解:网络设备、网络地址规划、静态路由

  • 1.网络设备
    • 1.1 交换机
    • 1.2 路由器
  • 2.网络地址规划
    • 2.1 IP 地址
    • 2.2 分类地址
    • 2.3 子网掩码
    • 2.4 无类地址
    • 2.5 子网划分
      • 2.5.1 示例一
      • 2.5.2 示例二
    • 2.6 超网合并
  • 3.静态路由
    • 3.1 路由表
    • 3.2 直连路由
    • 3.3 静态路由
    • 3.4 默认路由
    • 3.5 网关和默认网关
  • 4.实战演练
    • 4.1 静态路由实验
      • 4.1.1 实验拓扑图
      • 4.1.2 实验要求
      • 4.1.3 实验步骤
      • 4.1.4 实验总结
    • 4.2 浮动静态路由实验
      • 4.2.1 实验拓扑图
      • 4.2.2 实验要求
      • 4.2.3 实验步骤

1.网络设备

大刘的电脑 A 和小美的电脑 B 可以通过 网线 连接起来,组成一个网络。A 发出来数据,B 都能接收到。反之 A 可以接收 B 发出来的所有数据。

在这里插入图片描述

1.1 交换机

没过多久,隔壁老王的电脑 C、阿丽的电脑 D、敏敏的电脑 E 也要加入到网络中来。只使用网线连接是搞不定的了,搞不定的问题就用 分层 的办法处理。

在这里插入图片描述
于是就有了二层网络设备 交换机,交换机提供网络互联功能。

在这里插入图片描述

交换机可以接入多台电脑,那么它是如何识别不同的电脑呢?又是如何进行数据转发呢?

每个电脑网卡的 MAC 地址 都是不一样的,电脑发送数据时,数据头部携带网卡的 MAC 地址,用 MAC 地址标识来不同的电脑。交换机就可以识别数据头部的 MAC 地址来区分不同的电脑。

在这里插入图片描述
交换机除了能识别不同的电脑,还需要找到电脑连接的 交换机端口,才能顺利的把数据从相应端口发送出去。交换机通过 自学机制,把学习到的设备 MAC 地址和交换机端口号添加到 MAC 地址表,并根据 MAC 地址表进行数据 转发

在这里插入图片描述

1.2 路由器

随着韩国棒棒的电脑 F、美国山姆的电脑 G、印度三三的电脑 H 等等的陆续加入,网络规模越来越大。交换机需要记录的 MAC 地址表也越来越多,需要的交换机也越来越多。但是交换机的 容量和性能有限,MAC 地址表无法记录全世界电脑的 MAC 地址和对应的端口号,MAC 地址表太大也无法快速查找到对应的 MAC 地址表项。

在这里插入图片描述
交换机搞不定的问题,就用分层的办法处理。

在这里插入图片描述
于是就有了三层网络设备 路由器,路由器可以把全世界的网络连接起来。

在这里插入图片描述
局域网内的网络连接可以使用 交换机,例如一个公司内的网络或者一个校园内的网络通过交换机连接。不同区域的局域网互联使用 路由器,那么如何区分不同的网络区域呢?又是如何跨网络区域进行数据转发的呢?

MAC 地址 是烧录到网卡上的,也叫硬件地址,可以标识某一台设备,但无法用来标识某一个网络区域。为了区分不同的网络区域,IP 地址 闪亮登场。IP 地址由 网络号主机号 两部分组成,网络号可以标识网络区域,网络号相同的主机位于同一个网络区域内,即相同网段内。不同的网络区域使用不同的网络号。主机号标识相同网段内的不同主机,不允许相同网段内出现重复的主机号。在整个网络中通过设置网络号和主机号,保证每台主机的 IP 地址不会重复出现,即 IP 地址具有唯一性。

在这里插入图片描述
路由器有多个端口,分别连接不同的网络区域,不同网络区域的 IP 地址 网络号不同。它通过识别目的 IP 地址的 网络号,再根据 路由表 进行数据转发。

在这里插入图片描述

2.网络地址规划

2.1 IP 地址

IP 地址由 32 位二进制数组成,为方便查看和记录,使用十进制数表示。

在这里插入图片描述
常用二进制数与十进制数的转换

在这里插入图片描述
分配给主机使用的分类地址有 A 类B 类C 类,分类地址使用的是固定网络位数,A 类 8 位网络号,B 类 16 位网络号,C 类 24 位网络号。既可以通过判断 分类地址类型( A 类、B 类、C 类其中之一)识别出网络号,也可以通过 子网掩码 识别出网络号。

在这里插入图片描述

2.2 分类地址

A 类地址 第一位以 0 0 0 开头,可变化的网络位有 7 7 7 位,即 128 128 128 个 A 类地址。其中 0 0 0 127 127 127 属于 特殊地址,可用的 A 类地址就是 128 − 2 = 126 128 - 2 = 126 1282=126 个。

可变化的主机位有 24 24 24 位,即 16777216 16777216 16777216 个主机地址。其中主机位全为 0 0 0 和主机位全为 1 1 1 分别为 网段地址广播地址,不能分配给主机使用,每个 A 类地址可用的主机地址就是 16777216 − 2 = 16777214 16777216 - 2 = 16777214 167772162=16777214 个。

A 类地址的范围是 1.0.0.0126.255.255.255

A 类地址子网掩码是 255.0.0.0,也可写作 /8

在这里插入图片描述
B 类地址 前两位以 10 10 10 开头,可变化的网络位有 14 14 14 位,即 16384 16384 16384 个 B 类地址。其中 128.0 128.0 128.0 191.255 191.255 191.255 属于 特殊地址,可用的 B 类地址就是 16384 − 2 = 16382 16384 - 2 = 16382 163842=16382 个。

可变化的主机位有 16 16 16 位,即 65536 65536 65536 个主机地址。其中 网段地址广播地址 不能分配给主机使用,每个 B 类地址可用的主机地址就是 65536 − 2 = 65534 65536 - 2 = 65534 655362=65534 个。

B 类地址的范围是 128.0.0.0191.255.255.255

B 类地址子网掩码是 255.255.0.0,也可写作 /16

在这里插入图片描述
C 类地址 前三位以 110 110 110 开头,可变化的网络位有 21 21 21 位,即 2097152 2097152 2097152 个 C 类地址。其中 192.0.0 192.0.0 192.0.0 223.255.255 223.255.255 223.255.255 属于 特殊地址,可用的 C 类地址就是 2097152 − 2 = 2097150 2097152 - 2 = 2097150 20971522=2097150 个。

可变化的主机位有 8 8 8 位,即 256 256 256 个主机地址。其中 网段地址广播地址 不能分配给主机使用,每个 C 类地址可用的主机地址就是 256 − 2 = 254 256 - 2 = 254 2562=254 个。

C 类地址的范围是 192.0.0.0223.255.255.255

C 类地址子网掩码是 255.255.255.0,也可写作 /24

在这里插入图片描述
网段地址 是主机号全为 0 0 0 的地址,表示某个网段,比如:网段地址 192.168.10.0/24 表示的是网络号为 192.168.10 的所有地址。

广播地址 是主机号全为 1 1 1 的地址,向同一个网段中的所有主机发送数据包的一个地址,比如:网段地址 192.168.10.0/24 的广播地址是 192.168.10.255

在这里插入图片描述
分类地址保留了几个可以自由使用的私网地址。私网地址不能在公网上出现,只能用在内部网络中,所有的路由器都不转发目标地址为私网地址的数据报。

分类地址私有地址范围
A 类地址10.0.0.010.255.255.255
B 类地址172.16.0.0172.31.255.255
C 类地址192.168.0.0192.168.255.255

举个栗子

  • A 类私网地址 10.10.10.10

可推算出:10.10.10.10 的网段地址是 10.0.0.0/8,子网掩码是 255.0.0.0,广播地址是 10.255.255.255,第一个可用地址是 10.0.0.1,最后一个可用地址是 10.255.255.254,可用地址范围是 10.0.0.1 ~ 10.255.255.254

  • B 类私网地址 172.20.20.20

可推算出:172.20.20.20 的网段地址是 172.20.0.0/16,子网掩码是 255.255.0.0,广播地址是 172.20.255.255,第一个可用地址是 172.20.0.1,最后一个可用地址是 172.20.255.254,可用地址范围是 172.20.0.1 ~ 172.20.255.254

  • C 类私网地址 192.168.30.30

可推算出:192.168.30.30 的网段地址是 192.168.30.0/24,子网掩码是 255.255.255.0,广播地址是 192.168.30.255,第一个可用地址是 192.168.30.1,最后一个可用地址是 192.168.30.254,可用地址范围是 192.168.30.1 ~ 192.168.30.254

在这里插入图片描述

2.3 子网掩码

子网掩码 必须和 IP 地址一起使用,子网掩码也是由 32 32 32 位二进制数组成,网络位为 1 1 1,主机位为 0 0 0。子网掩码和 IP 地址进行 与( AND )运算,得到这个 IP 地址的网段地址。换句话说,IP 地址有多少位网络号,子网掩码就有多少位取 1,其余都取 0 。

在这里插入图片描述
子网掩码可以使用十进制数表示,还可以使用斜线记法表示。

在这里插入图片描述
根据 IP 地址和子网掩码计算网段地址,先将 IP 地址和子网掩码转换成二进制数,然后将 IP 地址与子网掩码二进制数一位一位的做 AND 运算,再将结果转换为十进制,就是 网段地址

在这里插入图片描述
与( AND )运算:IP 地址和子网掩码的二进制数,逐位进行计算。只有当 IP 地址和掩码都是 1 时,运算结果为 1 。其余情况计算结果都为 0 。

在这里插入图片描述

2.4 无类地址

分类地址使用的是固定网络位数,可分配的主机 IP 地址也是固定的。但是在实际使用网络时,需要的 IP 地址数量却是各不相同。

举个栗子:一个公司有 500 台电脑,需要分配 500 个 IP 地址。如果分配一个 C 类地址,一个 C 类地址的可用 IP 地址数量是 254 个,可用地址不够使用。如果分配一个 B 类地址,一个 B 类地址的可用 IP 地址数量是 65534 个,会造成大量的 IP 地址浪费。

再来个栗子:一个家庭有 2 台电脑需要上网,如果分配一个 C 类地址也很浪费,但是没有比 C 类范围更小的地址。

为了解决地址浪费问题,可使用 CIDR无类域间路由)和 VLSM可变长子网掩码)技术。

VLSM 可以对 A 、 B 、 C 类地址进行划分,划分成各种类型大小的网络,可用主机地址数量可以灵活变化大小。划分分类地址的过程也叫 子网划分

在这里插入图片描述
CIDR 可以把多个分类地址进行聚会到一起,生成一个更大的网段,以减少路由器中路由条目的数量,减轻路由器的负担。分类地址合并的过程也叫 超网合并

在这里插入图片描述
子网划分后或超网合并后的网段地址,不再是固定的网络位数,这种网络位数可变的网段地址也叫做 无类地址。无类地址只能通过 子网掩码 识别出网络号。

在这里插入图片描述

2.5 子网划分

子网划分 是从 IP 地址主机位的最左边开始,把主机位划入网络位,得到多个子网地址。主机位变成网络位的部分叫做 子网号,划分后的子网数量等于 2 2 2 N N N 次方, N N N 等于子网号的位数。

在这里插入图片描述
即每把一位主机位变成网络位,一个网段地址就变成两个子网地址,子网地址的地址数量只有原来网段地址的一半。

在这里插入图片描述

2.5.1 示例一

举个栗子:一个学校有 150 150 150 台电脑,有三个电脑室,每个电脑室 50 50 50 台电脑。使用私有地址 192.168.0.0/24 给每个电脑室都分配一个网段地址。

网络规划步骤:

(1)每个电脑室 50 50 50 台电脑,计算出子网地址的 主机位 6 6 6 位。

在这里插入图片描述
(2)计算子网地址的 网络位,即 32 − 主机位 = 26 32 - 主机位 = 26 32主机位=26 位。

(3)使用私网地址 192.168.0.0/24 分配三个主机位同为 26 26 26 位的子网地址。子网号有 2 2 2 位,因此可以划分出 4 4 4 个大小相同的子网地址。

在这里插入图片描述
(4)按照子网号从小到大的顺序,分配 3 3 3 个子网地址给电脑室使用。即分配 192.168.0.0/26192.168.0.64/26192.168.0.128/26 这三个子网地址。

在这里插入图片描述

2.5.2 示例二

再来个栗子:一个公司有 157 157 157 人,市场部 100 100 100 人,技术部 50 50 50 人,行政部 4 4 4 人,财务部 3 3 3 人,每人一台办公电脑。使用私有地址 192.168.100.0/24 分别为每个部门划分网络地址。

网络规划步骤:

(1)按照需要 IP 地址数量,从大到小依次进行子网划分。先计算有 100 100 100 人的市场部所需子网的主机位是 7 7 7 位。

在这里插入图片描述
(2)计算市场部所需子网地址的网络位,即 32 − 主机位 = 25 32 - 主机位 = 25 32主机位=25 位。

(3)使用私网地址 192.168.100.0/24 分配第一个主机位为 25 25 25 位的子网地址,即 192.168.100.0/25

在这里插入图片描述
(4)保证与第一个子网地址不重复的前提下,使用未分配的子网值最小的子网地址,计算第二个需要分配的子网地址。即使用 192.168.100.128/25 分配第二个子网地址给技术部( 50 50 50 人)使用。重复步骤 ( 1 ) (1) 1~ ( 3 ) (3) 3 ,计算出第二个子网的主机位是 6 6 6 位,网络位是 26 26 26 位,第二个子网地址是 192.168.100.128/26

在这里插入图片描述
(5)保证与前面两个子网地址不重复的前提下,使用未分配的子网值最小的子网地址,计算第三个需要分配的子网地址。即使用 192.168.100.192/26 分配第三个子网地址给行政部( 4 4 4 人)使用。重复步骤 ( 1 ) (1) 1~ ( 3 ) (3) 3,计算出第三个子网的主机位是 3 3 3 位,网络位是 29 29 29 位,第三个子网地址是 192.168.100.192/29

(6)依次类推,计算给财务部( 3 3 3 人)使用的第四个子网地址。得出第四个子网的主机位是 3 3 3 位,网络位是 29 29 29 位,第四个子网地址是 192.168.100.200/29

在这里插入图片描述

2.6 超网合并

与子网划分相反,把一些小网络组合成一个大网络就是超网合并。

在这里插入图片描述

192.168.3.64/26 和 192.168.3.128/26 可以合并吗?

192.168.3.64/26192.168.3.128/26 不能合并。

在这里插入图片描述
当子网掩码向左移动一位时,网络号不相同,无法合并;

在这里插入图片描述
当子网掩码向左移动两位是,网络号是相同了,但是合并了四个网段,非 192.168.3.64/26192.168.3.128/26 合并。

在这里插入图片描述
结论:子网掩码左移一位,且网络号相同,能够合并两个网段;左移两位,且网络号相同,能够合并四个网段;左移三位,能够合并八个网段。依次类推。

在这里插入图片描述

3.静态路由

路由器在收到数据包时,会识别目的 IP 地址的 网络号,来查询路由表的 路由条目,根据最长匹配的路由条目,来判断应该从哪个 接口 转发数据包。路由表中有匹配的路由条目才会发送数据,无匹配的路由条目则直接丢弃。

在这里插入图片描述

3.1 路由表

路由表由路由条目组成,路由条目 包含 目的地址下一跳出接口 等。

在这里插入图片描述

  • 目的地址Destination / Mask)表示目的网段地址或目的 IP 地址。目的地址既可以是直连在路由器接口上的网段地址,也可以是其它路由器上的网段地址或 IP 地址。

  • 下一跳 / 出接口NextHop / Interface)表示转发目的地址的数据包时,下一跳设备的接口 IP 地址,或者是将数据包从哪个接口转发出去。

  • 协议类型Proto,Protocol 简写 )表示路由条目的获取方式,一共有三种方式。

(1)直连路由:路由器直接连接的路由条目,只要接口配置了 IP 地址,接口状态正常,就会自动生成对应的直连路由。

在这里插入图片描述
(2)静态路由:通过命令手动添加的路由条目就是静态路由。

在这里插入图片描述
(3)动态路由:通过路由协议从相邻路由器动态学习到的路由条目。

在这里插入图片描述
优先级PrePreference 简写 )表示有多条去往同一个目的地址的路由条目,根据路由条目的类型,选择优先级最高的路由条目添加到路由表里面。

在这里插入图片描述
路由优先级的 值越小,代表这种类型的路由 优先级越高

在这里插入图片描述
路径开销Cost)表示通过同一种路由类型学习到多条去往同一个目的地址的路由条目,选择路径开销最小的路由条目添加到路由表里面。

在这里插入图片描述

3.2 直连路由

直连路由 是唯一一种自动向路由表中添加路由条目。这种路由条目指向的目的网络是路由器接口直连的网络,直连路由的路由优先级和路径开销值都是 0 0 0

为了保障直连路由的可用性,路由器只会把 状态正常的接口 所连接的网络,作为直连路由放入自己的路由表中。

在这里插入图片描述

3.3 静态路由

默认情况下,路由器只会自动生成直连路由。对于非直连网络,路由器并不知道要如何转发才能到达非直连网络。这时,我们就可以手动添加 静态路由,告诉路由器如何转发去往某个网络的数据包。

静态路由的默认 路由优先级 60 60 60,还可以手动调整静态路由的优先值。静态路由的 路径开销值 0 0 0。路由器静态路由配置命令:

ip route-static destination-address mask-length nexthop-address

在这里插入图片描述
通过 目的地址相同下一跳或出接口不同 的两条静态路由实现数据流量的 负载分担,路由器会同时使用这两条静态路由条目转发数据包。但是在实际网络环境中,不推荐使用,因为数据报文往返路径不对称,会导致上层应用受影响。

在这里插入图片描述
通过 目的地址相同路由优先级不同 的两条静态路由实现 路由备份,当优先级高的路由条目出现问题时,路由器就会使用另一条优先级低的路由条目来转发数据包。

在这里插入图片描述

优点:

  • 对比动态路由,静态路由条目不会被自动删除,路由条目更稳定。
  • 只要手动添加,就会出现对应的静态路由,路由器也会使用这条静态路由转发数据包,路由条目更可控。
  • 配置去往某个网络的静态路由,只需要在路由器上添加一条简单的命令就可以实现,更容易部署。

缺点:

  • 在越大型网络中,配置和维护路由协议的工作量越大,出差的概率就越大。在大型网络中,静态路由只能作为动态路由的补充,因为静态路由的扩展性差。
  • 动态路由可以自动删除失效的动态路由条目。而静态路由无法反映拓扑变化,必须进行手动干预删除失效静态路由,否则路由器仍会按照配置的静态路由进行数据包转发。

3.4 默认路由

路由器只能转发有路由条目的数据包,对于网络未知的数据包,只能选择丢弃。实际上,我们也不可能知道所有网站或者应用程序的 IP 地址,需要使用一种特殊的路由条目解决这个问题。

路由转发的 最长匹配原则 是:当匹配目的 IP 地址的路由条目有多条时,路由器会选择子网掩码最长的路由条目,也就是最精确的路由条目来转发数据包。

在这里插入图片描述
我们通常会配置一条 0.0.0.0/0 的静态路由,根据最长匹配原则,可以匹配任何目的 IP 地址的数据包,保证任何数据包都能被转发出去;同时,只要路由器上还有任何一条可以匹配目的 IP 地址的路由条目,这条路由条目一定比 0.0.0.0/0 更精确,于是路由器会用更精确的路由条目来转发数据包。这就是 静态默认路由,也是静态路由的一种。

在这里插入图片描述

一般家用路由器上除了本地直连路由外就只设置个默认路由,把去往互联网的流量都转发给运营商的路由器。

3.5 网关和默认网关

两个网络之间要实现通信,必须要通过 网关。网关通常位于有路由功能的设备上,网关的 IP 地址可以是路由器的某个接口的 IP 地址,也可以是三层交换机 VLAN 端口的 IP 地址。

一台主机可以有多个网关,当一台主机找不到可用的网关时,数据包可以发送给 默认网关。其实主机上配置的默认网关就是默认路由。

在这里插入图片描述

4.实战演练

4.1 静态路由实验

4.1.1 实验拓扑图

在这里插入图片描述

  • PC 表示电脑 / 主机
  • RT 表示路由器

4.1.2 实验要求

  • 使用 ENSP 模拟器
  • PC1 能 Ping 通 PC2
  • PC1 和 RT1 使用网段 1 互联:192.168.1.0/24
  • PC2 和 RT2 使用网段 2 互联:192.168.2.0/24
  • RT1 和 RT2 使用网段 3 互联:192.168.3.0/24

4.1.3 实验步骤

(1)分配 IP 地址,并把 IP 地址配置到 PC 和 RT 的接口上。

在这里插入图片描述

  • PC1 的 E0/0/1 口配置 192.168.1.1/24

在这里插入图片描述

  • PC2 的 E0/0/1 口配置 192.168.2.2/24

在这里插入图片描述

  • RT1 的 G0/0/1 口配置 192.168.1.10/24,RT1 的 G0/0/0 口配置 192.168.3.10/24

在这里插入图片描述

  • RT2 的 G0/0/1 口配置 192.168.2.20/24,RT2 的 G0/0/0 口配置 192.168.3.20/24

在这里插入图片描述
(2)PC1 分别 Ping 网段1 、网段2 、网段3 的 IP 地址,结果只能 Ping 通同网段的 192.168.1.10,其余不同网段的 IP 地址都无法 Ping 通。其它主机和路由器也是只能 Ping 通同网段的 IP 地址。

在这里插入图片描述
(3)打通从 PC1 到 PC2 的路由,即 PC1 配置默认网关,RT1 配置到达 192.168.2.0/24 网段的静态路由。

在这里插入图片描述
在这里插入图片描述
(4)PC1 还是只能 Ping 通同网段的 192.168.1.10,其余不同网段的 IP 地址都无法 Ping 通。检查各个设备的路由表,发现 PC1 的报文可以发送到 PC2,但是 PC2 和 RT2 没有回程路由,即 PC2 和 RT2 没有到达 PC1 的路由表项,返程报文无法到达 PC1。

在这里插入图片描述
(5)打通从 PC1 到 PC2 的回程路由,即 PC2 配置默认网关,RT2 配置到达 192.168.1.0/24 网段的静态路由。

在这里插入图片描述

在这里插入图片描述
(6)PC1 Ping PC2 成功,并使用 tracert 命令查看网络路径。

在这里插入图片描述

4.1.4 实验总结

配置路由时,需要在通信双方都进行配置,不要忘记配置回程路由。

4.2 浮动静态路由实验

4.2.1 实验拓扑图

在这里插入图片描述

4.2.2 实验要求

  • 使用 ENSP 模拟器
  • 在静态路由实验的基础上,新增一条网线连接 RT1 和 RT2 ,使用网段 4 :192.168.4.0/24
  • 配置浮动静态路由
  • 配置等价静态路由

4.2.3 实验步骤

(1)RT1 的 GE0/0/2 口和 RT2 的 GE0/0/2 口分别配置网段 4 的 IP 地址。

在这里插入图片描述
在这里插入图片描述
(2)通过修改静态路由优先级,使一条路由成为备份条目的路由,这就是浮动静态路由。在 RT1 上配置从 192.168.4.0/24192.168.2.0/24 的浮动静态路由,并且优先级设置为 50 50 50

  • 新增浮动路由前,查看 RT1 上 192.168.2.0/24 的路由条目。

在这里插入图片描述

  • 新增浮动路由后,查看 RT1 上 192.168.2.0/24 的路由条目。

在这里插入图片描述

  • 路由优先级的值越小,静态路由的优先级越高,静态路由的默认路由优先级为 60 60 60。因此新增优先级为 50 50 50 的静态路由为主路由条目,原来优先级为 60 60 60 的静态路由为备份路由。

(3)当一台路由器上有两条不同的路径去往同一个网络的优先级相同的静态路由时,路由器就会同时使用这两条路由来转发流量,这就是等价静态路由。在 RT1 上配置从 192.168.4.0/24192.168.2.0/24 的等价静态路由,即使用默认优先级的值 60 60 60

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图文文案音视频素材库流量主小程序开发

适用于全行业的资源素材运营变现小程序,支持文档、图片、文件、图文、音视频、网盘等多种资源形式,多种功能组合运营变现的小程序。 适用领域: 公司/微商素材、学习/考研/论文资料分享、PPT模板/背景图/壁纸/头像、知识付费、抖音素材等等…

代码随想录算法训练营第三十五天| 860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球

860.柠檬水找零 本题看上好像挺难&#xff0c;其实挺简单的&#xff0c;大家先尝试自己做一做。 代码随想录 public boolean lemonadeChange(int[] bills) {int five 0;int ten 0;for (int i 0; i < bills.length; i) {if (bills[i] 5) {five;} else if (bills[i] 10)…

golang for循环append的数据重复

原因&#xff0c;因为使用了& 需要增加一行&#xff0c;问题解决

进程创建fork函数

#include <sys/types.h> #include <unistd.h> pid_t fork(void); 函数的作用&#xff1a;用于创建子进程。 返回值&#xff1a; fork()的返回值会返回两次。一次是在父进程&#xff0c;一次是在子进程。 父进程中&#xff1a;返回创建的子进程的ID&#xff0c;返回…

Mysql的逻辑架构、存储引擎

1. 逻辑架构剖析 1.1 服务器处理客户端请求 首先MySQL是典型的C/S架构&#xff0c;即Clinet/Server 架构&#xff0c;服务端程序使用的mysqld。 不论客户端进程和服务器进程是采用哪种方式进行通信&#xff0c;最后实现的效果是&#xff1a;客户端进程向服务器进程发送一段文…

Centos8安装docker并配置Kali Linux图形化界面

鉴于目前网上没有完整的好用的docker安装kali桌面连接的教程&#xff0c;所以我想做一个。 准备工作 麻了&#xff0c;这服务器供应商提供的镜像是真的纯净&#xff0c;纯净到啥都没有。 问题一&#xff1a;Centos8源有问题 Error: Failed to download metadata for repo ap…

[mockjs]-mockjs的使用

Mock主要是用于前后端分离时&#xff0c;模拟交互时的返回数据 接下来介绍一下其它几种Mock的方式 json-server 与 express 之前介绍过json-server,可以启动一个express创建的mock的服务&#xff0c;通过接口获取数据&#xff1b;json-server也可以通过命令直接启动一个json…

DS相关题目

DS相关题目 题目一&#xff1a;消失的数字 拿到这道题目之后&#xff0c;首先可以想到的一个解题方法就是&#xff0c;我们可以先排序&#xff0c;排完序之后&#xff0c;这个数组其实就是一个有序的数组了&#xff0c;那只用比较数组中的每一个元素和他对应的下标是不是相等的…

element+vue table上移+下移 拖拽

//安装 npm install sortablejs --save<el-table :data"statisticsChexkboxs" border max-height"300px" width"740px" row-key"id"ref"projectTable"><el-table-column v-for"item in confirmHead" :ke…

开源库源码分析:OkHttp源码分析(二)

开源库源码分析&#xff1a;OkHttp源码分析&#xff08;二&#xff09; 导言 上一篇文章中我们已经分析到了OkHttp对于网络请求采取了责任链模式&#xff0c;所谓责任链模式就是有多个对象都有机会处理请求&#xff0c;从而避免请求发送者和接收者之间的紧密耦合关系。这篇文章…

网络基础-应用层协议-HTTP/HTTPS

HTTP/HTTPS HTTP基本概念协议格式请求报文请求方法请求资源地址协议版本 应答报文 常见Header常见状态码与状态描述Cookie&Sessionhttp协议特点 HTTPS基本概念对称加密与非对称加密数据摘要&数据指纹HTTPS工作过程探究只采用对称加密只采用非对称加密双方都采用非对称加…

QT : 仿照QQ 完成弹出登录窗口,并实例化组件

1. 运行效果图 2. Headers #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>class MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWindow(); }; #endif // MAINWINDOW_H 3. mainWindow.cpp &#xff1a…

计算机竞赛 机器视觉目标检测 - opencv 深度学习

文章目录 0 前言2 目标检测概念3 目标分类、定位、检测示例4 传统目标检测5 两类目标检测算法5.1 相关研究5.1.1 选择性搜索5.1.2 OverFeat 5.2 基于区域提名的方法5.2.1 R-CNN5.2.2 SPP-net5.2.3 Fast R-CNN 5.3 端到端的方法YOLOSSD 6 人体检测结果7 最后 0 前言 &#x1f5…

初识Java 9-1 内部类

目录 创建内部类 到外部类的链接 使用.this和.new 内部类和向上转型 在方法和作用域中的内部类 匿名内部类 嵌套类 接口中的类 从多嵌套的内部类中访问外部人员 本笔记参考自&#xff1a; 《On Java 中文版》 定义在另一个类中的类称为内部类。利用内部类&#xff0c;…

C++qt day8

1.用代码实现简单的图形化界面&#xff08;并将工程文件注释&#xff09; 头文件 #ifndef MYWIDGET_H #define MYWIDGET_H //防止头文件冲突#include <QWidget> //父类的头文件class MyWidget : public QWidget //自定义自己的界面类&#xff0c;公共继承…

性能测试 —— Jmeter事务控制器

事务&#xff1a; 性能测试中&#xff0c;事务指的是从端到端&#xff0c;一个完整的操作过程&#xff0c;比如一次登录、一次 筛选条件查询&#xff0c;一次支付等&#xff1b;技术上讲&#xff1a;事务就是由1个或多个请求组成的 事务控制器 事务控制器类似简单控制器&…

页面静态化、Freemarker入门

页面静态化介绍 页面的访问量比较大时&#xff0c;就会对数据库造成了很大的访问压力&#xff0c;并且数据库中的数据变化频率并不高。 那需要通过什么方法为数据库减压并提高系统运行性能呢&#xff1f;答案就是页面静态化。页面静态化其实就是将原来的动态网页(例如通过ajax…

ES6中新增加的Proxy对象及其使用方式

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ Proxy对象的基本概念Proxy对象的主要陷阱&#xff08;Traps&#xff09; ⭐ 使用Proxy对象⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来…

八、硬改之设备画像

系列文章目录 第一章 安卓aosp源码编译环境搭建 第二章 手机硬件参数介绍和校验算法 第三章 修改安卓aosp代码更改硬件参数 第四章 编译定制rom并刷机实现硬改(一) 第五章 编译定制rom并刷机实现硬改(二) 第六章 不root不magisk不xposed lsposed frida原生修改定位 第七章 安卓…

听GPT 讲Istio源代码--istioctl

在 Istio 项目的 istioctl 目录中&#xff0c;有一些子目录&#xff0c;每个目录都有不同的作用和功能。以下是这些子目录的详细介绍&#xff1a; /pkg: pkg 目录包含了 istioctl 工具的核心代码和库。这些代码和库提供了与 Istio 控制平面交互的功能&#xff0c;例如获取和修改…