學習筆記——動態路由——OSPF(特殊區域)

十、OSPF特殊區域

1、技術背景

早期路由器靠CPU計算轉發,由于硬件技術限制問題,因此資源不是特別充足,因此是要節省資源使用,規劃是非常必要的。

OSPF路由器需要同時維護域內路由、域間路由、外部路由信息數據庫。當網絡規模不斷擴大時,LSDB規模也會不斷的增長。OSPF通過劃分區域可以減小區域內路由器LSDB的規模,給OSPF劃分區域:分為骨干區域和非骨干區域。

劃分區域這樣確實有效的減少了LSA的條目,但是一些非骨干區域的路由器還是會接收到較多的三類、四類、五類LSA。

OSPF的骨干區域的路由器一般性能會比較強大,能承載和維護更多的LSDB,但是一些非骨干區域的路由器可能并不能承載過大的LSDB,對于非骨干區域的低端路由器來說仍然無法承受。而且有一些非骨干區域的路由器不需要為其他區域提供流量的中轉,那么該區域內的路由器就沒有必要維護本區域外的LSDB。所以為了進一步減少路由器LSDB的規模以及LSA的數量,我們可以通過引入兩個特殊區域,Stub和Nssa區域,進一步減少LSA的數量和路由表的規模。。

OSPF的三種通信量

① 域內通信量:單個區域內的路由器之間交換數據包構成的通信量

② 域間通信量:不同區域的路由器之間交換數據包構成的通信量

③ 外部通信量:OSPF域內的路由器與OSPF區域外或另一個自治系統內的路由器之間交換數據包構成的通信量

2、特殊區域概述

在OSPF網絡中,Stub區域、Totally-stub區域、NSSA區域和Totally-NSSA區域是特殊的區域類型,用于在網絡中實現特定的路由聚合和傳輸策略。它們可以幫助簡化路由表、減小網絡開銷、提高網絡穩定性并適應不同網絡設計和需求

注意事項非骨干區域才能配置成特殊區域骨干區域不可以配置成特殊區域,就算配置了也不會生效,因為骨干區域鏈接多個區域,作為LSA的中轉站,一定是需要去傳輸LSA的。

主要作用

① 減少特殊區域LSA的數量?????????? ② 減少路由表的數量

特殊區域的局限性

① 特殊區域可能會產生次優路徑

② 特殊區域不能配置虛擬鏈路

③ 骨干區域不能配置為特殊區域

OSPF特殊區域的功能和優勢

區域類型

功能和優勢

Stub區域

將末端區域的網絡信息聚合為默認路由,簡化路由表,降低網絡開銷,加快路由收斂速度。

Totally-stub區域

在Stub區域的基礎上,將Area 0(主干區域)的外部路由信息也聚合為默認路由,進一步簡化路由表,優化網絡性能。

NSSA區域

允許傳輸末端區域的網絡信息到外部區域,但仍然聚合外部區域的網絡信息為默認路由,增加網絡安全性和管理靈活性。

Totally-NSSA區域

在NSSA區域的基礎上,允許Area 0(主干區域)的外部路由信息傳輸到NSSA區域,提供更大的靈活性和控制權。

3、特殊區域類型

OSPF的區域可分為兩種類型:

1)傳輸區域(Transit Area):除了承載本區域發起的流量和訪問本區域的流量外,還承載了源IP和目的IP都不屬于本區域的流量,即“穿越型流量”Area0。(如下圖)

2)末端區域(Stub Area):只承載本區域發起的流量和訪問本區域的流量Area1和Area2(如下圖)

主要有四種特殊區域:Stub末端區域、Totally Stub區域、NASS區域、Totally NASS區域

對于末端區域,需要考慮下幾個問題:

保存到達其他區域明細路由的必要性:訪問其他區域通過單一出口(這里為R2、R3),“匯總”路由相對明細路由更為簡潔。

設備性能:網絡建設與維護必須要考慮成本因素。末端區域中可選擇部署性能相對較低的路由器。

