專(zhuān)利名稱(chēng):一種報(bào)文信息學(xué)習(xí)方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信技術(shù)領(lǐng)域,尤指 一種報(bào)文信息學(xué)習(xí)方法和裝置。
背景技術(shù):
目前,在數(shù)據(jù)通信領(lǐng)域中,網(wǎng)絡(luò)設(shè)備在轉(zhuǎn)發(fā)二層或三層數(shù)據(jù)時(shí),通過(guò)查 找快速轉(zhuǎn)發(fā)表的方式得到所接收數(shù)據(jù)的出端口。同時(shí),所述被查找的快速轉(zhuǎn)
圖1是現(xiàn)有技術(shù)中根據(jù)媒體接入控制(MAC, Media Access Control)地 址進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)的網(wǎng)絡(luò)設(shè)備的組成結(jié)構(gòu)示意圖。如圖l所示,該二層網(wǎng)絡(luò)設(shè) 備主要包括邏輯模塊、CPU和MAC地址列表。其中,邏輯模塊是現(xiàn)場(chǎng)可 編程門(mén)陣列(FPGA, Field Programmable Gate Array ); MAC地址歹'j表是快 速轉(zhuǎn)發(fā)表的一種,其中的每一個(gè)表項(xiàng)都是MAC地址和端口之間的映射關(guān)系。
圖2是圖1中所示的網(wǎng)絡(luò)設(shè)備對(duì)所接收的報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理的流程圖。 如圖2所示,包括以下步驟
步驟201,網(wǎng)絡(luò)設(shè)備中的邏輯模塊檢測(cè)是否接收到報(bào)文,是則執(zhí)行步驟 202,否則繼續(xù)進(jìn)行檢測(cè)。
步驟202,邏輯模塊根據(jù)所接收?qǐng)?bào)文的MAC地址查找MAC地址列表, 如果命中則執(zhí)行步驟203,否則執(zhí)行步驟204。
步驟203,邏輯模塊根據(jù)命中的MAC地址表項(xiàng),將所接收的報(bào)文從相 應(yīng)的端口發(fā)送出去,并返回步驟201。
步驟204,邏輯模塊將所述MAC地址上報(bào)到CPU。
本步驟中,邏輯模塊將MAC地址上報(bào)CPU具體為邏輯模塊將MAC 地址寫(xiě)入先入先出(FIFO)隊(duì)列中,CPU通過(guò)讀取FIFO隊(duì)列中的信息來(lái)獲 得邏輯模塊上報(bào)的MAC地址。
步驟205, CPU判斷是否需要對(duì)所接收的MAC地址進(jìn)行學(xué)習(xí),是則執(zhí) 行步驟207,否則^丸行步驟206。
步驟206, CPU向邏輯模塊返回?zé)o需學(xué)習(xí)的指令,邏輯模塊接收到指令 后執(zhí)行步驟201。
步驟207, CPU向邏輯模塊返回需要學(xué)習(xí)的指令,邏輯模塊接收到指令 后對(duì)所述MAC地址進(jìn)行學(xué)習(xí),并在完成學(xué)習(xí)后返回步驟201。
本步驟中,邏輯模塊對(duì)所述MAC地址進(jìn)行學(xué)習(xí)具體為邏輯模塊將所 述報(bào)文的源MAC地址和接收到該才艮文的端口之間的對(duì)應(yīng)關(guān)系保存到MAC 地址列表。此后,便可以在接收到目的MAC地址為上述源MAC的報(bào)文時(shí), /人相應(yīng)的端口發(fā)送出去。
在圖2所示的MAC地址學(xué)習(xí)過(guò)程中,邏輯模塊在接收?qǐng)?bào)文的MAC地 址為未知MAC地址,即在MAC地址列表中沒(méi)有相應(yīng)的MAC地址時(shí),就 將該才艮文的MAC地址通過(guò)寫(xiě)入FIFO隊(duì)列上報(bào)給CPU。但是,在CPU還未 響應(yīng)本次上報(bào)的MAC地址時(shí),如果同一會(huì)話(huà)的下一個(gè)報(bào)文就已到達(dá),則邏 輯模塊還會(huì)將后到達(dá)報(bào)文的MAC地址通過(guò)寫(xiě)入FIFO隊(duì)列上報(bào)給CPU,以 此類(lèi)推。而屬于同一個(gè)會(huì)話(huà)的報(bào)文的MAC地址其實(shí)是相同的,因此上述過(guò) 程會(huì)導(dǎo)致CPU多次接收和處理相同的MAC地址,但實(shí)際上只有第 一次的接 收和處理是有效的。可見(jiàn),現(xiàn)有的MAC地址學(xué)習(xí)方案,降低了邏輯模塊和 CPU之間的通信效率,進(jìn)而降低了 MAC地址的學(xué)習(xí)效率,并且加重了 CPU 的處理負(fù)荷。
實(shí)際上對(duì)于其它的報(bào)文信息學(xué)習(xí)過(guò)程,如五元組的學(xué)習(xí),同樣存在由于 報(bào)文到達(dá)網(wǎng)絡(luò)設(shè)備的速率大于該網(wǎng)絡(luò)設(shè)備的CPU處理一個(gè)報(bào)文的速率而導(dǎo) 致的報(bào)文信息學(xué)習(xí)效率不高,CPU處理負(fù)荷重的問(wèn)題。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種報(bào)文信息學(xué)習(xí)裝置,該裝置可以提高報(bào)文
信息學(xué)習(xí)效率,并減輕CPU的處理負(fù)荷。
本發(fā)明還提供了 一種報(bào)文信息學(xué)習(xí)方法,該裝置可以提高報(bào)文信息學(xué)習(xí)
效率,并減輕CPU的處理負(fù)荷。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的
本發(fā)明公開(kāi)了一種報(bào)文信息學(xué)習(xí)裝置,該裝置包括快速轉(zhuǎn)發(fā)表存儲(chǔ)單 元、緩存單元、學(xué)習(xí)單元和CPU,其中,
快速轉(zhuǎn)發(fā)表存儲(chǔ)單元,用于存儲(chǔ)快速轉(zhuǎn)發(fā)表;
緩存單元,用于保存學(xué)習(xí)單元寫(xiě)入的指定信息;
學(xué)習(xí)單元,用于從快速轉(zhuǎn)發(fā)表存儲(chǔ)單元查找當(dāng)前接收?qǐng)?bào)文中的指定信 息,如果沒(méi)有查找到則查詢(xún)所述緩存單元中是否已保存了所述指定信息,是 則結(jié)束對(duì)當(dāng)前接收?qǐng)?bào)文信息的學(xué)習(xí),否則將所述指定信息寫(xiě)入緩存單元,并 將所述指定信息上報(bào)給CPU;當(dāng)CPU返回需要進(jìn)行學(xué)習(xí)的判斷結(jié)果時(shí),將 所述指定信息和接收所述當(dāng)前報(bào)文的端口之間的對(duì)應(yīng)關(guān)系保存到所述快速 轉(zhuǎn)發(fā)表存儲(chǔ)單元;當(dāng)CPU返回不需進(jìn)行學(xué)習(xí)的判斷結(jié)果時(shí),結(jié)束當(dāng)前報(bào)文 信息的學(xué)習(xí);
CPU,用于根據(jù)學(xué)習(xí)單元上報(bào)的指定信息判斷是否進(jìn)行學(xué)習(xí),并向?qū)W習(xí) 單元返回判斷結(jié)果。
本發(fā)明還公開(kāi)了一種報(bào)文信息學(xué)習(xí)方法,該方法包括
根據(jù)當(dāng)前接收?qǐng)?bào)文中的指定信息查找快速轉(zhuǎn)發(fā)表;
如果從所述快速轉(zhuǎn)發(fā)表中沒(méi)有查找到所述指定信息,則查詢(xún)緩存表中是 否已保存了所述指定信息,是則結(jié)束對(duì)當(dāng)前接收?qǐng)?bào)文信息的學(xué)習(xí),否則將所 述指定信息保存到所述緩存表,并上報(bào)給CPU;
當(dāng)接收到CPU返回的需要學(xué)習(xí)所述指定信息的指令時(shí),將所述指定信 息和接收所述當(dāng)前報(bào)文的端口之間的對(duì)應(yīng)關(guān)系保存到所述快速轉(zhuǎn)發(fā)表中;當(dāng) 接收到CPU返回的不需要學(xué)習(xí)所述指定信息的指令時(shí),結(jié)束當(dāng)前報(bào)文信息 的學(xué)習(xí)。
由上述技術(shù)方案可見(jiàn),本發(fā)明這種根據(jù)當(dāng)前接收?qǐng)?bào)文中的指定信息查找 快速轉(zhuǎn)發(fā)表;如果從所述快速轉(zhuǎn)發(fā)表中沒(méi)有查找到所述指定信息,則查詢(xún)緩 存表中是否已保存了所述指定信息,是則結(jié)束對(duì)當(dāng)前接收?qǐng)?bào)文信息的學(xué)習(xí), 否則將所述指定信息保存到所述緩存表,并上報(bào)給CPU;當(dāng)接收到CPU返 回的需要學(xué)習(xí)所述指定信息的指令時(shí),將所述指定信息和接收所述當(dāng)前報(bào)文 的端口之間的對(duì)應(yīng)關(guān)系保存到所述快速轉(zhuǎn)發(fā)表中;當(dāng)接收到CPU返回的不
需要學(xué)習(xí)所述指定信息的指令時(shí),結(jié)束對(duì)當(dāng)前報(bào)文信息的學(xué)習(xí)的技術(shù)方案, 提高了報(bào)文信息學(xué)習(xí)效率,并減輕了 CPU的處理負(fù)荷。
示意圖2是圖1中所示的網(wǎng)絡(luò)設(shè)備對(duì)所接收的報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理的流程圖; 圖3是本發(fā)明實(shí)施例一種報(bào)文信息學(xué)習(xí)裝置的結(jié)構(gòu)框圖; 圖4是本發(fā)明實(shí)施例一種MAC地址學(xué)習(xí)裝置的結(jié)構(gòu)框圖; 圖5是圖4所示的裝置學(xué)習(xí)MAC地址的流程圖。
具體實(shí)施例方式
圖3是本發(fā)明實(shí)施例一種報(bào)文信息學(xué)習(xí)裝置的結(jié)構(gòu)框圖。如圖3所示, 該報(bào)文信息學(xué)習(xí)裝置包括快速轉(zhuǎn)發(fā)表存儲(chǔ)單元301、緩存單元302、學(xué)習(xí) 單元303和CPU 304,其中
快速轉(zhuǎn)發(fā)表存儲(chǔ)單元301 ,用于存儲(chǔ)快速轉(zhuǎn)發(fā)表; 緩存單元302,用于保存學(xué)習(xí)單元303寫(xiě)入的指定信息; 學(xué)習(xí)單元303,用于從快速轉(zhuǎn)發(fā)表存儲(chǔ)單元301查找當(dāng)前接收?qǐng)?bào)文中的 指定信息,如果沒(méi)有查找到則查詢(xún)緩存單元302中是否已保存了所述指定信 息,是則結(jié)束對(duì)當(dāng)前接收?qǐng)?bào)文信息的學(xué)習(xí),否則將所述指定信息寫(xiě)入緩存單 元302,并將所述指定信息上報(bào)給CPU304;當(dāng)CPU 304返回需要進(jìn)行學(xué)習(xí) 的判斷結(jié)果時(shí),將所述指定信息和接收所述當(dāng)前報(bào)文的端口之間的對(duì)應(yīng)關(guān)系保存到快速轉(zhuǎn)發(fā)表存儲(chǔ)單元301;當(dāng)CPU304返回不需進(jìn)行學(xué)習(xí)的判斷結(jié)果 時(shí),結(jié)束對(duì)當(dāng)前接收?qǐng)?bào)文信息的學(xué)習(xí);
CPU 304,用于根據(jù)學(xué)習(xí)單元303上報(bào)的報(bào)文信息判斷是否進(jìn)行學(xué)習(xí), 并向?qū)W習(xí)單元返回判斷結(jié)果。
在圖3所示的實(shí)施例中,將當(dāng)前報(bào)文中的指定信息上報(bào)給CPU 304之 前保存到緩存單元302中,因此,在CPU304響應(yīng)所上報(bào)的當(dāng)前報(bào)文的指定 信息之前,如果與當(dāng)前報(bào)文屬于同一會(huì)話(huà)的下一個(gè)報(bào)文到達(dá),則可以通過(guò)查 詢(xún)緩存單元302來(lái)獲知CPU是否已經(jīng)在處理所述下一個(gè)到達(dá)報(bào)文的指定信 息,如果是則不再學(xué)習(xí)所述下一個(gè)到達(dá)報(bào)文的指定信息,即不再向CPU上 報(bào)該指定信息,從而提高了報(bào)文信息的學(xué)習(xí)效率,減輕了CPU的處理負(fù)荷。
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,下面以MAC地址 的學(xué)習(xí)過(guò)程為例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
圖4是本發(fā)明實(shí)施例一種MAC地址學(xué)習(xí)裝置的結(jié)構(gòu)框圖。如圖4所示, 該MAC地址學(xué)習(xí)裝置包括快速轉(zhuǎn)發(fā)表存儲(chǔ)單元401、緩存單元402、學(xué) 習(xí)單元403、 CPU404和先入先出存儲(chǔ)單元405。
在圖4中
快速轉(zhuǎn)發(fā)表存儲(chǔ)單元401,用于存儲(chǔ)MAC地址表。這里MAC地址表 即為現(xiàn)有技術(shù)中的保存MAC地址和端口之間對(duì)應(yīng)關(guān)系的MAC地址表。
緩存單元402是一個(gè)內(nèi)容尋址存儲(chǔ)器(CAM, Content Addressable Memory),用于保存學(xué)習(xí)單元403寫(xiě)入的MAC地址,并向?qū)W習(xí)單元返回所 寫(xiě)入MAC地址的存儲(chǔ)地址。
先入先出存儲(chǔ)單元405,用于保存學(xué)習(xí)單元403寫(xiě)入的MAC地址以及 該MAC地址在緩存單元中402中的存儲(chǔ)地址,并供CPU404讀取,并且其 先寫(xiě)入的數(shù)據(jù)先被CPU 404讀取。
學(xué)習(xí)單元403,用于在接收到當(dāng)前輸入報(bào)文時(shí),向從快速轉(zhuǎn)發(fā)表存儲(chǔ)單 元401查找當(dāng)前報(bào)文的MAC地址,如果沒(méi)有查找到則查詢(xún)緩存單元402中 是否已保存了當(dāng)前報(bào)文的MAC地址,是則結(jié)束對(duì)當(dāng)前報(bào)文MAC地址的學(xué)習(xí),否則將當(dāng)前報(bào)文的MAC地址寫(xiě)入緩存單元402,并將當(dāng)前報(bào)文的MAC 地址和該MAC地址在緩存單元402中存儲(chǔ)地址上報(bào)給CPU 404;當(dāng)CPU 404 返回需要進(jìn)行學(xué)習(xí)的判斷結(jié)果時(shí),將所述指定信息和接收所述當(dāng)前報(bào)文的端 口之間的對(duì)應(yīng)關(guān)系保存到快速轉(zhuǎn)發(fā)表存儲(chǔ)單元401 ,并根據(jù)判斷結(jié)果中包含 的當(dāng)前報(bào)文的MAC地址在緩存單元402中存儲(chǔ)地址,從緩存單元402中刪 除當(dāng)前報(bào)文的MAC地址;當(dāng)CPU404返回不需進(jìn)行學(xué)習(xí)的判斷結(jié)果時(shí),根 據(jù)該判斷結(jié)果中包含的當(dāng)前報(bào)文的MAC地址在緩存單元402中存儲(chǔ)地址, 從緩存單元402中刪除當(dāng)前報(bào)文的MAC地址,結(jié)束對(duì)當(dāng)前報(bào)文MAC地址 的學(xué)習(xí)過(guò)程。
CPU 404,用于從先入先出存儲(chǔ)單元405中讀取學(xué)習(xí)單元403上報(bào)的 MAC地址和該MAC地址在緩存單元402中存儲(chǔ)地址,并判斷該MAC地址 是否需要進(jìn)行學(xué)習(xí),并向?qū)W習(xí)單元403返回包含該MAC地址在緩存單元402 中存儲(chǔ)地址的判斷結(jié)果。
為了使圖4所示裝置的學(xué)習(xí)MAC地址的過(guò)程更加清楚,下面以流程圖 的方式來(lái)描述其學(xué)習(xí)MAC地址的過(guò)程。
圖5是圖4所示的裝置學(xué)習(xí)MAC地址的流程圖。如圖5所示,包括以 下步驟
步驟501,學(xué)習(xí)單元403檢測(cè)是否接收到報(bào)文,是則執(zhí)行步驟502,否 則繼續(xù)進(jìn)行檢測(cè)。
步驟502,學(xué)習(xí)單元403根據(jù)所接收?qǐng)?bào)文的MAC地址查找快速轉(zhuǎn)發(fā)表 存儲(chǔ)單元402,如果命中則執(zhí)行步驟503,否則執(zhí)行步驟504。
步驟503,學(xué)習(xí)單元403根據(jù)命中的MAC地址表項(xiàng),將所接收的報(bào)文 從相應(yīng)的端口發(fā)送出去,并返回步驟501。
步驟504,學(xué)習(xí)單元403查詢(xún)緩存單元402中是否已經(jīng)保存了所接收?qǐng)?bào) 文的MAC地址,是則執(zhí)行步驟505,否則執(zhí)行步驟506。
步驟505,學(xué)習(xí)單元403結(jié)束所接收?qǐng)?bào)文的MAC地址的學(xué)習(xí),返回步 驟501。
步驟506,學(xué)習(xí)單元403將所接收?qǐng)?bào)文的MAC地址保存到緩存單元402, 并將所述MAC地址以及緩存單元402返回的該MAC地址在緩存單元402 中的存儲(chǔ)地址上報(bào)給CPU 404。
本步驟中,學(xué)習(xí)單元403將需要上報(bào)給CPU 404的信息寫(xiě)入先入先出 存儲(chǔ)單元405, CPU404從先入先出存儲(chǔ)單元405讀取學(xué)習(xí)單元403上報(bào)的
4呂息。
步驟507, CPU 404判斷是否需要對(duì)所接收的MAC地址進(jìn)行學(xué)習(xí),是 則執(zhí)行步驟509,否則執(zhí)行步驟508。
步驟508, CPU 404向?qū)W習(xí)單元403返回?zé)o需學(xué)習(xí)所接收?qǐng)?bào)文的MAC 地址的判斷結(jié)果,且其中包含所述MAC地址在緩存單元402中的存儲(chǔ)地址。 學(xué)習(xí)單元403根據(jù)判斷結(jié)果中的地址信息,從緩存單元402中刪除所接收?qǐng)?bào) 文的MAC地址,并4丸行步驟501 。
步驟509, CPU 404向?qū)W習(xí)單元403返回需要學(xué)習(xí)所接收?qǐng)?bào)文的MAC 地址的判斷結(jié)果,且其中包含所述MAC地址在緩存單元402中的存儲(chǔ)地址。 學(xué)習(xí)單元403接收到判斷結(jié)果后,將所接收?qǐng)?bào)文的MAC地址和接收該報(bào)文 的端口之間的對(duì)應(yīng)關(guān)系保存到快速轉(zhuǎn)發(fā)表存儲(chǔ)單元401 ,并根據(jù)判斷結(jié)果中 的地址信息,從緩存單元402中刪除所接收?qǐng)?bào)文的MAC地址,并執(zhí)行步驟 501。
在上述圖4和圖5所示的實(shí)施例中以MAC地址的學(xué)習(xí)過(guò)程對(duì)本發(fā)明的 技術(shù)方案進(jìn)行了說(shuō)明。對(duì)于其它的報(bào)文信息學(xué)習(xí)過(guò)程,如五元組的學(xué)習(xí)過(guò)程, 與圖4和圖5的學(xué)習(xí)過(guò)程相同,只需要將MAC地址替換為五元組即可,這 里不再?gòu)?fù)述。
綜上所述,本發(fā)明根據(jù)當(dāng)前所接收?qǐng)?bào)文中的指定信息查找快速轉(zhuǎn)發(fā)表;
如果從所述快速轉(zhuǎn)發(fā)表中沒(méi)有查找到所述指定信息,則查詢(xún)緩存表中是否已
保存了所述指定信息,是則結(jié)束對(duì)當(dāng)前接收?qǐng)?bào)文信息的學(xué)習(xí),否則將所述指
定信息保存到所述緩存單元,并上報(bào)給CPU;當(dāng)接收到CPU返回的需要學(xué)
習(xí)所述指定信息的指令時(shí),將所述指定信息和接收所述當(dāng)前報(bào)文的端口之間 的對(duì)應(yīng)關(guān)系保存到所述快速轉(zhuǎn)發(fā)表中;當(dāng)接收到CPU返回的不需要學(xué)習(xí)所
述指定信息的指令時(shí),結(jié)束當(dāng)前報(bào)文信息的學(xué)習(xí)。上述技術(shù)方案中,由于將
當(dāng)前報(bào)文中的指定信息上報(bào)給CPU之前先保存到緩存表中,因此,在CPU 響應(yīng)所上報(bào)的當(dāng)前報(bào)文的指定信息之前,如果與當(dāng)前報(bào)文屬于同 一會(huì)話(huà)的下 一個(gè)報(bào)文到達(dá),則可以通過(guò)查詢(xún)緩存表來(lái)獲知CPU是否已經(jīng)在處理所述下 一個(gè)到達(dá)報(bào)文的指定信息,如果是則不再學(xué)習(xí)所述下一個(gè)到達(dá)報(bào)文的指定信 息,即不再向CPU上報(bào)該指定信息,從而提高了報(bào)文信息的學(xué)習(xí)效率,減 輕了 CPU的處理負(fù)荷。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù) 范圍,凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等, 均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種報(bào)文信息學(xué)習(xí)裝置,其特征在于,該裝置包括快速轉(zhuǎn)發(fā)表存儲(chǔ)單元、緩存單元、學(xué)習(xí)單元和CPU,其中,快速轉(zhuǎn)發(fā)表存儲(chǔ)單元,用于存儲(chǔ)快速轉(zhuǎn)發(fā)表;緩存單元,用于保存學(xué)習(xí)單元寫(xiě)入的指定信息;學(xué)習(xí)單元,用于從快速轉(zhuǎn)發(fā)表存儲(chǔ)單元查找當(dāng)前接收?qǐng)?bào)文中的指定信息,如果沒(méi)有查找到則查詢(xún)所述緩存單元中是否已保存了所述指定信息,是則結(jié)束對(duì)當(dāng)前接收?qǐng)?bào)文信息的學(xué)習(xí),否則將所述指定信息寫(xiě)入緩存單元,并將所述指定信息上報(bào)給CPU;當(dāng)CPU返回需要進(jìn)行學(xué)習(xí)的判斷結(jié)果時(shí),將所述指定信息和接收所述當(dāng)前報(bào)文的端口之間的對(duì)應(yīng)關(guān)系保存到所述快速轉(zhuǎn)發(fā)表存儲(chǔ)單元;當(dāng)CPU返回不需進(jìn)行學(xué)習(xí)的判斷結(jié)果時(shí),結(jié)束當(dāng)前報(bào)文信息的學(xué)習(xí);CPU,用于根據(jù)學(xué)習(xí)單元上報(bào)的所述指定信息判斷是否進(jìn)行學(xué)習(xí),并向?qū)W習(xí)單元返回判斷結(jié)果。
2、 如權(quán)利要求l所述的裝置,其特征在于,所述緩存單元,用于保存學(xué)習(xí)單元寫(xiě)入的指定信息的同時(shí),向?qū)W習(xí)單元 反饋所述指定信息的存儲(chǔ)地址;所述學(xué)習(xí)單元,用于在向CPU上報(bào)所述指定信息時(shí),進(jìn)一步將所述指 定信息在緩存單元中的存儲(chǔ)地址上報(bào)給CPU;所述CPU,在向?qū)W習(xí)單元返回判斷結(jié)果的同時(shí),將所述指定信息在緩 存單元中的存儲(chǔ)地址下發(fā)給學(xué)習(xí)單元;所述學(xué)習(xí)單元,進(jìn)一步用于在接收到CPU返回的判斷結(jié)果后,根據(jù)其 中攜帶的地址信息,從緩存單元中刪除所述指定信息。
3、 如權(quán)利要求2所述的裝置,其特征在于,所述裝置進(jìn)一步包括先入 先出存儲(chǔ)單元,所述學(xué)習(xí)單元,用于將需要上報(bào)給CPU的指定信息以及該指定信息在緩存單元中的存儲(chǔ)地址存入所述先入先出存儲(chǔ)單元; 息以及該指定信息在緩存單元中的存儲(chǔ)地址。
4、 如權(quán)利要求i至3中任一項(xiàng)所述的裝置,其特征在于,該裝置設(shè)置于二層或三層網(wǎng)絡(luò)設(shè)備中。
5、 如權(quán)利要求1至3中任一項(xiàng)所述的裝置,其特征在于, 所述快速轉(zhuǎn)發(fā)表存儲(chǔ)單元所存儲(chǔ)的快速轉(zhuǎn)發(fā)表為MAC地址表; 所述學(xué)習(xí)單元從快速轉(zhuǎn)發(fā)表存儲(chǔ)單元和緩存單元查找的所述指定信息為MAC地址。
6、 一種報(bào)文信息學(xué)習(xí)方法,其特征在于,該方法包括 根據(jù)當(dāng)前接收?qǐng)?bào)文中的指定信息查找快速轉(zhuǎn)發(fā)表; 如果從所述快速轉(zhuǎn)發(fā)表中沒(méi)有查找到所述指定信息,則查詢(xún)緩存表中是否已保存了所述指定信息,是則結(jié)束對(duì)當(dāng)前接收?qǐng)?bào)文信息的學(xué)習(xí),否則將所 述指定信息保存到所述緩存表,并上報(bào)給CPU;當(dāng)接收到CPU返回的需要學(xué)習(xí)所述指定信息的指令時(shí),將所述指定信 息和接收所述當(dāng)前報(bào)文的端口之間的對(duì)應(yīng)關(guān)系保存到所述快速轉(zhuǎn)發(fā)表中;當(dāng) 接收到CPU返回的不需要學(xué)習(xí)所述指定信息的指令時(shí),結(jié)束當(dāng)前報(bào)文信息 的學(xué)習(xí)。
7、 如權(quán)利要求6所述的方法,其特征在于,該方法進(jìn)一步包括向CPU上報(bào)所述指定信息的同時(shí),還將所述指定信息的存儲(chǔ)地址上報(bào) 給CPU;所述在接收到CPU返回的指令后,還根據(jù)其中攜帶的保存所述指定信息的存儲(chǔ)地址,刪除該地址上保存的所述指定信息。
8、 如權(quán)利要求6所述的方法,其特征在于,所述向CPU上報(bào)信息包括 將需要上報(bào)給CPU的信息存入先入先出隊(duì)列中;CPU從先入先出隊(duì)列讀取上報(bào)信息。
9、 如權(quán)利要求6至8中任一項(xiàng)所述的方法,其特征在于,所述快速轉(zhuǎn) 發(fā)表為MAC地址表,所述指定信息為MAC地址。
10、如權(quán)利要求6至8中任一項(xiàng)所述的方法,其特征在于,所述指定信 息包括媒體接入控制地址,和/或五元組信息。
全文摘要
本發(fā)明公開(kāi)了一種報(bào)文信息學(xué)習(xí)方法,該方法包括根據(jù)當(dāng)前接收?qǐng)?bào)文中的指定信息查找快速轉(zhuǎn)發(fā)表;如果從所述快速轉(zhuǎn)發(fā)表中沒(méi)有查找到所述指定信息,則查詢(xún)緩存表中是否已保存了所述指定信息,是則結(jié)束對(duì)當(dāng)前接收?qǐng)?bào)文信息的學(xué)習(xí),否則將所述指定信息保存到所述緩存表,并上報(bào)給CPU;當(dāng)接收到CPU返回的需要學(xué)習(xí)所述指定信息的指令時(shí),將所述指定信息和接收所述當(dāng)前報(bào)文的端口之間的對(duì)應(yīng)關(guān)系保存到所述快速轉(zhuǎn)發(fā)表中;當(dāng)接收到CPU返回的不需要學(xué)習(xí)所述指定信息的指令時(shí),結(jié)束對(duì)當(dāng)前接收?qǐng)?bào)文信息的學(xué)習(xí)。本發(fā)明還公開(kāi)了一種報(bào)文學(xué)習(xí)裝置。本發(fā)明的技術(shù)方案能夠提高報(bào)文信息學(xué)習(xí)效率,并減輕CPU的處理負(fù)荷。
文檔編號(hào)H04L12/56GK101197787SQ20081005599
公開(kāi)日2008年6月11日 申請(qǐng)日期2008年1月3日 優(yōu)先權(quán)日2008年1月3日
發(fā)明者彬 王 申請(qǐng)人:杭州華三通信技術(shù)有限公司