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

CCNP课程实验-OSPF-CFG

目录

  • 实验条件
    • 网络拓朴
    • 需求
  • 配置实现
    • 基础配置
      • 1. 配置所有设备的IP地址
    • 实现目标
      • 1. 要求按照下列标准配置一个OSPF网络。 路由协议采用OSPF,进程ID为89 ,RID为loopback0地址。
      • 3. R4/R5/R6相连的三个站点链路OSPF网络类型配置成广播型,其中R5路由器做为永久性DR。
      • 4. 按照图示配置OSPF区域,其中R1/R4/R6之间的区域要配置成完全末梢区域。
      • 5. R2为新并入的站点,由于来不及布线施工而暂时并到R3这个站点上,所在区域为AREA 23,配置使得所有网络可达(采用ping测试)。
      • 6. OSPF内部的网络希望通过R5路由器访问Internet(假设R5和Internet连接),配置R5使其能够满足需求,只考虑内部OSPF的实现。
      • 7. AREA 0基于安全的原因配置上MD5认证,密码:SPOTO
      • 8. AREA 146中,配置R1为指定路由器(DR),R4/R6之间保持two-way的邻居关系。
      • 9. 为了减少网络流量,将R1所在的区域汇总成主类网络通告出去。
      • 10. 由于R6与R5之间的链路质量较好,适当配置使得R1优先选取R6访问自身区域除外的外部网络。

实验条件

网络拓朴

在这里插入图片描述

需求

  1. 要求按照下列标准配置一个OSPF网络。
  2. 路由协议采用OSPF,进程ID为89 ,RID为loopback0地址。
  3. R4/R5/R6相连的三个站点链路OSPF网络类型配置成广播型,其中R5路由器做为永久性DR。
  4. 按照图示配置OSPF区域,其中R1/R4/R6之间的区域要配置成完全末梢区域。
  5. R2为新并入的站点,由于来不及布线施工而暂时并到R3这个站点上,所在区域为AREA 23,配置使得所有网络可达(采用ping测试)。
  6. OSPF内部的网络希望通过R5路由器访问Internet(假设R5和Internet连接),配置R5使其能够满足需求,只考虑内部OSPF的实现。
  7. AREA 0基于安全的原因配置上MD5认证,密码:SPOTO
  8. AREA 146中,配置R1为指定路由器(DR),R4/R6之间保持two-way的邻居关系。
  9. 为了减少网络流量,将R1所在的区域汇总成主类网络通告出去。
  10. 由于R6与R5之间的链路质量较好,适当配置使得R1优先选取R6访问自身区域除外的外部网络。
  11. 在AREA 0以外的所有区域启用OSPF明文认证,密码:SPOTO

配置实现

基础配置

拓扑中的IP地址段采用:172.8.AB.X/24:
其中AB为两台路由器编号组合,
例如:R2-R3之间的AB为23,X为路由器编号,例如R3的X=3
R1/R4/R6之间的网段为:172.8.146.X/24,其中X为路由器编号。
R4/R5/R6之间的网段为:172.8.100.X/24,其中X为路由器编号。
所有路由器都有一个loopback 0接口,地址格式为:X.X.X.X/32,其中X为路由器编号。

1. 配置所有设备的IP地址

R2

R2(config)#int e0/0
R2(config-if)#ip address 172.8.23.2 255.255.255.0
R2(config-if)#no sh
R2(config-if)#int lo 0
R2(config-if)#ip address 2.2.2.2 255.255.255.255
R2(config-if)#no sh

R3

R3(config)#int e0/0
R3(config-if)#ip address 172.8.23.3 255.255.255.0
R3(config-if)#no sh
R3(config-if)#int e0/1
R3(config-if)#ip address 172.8.35.3 255.255.255.0
R3(config-if)#no sh
R3(config-if)#int lo0
R3(config-if)#ip address 3.3.3.3 255.255.255.255 
R3(config-if)#no sh

R5

