学习笔记——动态路由——OSPF聚合(汇总)

十一、OSPF聚合(汇总)

1、路由聚合(汇总)

路由汇总是一种重要的思想,在大型的项目中是必须考虑的一个重点事项。随着网络的规模越来越大,网络中的设备所需维护的路由表项也就会越来越多,路由表的规模也就会逐渐变大,而路由表是需要占用设备的内存空间的,路由的查询也是需要占用设备的资源的。

因此需要考虑(尤其在一些大型的网络中)在保证网络中路由畅通的同时,减小路由表的规模。在不使用路由汇总的情况下,每个链路的LSA会发送到OSPF骨干一级其他区域中,这就造成了不必要的网络流量和路由开销。假如使用路由汇总,只有汇总的路由会传播到骨干区域,避免了大量LSA占用带宽,CPU以及内存资源。即便链路出现了故障,这种变化也不会传播到骨干网络中,使得骨干网络更加稳定。

几乎所有的路由协议都支持路由汇总。RIP、EIGRP等协议支持自动及手工路由汇总,而OSPF只支持手工路由汇总

路由聚合(Route Aggregation or Route Summarization,路由汇总):是指ABR可以将学习到的具有相同前缀的路由信息,按照一定的规则聚合到一起,只发布一条路由到其它区域。

一般来说,路由汇总可以大大减少设备路由表项和转发表项。一方面可以减轻设备的负担,另一方面也可以让设备保存更多不同地址的路由。

作用:通过汇总路由的方式减小路由表规模以及优化设备资源利用率。

缺陷:最大的问题是它会导致黑洞路由。

(上图)R2将学习到外网10.1.1.0/28的路由发送给R1,R1将这条路由汇总为10.1.1.0/24。如果R2配备了到R1的默认路由,此时如果R1收到发往10.1.1.1/28的数据包,就会转发给R2,而R2上没有到10.1.1.1/28的路由,就会发送数据数据包返回到R1,在这种情况下,会生成一个循环。因此,在配置路由汇总的过程中,需要慎重考虑是否会导致此类问题。

(1)路由聚合的优/缺点

1)针对明细路由做汇总可以有效地减少OSPF路由器的数据库条目也就是路由表条目,合理的节省了设备性能。

2)可以隐藏明细路由不稳定所造成的路由震荡问题。

3)在双出口做路由聚合时,有一个做,有一个没做会影响到路由选路。

(2)OSPF汇总的使用场景

  当OSPF域内某台ASBR(自治域边界路由器)设备重分布了大量的路由进入OSPF域内,而这些路由条目又是连续的,可以汇总成几条子网掩码更大的路由条目的时候,就可以考虑在ASBR设备上做路由汇总,以便向OSPF域内传递的时候只通告这些汇总的路由,减少OSPF域内的路由数量,节约设备资源。

  当OSPF域内某台ABR(区域边界路由器)设备学习到了普通区域传递过来的大量的路由,而这些路由条目又是连续的,可以汇总成几条子网掩码更大的路由条目的时候,就可以考虑在这台ABR设备上做路由汇总,以便这些路由条目经过骨干区域(area 0)传递到其他普通区域的时候只通告这些汇总的路由,减少OSPF域内的路由数量,节约设备资源。

(3)为什么我们需要OSPF路由汇总?

对于OSPF边缘路由器,我们可以配置stub area、total stub area、NSSA area或total NSSA area来减少其存储的LSDB和OSPF路由表项。但是如果骨干路由器上的LSDB表项太多,或者不是骨干但不能配置为特殊区域的区域,如何减少这些路由器上的LSDB和OSPF路由数量呢?

从前面的描述可以知道,可以通过路由汇总来实现。

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

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

概念:将多条具有相同前缀的路由聚合成一条,通告到其他区域

目的:1.减少维护数据库的规模  2.减少路由表维护数量  3.减少其他区域不稳定链路的影响

2、聚合机制

与RIP不同,OSPF不支持自动路由聚合,仅支持手动路由聚合

(1)OSPF路由聚合方式

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

区域间路由聚合,必须配置在ABR路由器上。ABR把与自己直接相连区域(Area)的路由进行聚合,把Type-1和Type-2 LSA转换成Type-3 LSA时,对生成的Type-3 LSA进行聚合。从而减少传播至与自己直接相连的其他区域的Type-3 LSA的数量。

