BCM5633x 交換芯片硬件結構以及功能模塊介紹

BCM5633x 交換芯片硬件結構以及功能模塊介紹

 

前記:

有一天,當我得知自己要做交換機芯片的驅動的時候,我很興奮,因爲這是我長久以來最希望完成的工作。當被告知需要用Broadcom推出的BCM56334型交換產品,來實現公司EPON OLT產品上聯GE口的2層交換功能的時候,我頓時有點懵。無論按照電信還是國網公司的標準,OLT只需要實現基本的二層交換功能,不會涉及報文的三層解析,但是BCM5633x是一個2/3層的千兆交換機,也就是說如果一旦採用BCM5633x,那麼勢必有些浪費。還好,Broadcom的產品模塊化比較強,二層到三層的轉化處理只需要一個控制位來控制,這樣,也就能安心完成2層功能了。但是,遺憾的是,開發被終止了......

爲了比較詳盡的介紹BCM5633x產品,我打算做一個系列的博客,希望能和專業之士共同探討這一產品的功能。同時,因爲這是我首次接觸交換芯片,有些概念希望大家積極指正。

 

BCM5633x交換芯片硬件架構

BCM5633x的硬件架構如下圖所示:

 

 

圖中,BCM5633x 的CMIC是交換芯片和CPU的接口,兩者通過PCI總線連接。其他類型交換芯片與CPU連接接口可以是:SPI + MII,I2C + MII,系統總線 + MII,SMI + MII。MII(介質無關接口)是以太網控制器(主要是L2)和PHY通信的物理接口。

 

網絡包的處理流程

我列出了報文在BCM5633x內部被處理時經過的硬件模塊。

 

 

網絡數據包由前置面板的24Gbe端口或者10Gbe端口進入交換芯片後,首先經過智能解析器,包的前128字節信息被提取保留,Lookup EngineContentAware Processor會引用這些信息,用以後續流分類等操作;接着,數據包會進入Security Engine,一個內嵌的硬件檢測邏輯,檢測和防止攻擊類報文;符合條件的數據包會進行L2交換和L3層路由(如果使能L3處理)處理—主要通過包頭信息進行表查詢,地址學習等;經過前面的基本處理,符合條件的數據包會進行ContentAware ProcessingContentAware Processor是一個過濾分類處理器,設計用來支持ACL,區分服務,QoS等功能,對數據包進行相關動作配置(丟棄,修改VLAN以及限速等);對於可轉發的數據包,根據820.1P或者DSCP標記,放入不同優先級的隊列中,調度器根據調度算法執行調度過程,在出口方向執行流分類的配置動作後,通過出端口發出去。

 

模塊功能介紹

Intelligent Parser

智能解析器,提取進入交換芯片內部數據包的前128字節信息,爲後面預處理數據包做準備。

 

Security Engine

安全引擎是內嵌的硬件邏輯,作爲防止網絡攻擊的首層防護,提供Dos攻擊防護等。安全引擎提供:早期忽略處理,防DOS攻擊,基於流的鏡像,流率測量等機制。,

 

L2 Switching

專注於二層交換和轉發,維護L2表,如MAC地址表、VLAN表等,並根據L2 table進行報文的轉發和交換。

 

L3 Routing

維護L3表,L3表包括路由表等。該模塊根據報文攜帶的三層信息,進行路由表的更新等操作,同時按照路由表的路由信息,對報文進行3層轉發

 

ContentAware Processing

內容相關處理,該模塊主要在於識別報文攜帶的信息,並根據這些信息實現不同的ACL,策略,比如過濾,修改域等,動作的實際執行是在出口的最後一層。

 

Memmory Management

提供內存管理統計(cells and packet pointer 機制),共享緩衝池動態內存門限機制,入向允許控制,PAUSE測量,出向允許控制,加權隨機早檢測,服務相關流量控制,端到端流量控制,端到端擁塞控制,區分服務,隊列調度,流量整型等。

 

Traffic Management

出口方向的流量管理,如限速,出向端口仲裁,流量測量整型,VLAN整型等。

 

Modification

該模塊將執行ContentAware處理模塊標示的具體動作,修改報文的某些域,然後通過出口發送出去

以上這些模塊實現的功能其實很複雜,具體之間的聯繫需要看使用手冊來理解。

 

【本博客 http://www.cnblogs.com/iTsihang 中原創之博文,版權屬作者所有,歡迎轉載。轉載之時請保留本段內容,否則作者將保留追究版權之權利】

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章