OSPF路由器計算區域內、區域間、外部路由都需要依靠收集網絡中的大量LSA,大量LSA會占用LSDB存儲空間,所以解決問題的關鍵是在不影響正常路由的情況下,減少LSA的數量。

(1)末梢區域(Stub Area)

末端區域/末節區域(Stub Area):用于表示一個網絡的最后節點,往后不會再有其它網絡節點接入。用于將網絡中的末端區域與主干區域(Area 0)相連

簡略特點:拒絕4、5類,生成3類默認路由。

Stub區域通過匯總外部路由,并使用默認路由,減少區域內路由器的負擔,并阻止來自其他區域的LSA信息。Stub區域的ABR,不向Stub區域內傳播接收到的AS外部路由,Stub區域中路由器的LSDB、路由表規模都會大大減小。

Stub區域是一種可選的配置屬性,但并不建議將每個區域都配置為Stub區域。通常來說,Stub區域位于自治系統的末梢,是那些只有一個ABR的非骨干區域。被設置為stub區域的區域不會學習其他區域的詳細路由條目為保證Stub區域能夠到達自治系統外部,Stub區域的ABR將生成一條3類LSA 0.0.0.0/0的默認路由(對應三類LSA),并發布給Stub區域中的其他路由器(以便訪問OSPF中其他區域的網絡)。

1)Stub區域的路由及3類LSA

R1作為ASBR引入多個外部網段,如果Area 2是普通區域,則R3將向該區域注入5類和4類LSA。

當把Area 2配置為Stub區域后,R3不會將5類LSA和4類LSA注入Area 2。

R3向Area 2發送用于描述缺省路由的3類LSA,Area 2內的路由器雖然不知道到達AS外部的具體路由,但是可以通過該默認路由到達AS外部。

???????

可以看出R5的路由表上有一條默認路由,下一跳是R3,到達其他區域???????

2)Stub區域的特點

為保證Stub區域能夠到達AS外部,Stub區域的ABR將生成一條缺省路由(使用3類LSA描述)。

1、骨干區域不能被配置為Stub區域

2、如果要將一個區域配置成Stub區域,則該區域中的所有路由器必須都要配置成Stub路由器。

3、Stub區域內不能存在ASBR,自治系統外部路由不能在本區域內傳播。區域內的路由器只需要維護默認路由,而不需要具體的外部路由信息

4、虛連接不能穿越Stub區域建立

5、當外部網絡發生變化后,Stub區域內的路由器是不會直接受到影響。

6、處于STUB區域中的路由設備,其LSDB中不允許出現4、5類LSA,但會生成一條3類的默認路由指向該特殊區域的ABR設備。

在Stub區域中只有域內路由和域間路由

3)配置

配置說明:

ospf 1 area 0 ????????//將接口GE 0/0添加到Area 0(主干區域)。

ospf 1 area 1 stub ???//將接口GE 0/1添加到Area 1,并配置為Stub區域。

R1的配置??????????????????????? ???? ????????????? R2的配置

router? ospf? 1????????????????????? ???? ???????? router? ospf? 1

network? 192.168.12.0? 0.0.0.255? area 1?????? ??? network? 192.168.12.0? 0.0.0.255? area 1

area? 1 stub???????????????????? ???? ????????????? network? 192.168.23.0? 0.0.0.255? area 0

area? 1 stub

通過命令display ospf lsdb查看該路由器所有LSA發現只有一類、二類、三類LSA,還有一條缺省三類LSA

[rtd]display ospf lsdb

???? ?OSPF Process 1 with Router ID 192.168.3.4

???? ???? ?Link State Database

???? ???? ???????? Area: 0.0.0.1

?Type????? LinkState ID??? AdvRouter????????? Age? Len?? Sequence?? Metric

?Router??? 192.168.3.4???? 192.168.3.4??????? 305? 36??? 80000006?????? 1

?Router??? 192.168.1.2???? 192.168.1.2??????? 308? 36??? 80000004?????? 1