需要特别强调的是,区域间路由只能聚合由Type-1 LSA或Type-2 LSA产生的路由;如果路由是由外部或其他区域传到本区域的(或者说路由是由Type-5 LSA或 Type-3 LSA生成的),则对于这样的路由ABR是不能够进行聚合的。

域外汇总(外部路由聚合):必须配置在ASBR路由器上,在ASBR路由器上,针对引入OSPF网络的外部路由进行的聚合目的是减少在OSPF网络中的Type-5 LSA的数量

对于NSSA区域,当该区域的ABR将Type-7 LSA转换为Type-5 LSA时,该ABR也可以充当ASBR的角色,并对Type-5 LSA进行聚合。需要注意的是,当NSSA区域存在多台ABR时,必须由Router-ID最大的ABR进行Type-7 LSA到Type-5 LSA的转换操作。

NSSA区域的外部路由聚合有两种方式:

1)在NSSA区域的ASBR上直接对外部路由进行聚合,

2)在NSSA区域中Router-ID最大的、负责将Type-7 LSA转成Type-5 LSA的ABR上进行聚合。

1)OSPF区域间路由汇总(ABR聚合)

仅针对本区域域内路由(以O开头的域内路由)做汇总,本区域的OIA的域间路由没有办法汇总。

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

OSPF区域间路由聚合是指当OSPF LSA在不同区域间扩散时,通过在ABR上配置,将多条LSA聚合为一个LSA,然后进行扩散操作。

        

(如上左图)假设R1和R2之间的网段是10.1.1.0/24,R2和R3之间的网段是10.1.0.0/24网段,那么在R4和R5上,你会学到两条OSPF路由,即10.1.1.0/24和10.1.0.0/24。如果我们把R1上的这两个网段汇总起来,汇总成10.1.0.0/23,那么R4和R5上就只有一个OSPF网段,即10.1.0.0/23。

需要注意的是,在ABR上配置路由聚合时,需要在区域下进行配置。(如上左图)我们要汇总区域1中的两个网段10.1.0.0/24和10.1.1.0/24,那么需要在R1的区域1下配置聚合。

观察R1和R4上的LSDB数据,我们可以看到R1将10.1.1.0/24和10.1.0.0/24两条路由聚合成一个 LSA发送到区域0。

[R1]display ospf lsdb

OSPF Process 1 with Router ID 10.1.14.1

Link State Database

Area:0.0.0.0

Type          LinkStateID        AdvRouter     Age       Len       Sequence      Metric  

Router        10.1.14.1          10.1.14.1     1353     36       88888886           1

Router        10.1.14.4          10.1.14.4     1362     36       80088083           1

Network       10.1.14.1          10.1.14.1     1353     32       80880002           0

Sum-Net       10.1.0.0           10.1.14.1     1130     28       80888882           2

Area:0.0.0.1

Type          LinkStateID        AdvRouter     Age      Len      Sequence      Metric  

Router        10.1.0.2           10.1.0.2      1366     48       88888885           1

Router        10.1.14.1          10.1.14.1     1396     36       88888885           1

Network       10.1.1.1           10.1.14.1     1396     32       88888882           0

Sum-Net       10.1.14.0          10.1.14.1     1438     28       80888881           1

[R4]display ospf lsdb

OSPF Process 1 with Router ID 10.1.14.4

Link State Database

Area:0.0.0.0

Type          LinkStateID        AdvRouter     Age      Len      Sequence      Metric  

Router        10.1.14.1          10.1.14.1     1393     36       808868861          1

Router        10.1.14.4          10.1.14.4     1488     36       800000031          1

Network       10.1.14.1          10.1.14.1     1393     32       800660820          0

Sum-Net       10.1.0.0           10.1.14.1     1170     28       80000002           2

2)OSPF外部路由汇总(ASBR聚合)

配置路由聚合后,如果本地设备是自治系统边界路由器ASBR,将对引入的聚合地址范围内的Type5 LSA进行聚合。当配置了NSSA区域时,还要对引入的聚合地址范围内的Type7 LSA进行聚合。

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

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

ASBR:针对重分发进来的外部路由做路由汇总

除了OSPF区域间路由汇总,OSPF引入外部路由时,我们还可以在ASBR上配置路由聚合。

        

与OSPF 区域间路由聚合类似,OSPF 外部路由聚合也是在路由聚合完成后根据聚合路由生成LSA 进行扩散。

