HCIP-5.4OSPF路由聚合、缺省路由

news2024/11/28 16:40:55

1、路由聚合

OSPF 是一种链路状态路由协议,因此 OSPF路由器不传输路由,而是传输链路状态信息。因此,OSPF 路由通过汇总 LSA 来控制链路状态信息的传输,从而减小 LSDB 数据库的大小,进而控制路由的汇总。

由于OSPF路由分为区域内路由、区域间路由和外部路由(即引入OSPF进程的路由),所以区域内路由不需要汇总。

路由聚合是指ABR可以将具有相同前缀的路由信息聚合到一起,只发布一条路由到其它区域。

区域间通过路由聚合,可以减少路由信息,从而减小路由表的规模,提高设备的性能。

OSPF有两种路由聚合方式:
1、ABR聚合
ABR向其它区域发送路由信息时,以网段为单位生成Type3 LSA。如果该区域中存在一些连续的网段,则可以通过命令将这些连续的网段聚合成一个网段。这样ABR只发送一条聚合后的LSA,所有属于命令指定的聚合网段范围的LSA将不会再被单独发送出去。

![在这里插入图片描述](https://img-blog.csdnimg.cn/a928057704aa4e1c90586a980eb4fbd6.png#pic_center =600x200
2、ASBR聚合
配置路由聚合后,如果本地设备是自治系统边界路由器ASBR,将对引入的聚合地址范围内的Type5 LSA进行聚合。当配置了NSSA区域时,还要对引入的聚合地址范围内的Type7 LSA进行聚合。
在这里插入图片描述

如果本地设备既是ASBR又是ABR,则对由Type7 LSA转化成的Type5 LSA进行聚合处理。

对于NSSA区域,当该区域的ABR将Type-7LSA转换为Type-5LSA时,该ABR也可以充当ASBR的角色,并对Type-5LSA进行聚合。

1.1、路由聚合算法:

案例1:

IP地址二进制
172.18.129.0/24129:10000001
172.18.130.0/24130:10000010
172.18.132.0/24132:10000100
172.18.133.0/24133:10000101
前5位10000 后3位不同

相同的前缀有21位,保留相同位数,将相同比特后面的数(到末尾)填充为0将不相同的3个001比特填充为0,得到10000000,根据8\4\2\1法计算出,十进制为128。

结果:路由汇聚的Ip地址就是172.18.128.0,172.18.128.0/21。掩码=8+8+5,前21位比特为1不能变,变化为后11位。

不变的10000:128+64+32+16+8=128+80+40=248掩码为255.255.248.0。

案例2:

IP地址二进制
202.113.79.128/27128:1000 0000
202.113.79.160/27160:1010 0000
202.113.79.192/27192:1100 0000
202.113.79.224/27133:1110 0000

相同的前缀有25位,保留相同位数,将不相同比特后面的数(到末尾)填充为0。

将不相同的比特填充为0,得到10000000,根据8\4\2\1法计算出,十进制为128。

结果:路由汇聚的Ip地址就是202.113.79.128。202.113.79.128/25。掩码=8+8+8+1,前25位比特为1不能变,变化为后7位。
可用地址数为2^7-2=126。

案例3:

IP地址相同位不同位
172.16.12.0/2410101100 00010000 00001100 00000000
172.16.13.0/2410101100 00010000 00001101 00000000
172.16.14.0/2410101100 00010000 00001110 00000000
172.16.15.0/2410101100 00010000 00001111 00000000
聚合路由172.16.120/22 22=8+8+6

1.2、案例:

在这里插入图片描述
交换机配置:

vlan batch 2 3 4 5
int Vlanif 2
ip add 172.16.1.100 24
int vlanif 3
ip add 172.16.2.100 24
int vlanif 4
ip add 172.16.3.100 24
int vlanif 5
ip add 172.16.4.1 24

int g0/0/1
port link-type access 
port default vlan 2
int g0/0/2
port link-type access 
port default vlan 3
int g0/0/3
port link-type access 
port default vlan 4
int g0/0/4
port link-type access 
port default vlan 5

OSPF配置:

R1
ospf router-id 172.16.6.6
area 1
network 172.16.1.0 0.0.0.255
network 172.16.2.0 0.0.0.255
network 172.16.3.0 0.0.0.255
network 172.16.4.0 0.0.0.255
network 172.16.6.6 0.0.0.0

R2
ospf router-id 10.0.2.2
area 0
network 10.0.12.0 0.0.0.255
area 2
network 10.0.24.0 0.0.0.255
network 10.0.2.2 0.0.0.0

R3
ospf router-id 10.0.3.3
area 0
network 10.0.13.0 0.0.0.255
area 2
network 10.0.3.3 0.0.0.0
network 10.0.34.0 0.0.0.255
R4
ospf router-id 10.0.4.4
area 2
network 10.0.4.4 0.0.0.0
network 10.0.24.0 0.0.0.255
network 10.0.46.0 0.0.0.255
network 10.0.34.0 0.0.0.255
network 10.0.45.0 0.0.0.255

配置area2为NSSA区域

[R2]ospf 1
[R2-ospf-1]area 2
[R2-ospf-1-area-0.0.0.2]nssa
[R3]ospf 1
[R3-ospf-1]area 2
[R3-ospf-1-area-0.0.0.2]nssa 
[R4]ospf 1
[R4-ospf-1]area 2
[R4-ospf-1-area-0.0.0.2]nssa

配置去往外部网络的静态路由,并进行引入。

R4
ip route-static 10.100.5.1 32 10.0.46.6
ip route-static 10.100.5.2 32 10.0.46.6
ip route-static 10.100.5.3 32 10.0.46.6
ospf 
import-route static

在这里插入图片描述
查看DR和BDR及邻接关系

<R1>dis ospf peer
	 OSPF Process 1 with Router ID 10.0.1.1
		 Neighbors 

 Area 0.0.0.0 interface 10.0.12.1(GigabitEthernet0/0/1)'s neighbors
 Router ID: 10.0.2.2         Address: 10.0.12.2       
   State: Full  Mode:Nbr is  Master  Priority: 1
   DR: 10.0.12.1  BDR: 10.0.12.2  MTU: 0    
   Dead timer due in 40  sec 
   Retrans timer interval: 5 
   Neighbor is up for 00:36:52     
   Authentication Sequence: [ 0 ]

查看R1上路由表

<R1>dis ip rou
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      10.0.12.0/24  Direct  0    0           D   10.0.12.1       G0/0/1
      10.0.12.1/32  Direct  0    0           D   127.0.0.1       G0/0/1
      10.0.13.0/24  Direct  0    0           D   10.0.13.1       G0/0/2
      10.0.13.1/32  Direct  0    0           D   127.0.0.1       G0/0/2
      10.0.24.0/24  OSPF    10   2           D   10.0.12.2       G0/0/1
      10.0.34.0/24  OSPF    10   2           D   10.0.13.3       G0/0/2
      10.0.46.0/24  OSPF    10   3           D   10.0.13.3       G0/0/2
     10.100.5.1/32  O_ASE   150  1           D   10.0.13.3       G0/0/2
     10.100.5.2/32  O_ASE   150  1           D   10.0.13.3       G0/0/2
     10.100.5.3/32  O_ASE   150  1           D   10.0.13.3       G0/0/2
     172.16.1.0/24  OSPF    10   2           D   172.16.4.1      G0/0/0
     172.16.2.0/24  OSPF    10   2           D   172.16.4.1      G0/0/0
     172.16.3.0/24  OSPF    10   2           D   172.16.4.1      G0/0/0
     172.16.4.0/24  Direct  0    0           D   172.16.4.2      G0/0/0
     172.16.4.2/32  Direct  0    0           D   127.0.0.1       G0/0/0

查看LSA

<R2>dis ospf lsdb
Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
一类LSA
 Router    10.0.3.3        10.0.3.3          1742  36    80000006       1
 Router    10.0.2.2        10.0.2.2          1793  36    80000006       1
 Router    10.0.1.1        10.0.1.1           437  48    8000000D       1
二类LSA
 Network   10.0.13.1       10.0.1.1           437  32    80000004       0
 Network   10.0.12.1       10.0.1.1           522  32    80000004       0
三类LSA
 Sum-Net   10.0.34.0       10.0.3.3          1742  28    80000003       1
 Sum-Net   10.0.24.0       10.0.2.2          1793  28    80000003       1
 Sum-Net   10.0.24.0       10.0.3.3          1704  28    80000002       2
 Sum-Net   172.16.3.0      10.0.1.1           229  28    80000004       2
 Sum-Net   172.16.2.0      10.0.1.1          1380  28    80000001       2
 Sum-Net   172.16.1.0      10.0.1.1          1712  28    80000005       2
 Sum-Net   172.16.4.0      10.0.1.1           646  28    80000003       1
 Sum-Net   10.0.46.0       10.0.3.3          1001  28    80000001       2

		 AS External Database
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 External  10.100.5.1      10.0.3.3           296  36    80000001       1
 External  10.100.5.3      10.0.3.3           295  36    80000001       1
 External  10.100.5.2      10.0.3.3           299  36    80000001       1

案例中ABR聚合
只有在ABR上才能经行区域间路由聚合。
R1上使用abr-summary配置区域间路由聚合
172.16.1.0 00000001
172.16.2.0 00000010
172.16.3.0 00000011
172.16.0.0/22
配置:

ospf
area 1
abr-summary 172.16.0.0 255.255.252.0

R2查看路由表:

<R2>dis ip rou
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
     172.16.0.0/22  OSPF    10   3           D   10.0.12.1       G0/0/1
     172.16.4.0/24  OSPF    10   2           D   10.0.12.1       G0/0/1

案例中ASBR聚合
配置外部路由聚合

[R4]ospf 1
[R4-ospf-1]a 2
[R4-ospf-1-area-0.0.0.2]asbr-summary 10.100.5.0 255.255.255.252

查看R2数据库表:

<R2>dis ospf lsdb
	 OSPF Process 1 with Router ID 10.0.2.2
		 Link State Database 
		         Area: 0.0.0.2
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    10.0.2.2        10.0.2.2           368  36    80000005       1
 Sum-Net   10.0.34.0       10.0.2.2            13  28    80000004       3
 Sum-Net   10.0.13.0       10.0.2.2            67  28    80000004       2
 Sum-Net   10.0.12.0       10.0.2.2            67  28    80000004       1
 Sum-Net   172.16.0.0      10.0.2.2           473  28    80000001       3
 Sum-Net   172.16.4.0      10.0.2.2            67  28    80000004       2
 Sum-Net   10.0.46.0       10.0.2.2          1074  28    80000002       4
 NSSA      0.0.0.0         10.0.2.2            67  36    80000004       1
 
		 AS External Database
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 External  10.100.5.0      10.0.3.3            45  36    80000001       2

R2的LSDB中没有明细Type-5LSA和Type-7LSA,只有聚合后的Type-5LSA和Type-7LSA,R2的路由表中没有外部网络的明细路由,只有聚合后的路由。

在NSSA区域的ABR上配置外部路由聚合

由于区域2 是NSSA区域,该区域的ABR路由器会将Type-7LSA转换为Type-5LSA,并泛洪到区域0。

先删除R4上的路由聚合配置,然后再区域2的ABR路由器R2上配置外部路由聚合。

[R4-ospf-1]undo asbr-summary 10.100.5.0 255.255.255.252
[R2-ospf-1]asbr-summary 10.100.5.0 255.255.255.252
[R3-ospf-1]asbr-summary 10.100.5.0 255.255.255.252

注意:
R2和R3都ABR,这时是选取Router-ID较大的路由器作为ABR路由器,R3的上聚合才能生效,但是人我们还是会在R2配置asbr-summary,是作为备份使用,一旦R3路由发生中断事故,R2将作为ABR。

1.3、OSPF 缺省路由

通常企业网与ISP(互联网服务提供商)相连访问外部网络。通常情况下企业网络设备与ISP设备之间不会运行某种动态交换路由信息。企业无需知道和维护外部网络,而是通过缺省路由的方式来实现对外网的访问,这样可以精简路由表规模,同时当外部网络发生故障时,企业内部网络也不会受到影响,从而增强企业网络的安全性。

缺省路由是指目的地址和掩码都是0的路由。当设备无精确匹配的路由时,就可以通过缺省路由进行报文转发。由于OSPF路由的分级管理,Type3缺省路由的优先级高于Type5或Type7路由。

Type3缺省路由> Type5缺省路由or Type7缺省路由。

OSPF动态注入缺省路由通常应用于下面两种情况:

发布者描述
区域边界路由器(ABR)发布Type3缺省Summary LSA,用来指导区域内设备进行区域之间报文的转发。
自治系统边界路由器(ASBR)发布Type5外部缺省ASE LSA,或者Type7外部缺省NSSA LSA,用来指导自治系统(AS)内设备进行自治系统外报文的转发。

OSPF缺省路由的发布原则如下:

  • OSPF路由器只有具有对区域外的出口时,才能够发布缺省路由LSA。
  • 如果OSPF路由器已经发布了缺省路由LSA,那么不再学习其它路由器发布的相同类型缺省路由。即路由计算时不再计算其它路由器发布的相同类型的缺省路由 LSA,但数据库中存有对应LSA。
  • 外部缺省路由的发布如果要依赖于其它路由,那么被依赖的路由不能是本OSPF路由域内的路由,即不是本进程OSPF学习到的路由。因为外部缺省路由的作用是用于指导报文的域外转发,而本OSPF路由域的路由的下一跳都指向了域内,不能满足指导报文域外转发的要求。

在这里插入图片描述

1.3.1、向普通区域注入缺省路由

[R4]ip route-static 0.0.0.0 0.0.0.0 202.103.68.1
[R4]ospf 100
[R4-ospf-100]import-route static

LSDB没有出现0.0.0.0的LSA,表示OSPF网络规定不允许通过import-router static命令注入缺省路由。

在ASBR已经有缺省路由,执行default-route-advertise命令,将在整个OSPF区域中通告缺省路由0.0.0.0。

在R4上使用default-route-advertise命令注入一条缺省路由。

命令用来将缺省路由通告到普通OSPF区域。
[R4-ospf-100]default-route-advertise

查看LSA
[R4]dis ospf lsdb
在这里插入图片描述
这里可以看到LSDB引入了0.0.0.0的Type-5 LSA的缺省路由,因为Type-5的泛洪范围是整个OSPF网络,说明default-route-advertise命令注入缺省路由的方法已经生效了。

但是,在实际场景中,R4 与R5之间的链路出现故障,就会导致R4的静态缺省路由失效,那么R4路由表就会失去这条缺省路由,进而导致default-route-advertise发布的缺省路由也随之失效.当恢复之后,静态缺省路由又会出现在路由表中,而表示这条缺省路由大的Type-5 LSA又会再次被发布到OSPF中,这样链路不稳定,会造成缺省路由和路由表的不稳定。

为了避免链路不稳定带来的影响,提高网络的可靠性,我们希望R4上是否已经存在缺省路由,R4都能够向整个OPF网络注入缺省路由。

[R4]ospf 100
[R4-ospf-100]default-route-advertise always    //总是将缺省路由通告到普通OSPF区域。

OSPF可以配置多种下发方式:

  • 在ABR上下发
  • 在ASBR上下发
  • 强制下发
  • 非强制下发

OSPF下属非自动强制路由:

区域类型配置命令产生者LSA类型范围有没有缺省路由
普通default-route-advertiseASBR5路由域
普通default-route-advertise alwaysASBR5路由域

缺省情况下,在普通OSPF区域内的OSPF设备不产生缺省路由。

import-route (OSPF)命令不能引入外部路由的缺省路由。当需要引入其他协议产生的缺省路由时,必须在ASBR上配置default-route-advertise命令,发布缺省路由到整个普通OSPF区域。

ASBR已经有缺省路由,执行default-route-advertise命令,将在整个OSPF区域中通告缺省路由0.0.0.0。

配置always参数,无论ASBR是否有缺省路由都将在整个OSPF区域中通告缺省路由0.0.0.0,并且不再计算来自其他设备的缺省路由。

1.3.2、Stub区域ABR动态生成发布Type3缺省Summary LSA。

Area 2区域 R2、R3为Stub区域。ABR动态生成发布Type3缺省Summary LSA。
查看LSA
[R3]dis ospf lsdb

Sum-Net   0.0.0.0       10.0.3.3          1742  28    80000003       1
Sum-Net   10.0.34.0       10.0.3.3          1793  28    80000003       1

Area 2区域配置成为Totally STUB区域

[R3]ospf 100
[R3-ospf-100]area 2
[R3-ospf-100-area-0.0.0.1]stub no-summary

查看LSA
[R3]dis ospf lsdb

Sum-Net   0.0.0.0       10.0.3.3          53  28    80000024       1

其它三类LSA不存在,只剩一条Type3缺省Summary LSA。

区域类型配置命令产生者LSA类型范围有没有缺省路由
STUB自动产生ABR3STUB域
Totally STUB自动产生ABR3STUB域

1.3.3、NSSA区域或Totally-NSSA区域生成缺省路由。

配置NSSA区域或Totally NSSA区域时,该区域会自动向该区域注入表示缺省路由的Type-7LSA。

[R1]ospf 100
[R1-ospf-100]area 1
[R1-ospf-100-area-0.0.0.2]nssa
[R3]ospf 100
[R3-ospf-100]area 1	
[R3-ospf-100-area-0.0.0.2]nssa

[R3]dis ospf lsdb

 NSSA      0.0.0.0         10.0.3.3            67  36    80000004       1

配置区域2为Totally NSSA区域

[R3-ospf-100-area-0.0.0.2]nssa no-summary

结果是和上面Nssa是一样的。

1、Totally NSSA区域
Totally NSSA区域不允许携带区域间路由,ABR会自动生成一条第3类的缺省路由在完全NSSA区域内传播。

2、NSSA区域内两种缺省路由:

  • ABR产生的第三类缺省路由;
  • ASBR产生的第七类缺省路由。

1)、NSSA区域七类缺省路由:如果想让外部路由只通过本区域的NSSA ASBR到达,可以在ASBR上配置产生一条Type 7类的缺省路由0.0.0.0,该缺省路由的传播区域是整个NSSA区域内部。

  • 外部路由只通过NSSA ASBR到达NSSA区域内部。
