三、防火墻-源NAT

學習防火墻之前,對路由交換應要有一定的認識

  • 源NAT基本原理
    • 1.1.NAT No-PAT
    • 1.2.NAPT
    • 1.3.出接口地址方式(Easy IP)
    • 1.4.Smart NAT
    • 1.5.三元組 NAT
    • 1.6.多出口場景下的源NAT
  • 總結
  • 延伸

——————————————————————————————————————————————————

源NAT基本原理

源NAT技術對IP報文的源地址進行轉換,將私網IP轉換成公網IP,大大減少了公網IP的消耗。

當私網用戶訪問Internet報文到達防火墻時,防火墻將報文的源IP地址由私網地址轉換為公網地址,當回程報文返回至防火墻,防火墻再將報文的目的地址由公網IP轉換為私網地址。

華為防火墻支持的源NAT轉換方式:

在這里插入圖片描述

每一種NAT轉換方式都曾在IP網絡中走過秀、亮過相,都有自己的特色,但也有自己的不足。

——————————————————————————————————————————————————

1.1.NAT No-PAT

No-PAT表示不進行端口轉換,只轉換IP地址,所以也稱為:一對一地址轉換。

下面介紹No-PAT方式過程,假設防火墻和WEB服務器之間路由可達。。

在這里插入圖片描述

配置NAT地址池和NAT策略

配置地址池
nat address-group GW 1mode no-pat global                             local和global參數,global生成的Server-map表項不包含安全域參數,不受域間限制,local包含安全區域參數,受域間限制section 0 210.1.1.5 210.1.1.10                 地址池有5個公網IProute enable                                   用來開啟NAT地址池中地址的OPR路由下發功能配置NAT
nat-policy
rule name source_natsource-zone trustdestination-zone untrustsource-address 192.168.0.0 16action source-nat address-group GW                 配置NAT策略規則的動作,表示源NAT地址轉換,引用地址池

配置完NAT,還需要配置安全策略和黑洞路由。

安全策略和NAT策略二者各司其職,安全策略控制報文是否能通過防火墻,而NAT策略作用是對報文地址進行轉換。因此配置NAT的時候需要配置安全策略允許報文通過。

由于防火墻對報文進行安全策略處理發生在進行NAT策略處理之前,所以如果要針對源地址設置安全策略,源地址應該是進行NAT轉換之前的私網地址。

security-policyrule name sourcenatsource-zone trustdestination-zone untrustsource-address 192.168.0.0 16action permit

配置黑洞路由,為了避免產生環路,在防火墻上針對地址池中的公網IP地址配置黑洞路由。

有兩種方式:
ip route-static方式

ip route-static 210.1.1.5 255.255.255.255 NULL0
ip route-static 210.1.1.6 255.255.255.255 NULL0
ip route-static 210.1.1.7 255.255.255.255 NULL0
ip route-static 210.1.1.8 255.255.255.255 NULL0
ip route-static 210.1.1.9 255.255.255.255 NULL0
ip route-static 210.1.1.10 255.255.255.255 NULL0

route enable 方式

nat address-group GW 1route enable        

當NAT地址池地址與出接口地址不在同一網段時,必須配置黑洞路由;當NAT地址池地址與出接口地址在同一網段時,建議配置黑洞路由。
當地址池地址與出接口地址一致時,不會產生路由環路,不需配置黑洞路由。產生的原因后續會介紹。

在配置策略后,可以訪問210.1.1.2。
在這里插入圖片描述

查看會話表,會話表中兩個私網地址都分別轉換了2個不同的公網IP,而端口沒有轉換,使用隨機端口。

在這里插入圖片描述
NAT No-PAT方式也會生成Server-map表,而且生成了正向和反向兩張表。

在這里插入圖片描述

這里生成的正向Server-map表,Type:No-Pat,作用是保證特定私網用戶訪問Internet快速轉換地址。在老化時間范圍內,直接命中該表,提高轉換效率。同理,Type:No-Pat Reverse,反向主動訪問私網用戶報文,也命中反向Server-map表直接進行地址轉換。