查看R2上的LSDB,可以看到聚合的LSA。

3、汇总(聚合)计算方法

(1)简单的,同一子网的汇总

(下左图)判断第几位发生变化,转换成二进制,将不变的位,保留下来作为子网掩码的位数=16+5=21。也可以算变化的位24-3=21,变化的位全部值为0,那么这个时候的网络地址就是汇总后的地址。

192.168.00000000.0/21=192.168.0.0/21(255.255.248.0)

案例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。

(2)复杂的,不同子网的汇总

首先判断是第几段的地址位发生变化,后面的可以忽略,汇总成这个段的地址的主网络号,其次使用上面简单的处理方法 ,汇总后子网为8+1=9 或者16-7=9

4、配置OSPF路由汇总

配置OSPF路由聚合分为:配置OSPF域间路由聚合和配置OSPF外部路由聚合。

注意:OSPF区域间路由聚合只能在ABR上配置,OSPF外部路由聚合只能在ASBR上配置。

配置区域间路由汇总

[R1] ospf 1

[R1-ospf-1] area 1

[R1-ospf-1-area-0.0.0.1] abr-summary 10.1.0.0 255.255.254.0

配置外部路由汇总

[R3] ospf 1

[R3-ospf-1] asbr-summary 1.1.0.0 255.255.252.0

(1)OSPF路由汇总案例(一)

 

(上图所示)R1、R2、R3、R4及R5运行OSPF,OSPF区域的规划如图。

  R5将三个直连网段(172.16.1.0/24、172.16.2.0/24、172.16.3.0/24)都network到OSPF。

  R1将三个直连网段(10.1.1.0/24、10.1.2.0/24、10.1.3.0/24)都重发布到OSPF。

完成上述配置后,所有的路由器应该都能学习到全网的路由。在ABR上执行路由汇总(下图所示)

在R3(ABR)上对Area2内的路由执行汇总:

  [R3]router ospf 1

  [R3]area 2 range 172.16.0.0 255.255.0.0 cost ?

注意,这种汇总方式(area range)只能在ABR上配置,而且只能对ABR直接连接的区域中的Intra-Area路由(区域内部路由)执行汇总。

R3执行汇总后,R1及R2的路由表中将出现172.16.0.0/16的汇总路由,而不会再学习到明细路由。如此一来,R1及R2的路由表就精简了,而且当它们需要访问R5下挂的那三个网段时,可以通过这条汇总路由到达。

  要强点的是,如果不是在R3,而是在R2上对R5下挂的网段进行汇总,则无法实现。因此此时R3作为ABR,已经将描述这些网段的3类LSA注入到了Area0,而在R2上,是无法对这些3类LSA进行路由汇总的。 在ASBR上执行路由汇总(下图所示)

 

在R1上对其自己重发布进OSPF的路由执行汇总:

  router ospf 1

  summary-address 10.1.0.0 255.255.0.0

  完成上述配置后,R2、R3、R4及R5都会学习到一条10.1.0.0/16的汇总路由(使用Type-5 LSA描述),而不会再学习到10.1.1.0/24、10.1.2.0/24以及10.1.3.0/24这三条明细路由。

在NSSA的ABR上执行路由汇总

 

  将网络做一点小小的变更,Area1被配置为NSSA。R1将三条直连路由引入NSSA,R2会学习到这三条外部路由(Type-7 LSA),并执行Type-7 LSA转Type-5 LSA的动作,因此其实R2既是ABR又是ASBR,这些Type-5 LSA是由其产生的,那么R2也能执行路由汇总:

  router ospf 1

  summary-address 10.1.0.0 255.255.0.0

OSPF汇总路由的防环设计

 

   在上图所示的场景中,R3将R5下挂的三个子网汇总成172.16.0.0/16并向R2通告这条汇总路由。R1则下发一条OSPF默认路由到整个OSPF域。此时R5下挂的某个子网里有PC中毒,疯狂扫描一个并不存在的子网的IP地址(如172.16.222.0/24子网),这些数据包被发给网关R5,R5通过路由表查询,最终将这些报文依照默认路由进行转发,也就是发送给R4,而R4也一样,将报文依照默认路由转发给R3,R3再转给R2,而R2由于已经收到R3传递过来的汇总路由(172.16.0.0/16),因此经过路由表查询后,数据包的目的地址匹配上了这条汇总路由,于是它又把这些数据包丢回去给R3,数据包的目的地址在R3处匹配了默认路由,又被丢回R2,如此反复,直到报文的TTL递减为0。这就出现了环路。

  OSPF为了解决这个问题,在执行路由汇总时,会在本地自动产生一条指向Null0的路由。例如在R3处执行了路由汇总,则它会自动产生一条指向Null0的路由:

  O       172.16.0.0/16 is a summary, 00:00:02, Null0

  这样一来当再有类似事件发生,数据包将在R3这就被丢弃(匹配Null0路由)。