?Network?? 192.168.3.4???? 192.168.3.4??????? 305? 32??? 80000002?????? 0

?Sum-Net?? 0.0.0.0???????? 192.168.1.2??????? 315? 28??? 80000001?????? 1?? 缺省三類LSA

?Sum-Net?? 192.168.4.0???? 192.168.1.2??????? 315? 28??? 80000001?????? 3

?Sum-Net?? 192.168.2.0???? 192.168.1.2??????? 315? 28??? 80000001?????? 2

?Sum-Net?? 192.168.1.0???? 192.168.1.2??????? 315? 28??? 80000001?????? 1

<rtd>dis ip routing-table

Route Flags: R - relay, D - download to fib

------------------------------------------------------------------------------

Routing Tables: Public

???????? Destinations : 11?????? Routes : 11??????

Destination/Mask??? Proto?? Pre? Cost????? Flags ?NextHop???????? Interface

?0.0.0.0/0? ?????????OSPF??? 10?? 2??????? D?? ??192.168.3.2???? GigabitEthernet0/0/0

2、完全(絕對)末梢區域(Totally Stub)

Totally-stub區域是一種更加精簡的Stub區域,除了將末端區域的具體網絡信息聚合為默認路由外,還將Area 0(主干區域)的外部路由信息也聚合為默認路由。

Totally STUB區域類似于STUB區域,但還阻止來自骨干區域的LSA信息。這樣可以進一步簡化區域內的路由表,并減少資源消耗。

在Total Stub Area中只有本區域內的路由。LSA3/4/5均不允許進入本區域,只存在1類、2類LSA。配置Total Stub Area后會在區域內自動的生成一條默認路由(以便訪問OSPF中其他區域的網絡)。

由stub區域的ABR設備產生一條3類LSA 0.0.0.0/0的默認路由,發布給stub區域中的其他路由器

3)Totally STUB區域的特點包括:

在Totally STUB區域中,外部路由被匯總為默認路由。

區域內的路由器只需要維護默認路由,而不需要具體的外部路由信息。

Totally STUB區域不會接收來自骨干區域的LSA信息。

所有末端區域和外部區域的路由信息都被聚合為一個默認路由。

Totally-stub區域內的路由器只知道默認路由,不知道任何具體的網絡信息。

3)配置:特殊區域的所有設備都要配置

ospf

area 0.0.0.2

stub no-summary //把區域2設置為stub區域,stub 區域的ABR上配置就可以

GE 0/0? ospf 1 area 0? //將接口GE 0/0添加到Area 0(主干區域)。

GE 0/1? ospf 1 area 1 stub ??//將接口GE 0/1添加到Area 1,并配置為Stub區域。

GE 0/2? ospf 1 area 2 stub no-summary ?//將接口GE 0/2添加到Area 2,并配置為Totally-stub區域。

查看RTD的LSDB:此時可以發現,三類LSA只剩下一條缺省三類LSA

[rtd]display ospf lsdb

???? ?OSPF Process 1 with Router ID 192.168.3.4

???? ???? ?Link State Database

???? ???? ???????? Area: 0.0.0.1

?Type????? LinkState ID??? AdvRouter????????? Age? Len?? Sequence?? Metric

?Router??? 192.168.3.4???? 192.168.3.4???????? 63? 36??? 8000000B?????? 1

?Router??? 192.168.1.2???? 192.168.1.2???????? 68? 36??? 80000005?????? 1

?Network?? 192.168.3.4???? 192.168.3.4???????? 63? 32??? 80000002?????? 0

?Sum-Net?? 0.0.0.0???????? 192.168.1.2???????? 74? 28??? 80000001?????? 1??? 缺省三類LSA

[rtd]dis ospf routing

???? ?OSPF Process 1 with Router ID 192.168.3.4

???? ???? ? Routing Tables

?Routing for Network

?Destination??????? Cost? Type?????? NextHop???????? AdvRouter?????? Area

?192.168.3.0/24???? 1???? Transit??? 192.168.3.4???? 192.168.3.4???? 0.0.0.1