R5(config)#int e0/1   
R5(config-if)#ip address 172.8.35.5 255.255.255.0
R5(config-if)#no sh
R5(config-if)#int e0/0
R5(config-if)#ip address 172.8.100.5 255.255.255.0
R5(config-if)#no sh
R5(config-if)#int lo 0 
R5(config-if)#ip address 5.5.5.5 255.255.255.255
R5(config-if)#no sh
R5(config-if)#

R4

R4(config)#int e0/1
R4(config-if)#ip address 172.8.100.4 255.255.255.0
R4(config-if)#no sh
R4(config-if)#int e0/2
R4(config-if)#ip address 172.8.146.4 255.255.255.0
R4(config-if)#no sh
R4(config-if)#int lo 0
R4(config-if)#ip address 4.4.4.4 255.255.255.255
R4(config-if)#no sh
R4(config-if)#

R6

R6(config)#int e0/1
R6(config-if)#ip address 172.8.100.6 255.255.255.0
R6(config-if)#no sh
R6(config-if)#int e0/0
R6(config-if)#ip address 172.8.146.6 255.255.255.0
R6(config-if)#no sh
R6(config-if)#int lo 0
R6(config-if)#ip address 6.6.6.6 255.255.255.255
R6(config-if)#no sh 

R1

R1(config)#int e0/0
R1(config-if)#ip address 172.8.146.1 255.255.255.0
R1(config-if)#no sh
R1(config-if)#int lo0
R1(config-if)#ip address 1.1.1.1 255.255.255.255
R1(config-if)#no sh

Internet ISP

ISP(config)#username SPOTO password SPOTO123 
ISP(config)#ip local pool cciepools 211.98.5.100 211.98.5.253 
ISP(config)#interface virtual-template 1
ISP(config-if)#ip address 211.98.5.254 255.255.255.0
ISP(config-if)#no shutdown
ISP(config-if)#encapsulation ppp
ISP(config-if)#ip mtu 1492
ISP(config-if)#ppp authentication pap
ISP(config-if)#peer default ip address pool cciepools
ISP(config-if)#exit
ISP(config)#bba-group pppoe bgISP
ISP(config-bba-group)#virtual-template 1
ISP(config-bba-group)#exit
ISP(config)#int e0/0
ISP(config-if)#pppoe enable group bgISP
ISP(config-if)#no shutdown
ISP(config-if)#exit
ISP(config)#do show ip int br
Interface                  IP-Address      OK? Method Status                Protocol
Ethernet0/0                unassigned      YES NVRAM  up                    up      
Ethernet0/1                unassigned      YES NVRAM  administratively down down    
Ethernet0/2                unassigned      YES NVRAM  administratively down down    
Ethernet0/3                unassigned      YES NVRAM  administratively down down    
Virtual-Access1            unassigned      YES unset  down                  down    
Virtual-Access2            unassigned      YES unset  up                    up      
Virtual-Template1          211.98.5.254    YES manual down                  down    
ISP(config)#

实现目标

1. 要求按照下列标准配置一个OSPF网络。 路由协议采用OSPF,进程ID为89 ,RID为loopback0地址。

R2

R2(config-router)#do show run | s route
router ospf 89router-id 2.2.2.2network 0.0.0.0 255.255.255.255 area 23
R2(config-router)#

R3

R3(config-router)#do show run | s route               
router ospf 89router-id 3.3.3.3network 3.3.3.3 0.0.0.0 area 23network 172.8.23.0 0.0.0.255 area 23network 172.8.35.0 0.0.0.255 area 35
R3(config-router)#

R5

R5(config-router)#do show run | s route
router ospf 89router-id 5.5.5.5network 5.5.5.5 0.0.0.0 area 0network 172.8.35.0 0.0.0.255 area 35network 172.8.100.0 0.0.0.255 area 0
R5(config-router)#

R6

R6(config-router)#do show run | s route
router ospf 89router-id 6.6.6.6network 6.6.6.6 0.0.0.0 area 0network 172.8.100.0 0.0.0.255 area 0network 172.8.146.0 0.0.0.255 area 146
R6(config-router)#

R4