实际上,当执行路由汇总时,自动在本地路由表产生一条指向Null0的路由是一种非常常规的防环手段,许多动态路由协议都具备这个特征。

(2)OSPF路由汇总案例(二)

域间汇总,在ABR上进行

R1配置:

  router ospf 100

  router-id 1.1.1.1

  network 1.1.1.1 0.0.0.0 area 0

  network 12.1.1.0 0.0.0.255 area 0

R2配置:

  router ospf 100

  router-id 2.2.2.2

  network 2.2.2.2 0.0.0.0 area 0

  network 12.1.1.0 0.0.0.255 area 0

   network 23.1.1.0 0.0.0.255 area 1

  network 24.1.1.0 0.0.0.255 area 2

R3配置:

  router ospf 100

  router-id 3.3.3.3

  network 3.3.3.3 0.0.0.0 area 1

  network 192.168.20.1 0.0.0.255 area 1

  network 192.168.21.1 0.0.0.255 area 1

  network 192.168.22.1 0.0.0.255 area 1

  network 192.168.23.1 0.0.0.255 area 1

  network 23.1.1.0 0.0.0.255 area 1

R4配置:

  router ospf 100

  router-id 4.4.4.4

  network 4.4.4.4 0.0.0.0 area 2

  network 192.168.32.0 0.0.0.255 area 2

  network 192.168.33.0 0.0.0.255 area 2

  network 192.168.34.0 0.0.0.255 area 2

  network 192.168.35.0 0.0.0.255 area 2

  network 192.168.36.0 0.0.0.255 area 2

  network 192.168.37.0 0.0.0.255 area 2

  network 192.168.38.0 0.0.0.255 area 2

  network 192.168.39.0 0.0.0.255 area 2

  network 24.1.1.0 0.0.0.255 area 2

  show ip route 查看路由表可以看见,由于域间路由的传播,R1上多达进20条路由,有R3宣告的4个。R4宣告的8个192.68网段的路由如果不进行汇总,会泛洪到全网,所以我们应该在Area 1和Area 2的ABR,也就是R2上进行汇总操作,具体操作如下:  

  R2(config)#router ospf 100 

  R2(config-router)#area 1 range 192.168.20.0 255.255.252.0

  R2(config-router)#area 2 range 192.168.32.0 255.255.248.0

此时查看R1的路由表,发现

  O IA 192.168.20.0/22 [110/21] via 12.1.1.2

   O IA 192.168.32.0/21 [110/12] via 12.1.1.2

  可以看见,Area 1和Area 2上的192.168网段已经完成了汇总。这样会节省很多资源,拓扑发生变化也不会影响Area 0的路由表。

  域外汇总,在ASBR上进行

  拓扑图不变,但将Area 2变为EIGRP 

R2更改配置

  router ospf 100

  no network 24.1.1.0 0.0.0.255 area 2

  router eigrp 90

  no auto-summary

  network 24.1.1.0 0.0.0.255

R4更改配置

  no router ospf 100

  router eigrp 90

  no auto-summary

    network 24.1.1.0 0.0.0.255

    network 4.4.4.4 0.0.0.0

    network 192.168.32.0 0.0.0.255

    network 192.168.33.0 0.0.0.255

    network 192.168.34.0 0.0.0.255

    network 192.168.35.0 0.0.0.255

    network 192.168.36.0 0.0.0.255

    network 192.168.37.0 0.0.0.255

    network 192.168.38.0 0.0.0.255

    network 192.168.39.0 0.0.0.255

之后在R2上进行双向重分发

     router ospf 100

    redistribute eigrp 90 subnets

     router eigrp 90

    redistribute ospf 100 metric 1000 1 255 1 1500

  可以看见O E2标记的为外部的EIGRP路由,并没有汇总。

在R2上进行域间路由汇总

     router ospf 100

    summary-address 192.168.32.0 255.255.248.0

