Marvell 交换芯片DSA(分布式交换架构)功能介绍
生活随笔
收集整理的這篇文章主要介紹了
Marvell 交换芯片DSA(分布式交换架构)功能介绍
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Marvell DSA(分布式交換架構(gòu))by 韓大衛(wèi)@吉林師范大學(xué)***************
請(qǐng)參見 Marvell Prestera/Cheetah/xcat/lion 系列交換芯片手冊(cè)獲取更詳細(xì)的說明
Marvell DSA(分布式交換架構(gòu))技術(shù)使得設(shè)備之間通過級(jí)聯(lián)的方式, 組成一個(gè)大型交換網(wǎng)絡(luò), 最大程度上加速報(bào)文的轉(zhuǎn)發(fā)和處理. 在此系統(tǒng)中, 最多允許31個(gè)設(shè)備相連, 相連設(shè)備間的端口需要配置為級(jí)聯(lián)端口, 這樣端口間傳輸?shù)膱?bào)文會(huì)被芯片打上一個(gè)DSA 的標(biāo)記(類似于VLAN), DSA Tag中主要信息有:
Vlan-ID , Souce ID(用于標(biāo)記報(bào)文原始出處), TrgDev(目的設(shè)備), TrgPort(目的端口), SrcDev(源設(shè)備), SrcPort(源端口)等.所以首先要將級(jí)聯(lián)系統(tǒng)中的每一個(gè)設(shè)備配置一個(gè)唯一的級(jí)聯(lián)設(shè)備號(hào)(Hardware Device ID).0-31. 將指定端口配置為級(jí)聯(lián)端口, 此時(shí)該端口同時(shí)應(yīng)該關(guān)閉Ingess PCL, Bridge Engine, Policer engine, TTI lookups 和Route等功能. 設(shè)備對(duì)報(bào)文的處理, 僅根據(jù)報(bào)文中DSA Tag 的相關(guān)信息. 進(jìn)而最大程度上加快報(bào)文的轉(zhuǎn)發(fā)速度.關(guān)于DSA Tag 的產(chǎn)生: 在一個(gè)設(shè)備中, 一個(gè)網(wǎng)絡(luò)接口接收到報(bào)文, 并將其轉(zhuǎn)發(fā)到其他端口, 如果某端口配置為DSA mode(級(jí)聯(lián)接口). 在報(bào)文進(jìn)入此級(jí)聯(lián)接口時(shí)會(huì)被設(shè)備打印上DSA標(biāo)記, DSA Tag 里的內(nèi)容根據(jù)該設(shè)備的各種配置而定, 此后會(huì)一直攜帶此DSA Tag轉(zhuǎn)發(fā)到所有可能進(jìn)入的級(jí)聯(lián)設(shè)備. 當(dāng)報(bào)文由級(jí)聯(lián)接口轉(zhuǎn)發(fā)到網(wǎng)絡(luò)接口時(shí), DSA Tag會(huì)自動(dòng)轉(zhuǎn)換為IEEE 802.1Q格式的報(bào)文. NOTE:DSA Tag 可以分為DSA Extend mode和 DSA Regular mode. DSA Extend mode 為8個(gè)字節(jié), Marvell定義為兩個(gè)word, Word 0 和word 1. DSA Regular mode 為4個(gè)字節(jié), 只有一個(gè)word. DSA Extend mode會(huì)攜帶更多的信息. 現(xiàn)大多數(shù)Marvell Prestera/Cheetah/xcat/lion 系列交換芯片均支持 DSA Extend mode. 如果一個(gè)配置為 DSA Extend mode的級(jí)聯(lián)接口與一個(gè)配置為DSA Regular mode的級(jí)聯(lián)接口相連, 在傳輸報(bào)文時(shí), 報(bào)文中DSA Tag會(huì)在兩者間自動(dòng)轉(zhuǎn)換.在級(jí)聯(lián)系統(tǒng)中, 對(duì)于報(bào)文的轉(zhuǎn)發(fā), 根據(jù)報(bào)文有無已知出口路徑而分兩種情況, 一, 如在設(shè)備中存在有直接轉(zhuǎn)發(fā)該報(bào)文的路徑, 比如有該報(bào)文中目的MAC與出接口的對(duì)應(yīng)關(guān)系的FDB表, 或者有PCL來指定報(bào)文的出接口, 那么此時(shí)報(bào)文根據(jù)設(shè)備中 “ Dev Map Table” 中目的設(shè)備與指定出接口的對(duì)應(yīng)關(guān)系來轉(zhuǎn)發(fā)至該出接口. 此報(bào)文可以當(dāng)作在級(jí)聯(lián)系統(tǒng)中的單播報(bào)文.單播的報(bào)文中示例如下:13:51:27.575755 00:16:31:fe:e7:e8 > 12:13:18:cc:dd:ff, ethertype Unknown (0xc100), length 68: 0x0000: 1213 18cc ddff 0016 31fe e7e8 c100 3001 ........1.....0.0x0010: 1010 0101 0800 4500 0028 2b75 0000 4006 ......E..(+u..@.0x0020: b9f0 c0a1 0a0a c0a1 0a1e 0014 04b0 1cbe ................0x0030: 45aa 07a7 22fe 5000 0200 86a8 0000 0000 E...".P.........0x0040: 0000 0000 DSA Tag 為: c100 3001 1010 0101 含義如下:Word 0: c100 3001 :[31:30]TagCommand : forwarding[28:24]SrcDev : 00001 -------> 報(bào)文來自設(shè)備1[23:19]SrcPort : 0000 -------> 來自設(shè)備1 的Port 0[15:13]UP : 001 -------> User Priority 1[12] : 1 -------> DSA Extend 類型[11:0] : 1 -------> VLAN-ID 為 1Word 1: 1010 0101 [28]EgressFilter 1: -------> 報(bào)文為已知路徑的單播報(bào)文.[24:20]Source ID 00001: -------> 1 : Souce ID 為 1[10:5]TrgPort 0010000: -------> 8 : 目的port 為 8[4:0]TrgDev 00001: -------> 1 : 目的dev 為 1這樣, 在dev 0的級(jí)聯(lián)接口接收到此報(bào)文后, 根據(jù)dev 0 內(nèi)部的Dev Map Table配置找到對(duì)應(yīng)出接口, 轉(zhuǎn)發(fā)報(bào)文.NOTE:Source ID Source ID 為一個(gè) 5bit的數(shù)字, 用于在級(jí)聯(lián)系統(tǒng)中標(biāo)識(shí)一個(gè)設(shè)備, 建議與Hardware Device ID配置一致, 這樣可以通過此Source ID 來看出報(bào)文來自哪個(gè)設(shè)備從而加以處理.默認(rèn)值為0.如果將ge 0 的”端口默認(rèn)Source ID” 使能, 報(bào)文中的Source ID 為ge 0的默認(rèn)Source ID配置. 對(duì)于級(jí)聯(lián)系統(tǒng)中的單播報(bào)文, 可通過配置Dev Map Table來決定報(bào)文的走向, 例如, 對(duì)于上面的報(bào)文, 在設(shè)備中配置DEV MAP Table,--------------> 配置連接 Dev1 的接口為 8這樣, 上面的報(bào)文會(huì)被轉(zhuǎn)發(fā)到ge 8.二, 如果在設(shè)備中, 對(duì)此報(bào)文沒有直接的出口路徑, 那么便在級(jí)聯(lián)系統(tǒng)中廣播, 廣播的報(bào)文示例如下:14:19:12.911557 00:16:31:fe:e7:e8 > 12:13:18:cc:dd:ff, ethertype Unknown (0xd000), length 76: 0x0000: 1213 18cc ddff 0016 31fe e7e8 d000 3001 ........1.....0.0x0010: 0010 1fff c100 3001 1010 0101 0800 4500 ......0.......E.0x0020: 0028 e032 0000 4006 0533 c0a1 0a0a c0a1 .(.2..@..3......0x0030: 0a1e 0014 04b0 19f8 d415 66eb f4b8 5000 ..........f...P.0x0040: 0200 ca03 0000 0000 0000 0000Word 0 : d000 3001[31:30]TagCommand : forwarding[28:24]SrcDev : 10000 -------> 報(bào)文來自設(shè)備16[23:19]SrcPort : 0000 -------> 來自設(shè)備1 的Port 0[15:13]UP : 001 -------> User Priority 1[12] : 1 -------> DSA Extend 類型[11:0] : 1 -------> VLAN-ID 為 1Word 1 : 0010 1fff[28]EgressFilter 0: -------> 報(bào)文為知路徑的多播報(bào)文.[24:20]Source ID 00001: -------> 1 : Souce ID 為 1[10:5]TrgPort 1111111: -------> 8 : 目的端口為所有端口[4:0]TrgDev 11111: -------> 1 : 目的dev 為所有設(shè)備對(duì)于級(jí)聯(lián)系統(tǒng)中的多播報(bào)文, 可使用Source ID Group 來決定報(bào)文的出口,比如, 對(duì)于上述報(bào)文, 做如下配置:一, 將接口 16 添加到 Soure ID group 1 中 二, 將接口 25 在 Soure ID group 1 中刪除這樣, 同在 VLAN 1 下的ge 16和xe 25, 只有g(shù)e 16可以收到報(bào)文, 進(jìn)而在級(jí)聯(lián)系統(tǒng)中進(jìn)行廣播.另外, Marvell 定義了一種 Fast Failover(快速故障處理) 的機(jī)制. 當(dāng)級(jí)聯(lián)系統(tǒng)中某一個(gè)設(shè)備出現(xiàn)故障時(shí), 為保證鏈路暢通, Marvell允許用戶定義弟二個(gè)出接口, 當(dāng)設(shè)備默認(rèn)出接口有問題時(shí), 會(huì)自動(dòng)切換到弟二個(gè)出接口.NOTE:Dev Map Table , Source ID Group , Vlan 幾個(gè)表的作用范圍:作用范圍依次變大:Dev Map Table ----> Source ID Group --------> Vlan首先, 要保證級(jí)聯(lián)接口在報(bào)文的Vlan中.對(duì)于要在級(jí)聯(lián)系統(tǒng)中沒有已知路徑(廣播)的報(bào)文, 使用Source ID Group來決定報(bào)文出口.對(duì)于在級(jí)聯(lián)系統(tǒng)中有已知路徑(單播)的報(bào)文, 在滿足Source ID Group情況下, 由Dev Map Table決定報(bào)文出口. 根據(jù)Marvell 提供的配置, 可以決定是否Source ID可以決定過濾DSA單播報(bào)文, 默認(rèn)功能是使能的(因?yàn)閱尾サ姆秶趶V播范圍中), 所以DSA單播報(bào)文, 需要先滿足Source ID Group, 再根據(jù)Dev Map Table進(jìn)行轉(zhuǎn)發(fā).NOTE:當(dāng)兩個(gè)設(shè)備作為級(jí)聯(lián)時(shí), 整個(gè)級(jí)聯(lián)系統(tǒng)作為一個(gè)設(shè)備來學(xué)習(xí)目的設(shè)備/目的接口 與報(bào)文中MAC的對(duì)應(yīng)關(guān)系.例如如果dev 0 的ge 0 進(jìn)入報(bào)文經(jīng)過ge 8發(fā)出, 最后由dev 11 的 ge 18轉(zhuǎn)發(fā)到目的地, 之后該地址發(fā)送回應(yīng)報(bào)文. 那么dev 0 自動(dòng)學(xué)習(xí)的結(jié)果是:VID MAC Interface Type DstDev1 00:16:31:ff:31:11 18 dynamic 11VID MAC Interface Type DstDev1 30:16:31:ff:3a:ee 0 dynamic 0如果不是作為級(jí)聯(lián)系統(tǒng), 那么dev 0 的學(xué)習(xí)結(jié)果僅為自身的出接口:VID MAC Interface Type DstDev1 00:16:31:ff:31:11 8 dynamic 0********* ********************Thanks for review
******************************
總結(jié)
以上是生活随笔為你收集整理的Marvell 交换芯片DSA(分布式交换架构)功能介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue 所见即所得_用于Vue.js的轻
- 下一篇: 【MacOS】命令行配置zsh以及pow