清晰認清L2 L3 L4 Switch

2021-06-06 10:46:52 字數 1578 閱讀 8682

第二層交換機

,是根據第二層資料鏈路層的mac位址和通過站表選擇路由來完成端到端的資料交換的。因為站表的建立與維護是由交換機自動完成,而路由器又是屬於第三層裝置,其定址過程是根據ip位址定址和通過路由表與路由協議產生的。所以,第二層交換機的最大好處是資料傳輸速度快,因為它只須識別資料幀中的mac位址,而直接根據mac位址產生選擇**埠的演算法又十分簡單,非常便於採用asic專用晶元實現。顯然,第二層交換機的解決方案,實際上是乙個「處處交換」的廉價方案,雖然該方案也能劃分子網、限制廣播、建立vlan,但它的控制能力較小、靈活性不夠,也無法控制各資訊點的流量,缺泛方便實用的路由功能。

第三層交換機

,是直接根據第三層網路層ip位址來完成端到端的資料交換的。表面上看,第三層交換機是第二層交換器與路由器的合二而一,然而這種結合並非簡單的物理結合,而是各取所長的邏輯結合。其重要表現是,當某一資訊源的第乙個資料流進行第三層交換後,其中的路由系統將會產生乙個mac位址與ip位址的對映表,並將該錶儲存起來,當同一資訊源的後續資料流再次進入交換環境時,交換機將根據第一次產生並儲存的位址對映表,直接從第二層由源位址傳輸到目的位址,不再經過第三路由系統處理,從而消除了路由選擇時造成的網路延遲,提高了資料報的**效率,解決了網間傳輸資訊時路由產生的速率瓶頸。所以說,第三層交換機既可完成第二層交換機的端**換功能,又可完成部分路由器的路由功能。即第三層交換機的交換機方案,實際上是乙個能夠支援多層次動態整合的解決方案,雖然這種多層次動態整合功能在某些程度上也能由傳統路由器和第二層交換機搭載完成,但這種搭載方案與採用三層交換機相比,不僅需要更多的裝置配置、占用更大的空間、設計更多的佈線和花費更高的成本,而且資料傳輸效能也要差得多,因為在海量資料傳輸中,搭載方案中的路由器無法克服路由傳輸速率瓶頸。

顯然,第二層交換機和第三層交換機都是基於埠位址的端到端的交換過程,雖然這種基於mac位址和ip位址的交換機技術,能夠極大地提高各節點之間的資料傳輸率,但卻無法根據埠主機的應用需求來自主確定或動態限制埠的交換過程和資料流量,即缺乏第四層智慧型應用交換需求。

第四層交換機

不僅可以完成端到端交換,還能根據埠主機的應用特點,確定或限制它的交換流量。簡單地說,第四層交換機是基於傳輸層資料報的交換過程的,是一類基於tcp/ip協議應用層的使用者應用交換需求的新型區域網交換機。第四層交換機支援tcp/udp第四層以下的所有協議,可識別至少80個位元組的資料報包頭長度,可根據tcp/udp埠號來區分資料報的應用型別,從而實現應用層的訪問控制和服務質量保證。所以,與其說第四層交換機是硬體網路裝置,還不如說它是軟體網路管理系統。也就是說,第四層交換機是一類以軟體技術為主,以硬體技術為輔的網路管理交換裝置。

最後值得指出的是,某些人在不同程度上還存在一些模糊概念,認為所謂第四層交換機實際上就是在第三層交換機上增加了具有通過辨別第四層協議埠的能力,僅在第三層交換機上增加了一些增值軟體罷了,因而並非工作在傳輸層,而是仍然在第三層上進行交換操作,只不過是對第三層交換更加敏感而已,從根本上否定第四層交換的關鍵技術與作用。我們知道,資料報的第二層ieee802.1p欄位或第三層iptos欄位可以用於區分資料報本身的優先順序,我們說第四層交換機基於第四層資料報交換,這是說它可以根據第四層tcp/udp埠號來分析資料報應用型別,即第四層交換機不僅完全具備第三層交換機的所有交換功能和效能,還能支援第三層交換機不可能擁有的網路流量和服務質量控制的智慧型功能。

L2 L3網路傳輸

其中l2網路傳輸就是物理層鏈路層,l3就是物理層 鏈路層 網路層 l2網路傳輸 這種技術是普遍用於區域網的技術,各個主機之間通過鏈路層連線在一起,通過mac識別主機的身份,最常用的就是交換機 如上圖所示,圖中是兩個電腦連乙個交換機,我舉乙個a像b發資料的例子 l3網路傳輸 l3網路是經過路由器之間進...

v4l2框架v4l2 device API分析

涉及到的結構體 struct v4l2 device在v4l2框架中充當所有v4l2 subdev的父裝置,管理著註冊在其下的子裝置 struct v4l2 device struct device 代表子裝置,包含了子裝置的相關屬性和操作 struct device struct subdev s...

linux V4L2程式設計

前言 目前正在忙於arm平台的linux應用程式的開發 其實是剛剛起步學習啦 底層的東西不用考慮了,開發板子提供了nand bootloader,和linux 2.6的原始碼,而且都編譯好了。自己編譯的bootloader可以用,但是linux編譯後,檔案很大,暫且就用人家編譯的系統,先專心寫應用程...