?0.0.0.0/0????????? 2???? Inter-area 192.168.3.2???? 192.168.1.2???? 0.0.0.1

?Total Nets: 2?

?Intra Area: 1? Inter Area: 1? ASE: 0? NSSA: 0

4、非純末梢區域(NSSA)

(1)背景

OSPF規定Stub區域是不能引入外部路由的,這樣可以避免大量外部路由對Stub區域路由器帶寬和存儲資源的消耗。對于既需要引入外部路由又要避免外部路由帶來的資源消耗的場景,Stub區域就不再滿足需求了。因此產生了NSSA區域。

NSSA(Not-So-Stubby-Area)區域是一種允許傳輸外部路由信息的非純末梢區域。在NSSA區域中,末端區域可以通過NSSA區域向外傳遞自己的網絡信息,但仍然聚合外部區域的網絡信息為默認路由。

NSSA(Not-So-Stubby Area)在NSSA區域中允許存在ASBR,區域允許將外部路由引入OSPF區域,但LSA類型被修改以兼容OSPF,并提供更大的靈活性。這個外部路由在NSSA區域內以LSA 7存在。

當此LSA 7路由離開NSSA區域進入別的區域時,NSSA的ABR會進行LSA 7向LSA 5的轉換(如圖Area 6所示)。

本區域只允許LSA 3進入,禁止LSA4/5的進入。所以此區域有域內、域間和外部路由。

配置NSSA區域需要在區域內手工的創建一條默認路由(以便訪問OSPF中其他區域的網絡)。

# router ospf x

# area 6 nssa default-information-originate

兩者的差別在于,NSSA區域能夠將自治域外部路由引入并傳播到整個OSPF自治域中,同時又不會學習來自OSPF網絡其它區域的外部路由。

7類LSA是為了支持NSSA區域而新增的一種LSA類型,用于描述NSSA區域引入的外部路由信息

7類LSA的擴散范圍僅限于始發NSSA區域,7類LSA不會被注入到普通區域。

NSSA區域的ASBR將外部路由引入該區域后,使用7類LSA描述這些路由。

NSSA區域的ABR會將7類LSA轉化為5類LSA,并將該LSA注入到骨干區域,從而在整個OSPF域內泛洪。

NSSA區域的ABR會阻擋其他區域引入的外部路由引入本區域,即NSSA區域內不會存在4類及5類LSA,為了讓NSSA區域內的路由器能夠通過骨干區域到達AS外部,NSSA區域的ABR會自動向該區域注入一條7類LSA O N2 0.0.0.0/0缺省路由,該路由采用7類LSA描述。

本NSSA區域的路由器可以擁有ASBR,可以引入外部路由,該外部路由以7類LSA的形式在NSSA區域中存在。

由NSSA區域的ABR路由器將7類LSA轉換成5類LSA,如果有多個ABR,router-id大的ABR成為轉發者路由器。

(2)、NSSA區域的特點包括:

允許在NSSA區域中引入外部路由。

NSSA區域的ASBR(自治系統邊界路由器)將外部路由轉換為NSSA LSA類型。

NSSA區域內的其他路由器可以接收和轉發NSSA LSA。

末端區域可以傳遞自己的網絡信息到外部區域。

外部區域的網絡信息被聚合為一個默認路由。

Nssa區域的LSDB

當R5將外部路由192.168.3.0/24引入NSSA區域時R5作為ASBR生成7類LSA在Area 2內泛洪; R3生成使用7類LSA描述的缺省路由注入Area 2,Area 2內的路由器依然會收到R3注入的3類LSA

LSA的處理原則

當OSPF設備收到一條LSA進行新舊比較的原則

1.比較新收到的LSA和LSDB庫中的LSA的 SEQ 序列號 大的優先

2.校驗和大的更優

3.收到的LSA是否為3600s 如果是 那么收到的這條LSA 更優

4.新舊的LSA age時間相差15min 小的更優

5.如果沒有相差15min 那么就會保留先收到的

(3)配置:屬于nssa區域的所有設備都需要配置