[R3]ospf 100
[R3-ospf-100]area 1	
[R3-ospf-100-area-0.0.0.2]nssa
[R3-ospf-100-area-0.0.0.2]nssa default-route-advertise //在ASBR上配置产生缺省的Type7 LSA到NSSA区域

nssa default-route-advertise(ASBR)
注意:需要在本路由器上已存在一条其他路由协议产生或静态配置的缺省路由时,才会发布Type 7类缺省路由

  • 非自治系统的外部路由,NSSA ASBR的其它外部路由通过ABR传入其它区域。NSSA ABR上配置产生Type 7类的缺省路由0.0.0.0通告给整个NSSA区域内的路由器。

nssa default-route-advertise(ABR)
不论是否存在其他路由协议产生或静态配置的缺省路由,都会发布Type 7类的缺省路由。

2)、NSSA区域上ABR的缺省路由:
nssa no-summary(ABR)
自动产生第三类缺省路由。

在NSSA区域配置产生的是Type 7类或Type 3类缺省路由,传播的区域是整个NSSA区域。如果同时收到第三类缺省路由和Type 7类缺省路由,将会优选Type 3类缺省路由加入路由表。

区域类型配置命令产生者LSA类型范围有没有缺省路由
NSSAnssa default-route-advertiseASBR7NSSA域
NSSAnssa default-route-advertiseABR7NSSA域
Totally-NSSA自动产生ABR3NSSA域