然后查看R1的路由表

  O IA 192.168.20.0/22 [110/21] via 12.1.1.2

  O E2 192.168.32.0/21 [110/20] via 12.1.1.2

  已经完成汇总。


整个华为数通学习笔记系列中,本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记,某些笔记段落中可能有部分文字或图片与网络中有雷同,并非抄袭。完处于学习态度,觉得这段文字更通俗易懂,融入了自己的学习笔记中。如有相关文字涉及到某个人的版权利益,可以直接联系我,我会把相关文字删除。【VX:czlingyun    暗号:CSDN】

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

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

相关文章

【TB作品】51单片机 Proteus仿真 超声波LCD1602ADC0832 身高体重测量仪

00024 超声波LCD1602ADC0832 实验报告:基于51单片机的身高体重测量仪设计 背景介绍 本实验设计并实现了一个基于51单片机的身高体重测量仪。该系统利用超声波传感器测量高度,通过ADC0832模数转换芯片获取重量数据,并使用LCD1602显示屏显示…

系统测试-测试方法学习

目录 (1)等价类 (2)边界值 (3)正交:(只用于确定排列组合,不确定具体内容) (4)判定表法 (5)流程分析法 (6&#xff0…

Day05-04-持续集成总结

Day05-04-持续集成总结 1. 持续集成2. 代码上线目标项目 1. 持续集成 git 基本使用, 拉取代码,上传代码,分支操作,tag标签 gitlab 用户 用户组 项目 , 备份,https,优化. jenkins 工具平台,运维核心, 自由风格工程,maven风格项目,流水线项目, 流水线(pipeline) mavenpom.xmlta…

uni-app使用ucharts地图,自定义Tooltip鼠标悬浮显示内容并且根据@getIndex点击事件获取点击的地区下标和地区名

项目场景: uni-app使用ucharts地图,自定义Tooltip鼠标悬浮显示内容并且根据getIndex点击事件获取点击的地区下标和地区名 例如: 问题描述 官方给的文档有限,需要自己下载地图json数据然后自己渲染和编写鼠标悬浮显示内容以及获取点击地址…

在DevEco运行typeScript代码,全网详细解决执行Set-ExecutionPolicy RemoteSigned报出的错

目录 基本思路 网络推荐 本人实践 如下操作,报错: 基本思路 //在DevEco运行typeScript代码 /** * 1.保证node -v出现版本,若没有,配置环境变量(此电脑-属性-高级系统变量配置-path-粘贴路径);DevEco在local.properties中可看到当前nodejs的路径 * 2.npm install …

【Transformer】transformer模型结构学习笔记

文章目录 1. transformer架构2. transformer子层解析3. transformer注意力机制4. transformer部分释疑 图1 transformer模型架构 图2 transformer主要模块简介 图3 encoder-decoder示意图N6 图4 encoder-decoder子层示意图 1. transformer架构 encoder-decoder框架是一种处理NL…

strcpy,srtcmp,strlen函数漏洞利用

strcpy,srtcmp,strlen函数漏洞利用 strcpy strcpy函数用于将字符串复制到另一个指针指向的空间中,遇到空字符 **b’x\00’**时停止,: 所以可以利用 strcpy不检查缓冲区 的漏洞(构造的字符串要以\0结尾),…

Android平台崩溃和 ANR 问题进行符号化解析、解析崩溃日志的内存地址

使用Android Logcat Stacktrace Utility | Android Logcat | 1.2.3 1.设置so库路径 2.打开Stacktrace Utility工具 3.在Original粘贴报错内存地址 4.点击Resolve Stacktraces,就会解析出内存地址 如果是红色,解析失败了,缺少原生so库,可以在第一步添加so库文件再次尝试…

freemarker生成pdf,同时pdf插入页脚,以及数据量大时批量处理

最近公司有个需求&#xff0c;就是想根据一个模板生成一个pdf文档&#xff0c;当即我就想到了freemarker这个远古老东西&#xff0c;毕竟freemarker在模板渲染方面还是非常有优势的。 准备依赖&#xff1a; <dependency><groupId>org.springframework.boot</gr…

【植物大战僵尸杂交版】获取+存档插件

文章目录 一、还记得《植物大战僵尸》吗&#xff1f;二、在哪下载&#xff0c;怎么安装&#xff1f;三、杂交版如何进行存档功能概述 一、还记得《植物大战僵尸》吗&#xff1f; 最近&#xff0c;一款曾经在15年前风靡一时的经典游戏《植物大战僵尸》似乎迎来了它的"文艺复…

EN-SLAM:Implicit Event-RGBD Neural SLAM解读

论文路径&#xff1a;https://arxiv.org/pdf/2311.11013.pdf 目录 1 论文背景 2 论文概述 2.1 神经辐射场&#xff08;NeRF&#xff09; 2.2 事件相机&#xff08;Event Camera&#xff09; 2.3 事件时间聚合优化策略&#xff08;ETA&#xff09; 2.4 可微分的CRF渲染技术…

CosyVoice多语言、音色和情感控制模型,one-shot零样本语音克隆模型本地部署(Win/Mac),通义实验室开源

近日&#xff0c;阿里通义实验室开源了CosyVoice语音模型&#xff0c;它支持自然语音生成&#xff0c;支持多语言、音色和情感控制&#xff0c;在多语言语音生成、零样本语音生成、跨语言声音合成和指令执行能力方面表现卓越。 CosyVoice采用了总共超15万小时的数据训练&#…

学习笔记——动态路由——OSPF(邻接/邻居)

十、OSPF的邻接/邻居 1、OSPF路由器之间的关系 (1)基本介绍 在OSPF网络中&#xff0c;为了交换链路状态信息和路由信息&#xff0c;邻居设备之间首先要建立邻接关系&#xff0c;邻居(Neighbors)关系和邻接(Adjacencies)关系是两个不同的概念。 OSPF路由器的两种关系&#x…

创建线程的五种方式

一.继承Thread ,重写run class MyThread extends Thread{Overridepublic void run() {//这里的内容就是该线程要完成的工作while(true) {System.out.println("hello thread");try {Thread.sleep(1000);} catch (InterruptedException e) {throw new RuntimeExceptio…

【CUDA】

笔者在学习Softmax实现时遇到了一个问题&#xff0c;很多文章直接将softmax的计算分成了五个过程&#xff0c;而没有解释每个过程的含义&#xff0c;尤其是在阅读这篇文章时&#xff0c;作者想计算最基本的softmax的效率&#xff0c;以展示可行的优化空间&#xff1a; 贴一个g…

windows 服务器安装svn服务端、迁移svn

svn服务器版本 因为要把旧svn迁移到新的svn&#xff0c;为了保证迁移后的稳定性&#xff0c;安装包使用的旧服务器的svn服务器版本 VisualSVN-Server-3.6.1-x64.msi 安装 配置仓库路径等 其他没截图的就默认配置下一步即可。安装完成先不要启动 迁移 旧的svn服务器直接把…

软件工程(上)

目录 软件过程模型&#xff08;软件开发模型&#xff09; 瀑布模型 原型模型 V模型 构件组装模型 螺旋模型&#xff08;原型瀑布&#xff09; 基于构件的软件工程&#xff08;CBSE&#xff09; 快速应用开发模型&#xff08;RAD&#xff09; 统一过程&#xff08;UP&a…

论文复现-基于决策树算法构建银行贷款审批预测模型(金融风控场景)

作者Toby&#xff0c;来源公众号&#xff1a;Python风控模型&#xff0c;基于决策树算法构建银行贷款审批预测模型 目录 1.金融风控论文复现 2.项目背景介绍 3.决策树介绍 4.数据集介绍 5.合规风险提醒 6.技术工具 7.实验过程 7.1导入数据 7.2数据预处理 7.3数据可…

SpringBoot3+Vue3开发园区管理系统

介绍 在当今快速发展的城市化进程中&#xff0c;高效、智能的园区管理成为了提升居民生活品质、优化企业运营环境的关键。为此&#xff0c;我们精心打造了全方位、一体化的园区综合管理系统&#xff0c;该系统深度融合了园区管理、楼栋管理、楼层管理、房间管理以及车位管理等…

基于S32K144驱动NSD8381

文章目录 1.前言2.芯片介绍2.1 芯片简介2.2 硬件特性2.3 软件特性 3.测试环境3.1 工具3.2 架构 4.软件驱动4.1 SPI4.2 CTRL引脚4.3 寄存器4.4 双极性步进电机驱动流程 5.测试情况6.参考资料 1.前言 最近有些做电磁阀和调光大灯的客户需要寻找国产的双极性步进电机驱动&#xf…