[發(fā)明專利]基于每包轉(zhuǎn)發(fā)的方法、裝置、網(wǎng)絡(luò)設(shè)備及計算機存儲介質(zhì)在審
| 申請?zhí)枺?/td> | 202011599448.1 | 申請日: | 2020-12-29 |
| 公開(公告)號: | CN112702275A | 公開(公告)日: | 2021-04-23 |
| 發(fā)明(設(shè)計)人: | 常放 | 申請(專利權(quán))人: | 邁普通信技術(shù)股份有限公司 |
| 主分類號: | H04L12/801 | 分類號: | H04L12/801;H04L12/863;H04L12/24 |
| 代理公司: | 北京超凡宏宇專利代理事務(wù)所(特殊普通合伙) 11463 | 代理人: | 張萌 |
| 地址: | 610041 四川省成都市*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 轉(zhuǎn)發(fā) 方法 裝置 網(wǎng)絡(luò)設(shè)備 計算機 存儲 介質(zhì) | ||
本發(fā)明涉及一種基于每包轉(zhuǎn)發(fā)的方法、裝置、網(wǎng)絡(luò)設(shè)備及計算機存儲介質(zhì),屬于通信領(lǐng)域。在該方法中,由于每個轉(zhuǎn)發(fā)核均只從與自身對應(yīng)的BD段所包括的BD所指向的Buffer中收包,而不會去其他BD段所包括的BD所指向的Buffer中收包,從而可以避免不同的轉(zhuǎn)發(fā)核同時訪問同一個緩沖區(qū)而出現(xiàn)數(shù)據(jù)沖突。此外,在上述過程中,針對只包括單一硬件接收隊列的網(wǎng)絡(luò)設(shè)備而言,無需使用自旋鎖,也無需額外消耗新的硬件資源,也就是說,可以在不影響網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)性能的前提下,使得網(wǎng)絡(luò)設(shè)備具備基于每包轉(zhuǎn)發(fā)的功能。
技術(shù)領(lǐng)域
本申請屬于通信領(lǐng)域,具體涉及一種基于每包轉(zhuǎn)發(fā)的方法、裝置、網(wǎng)絡(luò)設(shè)備及計算機存儲介質(zhì)。
背景技術(shù)
為了測試網(wǎng)絡(luò)設(shè)備的極限吞吐量,對網(wǎng)絡(luò)設(shè)備有基于每包轉(zhuǎn)發(fā)(Per-Packet)的需求,即把一條流的報文散列到不同的硬件隊列,由網(wǎng)絡(luò)設(shè)備中與各個硬件隊列對應(yīng)的轉(zhuǎn)發(fā)核對報文進行收包并處理。
當前,大多數(shù)網(wǎng)絡(luò)設(shè)備的以太網(wǎng)MAC芯片都包括多個硬件接收隊列,從而可以從硬件層面上實現(xiàn)Per-Packet功能。然而,也存在一些功能較為單一的MAC芯片,在這些MAC芯片中只存在一個硬件接收隊列,從而導致包括該MAC芯片的網(wǎng)絡(luò)設(shè)備無法從硬件層面上實現(xiàn)Per-Packet功能。
為了使得只具備單一硬件接收隊列的網(wǎng)絡(luò)設(shè)備也可以實現(xiàn)Per-Packet功能,在現(xiàn)有技術(shù)中,可以借助于軟件來實現(xiàn)多個轉(zhuǎn)發(fā)核直接對同一硬件隊列進行收包,從而實現(xiàn)Per-Packet。
由于多個轉(zhuǎn)發(fā)核在同一時間對同一硬件隊列進行操作會造成數(shù)據(jù)沖突,因此,上述方案在實施過程中,還需要使用自旋鎖,從而保證在同一時間內(nèi)只有一個轉(zhuǎn)發(fā)核可以操作該唯一的硬件接收隊列。
自旋鎖的使用雖然能夠解決數(shù)據(jù)沖突的問題,但是自旋鎖的開銷較大,使用自旋鎖勢必會影響網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)性能。
發(fā)明內(nèi)容
有鑒于此,本申請的目的在于提供一種基于每包轉(zhuǎn)發(fā)的方法、裝置、網(wǎng)絡(luò)設(shè)備及計算機存儲介質(zhì),使得只存在一個硬件接收隊列的網(wǎng)絡(luò)設(shè)備在不影響網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)性能的前提下,實現(xiàn)基于每包轉(zhuǎn)發(fā)的需求。
本申請的實施例是這樣實現(xiàn)的:
第一方面,本申請實施例提供一種基于每包轉(zhuǎn)發(fā)的方法,應(yīng)用于網(wǎng)絡(luò)設(shè)備,所述網(wǎng)絡(luò)設(shè)備包括多個轉(zhuǎn)發(fā)核以及單一硬件接收隊列,所述單一硬件接收隊列包括一個緩沖區(qū)描述符BD環(huán),所述BD環(huán)被劃分為與所述多個轉(zhuǎn)發(fā)核一一對應(yīng)的多個BD段,其中,每個所述BD段內(nèi)包括至少一個BD,且每個所述BD指向?qū)?yīng)的緩沖區(qū)Buffer;所述方法包括:控制每個轉(zhuǎn)發(fā)核從與其對應(yīng)的BD段所包括的BD所指向的Buffer中收包并進行處理。
由于每個轉(zhuǎn)發(fā)核均只從與自身對應(yīng)的BD段所包括的BD所指向的Buffer中收包,而不會去其他BD段所包括的BD所指向的Buffer中收包,從而可以避免不同的轉(zhuǎn)發(fā)核同時訪問同一個緩沖區(qū)而出現(xiàn)數(shù)據(jù)沖突。此外,在上述過程中,針對只包括單一硬件接收隊列的網(wǎng)絡(luò)設(shè)備而言,無需使用自旋鎖,也無需額外消耗新的硬件資源,也就是說,可以在不影響網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)性能的前提下,使得網(wǎng)絡(luò)設(shè)備具備基于每包轉(zhuǎn)發(fā)的功能。
結(jié)合第一方面實施例,在一種可能的實施方式中,所述控制每個轉(zhuǎn)發(fā)核從與其對應(yīng)的BD段所包括的BD所指向的Buffer中收包并進行處理,包括:針對每個轉(zhuǎn)發(fā)核,控制該轉(zhuǎn)發(fā)核從所述對應(yīng)的BD段所包括的一個BD所指向的Buffer內(nèi)收包并進行處理,將所述對應(yīng)的BD段的子索引計數(shù)的當前取值加一;其中,所述一個BD為所述對應(yīng)的BD段的子索引計數(shù)的當前取值所指向的BD,以此來保證轉(zhuǎn)發(fā)核在收包時的連續(xù)性。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于邁普通信技術(shù)股份有限公司,未經(jīng)邁普通信技術(shù)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011599448.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種轉(zhuǎn)發(fā)表的生成方法及裝置
- 報文轉(zhuǎn)發(fā)的方法及網(wǎng)絡(luò)設(shè)備
- 一種轉(zhuǎn)發(fā)表項的存儲方法和裝置
- 一種計算轉(zhuǎn)發(fā)路徑的方法及網(wǎng)絡(luò)設(shè)備
- 一種報文轉(zhuǎn)發(fā)方法及裝置
- 報文轉(zhuǎn)發(fā)方法及裝置
- 一種信息發(fā)布及轉(zhuǎn)發(fā)方法
- 報文轉(zhuǎn)發(fā)方法及裝置
- 數(shù)據(jù)轉(zhuǎn)發(fā)的控制系統(tǒng)、方法、電子設(shè)備及存儲介質(zhì)
- 一種5G數(shù)據(jù)轉(zhuǎn)發(fā)平面的轉(zhuǎn)發(fā)效率控制方法、系統(tǒng)及終端