ospf 1 router-id 55.1.1.1

area 0.0.0.2

nssa????????????????????????? ?????? ?//把區域2設置為nssa區域

ospf 1 router-id 11.1.1.1

nssa translator-always??????? ?????? //強制指定R1作為轉發者

參數:no-import-route??????????? //NSSA區域中的路由器,不允許引入外部路由

GE 0/0? ospf 1 area 0?????????? //將接口GE 0/0添加到Area 0(主干區域)。

GE 0/1? ospf 1 area 1 nssa? //將接口GE 0/1添加到Area 1,并配置為NSSA區域。

5、完全純末梢區域(Totally NSSA)

Totally-NSSA區域是一種更加靈活的NSSA區域,除了允許傳輸外部路由信息,還將Area 0(主干區域)的外部路由信息也傳輸到NSSA區域中。

Totally NSSA區域類似于NSSA區域,但還阻止來自骨干區域的LSA信息。這樣可以進一步控制區域內的資源消耗,并提供更高的靈活性。

??? 在NSSA區域中允許存在ASBR,所以也就可以引入外部路由。這個外部路由在NSSA區域內以LSA 7存在。當此LSA 7路由離開NSSA區域進入別的區域時,NSSA的ABR會進行LSA 7向LSA 5的轉換(如圖Area 7所示)。

??? 本區域禁止LSA3/4/5進入,只有本區域內路由和外部路由。配置Total NSSA Area后的ABR設備會在區域內自動的生成一條一條3類LSA 0.0.0.0/0的默認路由(以便訪問OSPF中其他區域的網絡)。

Totally NSSA區域的特點包括:

允許在Totally NSSA區域中引入外部路由。

Totally NSSA區域的ASBR將外部路由轉換為Totally NSSA LSA類型。

Totally NSSA區域內的其他路由器可以接收和轉發Totally NSSA LSA。

允許傳輸末端區域和外部區域的網絡信息。

Area 0(主干區域)的外部路由信息也傳輸到Totally-NSSA區域中。

配置:屬于nssa區域的ABR設備需要配

ospf 1 router-id 11.1.1.1

area 0.0.0.2

nssa no-summary ???????????????????//把區域2設置為totally nssa區域

GE 0/0? ospf 1 area 0 ?????????????? //將接口GE 0/0添加到Area 0(主干區域)。

GE 0/1? ospf 1 area 1 nssa ????????? //將接口GE 0/1添加到Area 1,并配置為NSSA區域。

GE 0/2? ospf 1 area 2 nssa no-summary //將接口GE 0/2添加到Area 2,并配置為Totally-NSSA區域。

6、四者的比較

Stub與NSSA

都是過濾4、5類LSA

Stub生成3類默認路由、NSSA生成7類默認路由

NSSA可引入外部路由作為7類LSA

TotallyStub與TotallyNSSA

都是過濾3、4、5類LSA

Totally Stub生成3類默認路由、Totally NSSA生成3類默認路由與7類默認路由

Totally NSSA仍然可以引入外部路由作為7類LSA傳遞


整個華為數通學習筆記系列中,本人是以網絡視頻與網絡文章的方式自學的,并按自己理解的方式總結了學習筆記,某些筆記段落中可能有部分文字或圖片與網絡中有雷同,并非抄襲。完處于學習態度,覺得這段文字更通俗易懂,融入了自己的學習筆記中。如有相關文字涉及到某個人的版權利益,可以直接聯系我,我會把相關文字刪除。【VX:czlingyun ? ?暗號:CSDN】

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/41656.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/41656.shtml
英文地址,請注明出處:http://en.pswp.cn/web/41656.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

電腦會議錄音轉文字工具哪個好?5個轉文字工具簡化工作流程

在如今忙碌的生活中&#xff0c;我們常常需要記錄和回顧重要的對話和討論。手寫筆記可能跟不上速度&#xff0c;而錄音則以其便捷性成為了捕捉信息的有力工具。但錄音文件的后續處理&#xff0c;往往讓人頭疼不已。想象一下&#xff0c;如果能夠瞬間將這些聲音轉化為文字&#…