命中server-map表后,還需要檢查安全策略是否通過。Server-map表在NAT里叫alg功能。在多通道協議里叫ASPF。

總結:如果私網地址過多大于地址池的話,需要等待地址池地址釋放后,其他私網地址用戶才可以訪問WEB服務器,在No-Pat轉換方式中,一個公網IP地址不能同時被大于多個私網用戶使用。并沒有起到節省IP的作用。

——————————————————————————————————————————————————

1.2.NAPT

NAPT表示網絡地址和端口轉換,即同時對IP地址和端口進行轉換,也可稱為 PAT。

NAPT 是一種應用最廣泛的地址轉換方式,可以利用少量的公網 IP 地址來滿足大量私網用戶訪問Internet的需求。

NAPT方式和NAT No-PAT在配置上區別僅在于:NAPT方式NAT策略在引用NAT地址池時,不配置關鍵字no-pat。

在這里插入圖片描述

和上案例其他配置一樣。

配置NAT地址池和NAT策略

配置地址池
nat address-group GW 1mode pat                                              section 0 210.1.1.5 210.1.1.10                 route enable                                 配置NAT
nat-policy
rule name source_natsource-zone trustdestination-zone untrustsource-address 192.168.0.0 16action source-nat address-group GW    配置安全策略
security-policyrule name sourcenatsource-zone trustdestination-zone untrustsource-address 192.168.0.0 16action permit 

會話表可以看出,兩個私網地址分別轉換公網地址,同時端口也轉換為新的端口。在地址池選擇地址的時候,設備是隨機選擇。

再次觀察,192.168.20.2第一條,轉換的IP210.1.1.6,端口為2051。192.168.10.2第六條,轉換IP210.1.1.6,端口為2052。
私網用戶共用一個公網IP,但是端口不一樣。也就不必擔心轉換沖突的問題。

在這里插入圖片描述

NAPT方式不會產生server-map表項,與NAT No-Pat不同。

——————————————————————————————————————————————————

1.3.出接口地址方式(Easy IP)

出接口地址方式Easy-IP:是利用出接口的公網IP地址作為NAT 轉換后的地址,也同時轉換地址和端口,一個公網IP地址可以同時被多個私網用戶使用。

出接口方式比較特殊,如果防火墻公網接口通過動態獲取IP時,想用一個公網IP地址來進行轉換,不能在地址池中配置固定地址。因為公網IP是可變的,此時使用出接口方式,即使出接口獲取IP發生變化,防火墻也只會按照公網IP地址進行轉換。

Easy IP,不需要配置NAT地址池,也無需配置路由黑洞。只需要在NAT策略中指定出接口即可。

在這里插入圖片描述

為了方便,用210.1.1.2服務器開啟DHCP來模擬防火墻G1/0/1端口自動獲取地址。

配置防火墻G1/0/1接口為自動獲取地址

interface GigabitEthernet1/0/1
ip address dhcp-alloc

服務器上已經看到地址下發了。

在這里插入圖片描述
交換機上也看到獲取的地址。210.1.1.10/24

在這里插入圖片描述

配置NAT策略

nat-policyrule name easynatsource-zone trustsource-zone untrustegress-interface GigabitEthernet1/0/1             出接口方式source-address 192.168.0.0 mask 255.255.0.0action source-nat easy-ipsecurity-policyrule name sourcenatsource-zone trustdestination-zone untrustsource-address 192.168.0.0 16action permit 

兩個私網用戶IP地址已經轉換為接口的公網IP地址,同時端口也轉換為新的端口。

和NAPT一樣,Easy-IP方式不會生成Server-map表。
在這里插入圖片描述

——————————————————————————————————————————————————

1.4.Smart NAT

前面我們介紹過NATNO-PAT方式,一對一地址轉換,NAT地址池中的公網IP地址被私網用戶占用后,其他私網用戶就無法再使用該公網IP地址,在這種情況下如何使其他私網用戶也能訪問Internet呢?

