前言:以太網(wǎng)技術(shù)屬于當(dāng)前通信領(lǐng)域及信息領(lǐng)域的核心技術(shù)內(nèi)容,其中,千兆以太網(wǎng)技術(shù)完美結(jié)合了以太網(wǎng)技術(shù)的應(yīng)用優(yōu)勢(shì),有效解決了傳統(tǒng)以太網(wǎng)技術(shù)存在的不足之處。千兆以太網(wǎng)技術(shù)在原有基礎(chǔ)上,對(duì)傳輸介質(zhì)等組成物質(zhì)進(jìn)行了適當(dāng)優(yōu)化,如使用 8B/10B 的編解碼方案、采用載波擴(kuò)展技術(shù)以及分組突發(fā)技術(shù)等。隨著千兆以太網(wǎng)技術(shù)的不斷成熟與改進(jìn),以千兆以太網(wǎng)技術(shù)為代表的以太網(wǎng)技術(shù)儼然成為我國(guó)局域網(wǎng)的主流技術(shù)。為進(jìn)一步強(qiáng)化千兆以太網(wǎng)技術(shù)的應(yīng)用效果,研究人員結(jié)合 FPGA 技術(shù)及相關(guān)內(nèi)容,對(duì)現(xiàn)有千兆以太網(wǎng)交換芯片進(jìn)行充分優(yōu)化,以達(dá)到提高千兆以太網(wǎng)使用性能的目的。?
千兆以太網(wǎng)交換芯片的工作原理分析?
? ? ?文章所介紹的千兆以太網(wǎng)交換芯片主要按照 IEEE802.3 標(biāo)準(zhǔn)對(duì)現(xiàn)有的 8 個(gè)獨(dú)立千兆端口之間的 MAC 幀進(jìn)行交換與處理。與此同時(shí),該千兆以太網(wǎng)交換芯片可以同時(shí)兼容 10Mb/s 與 100Mb/s 的 MAC 幀交換要求。結(jié)合以往的經(jīng)驗(yàn)來(lái)看,千兆以太網(wǎng)交換芯片的工作原理主要圍繞“學(xué)習(xí)”與“轉(zhuǎn)發(fā)”兩個(gè)方面進(jìn)行開(kāi)展。一般來(lái)說(shuō),交換芯片內(nèi)部包含一個(gè) MAC 地址表,且每一個(gè) MAC 地址表在存儲(chǔ)單元方面,主要以保留比特、老化標(biāo)志、端口編號(hào)、MAC 地質(zhì)以及有效標(biāo)志等內(nèi)容為主。根據(jù)實(shí)踐證明,MAC 地址表可以有效存儲(chǔ) 4096 條關(guān)于 MAC 地址方面的索引信息。?
? ? ? 端口在接收 MAC 幀之后,可以自動(dòng)提取 MAC 幀的源地址。此時(shí)交換芯片可以自動(dòng)找尋上述地址索引信息內(nèi)容,如果沒(méi)有找到,系統(tǒng)會(huì)自動(dòng)將源地址與接收到幀端口編號(hào)融為一體,并自動(dòng)形成一條全新的 MAC 地址索引信息。并在此基礎(chǔ)上,自動(dòng)存儲(chǔ)到 MAC 地址索引內(nèi)容當(dāng)中。我們一般將這個(gè)過(guò)程中稱(chēng)為千兆以太網(wǎng)交換芯片的學(xué)習(xí)過(guò)程,交換芯片通過(guò)有效的學(xué)習(xí)可以及時(shí)明確主機(jī)地址與端口之間的內(nèi)部聯(lián)系,是否存在映射關(guān)系等。必要時(shí),交換芯片還會(huì)自動(dòng)記錄 VLAN 與各端口之間的信息內(nèi)容。?
MAC 幀直接轉(zhuǎn)發(fā)到對(duì)應(yīng)的端口位置處。一般來(lái)說(shuō),我們將這一過(guò)程中成為“轉(zhuǎn)發(fā)過(guò)程”。可以說(shuō),千兆網(wǎng)以太網(wǎng)交換芯片通過(guò)完成“學(xué)習(xí)”與“轉(zhuǎn)發(fā)”過(guò)程,可以進(jìn)一步提升交換芯片的工作效率,利于網(wǎng)絡(luò)性能的有效提升[2]。?
千兆以太網(wǎng)交換芯片的關(guān)鍵技術(shù)?
? ? ? 千兆以太網(wǎng)交換芯片的關(guān)鍵技術(shù)在于實(shí)現(xiàn) MAC 幀的幀頭信息提取要求與 MAC 地址表管理要求。其中,幀頭信息提取技術(shù)的關(guān)鍵要點(diǎn)在于合理判斷所提取的是以太網(wǎng)幀還是 802.3 幀。另外,還有提取源地址、目的地址等。在此基礎(chǔ)上,可以優(yōu)先計(jì)算當(dāng)前幀的信息內(nèi)容,并根據(jù)具體處理結(jié)果,進(jìn)行合理的協(xié)調(diào)處理。為進(jìn)一步實(shí)現(xiàn) 1000Mb/s 的 MAC 幀交換要求,建議設(shè)計(jì)人員在實(shí)際設(shè)計(jì)過(guò)程中,必須滿足千兆以太網(wǎng)的高吞吐量需求、MAC 幀地址索引信息以及在特定周期內(nèi)尋求到 MAC 地址對(duì)應(yīng)端口號(hào)的需求。為進(jìn)一步實(shí)現(xiàn)上述要求,建議設(shè)計(jì)人員可以選用 HASH 算法進(jìn)行處理。?
? ? ?基于FPGA的千兆以太網(wǎng)交換芯片的設(shè)計(jì)方案基于 FPGA 的千兆以太網(wǎng)交換芯片的設(shè)計(jì)方案可以從交換芯片組成方面進(jìn)行優(yōu)化設(shè)計(jì)。一般來(lái)說(shuō),基于 FPGA 的千兆以太網(wǎng)交換芯片在具體設(shè)計(jì)過(guò)程中,主要以接口幀緩存、MAC 幀處理模塊、交換模塊以及寄存器等成分為主。基于 FPGA 的千兆以太網(wǎng)交換芯片在雙端口的選擇方面,主要采用容量為 108k 字節(jié)的雙端口 SRAM 的設(shè)計(jì)方式。目的在于可以及時(shí)接收到 MAC 幀內(nèi)容,與此同時(shí),內(nèi)存管理模塊可以利用 SRAM 存儲(chǔ)空間的性能優(yōu)勢(shì),如分配、釋放等,進(jìn)一步實(shí)現(xiàn)交換芯片的功能。可以說(shuō),通過(guò)利用這種交換功能,可以進(jìn)一步強(qiáng)化以太網(wǎng)交換芯片的應(yīng)用功能。?
在芯片與用戶接口處的設(shè)計(jì)方面,本方案主要采用 RS232 接口。通過(guò)利用 RS232 接口可以及時(shí)了解用戶讀取寄存器或者芯片的運(yùn)行狀態(tài),能夠進(jìn)一步根據(jù)寄存器的運(yùn)行狀態(tài)調(diào)整芯片的工作模式。其中, MAC 幀處理模塊在功能方面多呈現(xiàn)出實(shí)現(xiàn) MAC 幀接收與發(fā)送兩個(gè)功能。其中,GMII/MII 口在接收到 MAC 數(shù)據(jù)幀之后,MAC 幀處理模塊會(huì)優(yōu)先處理端口接收到的數(shù)據(jù)內(nèi)容,并將緩存到接口幀模塊中的信息內(nèi)容放置到 FIFO 當(dāng)中。在此基礎(chǔ)上,MAC 幀處理模塊可以根據(jù)內(nèi)存管理模塊,釋放內(nèi)部的緩存空間。再得到內(nèi)存管理模塊的回執(zhí)命令之后,可以有效提取出幀頭。?
? ? ?與此同時(shí),幀頭信息分析模塊在接收到 MAC 幀處理模塊返置回來(lái)的信息之后,會(huì)將優(yōu)先級(jí)信息提取出來(lái),如目的地址、源地址以及 IP 頭信息。待提取完這些信息之后,分析模塊可以將其轉(zhuǎn)發(fā)到學(xué)習(xí)轉(zhuǎn)發(fā)模塊當(dāng)中。待處理結(jié)束之后,內(nèi)部系統(tǒng)可以參照幀頭、幀尾等方面的信息內(nèi)容或者相關(guān)指示信號(hào),發(fā)送到端口記錄模塊當(dāng)中。發(fā)送指示信號(hào)會(huì)根據(jù)端口記錄信號(hào)回執(zhí)的信息內(nèi)容,完成信號(hào)處理工作。并在此基礎(chǔ)上,內(nèi)存處理單元會(huì)結(jié)合信息的具體內(nèi)容進(jìn)行合理處理。此時(shí),MAC 幀處理單元會(huì)根據(jù)內(nèi)存處理單元發(fā)來(lái)的指令要求釋放信號(hào),進(jìn)一步優(yōu)化基于FPGA千兆以太網(wǎng)交換芯片的應(yīng)用功能。?
結(jié)論:通過(guò)本文的內(nèi)容敘述,大致可以明確基于 FPGA 的千兆以太網(wǎng)交換芯片的方案具有一定的可行性。在具體設(shè)計(jì)過(guò)程中,通過(guò)利用千兆全雙工模式,優(yōu)化 8 個(gè)端口工作模式。并在此基礎(chǔ)上,利用以太網(wǎng)測(cè)試儀對(duì)端口工作模式進(jìn)行性能方面的測(cè)試。測(cè)試結(jié)果明確顯示在 10min 中內(nèi),8 個(gè)端口 1000Mb/s 老化測(cè)試的丟包率滿足預(yù)期控制范圍,均小于百萬(wàn)分之一。由此可以證明,基于 FPGA 的千兆以太網(wǎng)交換芯片可以投入正式使用。目前,基于 FPGA 的千兆以太網(wǎng)交換芯片已經(jīng)得到廣泛應(yīng)用,效果顯著。?