R4(config-router)#do show run | s route                 
router ospf 89router-id 4.4.4.4network 4.4.4.4 0.0.0.0 area 0network 172.8.100.0 0.0.0.255 area 0network 172.8.146.0 0.0.0.255 area 146
R4(config-router)#

R1

R1(config-router)#do show run | s route
router ospf 89router-id 1.1.1.1network 0.0.0.0 255.255.255.255 area 146
R1(config-router)#

邻居关系表
R3

R3(config-router)#do show ip ospf neighborNeighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.2           1   FULL/DR         00:00:35    172.8.23.2      Ethernet0/0
5.5.5.5           1   FULL/BDR        00:00:34    172.8.35.5      Ethernet0/1
R3(config-router)#do show ip ospf int br  
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Lo0          89    23              3.3.3.3/32         1     LOOP  0/0
Et0/0        89    23              172.8.23.3/24      10    BDR   1/1
Et0/1        89    35              172.8.35.3/24      10    DR    1/1
R3(config-router)#

R5

R5(config-router)#do show ip ospf neighborNeighbor ID     Pri   State           Dead Time   Address         Interface
4.4.4.4           1   FULL/DROTHER    00:00:37    172.8.100.4     Ethernet0/0
6.6.6.6           1   FULL/BDR        00:00:32    172.8.100.6     Ethernet0/0
3.3.3.3           1   FULL/DR         00:00:32    172.8.35.3      Ethernet0/1
R5(config-router)#do show ip ospf int br  
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Lo0          89    0               5.5.5.5/32         1     LOOP  0/0
Et0/0        89    0               172.8.100.5/24     10    DR    2/2
Et0/1        89    35              172.8.35.5/24      10    BDR   1/1
R5(config-router)#

R4

R4(config-router)#do show ip ospf neighborNeighbor ID     Pri   State           Dead Time   Address         Interface
5.5.5.5           1   FULL/DR         00:00:30    172.8.100.5     Ethernet0/1
6.6.6.6           1   FULL/BDR        00:00:38    172.8.100.6     Ethernet0/1
1.1.1.1           1   FULL/DROTHER    00:00:37    172.8.146.1     Ethernet0/2
6.6.6.6           1   FULL/DR         00:00:31    172.8.146.6     Ethernet0/2
R4(config-router)#do show ip ospf int br
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Lo0          89    0               4.4.4.4/32         1     LOOP  0/0
Et0/1        89    0               172.8.100.4/24     10    DROTH 2/2
Et0/2        89    146             172.8.146.4/24     10    BDR   2/2
R4(config-router)#

R6

R6(config-router)#do show ip ospf neighborNeighbor ID     Pri   State           Dead Time   Address         Interface
4.4.4.4           1   FULL/DROTHER    00:00:33    172.8.100.4     Ethernet0/1
5.5.5.5           1   FULL/DR         00:00:32    172.8.100.5     Ethernet0/1
1.1.1.1           1   FULL/DROTHER    00:00:37    172.8.146.1     Ethernet0/0
4.4.4.4           1   FULL/BDR        00:00:31    172.8.146.4     Ethernet0/0
R6(config-router)#do show ip ospf int br  
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Lo0          89    0               6.6.6.6/32         1     LOOP  0/0
Et0/1        89    0               172.8.100.6/24     10    BDR   2/2
Et0/0        89    146             172.8.146.6/24     10    DR    2/2
R6(config-router)#

3. R4/R5/R6相连的三个站点链路OSPF网络类型配置成广播型,其中R5路由器做为永久性DR。

R

R5(config-router)#int e0/0
R5(config-if)#ip ospf priority 255
R5(config-if)#

4. 按照图示配置OSPF区域,其中R1/R4/R6之间的区域要配置成完全末梢区域。

R4 & R5

R(config-router)#router ospf 89
R(config-router)#area 146 stub no-summary 
R(config-router)#

R6

R(config-router)#router ospf 89
R(config-router)#area 146 stub
R(config-router)#

5. R2为新并入的站点,由于来不及布线施工而暂时并到R3这个站点上,所在区域为AREA 23,配置使得所有网络可达(采用ping测试)。