Smart NAT方式也叫做聰明的NAT,它融合了NAT No-PAT和NAPT方式特點。

其實我們可以把Smart NAT 方式理解成是對NPAT功能的增強,它克服了NO-PAT的缺點:只能讓有限的私網用戶訪問Intermet,當私網用戶數量大于地址池中公網IP地址數量時后面的私網用戶將無法訪問Intermet,只能等待公網IP地址被釋放。

使用SmartNAT方式后,即使某一時刻私網用戶數量激增Smart NAT也留有后手,即預留一個公網IP地址進行NAPT方式的地址轉換這樣就可以滿足大量新增的私網用戶的需求。

在這里插入圖片描述

配置NAT地址池
nat address-group GW 1mode no-pat localsmart-nopat 210.1.1.10section 0 210.1.1.5 210.1.1.9route enable配置NAT策略
nat-policyrule name smartsource-zone trustdestination-zone untrustsource-address 192.168.0.0 mask 255.255.0.0action source-nat address-group GW配置安全策略
security-policyrule name smartsource-zone trustdestination-zone trustsource-address 192.168.0.0 mask 255.255.0.0action permit

就不過多演示,明白意思就行。只有公網IP地址被NAT No-pat轉換用盡后,才會進行NATP轉換。

——————————————————————————————————————————————————

1.5.三元組 NAT

前面介紹了4種源NAT,其中NAPT和Easy-IP應用最廣泛,不但解決地址短缺,還隱藏內部IP。但是NAT技術與文件共享、語音通信、視頻傳輸等方面的P2P技術不能很好的共存。當P2P業務遇到NAT的時候,產生的不是完美的NAT-P2P,而是,你可能無法下載最新影視資源,無法視頻聊天等。

為了解決共存問題,需要一種新的轉換方式,即三元組NAT,先看看P2P業務交互過程。

————————————————————
PC1和PC2是兩臺運行P2P業務的客戶端,運行時首先和P2P服務器進行交互(登錄、認證等操作),P2P服務器會記錄客戶端的地址和端口,如果PC1位于內部網絡,防火墻會對PC1訪問服務器的報文進行NAPT方式轉換,這樣P2P服務器記錄的是經過轉換后的公網地址和端口。當PC2需要下載文件時,服務器會將擁有該文件的客戶端地址和端口發送給PC2(如PC1的IP和端口),然后PC2會向PC1發送請求,從PC1上下載文件。

在這里插入圖片描述
過程看起來很順暢,但對于P2P業務來說,存在兩個問題。

1、為了保持聯系,PC1會定期向P2P服務器發送報文,經過NAPT轉換后,端口會動態變化,并不是固定的。這樣P2P服務器記錄的PC1地址和端口信息也要經常刷新,會影響P2P業務正常運行。

2、更重要的是,根據轉發原理,只有P2P服務器返回給PC1的報文命中會話表才能通過防火墻,其他主機如PC2不能通過轉換后的地址和端口來主動訪問PC1,默認情況,防火墻安全策略不允許這一類訪問報文通過。

三元組NAT方式可以完美解決。

1、對外呈現端口一致性

PC1訪問P2P服務器后,在一段時間內,PC1再次訪問P2P服務器或者訪問internet其他主機時,防火墻都會將PC1的端口轉換成相同的端口。這樣就保證了PC1所呈現的端口一致性,不會動態變化。

2、支持外網主動訪問

無論PC1是否訪問過PC2,只要PC2獲取到PC1經過NAT轉換的IP和端口后,就可以主動向該地址和端口發起訪問。防火墻及時沒有配置相應的安全策略,也允許此類報文通過。

正是由于三元組NAT的這兩個特點,使得P2P業務可以正常運行。

對于華為USG6000系列防火墻來說,可以通過配置ASPF來保證P2P業務的正常運行。新式的設備應該支持的越來越多。

在這里插入圖片描述

