HCIP-5.4OSPF路由聚合、缺省路由
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/24 | 129:10000001 |
172.18.130.0/24 | 130:10000010 |
172.18.132.0/24 | 132:10000100 |
172.18.133.0/24 | 133: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/27 | 128:1000 0000 |
202.113.79.160/27 | 160:1010 0000 |
202.113.79.192/27 | 192:1100 0000 |
202.113.79.224/27 | 133: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/24 | 10101100 00010000 000011 | 00 00000000 |
172.16.13.0/24 | 10101100 00010000 000011 | 01 00000000 |
172.16.14.0/24 | 10101100 00010000 000011 | 10 00000000 |
172.16.15.0/24 | 10101100 00010000 000011 | 11 00000000 |
聚合路由 | 172.16.12 | 0/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 24int 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.0R2
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.0R3
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 peerOSPF Process 1 with Router ID 10.0.1.1Neighbors Area 0.0.0.0 interface 10.0.12.1(GigabitEthernet0/0/1)'s neighborsRouter ID: 10.0.2.2 Address: 10.0.12.2 State: Full Mode:Nbr is Master Priority: 1DR: 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 Interface10.0.12.0/24 Direct 0 0 D 10.0.12.1 G0/0/110.0.12.1/32 Direct 0 0 D 127.0.0.1 G0/0/110.0.13.0/24 Direct 0 0 D 10.0.13.1 G0/0/210.0.13.1/32 Direct 0 0 D 127.0.0.1 G0/0/210.0.24.0/24 OSPF 10 2 D 10.0.12.2 G0/0/110.0.34.0/24 OSPF 10 2 D 10.0.13.3 G0/0/210.0.46.0/24 OSPF 10 3 D 10.0.13.3 G0/0/210.100.5.1/32 O_ASE 150 1 D 10.0.13.3 G0/0/210.100.5.2/32 O_ASE 150 1 D 10.0.13.3 G0/0/210.100.5.3/32 O_ASE 150 1 D 10.0.13.3 G0/0/2172.16.1.0/24 OSPF 10 2 D 172.16.4.1 G0/0/0172.16.2.0/24 OSPF 10 2 D 172.16.4.1 G0/0/0172.16.3.0/24 OSPF 10 2 D 172.16.4.1 G0/0/0172.16.4.0/24 Direct 0 0 D 172.16.4.2 G0/0/0172.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
一类LSARouter 10.0.3.3 10.0.3.3 1742 36 80000006 1Router 10.0.2.2 10.0.2.2 1793 36 80000006 1Router 10.0.1.1 10.0.1.1 437 48 8000000D 1
二类LSANetwork 10.0.13.1 10.0.1.1 437 32 80000004 0Network 10.0.12.1 10.0.1.1 522 32 80000004 0
三类LSASum-Net 10.0.34.0 10.0.3.3 1742 28 80000003 1Sum-Net 10.0.24.0 10.0.2.2 1793 28 80000003 1Sum-Net 10.0.24.0 10.0.3.3 1704 28 80000002 2Sum-Net 172.16.3.0 10.0.1.1 229 28 80000004 2Sum-Net 172.16.2.0 10.0.1.1 1380 28 80000001 2Sum-Net 172.16.1.0 10.0.1.1 1712 28 80000005 2Sum-Net 172.16.4.0 10.0.1.1 646 28 80000003 1Sum-Net 10.0.46.0 10.0.3.3 1001 28 80000001 2AS External DatabaseType LinkState ID AdvRouter Age Len Sequence MetricExternal 10.100.5.1 10.0.3.3 296 36 80000001 1External 10.100.5.3 10.0.3.3 295 36 80000001 1External 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 Interface172.16.0.0/22 OSPF 10 3 D 10.0.12.1 G0/0/1172.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 lsdbOSPF Process 1 with Router ID 10.0.2.2Link State Database Area: 0.0.0.2Type LinkState ID AdvRouter Age Len Sequence MetricRouter 10.0.2.2 10.0.2.2 368 36 80000005 1Sum-Net 10.0.34.0 10.0.2.2 13 28 80000004 3Sum-Net 10.0.13.0 10.0.2.2 67 28 80000004 2Sum-Net 10.0.12.0 10.0.2.2 67 28 80000004 1Sum-Net 172.16.0.0 10.0.2.2 473 28 80000001 3Sum-Net 172.16.4.0 10.0.2.2 67 28 80000004 2Sum-Net 10.0.46.0 10.0.2.2 1074 28 80000002 4NSSA 0.0.0.0 10.0.2.2 67 36 80000004 1AS External DatabaseType LinkState ID AdvRouter Age Len Sequence MetricExternal 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-advertise | ASBR | 5 | 路由域 | 有 |
普通 | default-route-advertise always | ASBR | 5 | 路由域 |
缺省情况下,在普通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 | 自动产生 | ABR | 3 | STUB域 | |
Totally STUB | 自动产生 | ABR | 3 | STUB域 |
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类型 | 范围 | 有没有缺省路由 |
---|---|---|---|---|---|
NSSA | nssa default-route-advertise | ASBR | 7 | NSSA域 | 有 |
NSSA | nssa default-route-advertise | ABR | 7 | NSSA域 | |
Totally-NSSA | 自动产生 | ABR | 3 | NSSA域 |
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到外部区域的数据均不能正确转发。
相关文章:
HCIP-5.4OSPF路由聚合、缺省路由
1、路由聚合 OSPF 是一种链路状态路由协议,因此 OSPF路由器不传输路由,而是传输链路状态信息。因此,OSPF 路由通过汇总 LSA 来控制链路状态信息的传输,从而减小 LSDB 数据库的大小,进而控制路由的汇总。 由于OSPF路由…...
【数据结构】——树与二叉树
文章目录树二叉树二叉树的性质完全二叉树二叉树的存储遍历二叉树和线索二叉树6.4 树和森林哈夫曼树应用树 树的定义:树是以分支关系定义的层次结构。 D; 树(Tree)是n(n≥0)个结点的有限集。 R 数据关系 有且仅有一个特定的称为根(Root) 的结点 当n>1时&…...
等离子纳秒高压脉冲电源维修HVP-20 P
等离子纳秒高压脉冲电源维修HVP-20 P;HVP-10B;HVP-05;HVP-02等型号均可维修 HVP-20 P(N)用于气体放电与低温等离子体的高性能纳秒高压脉冲电源。 HVP-20P(N)采用专有的marx电路,实现高压脉冲电源参数的便捷可调,包括峰值电压0 – 20 KV (-2…...
JavaScript内改变this指向
之前我们说的都是代码内 this 的默认指向今天我们要来说一下如何能改变 this 指向也就是说, 你指向哪我不管, 我让你指向哪, 你就得指向哪开局在函数的原型( Function.prototype ) 上有三个方法callapplybind既然是在函数的原型上, 那么只要是函数就可以调用这三个方法…...
Cobalt Strike---(2)
数据管理 Cobalt Strike 的团队服务器是行动期间Cobalt Strike 收集的所有信息的中间商。Cobalt Strike 解析来 自它的 Beacon payload 的输出,提取出目标、服务和凭据。 如果你想导出 Cobalt Strike 的数据,通过 Reporting → Export Data 。Cobalt Str…...
docker的命令使用和相关例子
Docker是一种流行的容器化平台,可以帮助开发人员更轻松地构建、发布和管理应用程序。下面是一些Docker的命令使用和相关例子: Docker镜像相关命令: 搜索Docker镜像: docker search 例子:docker search ubuntu 下载D…...
23模式--代理模式
本篇主要聊一些23中模型中的代理模式: 看一下百度百科的解释: 代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目…...
【Linux】信号的产生、保存、捕捉处理 (四种信号产生、核心存储、用户态与内核态、信号集及其操作函数)
文章目录1、什么是信号?2、信号的产生2.1 通过键盘产生信号2.2 通过系统调用产生信号2.3 硬件异常产生的信号2.4 由软件条件产生的信号2.5 进程的核心转储3、信号的保存4、信号的捕捉4.1 用户态和内核态4.2 用户态到内核态的切换4.3 信号捕捉过程5、信号集操作函数以…...
redis经典五种数据类型及底层实现
目录一、Redis源代码的核心部分1.redis源码在哪里2.src源码包下面该如何看?二、我们平时说redis是字典数据库KV键值对到底是什么1.6大类型说明(粗分)2.6大类型说明3.上帝视角4.Redis定义了redisObject结构体4.1 C语言struct结构体语法简介4.2 字典、KV是什么4.3 red…...
三十而立却被裁,打工人要如何应对职场危机?
又到金三银四就业季,对于部分职场人来说,年龄成为了他们找工作的最大限制。 因为绝大部分企业招聘中层干部以下岗位的时候,都会要求年龄不超过35周岁,再加上每年千万毕业生涌入社会,竞争程度相当激烈,这就导…...
java面试-java基础
char 变量能不能存贮一个中文汉字?为什么? char 变量可以存贮一个汉字,因为 Java 中使用的默认编码是 Unicode ,一个 char 类型占 2 个字节(16 bit),一个汉字是2个字节,所以放一个中…...
Kafka 消息不丢失
Kafka 消息不丢失生产者丢失消费者丢失不丢失配置Kafka 保证消息不丢失:只对已提交的消息 (committed message) 做有限度的持久化保证 已提交的消息:当 n 个 Broker 成功接收到该消息并写入到日志文件后,就告诉生产者该消息已成功提交有限度…...
ASEMI高压MOS管10N65参数,10N65规格,10N65封装
编辑-Z ASEMI高压MOS管10N65参数: 型号:10N65 漏极-源极电压(VDS):650V 栅源电压(VGS):30V 漏极电流(ID):10A 功耗(PDÿ…...
LeetCode-416. 分割等和子集
目录题目分析回溯法动态规划动态规划(压缩)题目来源 416. 分割等和子集 题目分析 这道题目是要找是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 那么只要找到集合里能够出现 sum / 2 的子集总和,就算是可以分割成两个相同元素和子集了…...
2021年 第12届 蓝桥杯 Java B组 省赛真题详解及小结【第2场省赛 2021.05.09】
一、试题A:求余(本题总分:5 分) 得:5分 本题总分:5 分 【问题描述】 在 C/C/Java/Python 等语言中,使用 % 表示求余,请问 2021%20 的值是多少? 【答案提交】 这是一道结果…...
elasticSearch写入原理
elasticSearch写入原理 最近学习完了es相关的课程整理除了es的核心内容,学习这东西知其然知其所以然,自己按照自己的理解整理了es相关的面试题。先热个身,整理一下es的写入原理,有不对的地方请大家指正。 这些原理的东西我觉得还是…...
第十四届蓝桥杯模拟赛(第三期)Python
1 进制转换 问题描述 请找到一个大于 2022 的最小数,这个数转换成十六进制之后,所有的数位(不含前导 0)都为字母(A 到 F)。 请将这个数的十进制形式作为答案提交。 答案:2730 def ch…...
Pytorch模型参数的保存和加载
目录 一、前言 二、参数保存 三、参数的加载 四、保存和加载整个模型 五、总结 一、前言 在模型训练完成后,我们需要保存模型参数值用于后续的测试过程。由于保存整个模型将耗费大量的存储,故推荐的做法是只保存参数,使用时只需在建好模…...
面试热点题:回溯算法之组合 组合与组合总和 III
什么是回溯算法? 回溯算法也可以叫回溯搜索算法,回溯是递归的"副产品",回溯的本质是穷举,然后选出我们需要的数据,回溯本身不是特别高效的算法,但我们可以通过"剪枝"来优化它。 理解回溯算法 回溯…...
java面试-jvm
JVM JVM 是 java 虚拟机,简单来说就是能执行标准 java 字节码的虚拟计算机 JVM 是如何工作的 首先程序在执行之前先要把 Java 代码(.java)转换成字节码(.class),JVM 通过类加载器(ClassLoade…...
vscode下载与使用
1.vscode下载 官网下载地址:Download Visual Studio Code - Mac, Linux, Windows下载太慢,推荐文章:解决VsCode下载慢问题_vscode下载太慢_迷小圈的博客-CSDN博客下载太慢,推荐下载链接:https://vscode.cdn.azure.cn/s…...
人员摔倒识别预警算法 opencv
人员摔倒识别预警算法通过opencv网络模型技术,人员摔倒识别预警算法能够智能检测现场画面中人员有没有摔倒,无需人为干预可以立刻抓拍告警。OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉处理开源软件库&…...
华为OD机试题 - 火星文计算(JavaScript)| 机考必刷
更多题库,搜索引擎搜 梦想橡皮擦华为OD 👑👑👑 更多华为OD题库,搜 梦想橡皮擦 华为OD 👑👑👑 更多华为机考题库,搜 梦想橡皮擦华为OD 👑👑👑 华为OD机试题 最近更新的博客使用说明本篇题解:火星文计算题目输入输出示例一输入输出说明Code解题思路版权说明…...
AI人工智能 - 初探
1.应用场景 主要用于了解和系统学习AI,从而可以在工作生活中利用AI做一些事。 2.学习/操作 1.文档阅读 下面的内容来自于与chatGPT的对话 2.整理输出 介绍AI 人工智能(Artificial Intelligence,简称AI)是计算机科学中的一个分支&…...
Spring-AOP工作流程
Spring-AOP工作流程 3,AOP工作流程 3.1 AOP工作流程 由于AOP是基于Spring容器管理的bean做的增强,所以整个工作过程需要从Spring加载bean说起: 流程1:Spring容器启动 容器启动就需要去加载bean,哪些类需要被加载呢?需要被增强的类,如:B…...
C51---串口发送指令,控制LED灯亮灭
1.Code: #include "reg52.h" #include "intrins.h" sfr AUXR 0x8E; sbit D5 P3^7; void UartInit(void) //9600bps11.0592MHz { //PCON & 0x7F; //波特率不倍速 AUXR 0x01; SCON 0x50; //8位数据,可变波…...
【Wiki】XWiki数据备份
XWiki为主题使用java开发的开源wiki,官网地址如下: https://www.xwiki.org/xwiki/bin/view/Main/ 目录1、 XWiki升级数据备份1.1、 获取XWiki配置的数据库与持久化目录信息1.2 备份数据库信息1.3 备份持久化目录2、XWiki数据迁移如果一个知识库不能确保数…...
ctk框架开发Qt插件应用示例工程
目录 前言 约定 插件工程pluginApp: 主启动工程StartApp: 效果演示 结语...
spring5源码篇(4)——beanFactoryPostProcessor执行/注解bean的装配
spring-framework 版本:v5.3.19 前面研究了beanDefinition的注册,但也仅仅是注册这一动作。那么在spring容器启动的过程中,是何时/如何装配的?以及装配的bean是如何注入的? (考虑到xml方式基本不用了以及篇…...
masstransit的message几个高级用法
1)问题,Class MessageA 基类,Class MessageB继承自MessageA; 用bus.Publish方法本想把有些消息只发给B队列,结果由于其继承关系A队列也获得了消息; 解决方法用send, Uri uri new Uri(RabbitM…...
西安的网站设计单位/互联网营销师报名官网
UPS不间断电源,是将蓄电池与主机相连接,通过主机逆变器等模块电路将直流电转换成市电的系统设备。主要用于给单台计算机、计算机网络系统或其它电力电子设备如电磁阀、压力变送器等提供稳定、不间断的电力供应。 UPS不间断电源现已广泛应用于:…...
手机网站触屏版/引流客户的最快方法是什么
先赞后看,养成好习惯!这里讲的分区,此“区”非彼“区”,这里讲的分区的意思是指将同一表中不同行的记录分配到不同的物理文件中,几个分区就有几个.idb文件。一.InnoDB逻辑存储结构首先要先介绍一下InnoDB逻辑存储结构和…...
一块钱涨1000粉网站/手机免费建网站
相关链接:(1 封私信 / 58 条消息) 量子退相干到底是什么意思? - 知乎 (zhihu.com) 一、量子相干 量子比特需要处在相互依赖的叠加态——也被称为“量子相干”的状态。量子相干性是量子比特的一个核心参数,表明量子比特维持其量子特性的能力。 量子相干叠加&#x…...
专业网站设计公司哪里有/深圳网络推广服务公司
临江仙 庭院深深深几许,云窗雾阁常扃,柳梢梅萼渐分明,春归秣陵树,人老建康城。 感月吟风多少事,如今老去无成,谁怜憔悴更凋零,试灯无意思,踏雪没心情。 最近啊,心里总是有…...
成都网站建设v芯ee8888e/国内做网站比较好的公司
Recompile:对选定的目标(Java 类文件),进行强制性编译,不管目标是否是被修改过。 Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过。由…...
金融类网站模板/电子商务网站建设与维护
大家好,我们今日继续讲解VBA代码解决方案的第139讲内容:理解Word的段落标记以及如何通过VBA来设置段落的标记。当通过VBA处理文本时,我们必须理解 Word中段落标记的意义。其实,Word 文档就是一个巨大的字符流。这种字符流是单词&a…...