3)、NSSA区域缺省路由配置错误可能产生的路由环路。
在这里插入图片描述
在NSSA区域的ABR在发布第三类缺省路由的同时也会学习其它ASBR发布的第七类缺省路由,配置时如果不注意将会在NSSA区域产生路由环路。

如上图,在ABR上配置NSSA区域为完全NSSA区域,因此ABR会自动在NSSA区域内发布Type 3类缺省路由;在ASBR上配置一条静态路由指向外部,同时配置nssa default-route-advertise命令发布Type 7类缺省路由。

对于R2来说,它会同时收到R1发来的ABR发布的Type 3类缺省路由和R3ASBR发布的Type 7类缺省路由,Type 3类优先,因此它会选择Type 3类缺省路由加入它的路由表,R3的路由表中缺省路由0.0.0.0的下一跳指向ABR。

对于R1来说,由于ABR会接收ASBR发布的Type 7类缺省路由,所以它会把Type 7类的缺省路由加入自己的路由表中,R1ABR到R3ASBR的下一跳是R2,因此R1的路由表中缺省路由0.0.0.0的下一跳指向R2;

这样在R1和R2之间就存在一条由缺省路由0.0.0.0产生的环路,导致R1和R2到外部区域的数据均不能正确转发。

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

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

相关文章