三元組NAT方式配置如下:(三元組NAT不能配置黑洞路由,否則會影響業務)

配置NAT地址池
nat address-group GW 1mode full-cone localsection 0 210.1.1.5 210.1.1.6配置NAT策略
nat-policyrule name NATsource-zone trustsource-zone untrustsource-address 192.168.0.0 mask 255.255.0.0action source-nat address-group GW配置安全策略rule name NATsource-zone trustsource-zone untrustsource-address 192.168.0.0 mask 255.255.0.0action permit

連續訪問2次服務器,HTTP協議。

在這里插入圖片描述

在這里插入圖片描述
在一時間內,轉換的端口都是固定的。

查看MAP表。由于是閑置了會,抓的,和上面的端口就有差別了。同一時間的通信,端口都是固定的。

在這里插入圖片描述

從表中可以看出,三元組NAT生成了兩條Server-map表項(FullCone Src),和目的(FullCone Des)。作用如下:

源Server-map表項(FullCone Src):

老化之前,PC1訪問Untrust區域內任意主機ANY,NAT轉換后的地址和端口都是210.1.1.6:61440,端口不會變化,這樣就保證了PC1對外所呈現的端口一致性。

目的(FullCone Des)

表項老化之前,Untrust區域內的任意主機ANY都可以通過210.1.1.6:53248端口來訪問PC1的:138端口,這樣就保證了Internet上的P2P客戶端可以主動訪問PC1。

由此可知,三元組NAT方式通過源和目的Server-Map表項解決了P2P業務與NAT地址轉換共存的問題。三元組在轉換時,僅和源IP地址、源端口和協議類型這個3個元素有關,故稱三元組。

————————————————————

大家又可以說,三元組NAT生成的Server-map表項不就是ASPF功能生成的Server-map表項那樣,報文命中表項之后就不受安全策略控制了?其實還暗藏玄機,防火墻針對三元組NAT還支持端點無關過濾功能。

命令:firewall endpoint-independent filter enable

命令中: endpoint-independent 原意是:不關心對端地址和端口轉換模式。表示一種NAT轉換模式,其實可以看成三元組NAT方式另一種叫法。

endpoint-independent 使用此命令代表三元組NAT方式下控制報文是否進行安全策略檢查。

開啟后,報文只要命中Server-map就可以通過防火墻,不受安全策略控制。關閉后,就要配置相應的策略允許報文通過。默認情況下,防火墻是開啟了端點無關過濾功能。所以說internet上的P2P客戶端可以主動訪問內部網絡的PC1。

——————————————————————————————————————————————————

1.6.多出口場景下的源NAT

各種各樣的源NAT都見識了吧,看似各種源地址轉換問題都能一網打盡了,但實際上吧這些NAT理論應用在現實網絡中很快就會出現告急。在多出口網絡中,源NAT該何去何從?

首先,我們以防火墻通過兩個出口連接Internet為例,探討源NAT的配置方法,如圖:某企業在內部網絡的出口處部署了防火墻作為出口網關,通過ISP1和ISP2兩條鏈路連接到Internet,企業內部網絡中的PC有訪問Internet的需求。

在這里插入圖片描述

該場景中,防火墻面臨主要問題是在轉發內部網絡訪問Internet報文如何進行出口選路,本應該從ISP1發出的卻從ISP2發出,可能會導致報文繞路到達目的地。

選路方式有很多種,如果根據報文目的地址進行選路,可以配置兩條缺省路由,如果根據源地址進行選路,還可以配置策略路由。這些都不是目前的重點,后續對出口選路會詳細的介紹。對于源NAT來說,無非就是報文從ISP1出去或者從ISP2出去,不管走那條路,只要在發出去之前把報文私網地址轉換成相應的公網地址,源NAT作用就完成了。

我們會把防火墻ISP1和ISP2兩個接口分別加入到不同的區域,然后基于內部網絡所在的安全區配置源NAT策略。