spring-16

Spring 對 DAO 的支持 Spring 對 DAO 的支持是通過 Spring 框架的 JDBC 模塊實現的&#xff0c;它提供了一系列的工具和類來簡化數據訪問對象&#xff08;DAO&#xff09;的開發和管理。 首先&#xff0c;我們需要在 Spring 配置文件中配置數據源和事務管理器&#xff1a; &l…

Java筆試|面試 —— 子類對象實例化全過程 (熟悉)

子類對象實例化全過程 (熟悉) &#xff08;1&#xff09;從結果的角度來看&#xff1a;體現為繼承性 當創建子類對象后&#xff0c;子類對象就獲取了其父類中聲明的所有的屬性和方法&#xff0c;在權限允許的情況下&#xff0c;可以直接調用。 &#xff08;2&#xff09;從過…

iptables實現端口轉發ssh

iptables實現端口轉發 實現使用防火墻9898端口訪問內網front主機的22端口&#xff08;ssh連接&#xff09; 1. 防火墻配置(lb01) # 配置iptables # 這條命令的作用是將所有目的地為192.168.100.155且目標端口為19898的TCP數據包的目標IP地址改為10.0.0.148&#xff0c;并將目標…

Java策略模式在動態數據驗證中的應用

在軟件開發中&#xff0c;數據驗證是一項至關重要的任務&#xff0c;它確保了數據的完整性和準確性&#xff0c;為后續的業務邏輯處理奠定了堅實的基礎。然而&#xff0c;不同的數據來源往往需要不同的驗證規則&#xff0c;如何在不破壞代碼的整潔性和可維護性的同時&#xff0…

無向圖中尋找指定路徑:深度優先遍歷算法

刷題記錄 1. 節點依賴 背景: 類似于無向圖中, 尋找從 起始節點 --> 目標節點 的 線路. 需求: 現在需要從 起始節點 A, 找到所有到 終點 H 的所有路徑 A – B &#xff1a; 路徑由一個對象構成 public class NodeAssociation {private String leftNodeName;private Stri…

數據編碼的藝術:sklearn中的數據轉換秘籍

數據編碼的藝術&#xff1a;sklearn中的數據轉換秘籍 在機器學習中&#xff0c;數據預處理是一個至關重要的步驟&#xff0c;它直接影響到模型的性能和結果的準確性。數據編碼轉換是數據預處理的一部分&#xff0c;它涉及將原始數據轉換成適合模型訓練的格式。scikit-learn&am…

Python 爬蟲 tiktok關鍵詞搜索用戶數據信息 api接口

Tiktok APP API接口 Python 爬蟲采集Tiktok數據 采集結果頁面如下圖&#xff1a; https://www.tiktok.com/search?qwwe&t1706679918408 請求API http://api.xxx.com/tt/search/user?keywordwwe&count10&offset0&tokentest 請求參數 返回示例 聯系我們&…

178 折線圖-柱形圖-餅狀圖

1.折線圖 1、QChart 類繼承自 QGraphicsWidget&#xff0c;用于管理圖表、圖例和軸。2、QValueAxis 類專門用來自定義圖表中 X 和 Y 坐標軸。3、QLineSeries 類專門用于折線圖&#xff08;曲線&#xff09;的形式展示數據 //.pro QT core gui charts#ifndef WIDGET_H #defi…

探索鄰近奧秘:SKlearn中K-近鄰(KNN)算法的應用

探索鄰近奧秘&#xff1a;SKlearn中K-近鄰&#xff08;KNN&#xff09;算法的應用 在機器學習的世界里&#xff0c;K-近鄰&#xff08;K-Nearest Neighbors&#xff0c;簡稱KNN&#xff09;算法以其簡單直觀而著稱。KNN是一種基本的分類和回歸方法&#xff0c;它的工作原理非常…

Error in onLoad hook: “SyntaxError: Unexpected token u in JSON at position 0“

