Linux系統(tǒng)硬件路由的轉(zhuǎn)發(fā)原理是什么
學(xué)習(xí)Linux系統(tǒng)的朋友們應(yīng)該了解過系統(tǒng)硬件路由的轉(zhuǎn)發(fā),在Linux系統(tǒng)中路由轉(zhuǎn)發(fā)指的是信號從一個站點轉(zhuǎn)向另一個站點的一種協(xié)議,那么具體原理是什么呢。本文就來介紹一下Linux系統(tǒng)硬件路由的轉(zhuǎn)發(fā)原理。
硬件轉(zhuǎn)發(fā)原理圖:
請注意,沒有任何優(yōu)化,你可以試著用一些小技巧將其進一步的優(yōu)化,也可以直接用標(biāo)準(zhǔn)的TCAM來映射它。此圖里,我詳細展示了“最長前綴”邏輯是怎么做的,而在TCAM路由轉(zhuǎn)發(fā)表的實例中,往往被畫成了黑盒子,叫做“優(yōu)先級邏輯控制器”,不過,這個邏輯電路比較簡單,相信大家稍微思考都可以自己設(shè)計出來的。
其實,在上圖中,有一個容器叫做“反掩碼”,將這個反掩碼逐位地安排在譯碼器后面的位線比較鍵旁邊,這就是一個標(biāo)準(zhǔn)的TCAM做法了。
關(guān)于內(nèi)容尋址和地址尋址
我們都知道cache比較貴所以不能太大,而內(nèi)容就可以做很大,因為它比較便宜。
但是能否從技術(shù)層面解釋一下呢?其實,貴與便宜的差異就是技術(shù)原因造成的,我們先看一下內(nèi)存的存儲陣列的電路:
這是個非常典型的矩陣,也很簡單。但是對于CAM電路,就不是這么簡單了,下圖所示:
對于TCAM,需要加一個care邏輯,就更加復(fù)雜了,不光是電路復(fù)雜了,功耗也增加了,要知道,在CAM/TCAM匹配的過程中,電路的所有部分都是同時工作的。
關(guān)于硬件HASH
很多人都說CPU cache里面有一個硬件HASH,比如取地址的第n到m位,事實上就是一個移位,取模操作!這在程序員看來只能呵呵了,程序員們知道的最簡單的HASH算法都比這個復(fù)雜。其實硬件工程師對程序員的呵呵是不屑一顧的,因為他們的關(guān)注點是如何使得電路同時工作時功耗最低,電路規(guī)模更小。CAM/TCAM都用了硬件HASH,很簡單的硬件HASH,然而電路是可以同時工作的。這可是軟件hash的大難題,軟件hash旨在使得hash分布更加均勻,平均性能更好。這樣沖突鏈表長度的平均方差最小。軟件hash旨在解決沖突,而硬件HASH不需要這么做,因為在軟件看來必須串行遍歷沖突鏈表的時候,硬件卻是可以同時進行的。
順序執(zhí)行的CPU
計算機被設(shè)計之初,就是一個順序執(zhí)行的模型,指令是一條接一條執(zhí)行的。這是因為它是完全模擬真實世界中人的行為的。這就意味著所有的跑在計算機上的算法步驟都是要時間流逝中串行實施的,一個好的算法旨在讓時間花費最短。然而硬件電路的設(shè)計并不遵循真實世界的人做事的樣子,起碼說不是太像。一個人不可能同時做很多事,硬件電路的執(zhí)行流程更像是洪水泛濫的過程,由于勢能,洪水同時往(注意,同時!)所有它可以去的地方?jīng)_去,瞬時就吞噬了一切。
補充:計算機硬件常見故障及其原因
1.1 計算機自動重啟
在計算機運行中,自動重啟的現(xiàn)象時有發(fā)生,造成這一問題的原因是多樣化的。但從硬件角度而言,主要可能由以下原因所致:
1.1.1 內(nèi)存問題所致
內(nèi)存問題是電腦的常見故障,若內(nèi)存上的某個芯片受損,就對計算機的穩(wěn)定運行造成極大影響。特別是內(nèi)存芯片受損,導(dǎo)致產(chǎn)生發(fā)熱現(xiàn)象,就會造成部分功能的喪失,而出現(xiàn)計算機重啟問題的發(fā)生。
1.1.2 CPU問題所致
CPU是計算機的核心硬件,但當(dāng)CPU的功能電路受到損壞之時,會出現(xiàn)散熱不良等問題,這樣一來,計算機在特殊功能的運行中,就會因無法承受運行請求而出現(xiàn)自動啟動。
1.2 計算機死機
計算機運行速度下降,甚至出現(xiàn)藍屏死機的現(xiàn)象比較常見,有因計算機散熱不佳,溫度過高所致的原因,也有主板故障所致的因素所在。因此,在計算機運行中,若出現(xiàn)計算機死機問題,應(yīng)從以下幾個方面查找原因:
1.2.1 CPU散熱不佳
在計算機運行中,CPU散熱不良、超頻等情況的出現(xiàn),都會造成計算機CPU產(chǎn)生較大的熱量,一旦散熱不暢或持續(xù)產(chǎn)生較大熱量,就會造成計算機出現(xiàn)死機。
1.2.2 硬盤故障
硬盤出現(xiàn)老化,或使用不當(dāng)而導(dǎo)致壞道區(qū)和壞扇區(qū)出現(xiàn)問題,這都會對計算機的運行造成影響,形成死機現(xiàn)象。
1.2.3 主板故障
主板故障導(dǎo)致死機的原因有多種,主要有電容質(zhì)量問題、電源管理芯片性能下降等。
1.3 顯示器圖像抖動
散熱問題是計算機穩(wěn)定運行的重要因素。但由于計算機硬件的運行,都會產(chǎn)生熱量,這就會對計算機的運行形成影響。在計算機運行中,顯示器突顯出現(xiàn)抖動、色差的情況時有發(fā)生,究其緣由,主要是硬件設(shè)備在長時間的運行中,出現(xiàn)硬件溫度過高,特別是在散熱不良(不暢)的情況之下,顯示器、CPU的問題過高,更容易出現(xiàn)計算機顯示器圖像抖動或失真現(xiàn)象。因此,在計算機的日常運行中,要特別注意計算機的散熱狀況,若計算機長時間運行,計算機出現(xiàn)溫度過高等情況,都會對就算的硬件造成影響,加速硬件老化的發(fā)生。
相關(guān)閱讀:電腦硬件維護小技巧
不要強行關(guān)閉筆記本電腦。一定要根據(jù)正確的關(guān)閉程序步驟來關(guān)閉電腦的運行,因為電腦在運行中會不斷讀寫數(shù)據(jù)。如果強行關(guān)閉,很容易損壞硬盤,造成重要數(shù)據(jù)丟失。只有在電腦死機或者系統(tǒng)無法響應(yīng)時才可以強行關(guān)機。
不要用筆記本電腦的電池里電玩游戲。筆記本電腦的電池電量只能支撐兩個小時左右,而且游戲的時候CPU和顯卡帶來的大功率會對鋰電池造成嚴(yán)重損耗和壽命迅速衰減。如果玩游戲應(yīng)該插電再玩,這樣才能更好的保護電池。
開不了機就拔掉內(nèi)存條試試。一般的筆記本最容易出問題的就是內(nèi)存條接口,接口壞了就不能開機,俗稱“點不亮”。因此一般遇到開不了機的情況就先檢查一下是不是內(nèi)存條接口出現(xiàn)了問題,可以清潔一下接口。
加強散熱的方法。大多數(shù)的筆記本電腦采用的是風(fēng)冷散熱系統(tǒng),風(fēng)冷的一大問題就是灰塵淤積造成散熱差,可以試試除一下塵。如果自己不能很熟練拆開,建議還是找專業(yè)人員,這樣可以避免因不小心造成內(nèi)部損壞。另外,經(jīng)過一段時間導(dǎo)熱的硅脂會變性,導(dǎo)致散熱能力降低,建議兩年左右換一次硅脂。
秋冬季節(jié)防靜電。秋冬時節(jié)非常干燥,特別是在北方地區(qū)。靜電對人體沒什么傷害,但是對電腦就不一樣了,很容易造成電路燒毀。也有的筆記本電腦主板會有靜電保護措施,自動切斷電路,但是即使這樣也是無法開啟的,解決的辦法就是靜置幾個小時,一般都會恢復(fù)正常。
不要在電腦工作時拔插頭。電腦工作時不能拔插頭或者插板卡,這樣會損壞電腦的板卡,因為電腦工作時拔掉它們會產(chǎn)生靜電,造成信號電壓不匹配導(dǎo)致電腦損壞。