下面給出配置:假設ISP1,給的公網地址是:210.1.1.5·····210.1.1.6。ISP2,給的公網地址是:110.1.1.5·····110.1.1.6。


配置區域加入端口
firewall zone name ISP1 set priority 20add interface GigabitEthernet1/0/1
#
firewall zone name ISP2set priority 21add interface GigabitEthernet1/0/0配置地址池
nat address-group ISP1 2section 0 210.1.1.5 210.1.1.6route enable
nat address-group ISP2 3section 0 110.1.1.5 110.1.1.6route enable基于不同域間關系配置兩條NAT策略
nat-policyrule name ISP1source-zone trustdestination-zone ISP1source-address 192.168.0.0 mask 255.255.0.0action source-nat address-group ISP1rule name ISP2source-zone trustdestination-zone ISP2source-address 192.168.0.0 mask 255.255.0.0action source-nat address-group ISP2配置安全策略
security-policydefault action permitrule name ISP1source-zone trustdestination-zone ISP1action permitrule name ISP2source-zone trustdestination-zone ISP2action permit配置默認路由
ip route-static 0.0.0.0 0.0.0.0 210.1.1.2
ip route-static 0.0.0.0 0.0.0.0 110.1.1.2 

在這種情況下,分別有兩個區域,配置默認路由如果是等價的,防火墻還會選擇隨機的轉換。除非指定默認路由的優先級或在rule Nmae ISP的時候精確匹配網段。

我們把防火墻接口規劃成1個區域。

firewall zone untrustadd interface GigabitEthernet1/0/1add interface GigabitEthernet1/0/0nat-policyrule name ISP1source-zone trustdestination-zone untrustsource-address 192.168.0.0 mask 255.255.0.0action source-nat address-group ISP1rule name ISP2source-zone trustdestination-zone untrustsource-address 192.168.0.0 mask 255.255.0.0action source-nat address-group ISP2security-policydefault action permitrule name NATsource-zone trustdestination-zone untrustaction permitip route-static 0.0.0.0 0.0.0.0 210.1.1.2
ip route-static 0.0.0.0 0.0.0.0 110.1.1.2

經過好幾次老化,一直會從ISP1走。

如果我們把防火墻與ISP1和ISP2兩個接口加入同一安全區域,無論報文走ISP1還是ISP2,安全域間關系都是Trust到Untrust,基于相同安全域間關系配置NAT策略,就無法區分兩條鏈路。由于ruleISP1匹配順序高于ISP2,此時內部訪問外部都匹配ISP1,不會再向下繼續匹配ISP2。
在這里插入圖片描述

兩種配置關系,兩種不同的效果。

——————————————————————————————————————————————————

總結

NAT No-PAT:一對一,不轉換端口,生成Server-map表,需要配置路由黑洞。
NAPT:多對一,多對多。轉換端口,不生成server-map表,需要配置路由黑洞。
Easy-IP:多對一,轉換端口,不生成server-map表,無需配置路由黑洞。
Smart NAT:一對一,多對一(針對預留地址),預留地址會轉換端口,僅NAT No-PAT方式生成Server-map表,需要配置路由黑洞。
三元組NAT:多對一,多對多,轉換端口,生成Server-map表,不必配置路由黑洞。

——————————————————————————————————————————————————

延伸

三元組NAT還有一個學名:Full Cone(全圓錐)。(Full Cone)全圓錐是4種NAT端口映射方式的一種,

其他3種分為:(Restricted Cone)受限圓錐、(Port Restricted Cone)端口受限圓錐和(Symmetric)對稱型。

介紹下Full Cone(全圓錐)和(Symmetric)對稱型。由于RFC3489已廢棄,故不對(Restricted Cone)受限圓錐、(Port Restricted Cone)端口受限圓錐進行介紹。

Full Cone(全圓錐):內網主機進行NAT轉換后的地址和端口在一段時間內保持不變,不會因為目的地址不同而不同,所以內網主機可以使用轉換后相同三元組訪問不同的外網主機,外網主機也都可以通過該三元組訪問內網主機。就是前面說的P2P業務。