R3

R3(config-router)#area 35 virtual-link 5.5.5.5 

R5

R5(config-router)#area 35 virtual-link 3.3.3.3

验证结果
R5

R5(config-router)#do show ip ospf int br
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
VL0          89    0               172.8.35.5/24      10    P2P   1/1
Lo0          89    0               5.5.5.5/32         1     LOOP  0/0
Et0/0        89    0               172.8.100.5/24     10    DR    2/2
Et0/1        89    35              172.8.35.5/24      10    BDR   1/1
R5(config-router)#

R1

R1#ping 2.2.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
R1#

6. OSPF内部的网络希望通过R5路由器访问Internet(假设R5和Internet连接),配置R5使其能够满足需求,只考虑内部OSPF的实现。

R5拨号上网

R5(config)#interface dialer 1
R5(config-if)#encapsulation ppp
R5(config-if)#ip mtu 1492
R5(config-if)#ppp pap sent-username SPOTO password SPOTO123
R5(config-if)#ppp chap hostname SPOTO
R5(config-if)#ppp chap password SPOTO123
R5(config-if)#ip address negotiated
R5(config-if)#ppp ipcp route default
R5(config-if)#dialer pool 1
R5(config-if)#exit
R5(config)#int e0/0
R5(config-if)#pppoe enable group global
R5(config-if)#pppoe-client dial-pool-number 1
R5(config-if)#no shutdown
R5(config-if)#do show ip int br
Interface                  IP-Address      OK? Method Status                Protocol
Ethernet0/0                172.8.100.5     YES manual up                    up      
Ethernet0/1                172.8.35.5      YES manual up                    up      
Ethernet0/2                unassigned      YES TFTP   up                    up      
Ethernet0/3                unassigned      YES TFTP   administratively down down    
Dialer1                    211.98.5.100    YES IPCP   up                    up      
Loopback0                  5.5.5.5         YES manual up                    up      
Virtual-Access1            unassigned      YES unset  up                    up      
Virtual-Access2            unassigned      YES unset  up                    up      
R5(config-if)#do ping 211.98.5.100
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 211.98.5.100, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
R5(config-if)#interface range e0/0-1
R5(config-if-range)#ip nat inside
R5(config-if-range)#interface dialer 1
R5(config-if)#ip nat outside
R5(config-if)#access-list 1 permit any
R5(config)#ip nat inside source list 1 interface dialer 1 overload
R5(config)#router ospf 89
R5(config-router)#default-information originate 
// 添加以下语句,给所有的路由器下发一条默认路由
R5(config-router)#default-information originate 

验证交易
R1
在这里插入图片描述R4&R6
在这里插入图片描述
R5
默认上网
在这里插入图片描述

7. AREA 0基于安全的原因配置上MD5认证,密码:SPOTO

R4&R5&R6
全启开启全局摘要认证
R(config-router)#area 0 authentication message-digest
在3接口,1个虚拟链路上配置MD5密码
R(config-if)#ip ospf message-digest-key 1 md5 SPOTO 三个接口这样配置
R5(config-router)#area 35 virtual-link 3.3.3.3 message-digest-key 1 md5 SPOTO 虚拟链路这样配置
全局开启了,接口上就不用再开启一次

执行后

R5(config-router)#do show ip ospf int br
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Lo0          89    0               5.5.5.5/32         1     LOOP  0/0
Et0/0        89    0               172.8.100.5/24     10    BDR   1/1
VL0          89    0               172.8.35.5/24      10    P2P   1/1
Et0/1        89    35              172.8.35.5/24      10    BDR   1/1R5(config-router)#do show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
6.6.6.6           1   FULL/DR         00:00:30    172.8.100.6     Ethernet0/0
3.3.3.3           0   FULL/  -           -        172.8.35.3      OSPF_VL0
3.3.3.3           1   FULL/DR         00:00:31    172.8.35.3      Ethernet0/1
R5(config-router)#

邻居连接状态正常

8. AREA 146中,配置R1为指定路由器(DR),R4/R6之间保持two-way的邻居关系。

