亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于FPGA的地址學(xué)習(xí)功能的設(shè)計(jì)

        2016-12-05 03:48:03王輝
        光通信技術(shù) 2016年5期
        關(guān)鍵詞:表項(xiàng)以太網(wǎng)數(shù)據(jù)包

        王輝

        (中國電子科技集團(tuán)公司 第三十四研究所,廣西 桂林541004)

        一種基于FPGA的地址學(xué)習(xí)功能的設(shè)計(jì)

        王輝

        (中國電子科技集團(tuán)公司 第三十四研究所,廣西 桂林541004)

        當(dāng)前的綜合傳輸設(shè)備中,大多都提供了高速的以太網(wǎng)業(yè)務(wù)接口,能夠直接實(shí)現(xiàn)以太網(wǎng)業(yè)務(wù)的傳輸。但是,這些傳輸設(shè)備無法實(shí)現(xiàn)以太網(wǎng)數(shù)據(jù)包的地址學(xué)習(xí)功能,給傳輸設(shè)備和交換設(shè)備的組網(wǎng)帶來了一定的影響。文章中提出了一種基于FPG A的地址學(xué)習(xí)功能的設(shè)計(jì),以解決對數(shù)據(jù)包的源m ac地址進(jìn)行學(xué)習(xí)和管理。給出了電路原理,詳細(xì)介紹了硬件接口模塊和地址學(xué)習(xí)模塊中的各模塊功能,并進(jìn)行了應(yīng)用驗(yàn)證。

        FPG A;M A C地址;老化

        0 引言

        當(dāng)前,傳輸設(shè)備的地址學(xué)習(xí)功能大多出現(xiàn)在交換設(shè)備上。交換設(shè)備能夠自動學(xué)習(xí)到達(dá)設(shè)備端口的以太網(wǎng)數(shù)據(jù)包的源MAC地址,有利于對數(shù)據(jù)包的快速轉(zhuǎn)發(fā)[1,2]。傳輸設(shè)備一般只提供物理接口,只對數(shù)據(jù)進(jìn)行透明傳輸,不提供源MAC地址的學(xué)習(xí)功能。當(dāng)傳輸設(shè)備和交換設(shè)備組網(wǎng)時,需要傳輸設(shè)備實(shí)時學(xué)習(xí)和記錄接入到傳輸設(shè)備的終端設(shè)備(如PC)的MAC地址,并能夠適時發(fā)送免費(fèi)的ARP學(xué)習(xí)包,使得交換設(shè)備能夠及時更新其與傳輸設(shè)備相連的端口上的MAC地址表。為了實(shí)現(xiàn)上述功能,本文在傳統(tǒng)傳輸設(shè)備的基礎(chǔ)上,采用FPGA[3]的方式,實(shí)現(xiàn)了傳輸設(shè)備對接入終端設(shè)備的源MAC地址的學(xué)習(xí)和管理功能[4]。

        1 電路原理

        設(shè)計(jì)時,我們在傳輸設(shè)備以太網(wǎng)板的物理層芯片和映射芯片之間增加了一塊FPGA芯片,用來處理收到的數(shù)據(jù)包,對數(shù)據(jù)包中的MAC地址進(jìn)行學(xué)習(xí)和管理。電路原理如圖1所示。FPGA芯片提供了1個CPU接口和2個GMII接口。CPU接口用于連接CPU芯片,2個GMII接口分別用于連接以太網(wǎng)物理層芯片和以太網(wǎng)映射芯片。

        圖1 電路原理示意圖

        一方面,F(xiàn)PGA截獲從端口1收到的所有的數(shù)據(jù)包,并獲取數(shù)據(jù)包的源MAC地址,建立端口1的MAC表項(xiàng)(包含MAC地址、IP地址);另一方面,F(xiàn)PGA還能夠接收CPU的指令,適時的從端口2發(fā)出以端口1的MAC表項(xiàng)構(gòu)成的免費(fèi)的ARP包以利于其他設(shè)備快速更新其MAC表項(xiàng)。

        2 硬件接口模塊功能

        2.1CPU接口模塊

        FPGA提供的CPU接口外部采用地址/數(shù)據(jù)并行總線接口形式,內(nèi)部設(shè)置了一系列的寄存器。CPU芯片可以通過CPU接口對FPGA提供的內(nèi)部寄存器進(jìn)行讀寫,實(shí)現(xiàn)CPU對FPGA的功能模塊的控制管理。CPU芯片對FPGA的主要控制功能有:MAC地址學(xué)習(xí)功能的開啟和關(guān)閉;MAC地址老化時間的設(shè)置;MAC地址學(xué)習(xí)包代理轉(zhuǎn)發(fā)功能(傳輸設(shè)備代替接入端口1的終端設(shè)備向端口2轉(zhuǎn)發(fā)免費(fèi)的ARP學(xué)習(xí)包)的開啟和關(guān)閉;免費(fèi)的ARP包的發(fā)包頻率的設(shè)置。

        2.2GMII接口功能

        FPGA的端口1和端口2都是GMII接口,只支持1000Mb/s的速率。FPGA將端口1的GMII信號和端口2的GMII信號通過FIFO轉(zhuǎn)換時鐘域,實(shí)現(xiàn)物理層和以太網(wǎng)映射芯片之間業(yè)務(wù)的透傳功能。

        3 地址學(xué)習(xí)內(nèi)部模塊功能

        3.1以太網(wǎng)數(shù)據(jù)包地址學(xué)習(xí)功能

        以太網(wǎng)數(shù)據(jù)包地址學(xué)習(xí)功能是指FPGA學(xué)習(xí)從端口1進(jìn)來IPv4包(非WLAN)的源MAC地址和源IP地址,然后將MAC地址和IP地址送入以太網(wǎng)地址管理器進(jìn)行比較和保存。

        以太網(wǎng)數(shù)據(jù)包地址學(xué)習(xí)功能的FPGA邏輯流程圖如圖2所示。當(dāng)端口有數(shù)據(jù)包到達(dá)時,F(xiàn)PGA對數(shù)據(jù)包的字節(jié)進(jìn)行計(jì)數(shù)。首先,存下數(shù)據(jù)包的源MAC地址 (第15到第20字節(jié))。然后,存下以太網(wǎng)包類型(第21和22字節(jié))并判斷是否為IP包。如果是IP包,則存下IP包的源IP地址(第35到第38字節(jié));如果不是IP包,則結(jié)束本次存入過程,等待下一個數(shù)據(jù)包。最后把源MAC和IP地址送入地址管理器進(jìn)行比較和保存。

        圖2 以太網(wǎng)數(shù)據(jù)包地址學(xué)習(xí)邏輯流程圖

        3.2以太網(wǎng)地址管理功能

        圖3為地址管理器示意圖。FPGA提供了以太網(wǎng)地址管理功能,包括一個128個地址的雙端口RAM、一個內(nèi)容地址查找表(Contend Address Memory,CAM)、一個RAM和CAM寫入模塊、一個RAM存入接口模塊、一個RAM讀取接口模塊和一個RAM地址狀態(tài)管理模塊。

        圖3 地址管理器示意圖

        各個模塊的功能如下:

        ⑴一個128個地址的雙端口RAM。用來存儲學(xué)習(xí)到的源MAC地址表項(xiàng)。

        ⑵一個CAM。用于比較以太網(wǎng)包的源地址表項(xiàng)是否已經(jīng)存在于CAM內(nèi)。

        ⑶RAM、CAM寫入模塊。用于將RAM存入接口保存的以太網(wǎng)地址寫入RAM和CAM。

        ⑷RAM存入接口模塊。邏輯流程圖如圖4所示。首先,地址學(xué)習(xí)模塊獲取數(shù)據(jù)包的源地址并將這些地址送入RAM存入接口模塊;然后,RAM存入接口模塊緩存這些以太網(wǎng)地址,同時將該地址送入CAM中;最后,CAM查找CAM內(nèi)部是否有相同的MAC地址。如果CAM內(nèi)部已經(jīng)存在相同的MAC地址,則終止本次存入,并產(chǎn)生MAC地址更新信號通知RAM地址狀態(tài)管理模塊更新此MAC地址表項(xiàng)。如果CAM內(nèi)沒有此MAC地址,RAM存入接口模塊查詢RAM地址狀態(tài)管理模塊是否有未使用的RAM地址。如果沒有空閑RAM地址,地址管理器將丟棄該以太網(wǎng)地址;如果有空閑RAM地址,則RAM、CAM寫入模塊將該MAC地址表項(xiàng)寫入RAM內(nèi)空閑地址中數(shù)值最小的地址內(nèi),并告訴RAM地址管理模塊該RAM地址被使用,結(jié)束本次存入。

        ⑸RAM讀取接口模塊邏輯流程圖如圖5所示。RAM讀取接口模塊內(nèi)部設(shè)計(jì)了一個狀態(tài)機(jī),可以將RAM中的存儲的MAC表項(xiàng)按照RAM地址從小到大的順序依次讀取出來。狀態(tài)機(jī)持續(xù)地檢查RAM地址狀態(tài)管理模塊給出的RAM地址使用狀態(tài),從RAM中已經(jīng)使用的地址中最小的地址開始預(yù)讀取一個MAC表項(xiàng)。當(dāng)代理轉(zhuǎn)發(fā)模塊請求MAC表項(xiàng)時,RAM讀取接口模塊直接將預(yù)讀取的MAC表項(xiàng)發(fā)送給代理轉(zhuǎn)發(fā)模塊,接著馬上去讀取RAM中下一個的MAC地址表項(xiàng),直至不再收到代理轉(zhuǎn)發(fā)模塊的請求。

        圖4 RAM存入接口模塊邏輯流程圖

        ⑹RAM地址狀態(tài)管理模塊,由128個RAM地址老化管理模塊組成,用于管理128個RAM地址的使用及老化狀態(tài)。邏輯流程圖如圖6所示。系統(tǒng)剛上電時RAM地址的使用狀態(tài)默認(rèn)設(shè)置為未使用 (數(shù)值為‘0’),老化計(jì)數(shù)器清零。當(dāng)RAM的地址狀態(tài)為“0”時,老化計(jì)數(shù)器為零且處于不計(jì)時狀態(tài);當(dāng)RAM的地址狀態(tài)為“1”時,老化計(jì)數(shù)器處于計(jì)時狀態(tài)(時間遞增)。有2種情況會使對應(yīng)的RAM地址的老化計(jì)數(shù)器清零,并開始計(jì)時。第一種情況,有新的MAC表項(xiàng)被寫入到RAM中;第二種情況,RAM中原本存在的MAC表項(xiàng)進(jìn)行了更新。當(dāng)老化計(jì)數(shù)器遞增到設(shè)定的值(默老化時間300s)時,地址保護(hù)模塊會從源端口發(fā)出一個以該MAC表項(xiàng)為目的地址的ARP請求包,詢問該MAC地址所在的主機(jī)是否存在。如果不存在,則通知RAM地址狀態(tài)管理器將該RAM地址設(shè)置為未使用(即,清除此MAC表項(xiàng)),并清零老化計(jì)數(shù)器;如果存在,則將該地址老化計(jì)數(shù)器重新開始計(jì)時。

        圖5 RAM讀取接口模塊邏輯流程圖

        圖6 RAM地址使用及老化狀態(tài)管理模塊邏輯流程圖

        3.3MAC地址學(xué)習(xí)包代理轉(zhuǎn)發(fā)功能說明

        MAC地址學(xué)習(xí)包代理轉(zhuǎn)發(fā)功能開啟后,SDH設(shè)備主動模擬接入SDH設(shè)備的主機(jī)發(fā)送免費(fèi)的arp包,從而更新后端網(wǎng)絡(luò)設(shè)備的MAC表項(xiàng)。此功能使得傳輸設(shè)備與其它設(shè)備MAC表項(xiàng)的更新狀態(tài)保持一致,提高了整個網(wǎng)絡(luò)的穩(wěn)定性。

        4 應(yīng)用驗(yàn)證

        實(shí)際應(yīng)用中網(wǎng)絡(luò)如圖7所示,網(wǎng)絡(luò)由前端交換網(wǎng)絡(luò)、后端交換網(wǎng)絡(luò)和SDH傳輸網(wǎng)絡(luò)組成。前后端的交換網(wǎng)絡(luò)通過SDH傳輸網(wǎng)絡(luò)實(shí)現(xiàn)前后端的數(shù)據(jù)交換。SDH網(wǎng)絡(luò)可以根據(jù)與交換網(wǎng)絡(luò)的鏈路情況選擇一條傳輸路徑連接交換網(wǎng)絡(luò)。傳輸網(wǎng)絡(luò)中SDHA-SDHD為SDH傳輸設(shè)備,后端交換網(wǎng)絡(luò)SW1和SW2為三層交換機(jī)。正常情況下前后端交換網(wǎng)絡(luò)通過路徑①③進(jìn)行數(shù)據(jù)交換。當(dāng)鏈路③故障時,傳輸路徑自動切換為①④。后端網(wǎng)絡(luò)SW1和SW2互為主備熱備方式。PC2為雙網(wǎng)卡終端,能夠?qū)崿F(xiàn)主備網(wǎng)卡的切換。此網(wǎng)絡(luò)拓?fù)湓O(shè)計(jì)為能夠?qū)崿F(xiàn)網(wǎng)絡(luò)故障的快速保護(hù)。

        圖7 實(shí)際應(yīng)用網(wǎng)絡(luò)圖

        正常通信時,PC1能夠收到PC2的單向數(shù)據(jù)包(此時PC1無任何數(shù)據(jù)包發(fā)出)。但是當(dāng)鏈路③故障時,PC1長達(dá)幾分鐘的時間收不到PC2發(fā)送的數(shù)據(jù)包。此情況不符合此冗余網(wǎng)絡(luò)能夠快速保護(hù)業(yè)務(wù)的初衷。排查原因發(fā)現(xiàn):鏈路③故障時,SW2沒有及時更新PC1的MAC地址導(dǎo)致了此情況的發(fā)生。正常通信時(路徑①③),PC1發(fā)送ARP學(xué)習(xí)包,則SW2的端口4學(xué)習(xí)到了PC1的MAC地址。當(dāng)鏈路③故障時,SDH網(wǎng)絡(luò)切換到路徑①④。由于沒有從PC1到PC2的包,因此SW2的端口2上沒有PC1的MAC地址。當(dāng)PC2到PC1的單向包被發(fā)送到SW2時,SW2發(fā)現(xiàn)PC1和PC2的MAC地址都在端口4上,因此,數(shù)據(jù)不可能從端口2轉(zhuǎn)發(fā)出去,PC1無法收到PC2的數(shù)據(jù),直到SW2的端口2上學(xué)習(xí)到PC1的MAC地址,通信才能恢復(fù)。主要取決于端口2上學(xué)習(xí)到PC1的MAC地址。

        如果SDH網(wǎng)絡(luò)具有地址學(xué)習(xí)功能,則當(dāng)SDH網(wǎng)絡(luò)由路徑①③切換到路徑①④時,SDH設(shè)備同時開啟了MAC保護(hù)功能,代替PC1向后端網(wǎng)絡(luò)發(fā)送學(xué)習(xí)包,此時SW2能夠通過路徑①④迅速學(xué)習(xí)到PC1的MAC地址,實(shí)現(xiàn)交換通道的快速建立,從而實(shí)現(xiàn)整個網(wǎng)絡(luò)的快速切換。因此,增加了地址學(xué)習(xí)功能的SDH設(shè)備能夠很好地和交換網(wǎng)絡(luò)互聯(lián),實(shí)現(xiàn)網(wǎng)絡(luò)的快速切換。

        5 結(jié)束語

        以上,我們采用FPGA的方式,實(shí)現(xiàn)了傳輸設(shè)備對接入終端設(shè)備的源MAC地址的學(xué)習(xí)和管理功能。通過實(shí)際的網(wǎng)絡(luò)驗(yàn)證可知,增加了地址學(xué)習(xí)功能的SDH傳輸網(wǎng)絡(luò)能夠很好地與交換網(wǎng)絡(luò)互相配合,共同實(shí)現(xiàn)整個網(wǎng)絡(luò)的功能。因此,此功能行之有效,能夠很好地解決SDH網(wǎng)絡(luò)和交換網(wǎng)絡(luò)互聯(lián)時引入的地址學(xué)習(xí)的問題。

        [1]程明坤,趙翠華,江云霞.淺釋交換機(jī)的MAC地址學(xué)習(xí)的過程及應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2012(7):218-218

        [2]蔣友,羅惠瓊.二層交換機(jī)中MAC地址的學(xué)習(xí)、查找和老化方法[J].軟件導(dǎo)刊,2005(20):40-42.

        [3]云創(chuàng)工作室.Verilog HDL程序設(shè)計(jì)與實(shí)踐[M].北京:人民郵電出版社,2005.

        [4]于翔,鄭力明,黃紅斌.基于FPGA的MAC層地址表設(shè)計(jì)與仿真[J].計(jì)算機(jī)工程與設(shè)計(jì),2013(1):121-125.

        Address learning function design based on FPGA

        WANG Hui
        (The 34th Research Institute of CETC,Guilin Guangxi 541004,China)

        Current integrated transmission equipments mostly provide high-speed Ethernet interface and realize Ethernet business transmission directly.These transmission equipments,however,could not realize the function of address learning for Ethernet packets,which brings a certain influence to the group network of transmission equipment and switching equipment.In the paper,a design of address learning function based on FPGA is proposed to solve the problem of learning and managing the source MAC address of the data packets. The principle of the circuit is given,the function of each module in the hardware interface module and the address learning module is introduced in detail,and the application verification is carried out.

        FPGA,MAC address,aging

        TN914.332

        A

        1002-5561(2016)05-0032-04

        10.13921/j.cnki.issn1002-5561.2016.05.010

        2016-01-11。

        王輝(1981-),男,碩士,工程師,主要從事光通信和網(wǎng)絡(luò)交換方面的工作。

        猜你喜歡
        表項(xiàng)以太網(wǎng)數(shù)據(jù)包
        一種改進(jìn)的TCAM路由表項(xiàng)管理算法及實(shí)現(xiàn)
        基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        基于ARMA模型預(yù)測的交換機(jī)流表更新算法
        SmartSniff
        SDN數(shù)據(jù)中心網(wǎng)絡(luò)基于流表項(xiàng)轉(zhuǎn)換的流表調(diào)度優(yōu)化
        談實(shí)時以太網(wǎng)EtherCAT技術(shù)在變電站自動化中的應(yīng)用
        電子制作(2017年24期)2017-02-02 07:14:44
        一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計(jì)
        淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
        基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
        視覺注意的數(shù)據(jù)包優(yōu)先級排序策略研究
        在线亚洲精品免费视频| 久久中文精品无码中文字幕 | 日本精品一区二区三区在线播放| 伊人狼人影院在线视频| 男女搞基视频免费网站| 国产成人精品无码片区在线观看| ā片在线观看免费观看| 国产成人精品午夜福利免费APP| 亚洲欧美日韩中文综合在线不卡| 在线小黄片视频免费播放| 美女扒开大腿让男人桶| 99久久国产福利自产拍| 日本加勒比东京热日韩| 亚洲中文字幕精品久久久| 好大好湿好硬顶到了好爽视频| 亚洲啪啪综合av一区| 国产精品一区2区三区| 国产一区二区熟女精品免费| 免费av一区二区三区无码| 人人妻人人爽人人做夜欢视频九色 | 国产又大又硬又粗| 97一区二区国产好的精华液| 亚洲日韩精品AⅤ片无码富二代| 日本一区二区免费在线看| а天堂中文最新一区二区三区| 国产久热精品无码激情| 亚洲欧洲一区二区三区波多野| 亚洲精品天堂日本亚洲精品| 99久热在线精品视频观看| 国产黄a三级三级三级av在线看| 久久国产精品男人的天堂av| 91精品国产综合久久久密臀九色| 性大毛片视频| 久久久精品2019中文字幕之3| 国产三级自拍视频在线| 国产精品一区二区黄色| 中国无码人妻丰满熟妇啪啪软件 | 国产成人精品免费久久久久| 午夜宅男成人影院香蕉狠狠爱| 亚洲一区二区在线观看免费视频| 久久久www成人免费精品|