(Symmetric)對稱型:內網主機根據不同的目的地址進行NAT轉換,NAT轉換后的地址和端口一般是不相同的,由于對不同外網主機呈現不同三元組,所以只有特定的外網主機的特定端口才能進入內網,即需要限定目標主機和端口。對稱型NAT也稱為五元組NAT,NAPT方式即五元組NAT。

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

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

相關文章

C語言prim算法求最小生成樹

Prim算法是一種用于尋找無向帶權圖的最小生成樹的算法。該算法的基本思想是從一個源點開始,逐步向外擴展生成樹,每次找到與當前生成樹最近的未被訪問的頂點,并將其加入到生成樹中,直到所有頂點都被加入到生成樹中為止。 具體來說…

部署你的第一個應用

🗓?實驗環境 OS名稱Microsoft Windows 11 家庭中文版系統類型x64-based PCDocker版本Docker version 24.0.6, build ed223bcminikube版本v1.32.0 🤓FastAPI 構建應用 #基于fastapi快速創建一個項目 rkun1LAPTOP-TUS5FU0D MINGW64 / $ mkdir k8s-appr…

1688 API接口測試指南

本文為您提供1688 API接口的測試指南。我們將介紹1688 API的基本概念,詳解測試步驟,并為您提供一系列的最佳實踐,以確保您在與1688平臺進行API交互時能夠獲得最佳的效果和穩定性。 一、了解1688 API 1688 API是1688平臺為開發者提供的一套用…

數學建模之擬合及其代碼

發現新天地,歡迎訪問Cr不是鉻的個人網站 引言 與插值問題不同,在擬合問題中不需要曲線一定經過給定的點。擬合問題的目標是尋求一個函數(曲線),使得該曲線在某種準則下與所有的數據點最為接近,即曲線擬合…

基于跳蛛算法優化概率神經網絡PNN的分類預測 - 附代碼

基于跳蛛算法優化概率神經網絡PNN的分類預測 - 附代碼 文章目錄 基于跳蛛算法優化概率神經網絡PNN的分類預測 - 附代碼1.PNN網絡概述2.變壓器故障診街系統相關背景2.1 模型建立 3.基于跳蛛優化的PNN網絡5.測試結果6.參考文獻7.Matlab代碼 摘要:針對PNN神經網絡的光滑…

7_畫圖常用代碼

plt.figure(dpi200) # 設置 dpi 為 200(可以根據需要調整這個值)

數據結構學習筆記——多維數組、矩陣與廣義表

目錄 一、多維數組(一)數組的定義(二)二維數組(三)多維數組的存儲(四)多維數組的下標的相關計算 二、矩陣(一)特殊矩陣和稀疏矩陣(二)…

從權限跳轉看Activity的data android:scheme

在應用申請懸浮窗權限的時候,可以跳轉到相應的設置界面,并且自動切換到應用的條目,高亮顯示一下, android懸浮窗權限怎么申請 在Android中,要申請懸浮窗權限,需要以下步驟: 在 AndroidManifes…

hp惠普Victus Gaming Laptop 15-fa1025TX/fa1005tx原裝出廠Win11系統ISO鏡像

光影精靈9筆記本電腦原廠W11系統22H2恢復出廠時開箱狀態一模一樣 適用型號:15-fa1003TX,15-fa1005TX,15-fa1007TX,15-fa1025TX 鏈接:https://pan.baidu.com/s/1fBPjed1bhOS_crGIo2tP1w?pwduzvz 提取碼&#xff1a…

每天一道算法題(十一)——滑動窗口最大值_困難(中等)

文章目錄 1、問題2、示例3、解決方法(1)方法1——雙指針 總結 1、問題 給你一個整數數組 nums,有一個大小為 k 的滑動窗口從數組的最左側移動到數組的最右側。你只可以看到在滑動窗口內的 k 個數字。滑動窗口每次只向右移動一位。 返回 滑動窗…