1.接收頁面報錯 Error in onLoad hook: "SyntaxError: Unexpected token u in JSON at position 0" Unexpected token u in JSON at position 0 at JSON.parse (<anonymous>) 2.發送頁面 &#xff0c;JSON.stringify(item) &#xff0c;將對象轉換為 JSO…

前端JS特效第22集:html5音樂旋律自定義交互特效

html5音樂旋律自定義交互特效&#xff0c;先來看看效果&#xff1a; 部分核心的代碼如下(全部代碼在文章末尾)&#xff1a; <!DOCTYPE html> <html lang"en" > <head> <meta charset"UTF-8"> <title>ChimeTime?</title…

【Python】已解決:xml.parsers.expat.ExpatError: no element found: Line 1, column 0

文章目錄 一、分析問題背景二、可能出錯的原因三、錯誤代碼示例四、正確代碼示例五、注意事項 已解決&#xff1a;xml.parsers.expat.ExpatError: no element found: Line 1, column 0 一、分析問題背景 在使用Python的xml.parsers.expat模塊解析XML文件時&#xff0c;有時會…

算法011:最大連續的1的個數

最大連續的1的個數. - 備戰技術面試&#xff1f;力扣提供海量技術面試資源&#xff0c;幫助你高效提升編程技能,輕松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/max-consecutive-ones-iii/ 乍一看&#xff0c;這道題很奇怪&#xff0c;什么叫最多翻轉k個0&a…

稀疏之美:在Mojo模型中實現特征的稀疏表示

稀疏之美&#xff1a;在Mojo模型中實現特征的稀疏表示 在機器學習領域&#xff0c;特征的稀疏表示是一種高效的數據編碼方式&#xff0c;尤其適用于具有大量特征和缺失值的數據集。稀疏表示使用特殊的數據結構來存儲和處理數據&#xff0c;從而減少內存占用和提高計算效率。Mo…

vue3+ts實現一個表單組件

1. 創建表單組件 首先&#xff0c;創建一個表單組件&#xff0c;包括姓名、手機號、年齡、學校、性別等基本信息的輸入框&#xff0c;并添加省市區和街道地點的選擇功能。 <template><form submit.prevent"submitForm"><el-form :model"formDa…

遺傳算法求解TSP

一、基本步驟 遺傳算法求解旅行商問題&#xff08;TSP&#xff09;的一般步驟如下&#xff1a; 編碼&#xff1a; 通常采用整數編碼&#xff0c;將城市的訪問順序表示為一個染色體。例如&#xff0c;假設有 5 個城市&#xff0c;編碼為[1, 3, 5, 2, 4]&#xff0c;表示旅行商的…

Leetcode3195. 包含所有 1 的最小矩形面積 I

Every day a Leetcode 題目來源&#xff1a;3195. 包含所有 1 的最小矩形面積 I 解法1&#xff1a;遍歷 設最左、最右、最上、最下的 1 的行號/列號分別為 left、right、top、bottom&#xff0c;則答案為&#xff1a;(right - left 1) * (bottom - top 1)。 代碼&#xf…

新手教學系列——kswapd0 CPU占用100%問題解析與解決

在日常運維中,我們常會遇到一些疑難雜癥,其中kswapd0進程CPU占用100%就是一個常見的問題。通常情況下,這個問題是因為內存耗盡,需要使用到swap空間,可以通過調整swap大小或使用比例來控制磁盤讀寫。然而,今天我要分享的是一個特例,如何在內存并未耗盡且swap使用比例正常…

【STM32項目】基于Stm32搞怪盒子的設計(完整工程資料)

基于stm32搞怪的盒子設計 前言&#xff1a; 最近我看到一個極具創意的搞怪盒子&#xff0c;設計得相當有意思。作為一個熱衷于電子DIY的狂熱愛好者&#xff0c;怎能錯過這樣一個有趣的項目呢&#xff1f;于是&#xff0c;我決定親自動手&#xff0c;設計一個屬于自己的、獨一無…