Object对象键值的输出循序到底如何排列的?

1.日常摸鱼看八股 今天又是复习八股文的一天&#xff0c;发现还是彻底懂得原理才好和面试官吹牛批呀。 接着来看看我chat大宝贝的回答&#xff1a; 在现代浏览器中&#xff0c;Object 对象的键值输出循序是比较稳定的&#xff0c;通常是按照如下顺序输出&#xff1a; 所有的数…

打怪升级之如何发送HEX进制的数据出去

Hex数据老大难 不少人都困扰于如何将电脑中读取到的string类型的数据变成整形发送出去。一半来说&#xff0c;不论你调用的通信方式是串口的还是网络的&#xff0c;亦或是PCIE的&#xff0c;其在电脑端的实际情况都是以系统API的形式呈现的。而系统API函数提供的接口&#xff…

项目实战典型案例23——-注册上nacos上的部分服务总是出现频繁掉线的情况

注册上nacos上的部分服务总是出现频繁掉线的情况一&#xff1a;背景介绍二&#xff1a;思路&方案解决问题过程涉及到的知识nacos服务注册和服务发现一&#xff1a;背景介绍 spring cloud项目通过nacos作为服务中心和配置中心&#xff0c;出现的问题是其中几个服务总是出现…

【电子通识】案例:从YS-CH341T USB转IIC和UART模块使用学习如何找资料