// 配置成0,退出竞争
R4(config-if)#int e0/2
R4(config-if)#ip ospf priority 0
// 配置成0,退出竞争
R6(config-if)#int e0/0
R6(config-if)#ip ospf priority 0R4#show ip ospf neighbor 
Neighbor ID     Pri   State           Dead Time   Address         Interface
5.5.5.5         255   FULL/BDR        00:00:33    172.8.100.5     Ethernet0/1
1.1.1.1         255   FULL/DR         00:00:35    172.8.146.1     Ethernet0/2
6.6.6.6           0   2WAY/DROTHER    00:00:33    172.8.146.6     Ethernet0/2R6(config-router)#do show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
5.5.5.5         255   FULL/BDR        00:00:33    172.8.100.5     Ethernet0/1
1.1.1.1         255   FULL/DR         00:00:38    172.8.146.1     Ethernet0/0
4.4.4.4           0   2WAY/DROTHER    00:00:36    172.8.146.4     Ethernet0/0

R4和R6处在了2Way的状态,R1成了DR

9. 为了减少网络流量,将R1所在的区域汇总成主类网络通告出去。

这个最好是在ABR上操作,因选择R4或是R6

R4(config-router)#area 146 range 172.8.0.0 255.255.0.0
R4(config-router)#area 146 range 1.0.0.0 255.0.0.0  
R4(config-router)#

在这里插入图片描述

R5(config-router)#do show ip route ospf
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static route, H - NHRP, l - LISPa - application route+ - replicated route, % - next hop override, p - overrides from PfRGateway of last resort is 211.98.5.254 to network 0.0.0.01.0.0.0/32 is subnetted, 1 subnets
O IA     1.1.1.1 [110/21] via 172.8.100.4, 00:00:19, Ethernet0/04.0.0.0/32 is subnetted, 1 subnets
O        4.4.4.4 [110/11] via 172.8.100.4, 00:09:52, Ethernet0/0172.8.0.0/16 is variably subnetted, 5 subnets, 2 masks
O IA     172.8.146.0/24 [110/20] via 172.8.100.4, 00:00:17, Ethernet0/0
// ABR R4 路由汇总之后,R5收到的通告
R5(config-router)#do show ip route ospf
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static route, H - NHRP, l - LISPa - application route+ - replicated route, % - next hop override, p - overrides from PfRGateway of last resort is 211.98.5.254 to network 0.0.0.0O IA  1.0.0.0/8 [110/21] via 172.8.100.4, 00:00:05, Ethernet0/04.0.0.0/32 is subnetted, 1 subnets
O        4.4.4.4 [110/11] via 172.8.100.4, 00:10:09, Ethernet0/0172.8.0.0/16 is variably subnetted, 5 subnets, 3 masks
O IA     172.8.0.0/16 [110/20] via 172.8.100.4, 00:00:08, Ethernet0/0
R5(config-router)#

在这里插入图片描述

10. 由于R6与R5之间的链路质量较好,适当配置使得R1优先选取R6访问自身区域除外的外部网络。

加大去往R4的开销值。从而让R1选R6走

R1(config-router)#do show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static route, H - NHRP, l - LISPa - application route+ - replicated route, % - next hop override, p - overrides from PfRGateway of last resort is 172.8.146.6 to network 0.0.0.0O*IA  0.0.0.0/0 [110/11] via 172.8.146.6, 00:01:33, Ethernet0/0[110/11] via 172.8.146.4, 00:27:31, Ethernet0/01.0.0.0/32 is subnetted, 1 subnets
C        1.1.1.1 is directly connected, Loopback0172.8.0.0/16 is variably subnetted, 2 subnets, 2 masks
C        172.8.146.0/24 is directly connected, Ethernet0/0
L        172.8.146.1/32 is directly connected, Ethernet0/0
R1(config-router)#
// 默认两个负载均衡。

该方法只能用在NSSA/Stub类型的区域,该类型的区域默认的cost开销是1,不影响区域外的路由Metric值

