多層交換概述(CEF FIB CAM TCAM等等作用都有~~!)

多層交換是指交換機使用硬件來交換和路由數據包,通過硬件來支持4-7層的交換。交換機執行硬件交換,第3層引擎(路由處理器)須將有關路由選擇、交換、訪問列表和QoS的信息下載到硬件中,以對數據包進行處理。

      MLS使用ASIC(Application-Specific Integration Circuit,應用專用集成電路)執行2層的重寫操作。2層重寫包括重寫源與目標MAC地址以及寫入重新計算後的CRC(Cyclic Redundancy Check,循環冗餘校驗)。傳統的MLS是基於NetFlow的交換。3層交換引擎(路由處理器)和2層交換ASIC芯片協同工作,建立3層條目。
3層條目包括3種形式:
1.源IP地址(S)
2.源和目標IP地址(S/D)
3.包含4層協議信息的完整流信息(FFI)
例:
工作站A向B發送數據包,首先將包發送給默認網關即RSM(route switch modual),MLS-SE交換機根據數據包所包含的目標IP爲B的IP而目標MAC爲MLS-RP模塊的MAC地址這一特性識別出該包爲一個MLS候選包。交換機由此創建流候選條目,接收包,重寫2層MAC地址和CRC,轉發數據包。交換機將RSM轉發的數據包視爲enabler數據包。在看到候選數據包和enabler包後,交換機耕硬件中創建一個MLS條目,以便後續包的的轉發。
基於CEF的MLS
CEF的MLS是基於控制平面信息和數據平面信息進行多層交換。
控制平面是指第3層引擎(路由處理器),數據平面指交換機用來進行硬件交換的硬件組伯(ASIC,Catalyst6500的Supervisor Engine和PFC模塊)。
CEF是基於拓撲的轉發模型,預先將路由信息加入Forwarding Information Base中,動態更新鄰接表中的第2層重寫信息,因此可以快速查找路由選擇信息(IP鄰接關係,下一跳IP地址,MAC地址)。
CEF的兩個組件:
FIB:基於目標IP前綴的交換決策,類似於路由器的路由表,FIB表爲路由表中轉發信息的鏡像。
鄰接關係表:如果在兩個節點間,數據鏈路層只有一跳,則稱爲彼子相鄰。用來存儲第2層編址信息,維護所有FIB條目的第2層址。3層的交換引擎和硬件交換組件都維護一個鄰接關係表。
控制平面(3層信息)用軟件建立FIB表和鄰接關係表,然後將這些信息下載到數據平面。
Catalyst6500系列交換機中,MSFC子卡負責控制平面的操作,Supervisor Engine和PFC模塊負責數據平面的操作。
交換機上第3層交換方式包括集中式和分佈式交換:
集中式交換是在一個專用的ASIC上做出轉發決策,此ASIC芯片爲3層交換中所有接口的樞紐。此時由Supervisor Engine或第3層引擎做出路由選擇、ACL、QoS和轉發決策。使用集中式交換時,交換機性能取決於中央交換引擎和交換矩陣/總線體系結構。
分佈式交換是使用3層交換機的接口或線路模塊獨立地做出轉發決策。中央交換引擎將負責第3層轉發、路由選擇表和重寫表與本地表(位於分佈式交換的模塊上)進行同步。分佈式交換機將CEF FIB和鄰接表的副本放在線路模塊或接口中,由此各線路卡獨立的做出轉發決策,數據幀通過交換矩陣直接在端口間傳輸,而不借助中央交換引擎。(*使用分佈式交換,系統性能爲所有轉發引擎之和)
Catalyst6500交換機使用集成交換矩陣(中央分佈式交換引擎)和DFC線路模塊的Supervisor Engine720(分佈式交換線路模塊)。
地址解析協議抑制:可以使得第3層引擎避免過多的ARP處理或基於ARP的DoS***。
過程:
1.收到數據包
2.使用glean鄰接關係表,查看錶中有沒有相關目標IP的2層重寫信息
3.如果有交換信息,則直接交換數據包。如果沒有,則發送ARP請求獲取重寫信息
4.轉發前幾個數據包給3層引擎,載入抑制鄰接關係表
5.在ARP響應前丟棄所有後續數據包。
6.接到ARP請求回覆,清除抑制鄰居關係表。添加鄰接關係條目。
7.如果2秒內沒有ARP回覆,清除抑制鄰接關係表,允許更多的數據包轉發給3層引擎來重新發起ARPP請求。
交換表的體系結構:多層交換機使用高速內存表來建立路由選擇表(CEF FIB和鄰接關係表),橋接表,QoS表和ACL。
多層交換用專門的內存體系結構:CAM(Content addressable Memory)和TCAM(Ternary Content Addressable Memory)。CAM提供兩種結果0和1,TCAM提供三種結果0、1和無關緊要。CAM表可以構建準確查找的表(MAC地址表),TCAM用於構建最長匹配表(根據IP前綴的IP路由選擇表)。
CAM表用於存儲2層交換表,交換機以2進制方式精確查找CAM表,如果沒有就採用默認的Flood行爲。步驟:1.將用於查找的關鍵字傳遞給哈希算法,哈希算法在CAM中查找匹配的關鍵字。2.哈希算法返回一個與關鍵字匹配的指針。3.交換機根據指針找到結果,從而避免了順序搜索整個表。
CAM表包括:目標VLAN、目標MAC地址和目標端口等信息。交換機在CAM表中不僅查找精確匹配的條目,還查找與掩碼值相匹配的IP地址條目。
TCAM表是一種爲快速查找而設計的表,用於最長匹配。通過使用TCAM,就用ACL不會影響交換機的性能。TCAM中每個條目由:value(模式值)+Mask(掩碼值)+result(結果)組成。這種條目被稱VMR條目。
Value(模式值)指的是要匹配的模式,如:IP地址、協議端口、DSCP值
Mask(掩碼值 )用於決定前綴
Result(結果值)指的是與模式和掩碼匹配時的結果(TCAM中存儲IP路由選擇表,則結果爲返回一個指向硬件鄰接關係表中的一個條目的指針,該條目包含下一跳MAC重寫信息)或根據ACL匹配時所採取的permit或deny措施(TCAM中存儲ACL)。
TCAM定義了三種匹配方式:
1.精確匹配區域:存儲第3層條目的區域,如IP鄰接關係條目(包含IP地址下一跳信息“MAC地址”),第2層交換表和UDP擴散表。
2.最長匹配區域:包含多個3層地址條目組,按掩碼長度降序排列。相同組內所有條目具有相同的掩碼值和關鍵字長度。條目組可以通過從鄰接組中借用地址條目的方法,動態的改變條目組的大小。重新啓動系統後,重新配置的協議區域大小纔會生效。
3.首次匹配區域:找到匹配後立即停止查找的區域,如ACL條目。
常見的TCAM協議區域:
精確匹配區域:in-adjacency(IP鄰接關係)32 bit,12-switching(第2層交換)64 bit,udp-flooding(UDP擴散)64 bit。
最長匹配區域:ip-prefix(IP前綴)32 bit,ip-mcast(IP多播)64 bit
首次匹配區域:access-list(訪問列表)128 bit
基於CEF的MLS的交換機默認情況下啓用CEF,啓用基於CEF的MLS和基於目標的負載均衡。
查看第3層引擎的CEF表:show ip cef [detail]
查看第3層引擎的鄰接表:show adjacency
CEF將用ARP獲得的MAC地址來填充鄰接關係表,鄰接關係表包含鄰接節點的MAC地址重寫信息和目標接口。CEF表中所有IP路由選擇條目都對應於一個下一跳地址。當交換機收到目標IP非自身,目標MAC爲交換機自身時,將在CEF表中查找目標IP所對應的轉發MAC地址,然後從接口中傳出。
單條CEF條目可能指向多個鄰接關係條目。FIB表將維護該子網的前綴。子網前綴指向一個glean鄰接關係條目。
如果接口配置了NAT或收到的數據包中包含IP報頭選項,則需要對數據包進行特殊處理。鄰接關係處理的特殊情況有:
1.Punt(轉出)鄰接關係條目:需要3層引擎進行處理或硬件交換不支持的特性
2.drop鄰接關係條目:用於丟棄入站數據包
3.Null鄰接關係條目:用於丟棄前往Null0接口的數據包,Null0接口用於過濾開自特定源的IP數據包
不能被硬件交換方式所支持的常見幀類型:
1.包含IP報頭選項的數據包
2.源自/去往隧道接口的數據包
3.使用的以太網封裝類型(非APRA)的數據包
4.需要分段的數據包
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章