最近在调一个充电芯片&#xff0c;要用到IIC与充电芯片通信来读取和写入充电芯片寄存器&#xff0c;控制充电芯片的各种参数。从以前老员工那里捡到一个这样的模块&#xff0c;模块背面写了YS-CH341T。看着有IIC通信的样子&#xff0c;所以先在网上找一下资料。首先先在网上找到…

npm安装依赖包:405 Method Not Allowed...

运用npm安装依赖包时报错&#xff0c;错误如下。 解决思路&#xff1a; 关注到错误信息上写明了 Method Not Allowed&#xff0c;其后注明了 GET请求以及一个url&#xff0c;说明极有可能是不允许向这个路由发送GET请求&#xff1b; 在浏览器中尝试打开这个地址&#xff0c;结…

在分析了共50亿美元的加密融资之后,我们发现了这些

对加密市场嗅觉敏锐的玩家来说&#xff0c;市场中项目融资是不得不关注的选项&#xff0c;不少优质项目拿到了巨额融资之后&#xff0c;被大家所关注&#xff0c;在20-21年期间&#xff0c;行业内也出现了不少一级机构&#xff0c;布局早期项目&#xff0c;获取时代红利已经成为…

圆桌(满足客人空座需求,合理安排客人入座圆桌,准备最少的椅子)

