国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      過濾數(shù)據(jù)庫表項(xiàng)同步方法、裝置及網(wǎng)絡(luò)設(shè)備的制作方法

      文檔序號:7979960閱讀:231來源:國知局
      專利名稱:過濾數(shù)據(jù)庫表項(xiàng)同步方法、裝置及網(wǎng)絡(luò)設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),尤其涉及一種過濾數(shù)據(jù)庫表項(xiàng)同步方法、裝置及網(wǎng)絡(luò)設(shè)備。
      背景技術(shù)
      以太網(wǎng)中的網(wǎng)絡(luò)設(shè)備(例如,交換機(jī)和路由器)一般由中央處理單元(Central Processing Unit ;簡稱為CPU)和以太網(wǎng)專用集成電路(Application Specific Integrated Circuit ;簡稱為ASIC)等部件組成。CPU主要功能是進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算,所以可以在其上運(yùn)行網(wǎng)絡(luò)設(shè)備的操作系統(tǒng),管理控制網(wǎng)絡(luò)設(shè)備并給用戶提供管理控制接口。ASIC主要功能是給用戶提供以太網(wǎng)端口,從以太網(wǎng)端口接收報(bào)文并按照以太網(wǎng)協(xié)議處理報(bào)文,處理完畢后再將報(bào)文從以太網(wǎng)端口傳遞出去。在ASIC處理報(bào)文前,用戶可以通過操作系統(tǒng)的管理控制接口設(shè)置ASIC的報(bào)文處理行為。在網(wǎng)絡(luò)設(shè)備中,為了節(jié)約硬件成本,CPU和ASIC之間都采用一些低速總線連接,提供一個控制通道,例如串行外圍設(shè)備接口 (Serial Peripheral interface ;簡稱為SPI)總線。SPI總線是一種同步串行外設(shè)接口, 它可以使CPU和外部其他設(shè)備互聯(lián)進(jìn)行通信,SPI總線的通信原理很簡單,以主從方式工作。SPI總線的時(shí)鐘為2兆赫茲(MHz),也就是說通過SPI總線通信時(shí)的理論數(shù)據(jù)傳輸速率為2兆比特每秒(Mbps)。介質(zhì)訪問控制(Media Access Control ;簡稱為MAC)地址是用于識別局域網(wǎng) (Local Area Network ;簡稱為LAN)中各個節(jié)點(diǎn)的標(biāo)識。網(wǎng)卡的MAC地址通常是由網(wǎng)卡生產(chǎn)廠家燒入網(wǎng)卡,它是傳輸數(shù)據(jù)時(shí)用以標(biāo)識發(fā)出數(shù)據(jù)的電腦和接收數(shù)據(jù)的主機(jī)的地址,它一般是全球唯一的。在以太網(wǎng)中,一個以太網(wǎng)報(bào)文帶有發(fā)出這個報(bào)文的主機(jī)的MAC地址, 我們稱為源MAC地址,也帶有這個報(bào)文的目的主機(jī)的MAC地址,我們稱之為目的MAC地址。 ASIC通過學(xué)習(xí)檢查報(bào)文的源MAC地址,并將這個地址和接收到這個報(bào)文的端口關(guān)聯(lián)起來形成一個表,我們稱之為過濾數(shù)據(jù)庫(Filter Data Base ;簡稱為FDB)。當(dāng)ASIC接收到一個報(bào)文時(shí),它會自動使用報(bào)文的源MAC地址查找FDB,如果發(fā)現(xiàn)FDB中沒有這個MAC地址,則將其加入FDB,如果已經(jīng)存在,則同步FDB中的這個地址。同時(shí)ASIC會使用報(bào)文的目的MAC地址來查找FDB,如果這個目的MAC地址能夠在FDB中查找到,就將這個報(bào)文轉(zhuǎn)發(fā)到這個MAC 地址關(guān)聯(lián)的端口,否則將這個報(bào)文轉(zhuǎn)發(fā)到所有端口(我們稱之為報(bào)文的泛洪)。為了滿足用戶管理網(wǎng)絡(luò)設(shè)備的需要,CPU需要將FDB的數(shù)據(jù)同步到操作系統(tǒng)上,以便用戶通過管理控制接口可以查看FDB并進(jìn)行進(jìn)一步操作,例如刪除某個MAC地址,添加某個MAC地址等等。在現(xiàn)有技術(shù)方案中,為了將ASIC上學(xué)習(xí)的MAC地址通告給CPU,CPU需要周期性的通過SPI總線讀取ASIC上的FDB,并將讀取的結(jié)果同步到操作系統(tǒng),方便用戶管理。但是 ASIC的FDB都較大,可以存放上萬條FDB表項(xiàng)(一條FDB表項(xiàng)對應(yīng)一個MAC地址),例如, 常用的設(shè)備規(guī)格FDB可以存放8192條或16384條FDB表項(xiàng)甚至更多。假如CPU僅僅讀取 FDB每個表項(xiàng)的最關(guān)鍵字段MAC地址(標(biāo)準(zhǔn)規(guī)定為6個字節(jié))和端口號(1個字節(jié))總共7 個字節(jié)的數(shù)據(jù),按照FDB最小8192條表項(xiàng),總共需要傳遞的數(shù)據(jù)為8192 (總的MAC地址條數(shù))*7(每個表項(xiàng)至少7個字節(jié))*8(每個字節(jié)8位)=458752位數(shù)據(jù)。按照SPI總線的理論輸速率為2Mbps來計(jì)算,每傳輸1位數(shù)據(jù)需要的最少時(shí)間為1Λ2*106)秒,故讀取整個 FDB中的MAC地址需要的時(shí)間至少為458752/(2*106) = 0. 917504秒。在實(shí)際使用中,由于 FDB可以存放的MAC地址更多,每個FDB表項(xiàng)也不僅僅包括MAC地址和端口號,還會包括對應(yīng)這個MAC地址的行為等數(shù)據(jù),同時(shí)SPI總線也不可能達(dá)到理論的2Mbps,所以實(shí)際的傳輸時(shí)間會遠(yuǎn)遠(yuǎn)大于理論的0. 917504秒。如果CPU周期性的消耗約0. 9秒進(jìn)行FDB讀取,將會導(dǎo)致CPU上運(yùn)行的操作系統(tǒng)的實(shí)時(shí)性急劇下降,對業(yè)務(wù)產(chǎn)生嚴(yán)重的影響。在實(shí)際應(yīng)用中,可能會采取放大讀取FDB的周期長度,每次僅讀取部分FDB表項(xiàng)等方法降低對操作系統(tǒng)實(shí)時(shí)性的影響,但是這些方案又會導(dǎo)致ASIC的FDB和操作系統(tǒng)之間同步不及時(shí),用戶不能及時(shí)了解FDB的狀態(tài)。

      發(fā)明內(nèi)容
      本發(fā)明提供一種過濾數(shù)據(jù)庫表項(xiàng)同步方法、裝置及網(wǎng)絡(luò)設(shè)備,用以使ASIC的FDB 和操作系統(tǒng)之間及時(shí)完成同步,并降低對操作系統(tǒng)的實(shí)時(shí)性的影響。本發(fā)明一方面提供一種過濾數(shù)據(jù)庫FDB表項(xiàng)同步方法,包括網(wǎng)絡(luò)設(shè)備的中央處理單元CPU生成同步請求報(bào)文,并通過與所述網(wǎng)絡(luò)設(shè)備的專用集成電路ASIC之間的以太網(wǎng)端口將所述同步請求報(bào)文發(fā)送給所述ASIC,所述同步請求報(bào)文包括標(biāo)識所述同步請求報(bào)文為請求FDB表項(xiàng)同步的類型標(biāo)識;所述ASIC通過所述以太網(wǎng)端口接收所述同步請求報(bào)文,并根據(jù)所述同步請求報(bào)文讀取所述ASIC的FDB,將所讀取的FDB表項(xiàng)封裝在同步應(yīng)答報(bào)文中,并在所述同步應(yīng)答報(bào)文中添加標(biāo)識所述同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識,然后通過所述以太網(wǎng)端口發(fā)送給所述CPU;所述CPU通過所述以太網(wǎng)端口接收所述同步應(yīng)答報(bào)文,并根據(jù)所述同步應(yīng)答報(bào)文對操作系統(tǒng)的FDB進(jìn)行同步。本發(fā)明另一方面提供一種過濾數(shù)據(jù)庫FDB表項(xiàng)同步裝置,包括中央處理單元CPU,用于生成同步請求報(bào)文,通過與所述FDB表項(xiàng)同步裝置的專用集成電路ASIC之間的以太網(wǎng)端口將所述同步請求報(bào)文發(fā)送給所述ASIC,并通過所述以太網(wǎng)端口接收所述ASIC根據(jù)所述同步請求報(bào)文返回的同步應(yīng)答報(bào)文,并根據(jù)所述同步應(yīng)答報(bào)文對操作系統(tǒng)的FDB進(jìn)行同步,所述同步請求報(bào)文包括標(biāo)識所述同步請求報(bào)文為請求 FDB表項(xiàng)同步的類型標(biāo)識;所述ASIC,用于通過所述以太網(wǎng)端口接收所述同步請求報(bào)文,并根據(jù)所述同步請求報(bào)文讀取所述ASIC的FDB,將所讀取的FDB表項(xiàng)封裝在所述同步應(yīng)答報(bào)文中,并在所述同步應(yīng)答報(bào)文中添加標(biāo)識所述同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識,然后通過所述以太網(wǎng)端口發(fā)送給所述CPU。本發(fā)明又一方面提供一種網(wǎng)絡(luò)設(shè)備,包括本發(fā)明提供的任一過濾數(shù)據(jù)庫表項(xiàng)同步裝置。本發(fā)明一方面的過濾數(shù)據(jù)庫表項(xiàng)同步方法,CPU通過與ASIC之間的以太網(wǎng)端口向 ASIC發(fā)送同步請求報(bào)文,ASIC根據(jù)同步請求報(bào)文生成同步應(yīng)答報(bào)文,并通過與CPU之間的以太網(wǎng)端口將同步應(yīng)答報(bào)文發(fā)送給CPU,CPU根據(jù)同步應(yīng)答報(bào)文進(jìn)行操作系統(tǒng)的FDB的同步,充分利用了以太網(wǎng)端口傳輸速度快的優(yōu)勢,使得ASIC的FDB和操作系統(tǒng)之間及時(shí)完成同步,并降低了對操作系統(tǒng)的實(shí)時(shí)性的影響。本發(fā)明另一方面的過濾數(shù)據(jù)庫表項(xiàng)同步裝置,其CPU與其ASIC通過兩者之間的以太網(wǎng)端口進(jìn)行FDB表項(xiàng)的同步請求和應(yīng)答,充分利用了以太網(wǎng)端口傳輸速度快的優(yōu)勢,使得ASIC的FDB和操作系統(tǒng)之間及時(shí)完成同步,并降低了對操作系統(tǒng)的實(shí)時(shí)性的影響。本發(fā)明又一方面的網(wǎng)絡(luò)設(shè)備,其過濾數(shù)據(jù)庫表項(xiàng)同步裝置通過其CPU與其ASIC通過兩者之間的以太網(wǎng)端口進(jìn)行FDB表項(xiàng)的同步請求和應(yīng)答,充分利用了以太網(wǎng)端口傳輸速度快的優(yōu)勢,使得ASIC的FDB和操作系統(tǒng)之間及時(shí)完成同步,并降低了對操作系統(tǒng)的實(shí)時(shí)性的影響。


      圖IA為本發(fā)明一實(shí)施例提供的FDB表項(xiàng)同步方法的流程圖;圖IB為本發(fā)明一實(shí)施例提供的同步請求報(bào)文或同步應(yīng)答報(bào)文的結(jié)構(gòu)示意圖;圖IC為本發(fā)明一實(shí)施例提供的同步請求報(bào)文或同步應(yīng)答報(bào)文中的數(shù)據(jù)字段的結(jié)構(gòu)示意圖;圖2為本發(fā)明另一實(shí)施例提供的FDB表項(xiàng)同步方法的流程圖;圖3為本發(fā)明又一實(shí)施例提供的FDB表項(xiàng)同步方法的流程圖;圖4為本發(fā)明一實(shí)施例提供的FDB表項(xiàng)同步裝置的結(jié)構(gòu)示意圖。
      具體實(shí)施例方式圖IA為本發(fā)明一實(shí)施例提供的FDB表項(xiàng)同步方法的流程圖。如圖IA所示,本實(shí)施例的方法包括步驟101、網(wǎng)絡(luò)設(shè)備的CPU生成同步請求報(bào)文,并通過與網(wǎng)絡(luò)設(shè)備的ASIC之間的以太網(wǎng)端口將同步請求報(bào)文發(fā)送給ASIC,所述同步請求報(bào)文包括標(biāo)識同步請求報(bào)文為請求 FDB表項(xiàng)同步的類型標(biāo)識。本實(shí)施例的網(wǎng)絡(luò)設(shè)備主要是指以太網(wǎng)中的網(wǎng)絡(luò)設(shè)備,例如可以是交換機(jī)或路由器等。本實(shí)施例的網(wǎng)絡(luò)設(shè)備主要由CPU和ASIC構(gòu)成。CPU和ASIC之間會通過一些低速總線連接,提供一個控制通道,例如SPI總線。同時(shí),為了讓CPU也能夠接收到網(wǎng)絡(luò)中的數(shù)據(jù)報(bào)文,CPU和ASIC之間還會通過以太網(wǎng)端口連接起來,提供一個數(shù)據(jù)通道,這個數(shù)據(jù)通道可以讓CPU接收用戶發(fā)送的以太網(wǎng)報(bào)文,讓CPU和用戶之間可以進(jìn)行網(wǎng)絡(luò)通信。在本實(shí)施例中,為了將ASIC學(xué)習(xí)到的MAC地址通告給CPU,以使操作系統(tǒng)的FDB與 ASIC的FDB保持同步,CPU與ASIC通過兩者之間的以太網(wǎng)端口,即通過連接CPU和ASIC的數(shù)據(jù)通道,進(jìn)行FDB表項(xiàng)同步的請求與應(yīng)答。對CPU來說,當(dāng)需要請求FDB表項(xiàng)同步時(shí),生成同步請求報(bào)文,然后通過其與ASIC 之間的以太網(wǎng)端口將同步請求報(bào)文發(fā)送給ASIC。其中,CPU所生成的同步請求報(bào)文符合以太網(wǎng)報(bào)文格式。如圖IB所示,本實(shí)施例的同步請求報(bào)文包括目的MAC地址字段、源MAC地址字段、報(bào)文類型字段、數(shù)據(jù)字段和循環(huán)冗余碼校驗(yàn)(Cyclical Redundancy Check ;簡稱為CRC)字段。其中,目的MAC地址標(biāo)識報(bào)文的接收者。對于請求FDB表項(xiàng)同步的同步請求報(bào)文來說,目的MAC地址是ASIC特有的MAC地址。源MAC標(biāo)識報(bào)文的發(fā)送者。對于請求FDB表項(xiàng)同步的同步請求報(bào)文來說,源MAC 地址是CPU特有的MAC地址。報(bào)文類型字段(ETYPE)標(biāo)識報(bào)文的類型。每種網(wǎng)絡(luò)應(yīng)用都會用一種特殊的ETYPE 值來標(biāo)識該網(wǎng)絡(luò)應(yīng)用的報(bào)文,以和其他網(wǎng)絡(luò)應(yīng)用的報(bào)文區(qū)分開。由于CPU和ASIC之間還會傳遞其他業(yè)務(wù)報(bào)文,為了將本實(shí)施例中的處理FDB表項(xiàng)同步的各種報(bào)文和其他業(yè)務(wù)報(bào)文區(qū)分開,選擇一個網(wǎng)絡(luò)中沒有使用的ETYPE值來標(biāo)識處理FDB表項(xiàng)同步的報(bào)文。處理FDB表項(xiàng)同步的報(bào)文包括請求FDB表項(xiàng)同步的報(bào)文(即同步請求報(bào)文)和應(yīng)答FDB表項(xiàng)同步的報(bào)文(即同步應(yīng)答報(bào)文)。數(shù)據(jù)字段用于填充需要傳輸?shù)恼鎸?shí)數(shù)據(jù)。CRC字段用于使接收者校驗(yàn)報(bào)文在傳輸過程中是否出現(xiàn)錯誤?;谏鲜鰣?bào)文格式,本實(shí)施例通過使用目的MAC地址和報(bào)文類型字段來判斷報(bào)文是一個處理FDB表項(xiàng)同步的報(bào)文還是一個普通的業(yè)務(wù)報(bào)文。進(jìn)一步,本實(shí)施例對數(shù)據(jù)字段做進(jìn)一步劃分,如圖IC所示。數(shù)據(jù)字段包括操作碼 (Opcode)和多個MAC條目(MAC Entry)。其中。操作碼用于標(biāo)識處理FDB表項(xiàng)同步的報(bào)文是同步請求報(bào)文還是同步應(yīng)答報(bào)文,例如,該字段取值可以為0/1,0表示該報(bào)文為同步請求報(bào)文,1表示該報(bào)文為同步應(yīng)答報(bào)文。對于同步請求報(bào)文來說,MAC條目不做限定,對于同步應(yīng)答報(bào)文,MAC條目用于攜帶FDB表項(xiàng)。基于上述同步請求報(bào)文的格式,本實(shí)施例使用報(bào)文類型字段和數(shù)據(jù)字段中的操作碼來標(biāo)識同步請求報(bào)文,即同時(shí)使用報(bào)文類型字段和數(shù)據(jù)字段中的操作碼作為同步請求報(bào)文的類型標(biāo)識。具體的,CPU生成同步請求報(bào)文的過程包括CPU將標(biāo)識同步請求報(bào)文為請求FDB表項(xiàng)同步的類型標(biāo)識封裝在同步請求報(bào)文的報(bào)文類型字段和操作碼字段中,并將 ASIC的MAC地址作為同步請求報(bào)文的目的MAC地址封裝在同步請求報(bào)文的目的MAC地址字段中,將CPU的MAC地址作為同步請求報(bào)文的源MAC地址封裝在同步請求報(bào)文的源MAC地址字段中,并在數(shù)據(jù)字段和CRC字段中添加相應(yīng)內(nèi)容。但是,對于同步請求報(bào)文的類型標(biāo)識并不限于使用報(bào)文類型字段和數(shù)據(jù)字段中的操作碼,在同步請求報(bào)文符合以太網(wǎng)報(bào)文格式的基礎(chǔ)上,其他實(shí)現(xiàn)方式也可以,例如對報(bào)文類型字段進(jìn)行擴(kuò)展,使用擴(kuò)展后的報(bào)文類型字段同時(shí)標(biāo)識該報(bào)文是處理FDB表項(xiàng)同步的報(bào)文,且是處理FDB表項(xiàng)同步的報(bào)文中的同步請求報(bào)文。步驟102、ASIC通過以太網(wǎng)端口接收同步請求報(bào)文,并根據(jù)同步請求報(bào)文讀取 ASIC的FDB,將所讀取的FDB表項(xiàng)封裝在同步應(yīng)答報(bào)文中,并在同步應(yīng)答報(bào)文中添加標(biāo)識同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識,然后通過以太網(wǎng)端口發(fā)送給CPU。CPU通過以太網(wǎng)端口將同步請求報(bào)文發(fā)送給ASIC ;ASIC通過以太網(wǎng)端口接收同步請求報(bào)文。然后,ASIC根據(jù)同步請求報(bào)文中的類型標(biāo)識確定該報(bào)文為CPU請求FDB表項(xiàng)同步的報(bào)文。例如,ASIC根據(jù)以太網(wǎng)報(bào)文格式對接收到的同步請求報(bào)文進(jìn)行解析,獲取同步請求報(bào)文的目的MAC地址和報(bào)文類型,確定同步請求報(bào)文為處理FDB表項(xiàng)同步的報(bào)文,進(jìn)一步根據(jù)數(shù)據(jù)字段中的操作碼,確定同步請求報(bào)文為處理FDB表項(xiàng)同步的報(bào)文中的請求報(bào)文。接著,ASIC去讀取其FDB,從FDB中讀取一條或多條FDB表項(xiàng)。其中,每條FDB表項(xiàng)可以包括MAC地址、端口號、該MAC地址對應(yīng)的行為等數(shù)據(jù)。再接著,ASIC將所讀取的FDB表
      8項(xiàng)封裝的同步應(yīng)答報(bào)文中,并在同步應(yīng)答報(bào)文中封裝標(biāo)識同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識(即將標(biāo)識同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識封裝在同步應(yīng)答報(bào)文的報(bào)文類型字段和操作碼字段中)后,通過與CPU之間的以太網(wǎng)端口發(fā)送給CPU。其中, ASIC通過與CPU之間的以太網(wǎng)端口將同步應(yīng)答報(bào)文發(fā)送給CPU之前還會將CPU的MAC地址作為同步應(yīng)答報(bào)文的目的MAC地址封裝在同步應(yīng)答報(bào)文的目的MAC地址字段中,將ASIC 的MAC地址作為同步應(yīng)答報(bào)文的源MAC地址封裝在同步應(yīng)答報(bào)文的源MAC地址字段中,并在CRC字段中添加相應(yīng)內(nèi)容。其中,同步應(yīng)答報(bào)文的格式如圖IB所示,且其數(shù)據(jù)字段的格式也可以如圖IC所示。ASIC將數(shù)據(jù)字段中的操作碼設(shè)置為1,并將所獲取的FDB表項(xiàng)封裝在多個MAC條目中。 基于圖IB和圖IC所示報(bào)文格式,本實(shí)施例的同步應(yīng)答報(bào)文的類型標(biāo)識也可以使用報(bào)文類型字段和數(shù)據(jù)字段中的操作碼來表示,但不限于此。步驟103、CPU通過以太網(wǎng)端口接收同步應(yīng)答報(bào)文,并根據(jù)同步應(yīng)答報(bào)文對操作系統(tǒng)的FDB進(jìn)行同步。ASIC通過與CPU之間的以太網(wǎng)端口向CPU返回同步應(yīng)答報(bào)文;CPU通過與ASIC之間的以太網(wǎng)端口接收同步應(yīng)答報(bào)文。CPU接收到同步應(yīng)答報(bào)文后,根據(jù)以太網(wǎng)報(bào)文格式對同步應(yīng)答報(bào)文進(jìn)行解析,根據(jù)同步應(yīng)答報(bào)文中的類型標(biāo)識,確定同步應(yīng)答報(bào)文為ASIC應(yīng)答FDB表項(xiàng)同步的報(bào)文。例如, CPU根據(jù)同步應(yīng)答報(bào)文中的目的MAC地址和報(bào)文類型字段確定同步應(yīng)答報(bào)文為處理FDB表項(xiàng)同步的報(bào)文,進(jìn)一步根據(jù)數(shù)據(jù)字段中的操作碼確定同步應(yīng)答報(bào)文為處理FDB表項(xiàng)同步的報(bào)文中的應(yīng)答報(bào)文。接著,CPU根據(jù)從同步應(yīng)答報(bào)文中獲取的FDB表項(xiàng)對操作系統(tǒng)的FDB進(jìn)行同步。其中,操作系統(tǒng)的FDB可以視為軟件FDB。CPU根據(jù)從同步應(yīng)答報(bào)文中獲取的FDB表項(xiàng)對操作系統(tǒng)的FDB進(jìn)行同步包括如果操作系統(tǒng)的FDB中不存在從同步應(yīng)答報(bào)文中解析出的FDB表項(xiàng),CPU將從同步應(yīng)答報(bào)文中解析出的FDB表項(xiàng)直接添加到操作系統(tǒng)的FDB中;或者說,對于存在同步應(yīng)答報(bào)文中而不存在操作系統(tǒng)的FDB中的FDB表項(xiàng),CPU直接添加到操作系統(tǒng)的FDB中。如果操作系統(tǒng)的FDB中存在從同步應(yīng)答報(bào)文中解析出的FDB表項(xiàng)之外的其他FDB 表項(xiàng),CPU將其他FDB表項(xiàng)刪除;或者說,對于不存在同步應(yīng)答報(bào)文中而存在操作系統(tǒng)的FDB 中的FDB表項(xiàng),CPU直接從操作系統(tǒng)的FDB中刪除。對于既存在操作系統(tǒng)的FDB中又存在同步應(yīng)答報(bào)文中的FDB表項(xiàng),CPU不執(zhí)行任何操作。至此,CPU根據(jù)ASIC的FDB完成了對操作系統(tǒng)的FDB的同步操作。本實(shí)施例的FDB表項(xiàng)同步方法,CPU與ASIC通過兩者之間的以太網(wǎng)端口進(jìn)行FDB 表項(xiàng)同步的請求與應(yīng)答,從而通過以太網(wǎng)完成了 ASIC的FDB與操作系統(tǒng)的FDB的同步,充分利用以太網(wǎng)端口傳輸速度快的優(yōu)勢,使得ASIC的FDB和操作系統(tǒng)之間及時(shí)完成同步,與現(xiàn)有技術(shù)使用SPI總線進(jìn)行FDB同步相比,降低了對操作系統(tǒng)的實(shí)時(shí)性的影響,并規(guī)避了由于SPI總線速度太慢帶來的其他問題等。另外,由于本實(shí)施例的方法對操作系統(tǒng)的實(shí)時(shí)性的影響不大,無需放大讀取FDB的周期長度,使得用戶能夠及時(shí)了解FDB的狀態(tài)。例如,以以太網(wǎng)端口的傳輸速率為IOOOMbps為例,且以ASIC的FDB包括8192條FDB表項(xiàng)為例,通過以太網(wǎng)端口同步一次FDB的時(shí)間為(8192 (總的FDB表項(xiàng)條數(shù))*7 (每個表項(xiàng)至少7個字節(jié))*8(每個字節(jié)8位))/(1000*106) = 0.000458752秒,遠(yuǎn)遠(yuǎn)小于通過SPI總線同步一次 FDB的時(shí)間0. 917504秒,幾乎不影響操作系統(tǒng)的實(shí)時(shí)性。圖2為本發(fā)明另一實(shí)施例提供的FDB表項(xiàng)同步方法的流程圖。如圖2所示,本實(shí)施例的方法包括步驟200、CPU判斷同步周期是否到達(dá);如果判斷結(jié)果為是,執(zhí)行步驟201 ;如果判斷結(jié)果為否,執(zhí)行步驟204。在本實(shí)施例中,周期性地對ASIC的FDB和操作系統(tǒng)的FDB進(jìn)行同步。具體的,CPU判斷同步周期是否到達(dá),如果同步周期到達(dá),則開始進(jìn)行FDB表項(xiàng)的同步操作。其中,同步周期的長短可以依賴網(wǎng)絡(luò)的需要由用戶自行定制。步驟201、網(wǎng)絡(luò)設(shè)備的CPU生成同步請求報(bào)文,并通過與網(wǎng)絡(luò)設(shè)備的ASIC之間的以太網(wǎng)端口將同步請求報(bào)文發(fā)送給ASIC,所述同步請求報(bào)文包括標(biāo)識同步請求報(bào)文為請求 FDB表項(xiàng)同步的類型標(biāo)識。步驟202、ASIC通過以太網(wǎng)端口接收同步請求報(bào)文,并根據(jù)同步請求報(bào)文讀取 ASIC的FDB,將所讀取的FDB表項(xiàng)封裝在同步應(yīng)答報(bào)文中,并在同步應(yīng)答報(bào)文中添加標(biāo)識同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識,然后通過以太網(wǎng)端口發(fā)送給CPU。步驟203、CPU通過以太網(wǎng)端口接收同步應(yīng)答報(bào)文,并根據(jù)同步應(yīng)答報(bào)文對操作系統(tǒng)的FDB進(jìn)行同步。上述步驟201-步驟203可參見步驟101和步驟103的描述,在此不再贅述。步驟204、等待預(yù)設(shè)時(shí)間,并返回執(zhí)行步驟200。如果同步周期還未到達(dá),則等待一段時(shí)間,然后繼續(xù)判斷同步周期是否到達(dá)。其中。在該等待時(shí)間內(nèi),CPU可以執(zhí)行其他操作,并不限于空等,以提高CPU的利用率。本實(shí)施例的FDB表項(xiàng)同步方法,通過設(shè)置同步周期,實(shí)現(xiàn)了周期性地進(jìn)行FDB同步,既能保證ASIC的FDB和操作系統(tǒng)之間的及時(shí)同步,保證用戶能夠及時(shí)了解FDB的狀態(tài), 又有利于提高CPU、ASIC等的利用率。圖3為本發(fā)明又一實(shí)施例提供的FDB表項(xiàng)同步方法的流程圖。如圖3所示,本實(shí)施例的方法包括步驟300、CPU判斷同步周期是否到達(dá);如果判斷結(jié)果為是,執(zhí)行步驟301 ;如果判斷結(jié)果為否,執(zhí)行步驟311。該步驟300可參見步驟200的描述。步驟301、網(wǎng)絡(luò)設(shè)備的CPU生成同步請求報(bào)文,所述同步請求報(bào)文包括標(biāo)識同步請求報(bào)文為請求FDB表項(xiàng)同步的類型標(biāo)識。步驟302、CPU通過與網(wǎng)絡(luò)設(shè)備的ASIC之間的以太網(wǎng)端口將同步請求報(bào)文發(fā)送給 ASIC。步驟303、ASIC通過以太網(wǎng)端口接收同步請求報(bào)文,并根據(jù)同步請求報(bào)文讀取 ASIC 的 FDB。上述步驟可參見步驟101和步驟102中的描述。步驟304、ASIC判斷此次讀取ASIC的FDB的操作是否讀取到FDB中的最后一條 FDB表項(xiàng);如果判斷結(jié)果為否,執(zhí)行步驟305 ;如果判斷結(jié)果為是,執(zhí)行步驟306。
      在實(shí)際應(yīng)用中,由于FDB較大,通過一次FDB表項(xiàng)同步的請求和應(yīng)答操作無法將所有FDB表項(xiàng)同步到操作系統(tǒng),可能需要分批次進(jìn)行同步操作?;诖耍緦?shí)施例的ASIC通過判斷本次讀取FDB的操作是否讀取到最后一條FDB表項(xiàng)來判斷此次是否可以完成對整個 FDB的同步。如果讀取到最后一條FDB表項(xiàng),說明本次FDB表項(xiàng)同步的請求和應(yīng)答可以完成對整個FDB的同步;如果未讀取到最后一條FDB表項(xiàng),說明本次FDB表項(xiàng)同步的請求和應(yīng)答無法完成對整個FDB的同步,還需要繼續(xù)執(zhí)行FDB表項(xiàng)同步的請求和應(yīng)答操作。步驟305、ASIC記錄當(dāng)前讀取到的FDB表項(xiàng)的位置,以便于下一次讀取ASIC的FDB 時(shí)從所記錄的位置開始讀取,將所讀取的FDB表項(xiàng)封裝在同步應(yīng)答報(bào)文中,并在同步應(yīng)答報(bào)文中添加標(biāo)識同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識,然后通過以太網(wǎng)端口發(fā)送給CPU,并執(zhí)行步驟307。本步驟適用于本次FDB表項(xiàng)同步的請求和應(yīng)答無法完成對整個FDB的同步的情況。為了保證后續(xù)執(zhí)行FDB表項(xiàng)同步的請求和應(yīng)答操作過程中,不重復(fù)發(fā)送FDB表項(xiàng),本實(shí)施例的ASIC在判斷出未讀取到最后一條FDB表項(xiàng)時(shí),記錄當(dāng)前讀取的FDB表項(xiàng)的位置,這樣在下一次讀取FDB時(shí)就可以從記錄的當(dāng)前位置開始,避免了向CPU發(fā)送重復(fù)的FDB表項(xiàng), 一方面有利于提高同步效率,另一方面有利于節(jié)約CPU和ASIC的處理負(fù)擔(dān)。本步驟的其他操作可參見步驟102的描述。進(jìn)一步,在本步驟中,ASIC還可以在同步應(yīng)答報(bào)文中添加標(biāo)識未讀取到ASIC的 FDB中的最后一條FDB表項(xiàng)的標(biāo)志位,用以告知CPU還需要繼續(xù)發(fā)送同步請求報(bào)文,以獲取其他FDB表項(xiàng)。步驟306、ASIC將所讀取的FDB表項(xiàng)封裝在同步應(yīng)答報(bào)文中,并在同步應(yīng)答報(bào)文中添加標(biāo)識同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識和標(biāo)識讀取到ASIC的FDB中的最后一條FDB表項(xiàng)的標(biāo)志位,然后通過以太網(wǎng)端口發(fā)送給CPU,并執(zhí)行步驟307。本步驟適用于本次FDB表項(xiàng)同步的請求和應(yīng)答可以完成對整個FDB的同步的情況。在該情況下,ASIC同時(shí)在同步應(yīng)答報(bào)文中添加標(biāo)識讀取到ASIC的FDB中的最后一條 FDB表項(xiàng)的標(biāo)志位,以告知CPU經(jīng)本次FDB表項(xiàng)同步的請求和應(yīng)答就會完成對整個FDB的同步,以使CPU準(zhǔn)備執(zhí)行后續(xù)處理操作。本步驟的其他描述可參見步驟102,在此不再贅述。步驟307、CPU通過以太網(wǎng)端口接收同步應(yīng)答報(bào)文,對同步應(yīng)答報(bào)文進(jìn)行解析。具體的,CPU根據(jù)以太網(wǎng)報(bào)文格式對同步應(yīng)答報(bào)文進(jìn)行解析,解析出同步應(yīng)答報(bào)文所攜帶的FDB表項(xiàng)。如果同步應(yīng)答報(bào)文中攜帶有標(biāo)識ASIC讀取到FDB中的最后一條FDB 表項(xiàng)的標(biāo)志位,和/或攜帶有標(biāo)識ASIC未讀取到FDB中的最后一條FDB表項(xiàng)的標(biāo)志位時(shí), CPU還會從同步應(yīng)答報(bào)文中解析出標(biāo)識ASIC讀取到FDB中的最后一條FDB表項(xiàng)的標(biāo)志位, 和/或標(biāo)識ASIC未讀取到FDB中的最后一條FDB表項(xiàng)的標(biāo)志位。步驟308、CPU判斷是否從同步應(yīng)答報(bào)文中解析出標(biāo)識讀取到ASIC的FDB中的最后一條FDB表項(xiàng)的標(biāo)志位;如果判斷結(jié)果為否,執(zhí)行步驟309 ;如果判斷結(jié)果為是,執(zhí)行步驟 310。在本步驟中,CPU通過判斷是否從同步應(yīng)答報(bào)文中解析出標(biāo)識ASIC讀取到FDB中的最后一條FDB表項(xiàng)的標(biāo)志位,來判斷本次FDB表項(xiàng)同步請求和應(yīng)答操作是否可以完成對 FDB的同步,并用來判斷CPU應(yīng)該采取的處理方式。
      步驟309、CPU根據(jù)從同步應(yīng)答報(bào)文中解析出的FDB表項(xiàng)對操作系統(tǒng)的FDB進(jìn)行同步,并重新生成同步請求報(bào)文,返回執(zhí)行步驟302。如果CPU從同步應(yīng)答報(bào)文中未解析到標(biāo)識ASIC讀取到FDB中的最后一條FDB表項(xiàng)的標(biāo)志位,說明本次FDB表項(xiàng)同步請求和應(yīng)答操作不能完成對FDB的同步,故CPU根據(jù)從同步應(yīng)答報(bào)文中解析出的FDB表項(xiàng)對操作系統(tǒng)的FDB進(jìn)行同步后,重新生成同步請求報(bào)文, 并通過繼續(xù)執(zhí)行步驟302以及后續(xù)步驟來完成對FDB的同步。在再一次FDB表項(xiàng)同步請求和應(yīng)答過程中,在步驟303中,ASIC從上次記錄的當(dāng)前位置開始從FDB中讀取FDB表項(xiàng)。步驟310、CPU根據(jù)從同步應(yīng)答報(bào)文中解析出的FDB表項(xiàng)對操作系統(tǒng)的FDB進(jìn)行同步,并設(shè)置下一次請求FDB表項(xiàng)同步的同步周期,返回執(zhí)行步驟300。如果CPU從同步應(yīng)答報(bào)文中解析到標(biāo)識ASIC讀取到FDB中的最后一條FDB表項(xiàng)的標(biāo)志位,說明本次FDB表項(xiàng)同步請求和應(yīng)答操作可以完成對FDB的同步,故CPU設(shè)置下一次請求FDB表項(xiàng)同步的同步周期,以備進(jìn)行下一次FDB同步。步驟311、等待預(yù)設(shè)時(shí)間,并返回執(zhí)行步驟300。在本實(shí)施例中,CPU與ASIC通過兩者之間的以太網(wǎng)端口進(jìn)行ASIC的FDB與操作系統(tǒng)的FDB之間的同步,充分利用以太網(wǎng)端口數(shù)據(jù)速率較快的優(yōu)勢,及時(shí)實(shí)現(xiàn)ASIC的FDB與操作系統(tǒng)的FDB之間的同步,降低了對操作系統(tǒng)的實(shí)時(shí)性的影響。同時(shí),ASIC通過判斷是否讀取到最后一條FDB表項(xiàng)并在同步應(yīng)答報(bào)文中添加標(biāo)識是否讀取到最后一條FDB表項(xiàng),允許通過多次FDB表項(xiàng)同步請求和應(yīng)答操作完成對FDB的同步,與實(shí)際應(yīng)用場景相適應(yīng)。再者,本實(shí)施例通過設(shè)置同步周期,實(shí)現(xiàn)了周期性地進(jìn)行FDB同步,既能保證ASIC的FDB和操作系統(tǒng)之間的及時(shí)同步,保證用戶能夠及時(shí)了解FDB的狀態(tài),又有利于提高CPU、ASIC等的利用率。在此說明,本發(fā)明實(shí)施例通過以太網(wǎng)端口進(jìn)行FDB同步的方案也可用于其他同步操作,例如寄存器同步,計(jì)數(shù)器同步等;另外,除了 CPU和ASIC之間進(jìn)行FDB同步之外,還可以是其他網(wǎng)絡(luò)設(shè)備之間進(jìn)行FDB同步操作。圖4為本發(fā)明一實(shí)施例提供的FDB表項(xiàng)同步裝置的結(jié)構(gòu)示意圖。如圖4所示,本實(shí)施例的裝置包括CPU41和ASIC42。CPU41,用于生成同步請求報(bào)文,通過與FDB表項(xiàng)同步裝置的AS IC42之間的以太網(wǎng)端口將同步請求報(bào)文發(fā)送給ASIC42,并通過以太網(wǎng)端口接收ASIC42根據(jù)同步請求報(bào)文返回的同步應(yīng)答報(bào)文,并根據(jù)同步應(yīng)答報(bào)文對操作系統(tǒng)的FDB進(jìn)行同步。所述同步請求報(bào)文包括標(biāo)識同步請求報(bào)文為請求FDB表項(xiàng)同步的類型標(biāo)識。本實(shí)施例的同步請求報(bào)文符合以太網(wǎng)報(bào)文格式。ASIC42,與CPU41連接,用于通過以太網(wǎng)端口接收同步請求報(bào)文,并根據(jù)同步請求報(bào)文讀取ASIC42的FDB,將所讀取的FDB表項(xiàng)封裝在同步應(yīng)答報(bào)文中,并在同步應(yīng)答報(bào)文中添加標(biāo)識同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識,然后通過以太網(wǎng)端口發(fā)送給 CPU42。其中,CPU41和ASIC42之間除了可以通過以太網(wǎng)端口連接之外,還會通過SPI總線等低速總線連接。本實(shí)施例FDB表項(xiàng)同步裝置的各功能模塊可用于執(zhí)行圖1所示FDB表項(xiàng)同步方法的流程,其具體工作原理不再贅述,詳見方法實(shí)施例的描述。本實(shí)施例的FDB表項(xiàng)同步裝置可以是以太網(wǎng)中的各種網(wǎng)絡(luò)設(shè)備,例如交換機(jī)或路
      由器等ο本實(shí)施例的FDB表項(xiàng)同步裝置,其CPU與其ASIC通過兩者之間的以太網(wǎng)端口進(jìn)行 FDB表項(xiàng)的同步請求和應(yīng)答,充分利用了以太網(wǎng)端口傳輸速度快的優(yōu)勢,使得ASIC的FDB和操作系統(tǒng)之間及時(shí)完成同步,并降低了對操作系統(tǒng)的實(shí)時(shí)性的影響。其中,本實(shí)施例的同步請求報(bào)文和同步應(yīng)答報(bào)文包括報(bào)文類型字段和數(shù)據(jù)字段, 所述數(shù)據(jù)字段包括操作碼字段和MAC條目字段,其具體結(jié)構(gòu)如圖IB和圖IC所示?;谕秸埱髨?bào)文的實(shí)現(xiàn)結(jié)構(gòu),F(xiàn)DB表項(xiàng)同步裝置的CPU41具體用于將標(biāo)識同步請求報(bào)文為請求FDB表項(xiàng)同步的類型標(biāo)識封裝在同步請求報(bào)文的報(bào)文類型字段和操作碼字段中,并將ASIC42的MAC地址作為同步請求報(bào)文的目的MAC地址封裝在同步請求報(bào)文的目的MAC地址字段中?;谕綉?yīng)答報(bào)文的實(shí)現(xiàn)結(jié)構(gòu),ASIC42具體用于將標(biāo)識同步應(yīng)答報(bào)文為應(yīng)答FDB 表項(xiàng)同步的類型標(biāo)識封裝在同步應(yīng)答報(bào)文的報(bào)文類型字段和操作碼字段中,并將CPU41的 MAC地址作為同步應(yīng)答報(bào)文的目的MAC地址封裝在同步應(yīng)答報(bào)文的目的MAC地址字段中。進(jìn)一步,F(xiàn)DB表項(xiàng)同步裝置的CPU41還用于在生成同步請求報(bào)文之前,判斷同步周期是否到達(dá),并在同步周期到達(dá)時(shí),執(zhí)行生成同步請求報(bào)文,并通過與ASIC42之間的以太網(wǎng)端口將同步請求報(bào)文發(fā)送給ASIC42的操作。CPU41通過設(shè)置同步周期,實(shí)現(xiàn)了周期性地進(jìn)行FDB同步,既能保證ASIC的FDB和操作系統(tǒng)之間的及時(shí)同步,保證用戶能夠及時(shí)了解 FDB的狀態(tài),又有利于提高CPU、ASIC等的利用率。進(jìn)一步,F(xiàn)DB表項(xiàng)同步裝置的ASIC42具體用于根據(jù)同步請求報(bào)文讀取ASI42C的 FDB,如果讀取到ASIC42的FDB中的最后一條FDB表項(xiàng),記錄當(dāng)前讀取到的FDB表項(xiàng)的位置, 以便于下一次讀取ASIC42的FDB時(shí)從所記錄的位置開始讀取,將所讀取的FDB表項(xiàng)封裝在同步應(yīng)答報(bào)文中,并在同步應(yīng)答報(bào)文中添加標(biāo)識同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識,然后通過以太網(wǎng)端口發(fā)送給CPU41 ;如果讀取ASIC42的FDB讀取到ASIC42的FDB中的最后一條FDB表項(xiàng),將所讀取的FDB表項(xiàng)封裝在同步應(yīng)答報(bào)文中,并在同步應(yīng)答報(bào)文中添加標(biāo)識同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識和標(biāo)識讀取到ASIC42的FDB中的最后一條FDB表項(xiàng)的標(biāo)志位,然后通過以太網(wǎng)端口發(fā)送給CPU41。更進(jìn)一步,ASIC42還用于在未讀取到ASIC42的FDB中的最后一條FDB表項(xiàng)時(shí),在同步應(yīng)答報(bào)文中添加標(biāo)識未讀取到ASIC42的FDB中的最后一條FDB表項(xiàng)的標(biāo)志位。相應(yīng)地,CPU41具體用于通過以太網(wǎng)端口接收同步應(yīng)答報(bào)文,對同步應(yīng)答報(bào)文進(jìn)行解析,如果未從同步應(yīng)答報(bào)文中解析出標(biāo)識讀取到ASIC42的FDB中的最后一條FDB表項(xiàng)的標(biāo)志位,根據(jù)從同步應(yīng)答報(bào)文中解析出的FDB表項(xiàng)對操作系統(tǒng)的FDB進(jìn)行同步后,重新生成同步請求報(bào)文,并將同步請求報(bào)文通過以太網(wǎng)端口發(fā)送給ASIC42,以繼續(xù)執(zhí)行FDB同步操作。另外,CPU41還用于在從同步應(yīng)答報(bào)文中解析出標(biāo)識讀取到ASIC42的FDB中的最后一條FDB表項(xiàng)的標(biāo)志位時(shí),設(shè)置下一次請求FDB表項(xiàng)同步的同步周期。更進(jìn)一步,CPU41具體用于在操作系統(tǒng)的FDB中不存在從同步應(yīng)答報(bào)文中解析出的FDB表項(xiàng)時(shí),將從同步應(yīng)答報(bào)文中解析出的FDB表項(xiàng)直接添加到操作系統(tǒng)的FDB中,并在作系統(tǒng)的FDB中存在從同步應(yīng)答報(bào)文中解析出的FDB表項(xiàng)之外的其他FDB表項(xiàng)時(shí),將其他 FDB表項(xiàng)刪除。上述CPU41和ASIC42可用于執(zhí)行圖3所示FDB表項(xiàng)同步方法的流程,其具體工作原理不再贅述,詳見方法實(shí)施例的描述。綜上所述,本實(shí)施例的FDB表項(xiàng)同步裝置具有以下有益效果CPU與ASIC通過兩者之間的以太網(wǎng)端口進(jìn)行ASCI的FDB與操作系統(tǒng)的FDB之間的同步,充分利用以太網(wǎng)端口數(shù)據(jù)速率較快的優(yōu)勢,及時(shí)實(shí)現(xiàn)ASCI的FDB與操作系統(tǒng)的FDB之間的同步,降低了對操作系統(tǒng)的實(shí)時(shí)性的影響;ASIC通過判斷是否讀取到最后一條FDB表項(xiàng)并在同步應(yīng)答報(bào)文中添加標(biāo)識是否讀取到最后一條FDB表項(xiàng),允許通過多次FDB表項(xiàng)同步請求和應(yīng)答操作完成對 FDB的同步,與實(shí)際應(yīng)用場景相適應(yīng);通過設(shè)置同步周期,實(shí)現(xiàn)了周期性地進(jìn)行FDB同步,既能保證ASIC的FDB和操作系統(tǒng)之間的及時(shí)同步,保證用戶能夠及時(shí)了解FDB的狀態(tài),又有利于提高CPU、ASIC等的利用率。本發(fā)明一實(shí)施例提供一種網(wǎng)絡(luò)設(shè)備,包括本發(fā)明上述實(shí)施例提供的FDB表項(xiàng)同步裝置。其中,F(xiàn)DB表項(xiàng)同步裝置的結(jié)構(gòu)可參見圖4所示,其工作原理可參見圖IA-圖3任一所示方法實(shí)施例的描述。本實(shí)施例的網(wǎng)絡(luò)設(shè)備主要是指以太網(wǎng)中的網(wǎng)絡(luò)設(shè)備,例如可以是路由器、交換機(jī)寸。本實(shí)施例的網(wǎng)絡(luò)設(shè)備,由于包括本發(fā)明提供的FDB表項(xiàng)同步裝置,F(xiàn)DB表項(xiàng)同步裝置通過其CPU與其ASIC通過兩者之間的以太網(wǎng)端口進(jìn)行FDB表項(xiàng)的同步請求和應(yīng)答,充分利用了以太網(wǎng)端口傳輸速度快的優(yōu)勢,使得ASIC的FDB和操作系統(tǒng)之間及時(shí)完成同步,并降低了對操作系統(tǒng)的實(shí)時(shí)性的影響。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應(yīng)說明的是以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
      權(quán)利要求
      1.一種過濾數(shù)據(jù)庫FDB表項(xiàng)同步方法,其特征在于,包括網(wǎng)絡(luò)設(shè)備的中央處理單元CPU生成同步請求報(bào)文,并通過與所述網(wǎng)絡(luò)設(shè)備的專用集成電路ASIC之間的以太網(wǎng)端口將所述同步請求報(bào)文發(fā)送給所述ASIC,所述同步請求報(bào)文包括標(biāo)識所述同步請求報(bào)文為請求FDB表項(xiàng)同步的類型標(biāo)識;所述ASIC通過所述以太網(wǎng)端口接收所述同步請求報(bào)文,并根據(jù)所述同步請求報(bào)文讀取所述ASIC的FDB,將所讀取的FDB表項(xiàng)封裝在同步應(yīng)答報(bào)文中,并在所述同步應(yīng)答報(bào)文中添加標(biāo)識所述同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識,然后通過所述以太網(wǎng)端口發(fā)送給所述CPU ;所述CPU通過所述以太網(wǎng)端口接收所述同步應(yīng)答報(bào)文,并根據(jù)所述同步應(yīng)答報(bào)文對操作系統(tǒng)的FDB進(jìn)行同步。
      2.根據(jù)權(quán)利要求1所述的FDB表項(xiàng)同步方法,其特征在于,所述網(wǎng)絡(luò)設(shè)備的中央處理單元CPU生成同步請求報(bào)文,并通過與所述網(wǎng)絡(luò)設(shè)備的專用集成電路ASIC之間的以太網(wǎng)端口將所述同步請求報(bào)文發(fā)送給所述ASIC之前包括所述CPU判斷同步周期是否到達(dá);當(dāng)所述同步周期到達(dá)時(shí),所述CPU執(zhí)行生成同步請求報(bào)文,并通過與所述網(wǎng)絡(luò)設(shè)備的專用集成電路ASIC之間的以太網(wǎng)端口將所述同步請求報(bào)文發(fā)送給所述ASIC的操作。
      3.根據(jù)權(quán)利要求1所述的FDB表項(xiàng)同步方法,其特征在于,所述ASIC根據(jù)所述同步請求報(bào)文讀取所述ASIC的FDB,將所讀取的FDB表項(xiàng)封裝在同步應(yīng)答報(bào)文中,并在所述同步應(yīng)答報(bào)文中添加標(biāo)識所述同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識,然后通過所述以太網(wǎng)端口發(fā)送給所述CPU包括如果所述ASIC根據(jù)所述同步請求報(bào)文讀取所述ASIC的FDB未讀取到所述ASIC的FDB 中的最后一條FDB表項(xiàng),記錄當(dāng)前讀取到的FDB表項(xiàng)的位置,以便于下一次讀取所述ASIC 的FDB時(shí)從所記錄的位置開始讀取,將所讀取的FDB表項(xiàng)封裝在同步應(yīng)答報(bào)文中,并在所述同步應(yīng)答報(bào)文中添加標(biāo)識所述同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識,然后通過所述以太網(wǎng)端口發(fā)送給所述CPU;如果所述ASIC根據(jù)所述同步請求報(bào)文讀取所述ASIC的FDB讀取到所述ASIC的FDB中的最后一條FDB表項(xiàng),將所讀取的FDB表項(xiàng)封裝在同步應(yīng)答報(bào)文中,并在所述同步應(yīng)答報(bào)文中添加標(biāo)識所述同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識和標(biāo)識讀取到所述ASIC的 FDB中的最后一條FDB表項(xiàng)的標(biāo)志位,然后通過所述以太網(wǎng)端口發(fā)送給所述CPU ;所述CPU通過所述以太網(wǎng)端口接收所述同步應(yīng)答報(bào)文,并根據(jù)所述同步應(yīng)答報(bào)文對操作系統(tǒng)的FDB進(jìn)行同步包括所述CPU通過所述以太網(wǎng)端口接收所述同步應(yīng)答報(bào)文,對所述同步應(yīng)答報(bào)文進(jìn)行解析,如果未從所述同步應(yīng)答報(bào)文中解析出標(biāo)識讀取到所述ASIC的FDB中的最后一條FDB表項(xiàng)的標(biāo)志位,所述CPU根據(jù)從所述同步應(yīng)答報(bào)文中解析出的FDB表項(xiàng)對所述操作系統(tǒng)的FDB 進(jìn)行同步后,重新生成所述同步請求報(bào)文,并將所述同步請求報(bào)文通過所述以太網(wǎng)端口發(fā)送給所述ASIC。
      4.根據(jù)權(quán)利要求3所述的FDB表項(xiàng)同步方法,其特征在于,如果所述CPU從所述同步應(yīng)答報(bào)文中解析出標(biāo)識讀取到所述ASIC的FDB中的最后一條FDB表項(xiàng)的標(biāo)志位,所述CPU 設(shè)置下一次請求FDB表項(xiàng)同步的同步周期。
      5.根據(jù)權(quán)利要求1或2或3或4所述的FDB表項(xiàng)同步方法,其特征在于,所述同步請求報(bào)文和所述同步應(yīng)答報(bào)文包括報(bào)文類型字段、目的介質(zhì)訪問控制MAC地址字段和數(shù)據(jù)字段,所述數(shù)據(jù)字段包括操作碼字段和MAC條目字段。
      6.根據(jù)權(quán)利要求5所述的FDB表項(xiàng)同步方法,其特征在于,所述CPU生成同步請求報(bào)文包括所述CPU將標(biāo)識所述同步請求報(bào)文為請求FDB表項(xiàng)同步的類型標(biāo)識封裝在所述同步請求報(bào)文的所述報(bào)文類型字段和所述操作碼字段中,并將所述ASIC的MAC地址作為所述同步請求報(bào)文的目的MAC地址封裝在所述同步請求報(bào)文的所述目的MAC地址字段中;所述ASIC在所述同步應(yīng)答報(bào)文中添加標(biāo)識所述同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識包括所述ASIC將標(biāo)識所述同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識封裝在所述同步應(yīng)答報(bào)文的所述報(bào)文類型字段和所述操作碼字段中,并將所述CPU的MAC地址作為所述同步應(yīng)答報(bào)文的目的MAC地址封裝在所述同步應(yīng)答報(bào)文的所述目的MAC地址字段中。
      7.—種過濾數(shù)據(jù)庫FDB表項(xiàng)同步裝置,其特征在于,包括中央處理單元CPU,用于生成同步請求報(bào)文,通過與所述FDB表項(xiàng)同步裝置的專用集成電路ASIC之間的以太網(wǎng)端口將所述同步請求報(bào)文發(fā)送給所述ASIC,并通過所述以太網(wǎng)端口接收所述ASIC根據(jù)所述同步請求報(bào)文返回的同步應(yīng)答報(bào)文,并根據(jù)所述同步應(yīng)答報(bào)文對操作系統(tǒng)的FDB進(jìn)行同步,所述同步請求報(bào)文包括標(biāo)識所述同步請求報(bào)文為請求FDB表項(xiàng)同步的類型標(biāo)識;所述ASIC,用于通過所述以太網(wǎng)端口接收所述同步請求報(bào)文,并根據(jù)所述同步請求報(bào)文讀取所述ASIC的FDB,將所讀取的FDB表項(xiàng)封裝在所述同步應(yīng)答報(bào)文中,并在所述同步應(yīng)答報(bào)文中添加標(biāo)識所述同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識,然后通過所述以太網(wǎng)端口發(fā)送給所述CPU。
      8.根據(jù)權(quán)利要求7所述的FDB表項(xiàng)同步裝置,其特征在于,所述CPU還用于在生成所述同步請求報(bào)文之前,判斷同步周期是否到達(dá),并在所述同步周期到達(dá)時(shí),執(zhí)行生成同步請求報(bào)文,并通過與所述FDB表項(xiàng)同步裝置的ASIC之間的以太網(wǎng)端口將所述同步請求報(bào)文發(fā)送給所述ASIC的操作。
      9.根據(jù)權(quán)利要求7所述的FDB表項(xiàng)同步裝置,其特征在于,所述ASIC具體用于根據(jù)所述同步請求報(bào)文讀取所述ASIC的FDB,如果讀取到所述ASIC的FDB中的最后一條FDB表項(xiàng),記錄當(dāng)前讀取到的FDB表項(xiàng)的位置,以便于下一次讀取所述ASIC的FDB時(shí)從所記錄的位置開始讀取,將所讀取的FDB表項(xiàng)封裝在同步應(yīng)答報(bào)文中,并在所述同步應(yīng)答報(bào)文中添加標(biāo)識所述同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識,然后通過所述以太網(wǎng)端口發(fā)送給所述CPU ;如果讀取所述ASIC的FDB讀取到所述ASIC的FDB中的最后一條FDB表項(xiàng),將所讀取的FDB表項(xiàng)封裝在同步應(yīng)答報(bào)文中,并在所述同步應(yīng)答報(bào)文中添加標(biāo)識所述同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識和標(biāo)識讀取到所述ASIC的FDB中的最后一條FDB 表項(xiàng)的標(biāo)志位,然后通過所述以太網(wǎng)端口發(fā)送給所述CPU ;所述CPU具體用于通過所述以太網(wǎng)端口接收所述同步應(yīng)答報(bào)文,對所述同步應(yīng)答報(bào)文進(jìn)行解析,如果未從所述同步應(yīng)答報(bào)文中解析出標(biāo)識讀取到所述ASIC的FDB中的最后一條 FDB表項(xiàng)的標(biāo)志位,根據(jù)從所述同步應(yīng)答報(bào)文中解析出的FDB表項(xiàng)對所述操作系統(tǒng)的FDB進(jìn)行同步后,重新生成所述同步請求報(bào)文,并將所述同步請求報(bào)文通過所述以太網(wǎng)端口發(fā)送給所述ASIC。
      10.根據(jù)權(quán)利要求9所述的FDB表項(xiàng)同步裝置,其特征在于,所述CPU還用于在從所述同步應(yīng)答報(bào)文中解析出標(biāo)識讀取到所述ASIC的FDB中的最后一條FDB表項(xiàng)的標(biāo)志位時(shí),設(shè)置下一次請求FDB表項(xiàng)同步的同步周期。
      11.根據(jù)權(quán)利要求7或8或9或10所述的FDB表項(xiàng)同步裝置,其特征在于,所述同步請求報(bào)文和所述同步應(yīng)答報(bào)文包括報(bào)文類型字段、目的介質(zhì)訪問控制MAC地址字段和數(shù)據(jù)字段,所述數(shù)據(jù)字段包括操作碼字段和MAC條目字段;所述CPU具體用于將標(biāo)識所述同步請求報(bào)文為請求FDB表項(xiàng)同步的類型標(biāo)識封裝在所述同步請求報(bào)文的所述報(bào)文類型字段和所述操作碼字段中,并將所述ASIC的MAC地址作為所述同步請求報(bào)文的目的MAC地址封裝在所述同步請求報(bào)文的所述目的MAC地址字段中; 所述ASIC具體用于將標(biāo)識所述同步應(yīng)答報(bào)文為應(yīng)答FDB表項(xiàng)同步的類型標(biāo)識封裝在所述同步應(yīng)答報(bào)文的所述報(bào)文類型字段和所述操作碼字段中,并將所述CPU的MAC地址作為所述同步應(yīng)答報(bào)文的目的MAC地址封裝在所述同步應(yīng)答報(bào)文的所述目的MAC地址字段中。
      12.—種網(wǎng)絡(luò)設(shè)備,其特征在于,包括權(quán)利要求7-11任一項(xiàng)所述的過濾數(shù)據(jù)庫表項(xiàng)同步裝置。
      全文摘要
      本發(fā)明提供一種過濾數(shù)據(jù)庫表項(xiàng)同步方法、裝置及網(wǎng)絡(luò)設(shè)備。其中,方法包括CPU生成同步請求報(bào)文,并通過與ASIC之間的以太網(wǎng)端口將同步請求報(bào)文發(fā)送給ASIC,所述同步請求報(bào)文包括標(biāo)識同步請求報(bào)文為請求FDB表項(xiàng)同步的類型標(biāo)識;ASIC通過以太網(wǎng)端口接收同步請求報(bào)文,并根據(jù)同步請求報(bào)文生成同步應(yīng)答報(bào)文,然后通過以太網(wǎng)端口發(fā)送給CPU;CPU通過以太網(wǎng)端口接收同步應(yīng)答報(bào)文,并根據(jù)同步應(yīng)答報(bào)文對操作系統(tǒng)的FDB進(jìn)行同步。本發(fā)明技術(shù)方案,使得ASIC的FDB和操作系統(tǒng)之間及時(shí)完成同步,并降低了對操作系統(tǒng)的實(shí)時(shí)性的影響。
      文檔編號H04L7/00GK102404215SQ20111037180
      公開日2012年4月4日 申請日期2011年11月21日 優(yōu)先權(quán)日2011年11月21日
      發(fā)明者鮮明雙 申請人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1