c++ 函數的申明

1 一個cpp中 兩種情況 1.1 定義 使用 1.2 聲明 使用 定義 2 按 定義 后 直接使用的順序 不用 聲明 函數 #include <iostream> using namespace std;int max(int a, int b) {int max a>b?a:b;return max; }int main() {int a 1;int b 2;cout << max(a, b…

解決vue中引入天地圖顯示不全問題,設置setTimeout即可解決!

index.html中引入天地圖api <script type"text/javascript" src"https://api.tianditu.gov.cn/api?v4.0&tk你的key"></script>map.vue中初始化天地圖 //初始化天地圖 initTMap() {const T window.T;// 3.初始化地圖對象this.tMap new…

flink1.13.6版本的應用程序(maven版)

問題 想要一個指定flink版本的java計算任務hello world最簡工程。 解決 mvn archetype:generate \-DarchetypeGroupIdorg.apache.flink \-DarchetypeArtifactIdflink-quickstart-java \-DarchetypeVersion1.13.6這里直接使用官方mave模版工程&#xff0c;指…

系統架構設計:13 論基于構件的軟件開發

論基于構件的軟件開發 軟件系統的復雜性不斷增長、軟件人員的頻繁流動和軟件行業的激烈竟爭迫使軟件企業提高軟件質量、積累和固化知識財富,并盡可能地縮短軟件產品的開發周期。 集軟件復用、分布式對象計算、企業級應用開發等技術為一體的“基于構件的軟件開發”應運而生,…

LeetCode 2304. 網格中的最小路徑代價:DP

【LetMeFly】2304.網格中的最小路徑代價&#xff1a;DP 力扣題目鏈接&#xff1a;https://leetcode.cn/problems/minimum-path-cost-in-a-grid/ 給你一個下標從 0 開始的整數矩陣 grid &#xff0c;矩陣大小為 m x n &#xff0c;由從 0 到 m * n - 1 的不同整數組成。你可以…

【python基礎(二)】列表詳解

文章目錄 一. 訪問列表元素二. 使用列表中的各個值三. 修改、添加和刪除元素1. 修改列表元素2. 在列表中添加元素3. 從列表中刪除元素 四.組織列表1. sort()對列表永久排序2. sorted()對列表臨時排序3. 倒著打印列表4. 確定列表的長度 列表由一系列按特定順序排列的元素組成。可…

Django框架之Cookie和Session和CBV加裝飾器的三種方法

【一】Cookie與Session Cookie和Session是用來在Web應用程序中跟蹤用戶會話數據的兩種常用技術。 【1】Cookie和Session的發展史 【1】Cookie的發展史&#xff1a; 1994年&#xff0c;網景通信公司推出了第一個瀏覽器Cookie技術。Cookie是存儲在用戶計算機上的小型文本文件…

redis五種基本數據類型

redis存儲任何類型的數據都是以key-value形式保存&#xff0c;并且所有的key都是字符串&#xff0c;所以討論基礎數據結構都是基于value的數據類型 常見的5種數據類型是&#xff1a;String、List、Set、Zset、Hash 一) 字符串(String) String是redis最基本的類型&#xff0c;v…

linux日志不循環問題診斷

有一臺Linux虛擬機的messages日志文件自2023年7月下旬開始沒有按周為周期重新生成新的日志&#xff0c;一直累積在同一個messages文件中&#xff0c;如下所示&#xff1a; [root logrotate.d]# ls -l /var/log|grep me -rw-r--r-- 1 root root 107170 Nov 15 1…

地圖導航測試用例,你get了嗎?

地圖導航是我們經常使用的工具&#xff0c;能幫助我們指引前進的方向。 接下來&#xff0c;會從功能測試、UI測試、兼容測試、安全測試、網絡測試、性能測試、易用性測試、文檔和國際化語言測試8個方面來編寫地圖導航測試用例。 一 功能測試 輸入起點和終點&#xff0c;驗證…