// 现在调整开销。改变路径
R4(config-if)#router ospf 89
R4(config-router)#area 146 default-cost 1500
// 为了看出效果,特意设置比较大的Metric值。
R6(config-if)#router ospf 89
R6(config-router)#area 146 default-cost 800

实现结果

R1(config-router)#do show ip route        
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static route, H - NHRP, l - LISPa - application route+ - replicated route, % - next hop override, p - overrides from PfRGateway of last resort is 172.8.146.6 to network 0.0.0.0O*IA  0.0.0.0/0 [110/810] via 172.8.146.6, 00:07:16, Ethernet0/01.0.0.0/32 is subnetted, 1 subnets
C        1.1.1.1 is directly connected, Loopback0172.8.0.0/16 is variably subnetted, 2 subnets, 2 masks
C        172.8.146.0/24 is directly connected, Ethernet0/0
L        172.8.146.1/32 is directly connected, Ethernet0/0
R1(config-router)#

R6的默认cost 800 加上 R1 入接口的 cost 10(e接口的cost为10:计算方式为10的8次方除以e口的带宽)=810
出口路径只剩下一条了从R6的810的metric的路由走了 。

  1. 在AREA 0以外的所有区域启用OSPF明文认证,密码:SPOTO

相关文章:

CCNP课程实验-OSPF-CFG

目录 实验条件网络拓朴需求 配置实现基础配置1. 配置所有设备的IP地址 实现目标1. 要求按照下列标准配置一个OSPF网络。 路由协议采用OSPF,进程ID为89 ,RID为loopback0地址。3. R4/R5/R6相连的三个站点链路OSPF网络类型配置成广播型,其中R5路…...

【Spring Security】打造安全无忧的Web应用--入门篇

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Spring Security的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.Spring Security是什么 1.概…...

【每日一题】【12.20】2828.判别首字母缩略词

🔥博客主页: A_SHOWY🎥系列专栏:力扣刷题总结录 数据结构 云计算 数字图像处理 力扣每日一题_ 1.题目链接 2828. 判别首字母缩略词https://leetcode.cn/problems/check-if-a-string-is-an-acronym-of-words/ 2.题目描述 今天…...

LabVIEW开发振动数据分析系统

LabVIEW开发振动数据分析系统 自动测试系统基于LabVIEW平台设计,采用了多种高级硬件设备。系统的硬件组成包括PCB振动加速度传感器,这是一种集成了传统压电加速度传感器和电荷放大器的先进设备,能够直接与采集仪器连接。此外,系统…...

去掉乘法运算的加法移位神经网络架构

[CVPR 2020] AdderNet: Do We Really Need Multiplications in Deep Learning? 代码:https://github.com/huawei-noah/AdderNet/tree/master 核心贡献 用filter与input feature之间的L1-范数距离作为“卷积层”的输出为了提升模型性能,提出全精度梯度…...

【TB作品】51单片机,具有报时报温功能的电子钟

2.具有报时报温功能的电子钟 一、功能要求: 1.显示室温。 2.具有实时时间显示。 3.具有实时年月日显示和校对功能。 4.具有整点语音播报时间和温度功能。 5.定闹功能,闹钟音乐可选。 6.操作简单、界面友好。 二、设计建议: 1.单片机自选(C51、STM32或其他单片机)。 2.时钟日历芯…...

了解C++工作机制

基于hello.cpp对C的运行进行一个初步认识,并介绍国外C大佬Cherno常用的项目结构和调试Tips C是如何工作的 C工作流程1.实用工程(project)结构(1)Microsoft Visual Studio2022新建项目后,自动生成的原始文件…...

力扣题目学习笔记(OC + Swift) 14. 最长公共前缀

14. 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 方法一 竖向扫描法 个人感觉纵向扫描方式比较直观,符合人类理解方式,从前往后遍历所有字符串的每一列,比较相同列上的…...

WinSW设置应用程序开机启动

前言 由于使用windows自动的自启方法,不管是将程序启动服务放到开机自启文件夹中,还是创建任务计划程序,都没有很好的实现程序的开机自启效果,而WinSW很好的解决了这个问题。 下载 WinSW下载地址 注意:不同版本&#…...