CSDN周赛第30期第四题算法解析。 (本文获得CSDN质量评分【91】)【学习的细节是欢悦的历程】Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣经”教程《 python 完全自学教程》&#xff0c;不仅仅是基础那么简单…… 地址&#xff1a;https://lq…

什么是业务运营?关键组成部分有哪些?

企业领导者使用收入运营和智能软件等技术来分析买家的不同接触点。这些见解决定了客户互动的成败&#xff0c;从而改善了业务运营&#xff0c;从而带来了成功。 什么是业务运营&#xff1f; 业务运营包括企业为保持盈利而执行的一系列日常任务。虽然这些任务可能因业务类型或行…

主辅助服务市场出清模型研究【旋转备用】(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5;&#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密…

【已解决】Python的坑:os.system()运行带有空格的长路径和双引号参数有bug

在Python代码里运行DOS命令&#xff0c;可以使用os库的os.system()函数。其用法很简单&#xff0c;需要注意的是os.system不会返回输出的结果赋予一个变量。今天我发现了一个bug&#xff1a;当DOS命令行带有双引号路径、双引号参数时&#xff0c;os.system()运行的结果总是显示…

带你认识什么是485通信

在现代工业控制系统中&#xff0c;常常需要实现分布式控制&#xff0c;而分布式控制需要实现不同设备之间的通信。其中&#xff0c;485通信协议是一种被广泛使用的通信协议之一。1. 介绍A. 485通信的定义485通信协议是一种串行通信协议&#xff0c;也被称为RS-485。它是由美国电…

300. 最长递增子序列——【Leetcode每日刷题】

300. 最长递增子序列 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子…

leetcode 1648. 销售价值减少的颜色球

1648. 销售价值减少的颜色球这道题不知为何总想记录下来&#xff0c;思路很简单&#xff0c;但是实现总是出错&#xff0c;这也许就是要记录的原因。再一个觉得题解写的比较难以理解&#xff0c;所以再细致一些解析。希望可以帮到实在搞不懂的同学 思路: 目的&#xff1a;我们…

聚观早报|谷歌发布最大视觉语言模型;王兴投资王慧文ChatGPT项目

今日要闻&#xff1a;谷歌发布全球最大视觉语言模型&#xff1b;马斯克预计Twitter下季度现金流转正&#xff1b;王兴投资王慧文ChatGPT项目&#xff1b;美国拟明年 11 月开展载人绕月飞行&#xff1b;慧与科技宣布收购Athonet谷歌发布全球最大视觉语言模型 近日&#xff0c;来…

RocketMQ重复消费的症状以及解决方案

RocketMQ重复消费的症状以及解决方案 生产消息时重复 症状 当一条消息已被成功发送到 消费者 并完成持久化&#xff0c;此时出现了网络闪断或者客户端宕机&#xff0c;导致服务端对客户端应答失败。 如果此时 生产者 意识到消息发送失败并尝试再次发送消息&#xff0c;消费者…

学习 Python 之 Pygame 开发魂斗罗(十一)

学习 Python 之 Pygame 开发魂斗罗&#xff08;十一&#xff09;继续编写魂斗罗1. 改写主类函数中的代码顺序2. 修改玩家初始化3. 显示玩家生命值4. 设置玩家碰到敌人死亡5. 设置敌人子弹击中玩家6. 修改updatePlayerPosition()函数逻辑继续编写魂斗罗 在上次的博客学习 Pytho…

【Flutter从入门到入坑】Flutter 知识体系

学习 Flutter 需要掌握哪些知识&#xff1f; 终端设备越来越碎片化&#xff0c;需要支持的操作系统越来越多&#xff0c;从研发效率和维护成本综合考虑&#xff0c;跨平台开发一定是未来大前端的趋势&#xff0c;我们应该拥抱变化。而 Flutter 提供了一套彻底的移动跨平台方案…

【AlgorithmTraining】06:STL容器使用与练习(上)

STL容器的使用与练习&#xff08;上&#xff09; OVERVIEWSTL容器的使用与练习&#xff08;上&#xff09;string类1.vector动态数组&#xff1a;&#xff08;1&#xff09;vector动态一维数组&#xff1a;&#xff08;2&#xff09;vector动态二维数组&#xff1a;2.deque双端…

VR全景旅游,成为数字文旅破局关键!

导语&#xff1a;VR全景技术是一种基于虚拟现实技术的全景图像显示技术&#xff0c;已经在各个领域得到广泛应用。在旅游业中&#xff0c;VR全景技术也越来越受到重视&#xff0c;并逐渐成为旅游业发展的重要趋势。本文将介绍VR全景技术在旅游业中的应用场景和价值&#xff0c;…

【嵌入式Linux内核驱动】02_字符设备驱动

字符设备驱动 〇、基本知识 设备驱动分类 &#xff08;按共性分类方便管理&#xff09; 1.字符设备驱动 字符设备指那些必须按字节流传输&#xff0c;以串行顺序依次进行访问的设备。它们是我们日常最常见的驱动了&#xff0c;像鼠标、键盘、打印机、触摸屏&#xff0c;还有…