Leetcode—96.不同的二叉搜索树【中等】

2023每日刷题&#xff08;六十四&#xff09; Leetcode—96.不同的二叉搜索树 算法思想 实现代码 class Solution { public:int numTrees(int n) {vector<int> G(n 1, 0);G[0] 1;G[1] 1;for(int i 2; i < n; i) {for(int j 1; j < i; j) {G[i] G[j - 1] * …...

正则表达式零宽断言

正则表达式零宽断言 工具类&#xff0c;正则表达式匹配文本内容正则表达式语法例子例子01零宽断言?< 不包含左边值? 不包含右边值例子 常用正则表达式校验数字的表达式校验字符的表达式 工具类&#xff0c;正则表达式匹配文本内容 /*** 正则表达式工具类*/ public class…...

uni-app学习记录

uni-app注意点记录 跳转到 tabBar 页面只能使用 switchTab 跳转路由API的目标页面必须是在pages.json里注册的vue页面。如果想打开web url&#xff0c;在App平台可以使用 plus.runtime.openURL或web-view组件&#xff1b;H5平台使用 window.open&#xff1b;小程序平台使用web…...

API资源对象StorageClass;Ceph存储;搭建Ceph集群;k8s使用ceph

API资源对象StorageClass;Ceph存储;搭建Ceph集群;k8s使用ceph API资源对象StorageClass SC的主要作用在于&#xff0c;自动创建PV&#xff0c;从而实现PVC按需自动绑定PV。 下面我们通过创建一个基于NFS的SC来演示SC的作用。 要想使用NFS的SC&#xff0c;还需要安装一个NFS…...

Databend 开源周报第 124 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 新增对 Delta 和…...

Arduino开发实例-液体流量测量

液体流量测量 文章目录 液体流量测量1、流量传感器介绍2、硬件准备及接线3、代码实现在本文中,将介绍如何流量传感器进行测量液体流量。 流量传感器用于测量液体流速。 市场上有不同类型的流量传感器,在本文中,我们将使用霍尔效应流量传感器。 这些类型的流量传感器是非侵入…...

【idea】解决sprintboot项目创建遇到的问题

目录 一、报错Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found 二、报错java: 错误: 无效的源发行版&#xff1a;17 三、java: 无法访问org.springframework.web.bind.annotation.CrossOrigin 四、整合mybatis的时候&#xff0c;报java.lang.Ill…...

ADC芯片CS1237在电子秤方案的优势

​随着科技的不断发展&#xff0c;电子秤已经成为我们日常生活中不可或缺的测量工具。为了满足用户对于高精度、高稳定性的需求&#xff0c;芯海ADC芯片CS1237应运而生&#xff0c;为电子秤方案带来了革命性的变革。 一、芯海ADC芯片CS1237介绍 芯海ADC芯片CS1237是一款高性能…...

Leetcode的AC指南 —— 哈希表:202. 快乐数

摘要&#xff1a; Leetcode的AC指南 —— 哈希表&#xff1a;202. 快乐数。题目介绍&#xff1a;编写一个算法来判断一个数 n 是不是快乐数。 文章目录 一、题目二、解析1、哈希表 一、题目 题目介绍&#xff1a;编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为…...

机器学习 项目结构 数据预测 实验报告

需求&#xff1a; 我经过处理得到了测试值&#xff0c;然后进一步得到预测和真实值的比较&#xff0c;然后再把之前的所有相关的参数、评估指标、预测值、比较结果都存入excel,另外我还打算做测试报告模板&#xff0c;包括敏感性分析等。您建议我这些功能如何封装这些功能&…...

[Verilog] 设计方法和设计流程

主页&#xff1a; 元存储博客 文章目录 1. 设计方法2. 设计流程 3 Vivado软件设计流程总结 1. 设计方法 Verilog 的设计多采用自上而下的设计方法&#xff08;top-down&#xff09;。设计流程是指从一个项目开始从项目需求分析&#xff0c;架构设计&#xff0c;功能验证&#…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...