本發(fā)明涉及dpu,特別是涉及一種路由查找方法、系統(tǒng)、設(shè)備、介質(zhì)及程序產(chǎn)品。
背景技術(shù):
1、lpm(longest?prefix?match,最長前綴匹配),是一種在網(wǎng)絡(luò)路由和數(shù)據(jù)包轉(zhuǎn)發(fā)中使用的算法,它用于在路由表中查找最具體的路由條目。該算法的目的是確保數(shù)據(jù)包能夠按照最長的、最具體的網(wǎng)絡(luò)前綴被轉(zhuǎn)發(fā)到正確的目的地。
2、目前,當(dāng)前行業(yè)內(nèi)實現(xiàn)lpm的方法:cpu端路由協(xié)議模塊根據(jù)相關(guān)路由協(xié)議狀態(tài)將路由信息分發(fā)至路由表項管理模塊,路由表項管理模塊整合路由信息,并通過路由表項下發(fā)模塊將整合后的路由信息設(shè)置至dpu(數(shù)據(jù)處理單元)專用tcam芯片中,dpu轉(zhuǎn)發(fā)芯片提取數(shù)據(jù)包的目的ip作為鍵值送至tcam芯片中進(jìn)行查找。
3、上述實現(xiàn)lpm的方法還存在以下缺陷:現(xiàn)有的tcam芯片存在成本高、功耗大等缺點(diǎn);另外,dpu的硬件面積有限,功耗的增加也不利于dpu硬件設(shè)計和散熱。因此,亟需一種低成本實現(xiàn)dpu的大容量lpm功能的路由查找方法解決上述問題。
技術(shù)實現(xiàn)思路
1、鑒于上述問題,提出了本發(fā)明以便提供克服上述問題或者至少部分地解決上述問題的一種路由查找方法、系統(tǒng)、設(shè)備、介質(zhì)及程序產(chǎn)品。
2、為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種路由查找方法,應(yīng)用于路由查找系統(tǒng),所述路由查找系統(tǒng)包括cpu和dpu,所述cpu中設(shè)有路由表項管理模塊和表項下發(fā)模塊,所述dpu中設(shè)有轉(zhuǎn)發(fā)芯片和ddr,所述方法包括:
3、當(dāng)路由表項管理模塊接收到上層協(xié)議分發(fā)的路由條目時,將各個所述路由條目拆分成若干個item條目,并將各個item條目添加到表項下發(fā)模塊的下發(fā)處理鏈中;
4、表項下發(fā)模塊按照逆序串接各個所述item條目,獲得串接item條目,并將所述串接item條目設(shè)置至ddr中;
5、當(dāng)轉(zhuǎn)發(fā)芯片接收到數(shù)據(jù)報文時,提取出所述數(shù)據(jù)報文的目的ip地址,并將所述目的ip地址設(shè)為鍵值,且將所述鍵值送至所述轉(zhuǎn)發(fā)芯片的查找引擎中;
6、所述查找引擎根據(jù)所述鍵值對所述串接item條目進(jìn)行遞歸查找,獲得目標(biāo)路由條目結(jié)果,并將所述目標(biāo)路由條目結(jié)果返回給所述轉(zhuǎn)發(fā)芯片;
7、所述轉(zhuǎn)發(fā)芯片根據(jù)所述目標(biāo)路由條目結(jié)果對數(shù)據(jù)報文進(jìn)行轉(zhuǎn)發(fā)。
8、可選地,所述item條目包括本條目鍵值、所述鍵值在路由前綴中的偏移、遞歸查找標(biāo)記以及后續(xù)item條目地址;其中,所述路由條目的最后一個item條目保存路由條目結(jié)果。
9、可選地,所述查找引擎根據(jù)所述鍵值對所述串接item條目進(jìn)行遞歸查找,獲得目標(biāo)路由條目結(jié)果,包括:
10、所述查找引擎提取部分所述鍵值進(jìn)行第一個item條目的查找,并判斷是否命中所述第一個item條目的遞歸查找標(biāo)記;
11、在所述遞歸查找標(biāo)記為零時,結(jié)束遞歸查找,并將第一個item條目作為目標(biāo)路由條目結(jié)果。
12、可選地,所述判斷是否命中第一個item條目中的遞歸查找標(biāo)記的步驟之后,還包括:
13、在所述遞歸查找標(biāo)記置位時,所述查找引擎提取部分所述鍵值進(jìn)行第二個item條目的查找,以此類推,直至查找到最后一個item條目時結(jié)束遞歸查找,并將所述最后一個item條目設(shè)為目標(biāo)路由條目。
14、第二方面,本發(fā)明還提供一種路由查找系統(tǒng),所述系統(tǒng)包括cpu和dpu,所述cpu中設(shè)有路由表項管理模塊和表項下發(fā)模塊,所述dpu中設(shè)有轉(zhuǎn)發(fā)芯片和ddr,其中:
15、路由表項管理模塊,用于當(dāng)接收到上層協(xié)議分發(fā)的路由條目時,將各個所述路由條目拆分成若干個item條目,并將各個item條目添加到表項下發(fā)模塊的下發(fā)處理鏈中;
16、表項下發(fā)模塊,用于按照逆序串接各個所述item條目,獲得串接item條目,并將所述串接item條目設(shè)置至ddr中;
17、轉(zhuǎn)發(fā)芯片,用于當(dāng)接收到數(shù)據(jù)報文時,提取出所述數(shù)據(jù)報文的目的ip地址,并將所述目的ip地址設(shè)為鍵值,且將所述鍵值送至所述轉(zhuǎn)發(fā)芯片的查找引擎中;
18、查找引擎,用于根據(jù)所述鍵值對所述串接item條目進(jìn)行遞歸查找,獲得目標(biāo)路由條目結(jié)果,并將所述目標(biāo)路由條目結(jié)果返回給所述轉(zhuǎn)發(fā)芯片;
19、所述轉(zhuǎn)發(fā)芯片,還用于根據(jù)所述目標(biāo)路由條目結(jié)果進(jìn)行報文轉(zhuǎn)發(fā)。
20、第三方面,本發(fā)明提供一種電子設(shè)備,所述電子設(shè)備包括:存儲器與處理器;所述存儲器用于存儲計算機(jī)程序;所述處理器用于執(zhí)行所述存儲器存儲的計算機(jī)程序,以使所述電子設(shè)備執(zhí)行如上所述的路由查找方法的步驟。
21、第四方面,本發(fā)明提供一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,該程序被電子設(shè)備執(zhí)行時實現(xiàn)如上所述的路由查找方法的步驟。
22、第五方面,本發(fā)明提供一種計算機(jī)程序產(chǎn)品,計算機(jī)程序產(chǎn)品中包括計算機(jī)程序代碼,當(dāng)所述計算機(jī)程序代碼在計算機(jī)上運(yùn)行時,使得所述計算機(jī)實現(xiàn)如上所述的方法。
23、本發(fā)明提供的上述一個或多個技術(shù)方案,可以具有如下優(yōu)點(diǎn)或至少實現(xiàn)了如下技術(shù)效果:
24、本發(fā)明的路由查找方法、系統(tǒng)、設(shè)備、介質(zhì)及程序產(chǎn)品,應(yīng)用于路由查找系統(tǒng),所述路由查找系統(tǒng)包括cpu和dpu,所述cpu中設(shè)有路由表項管理模塊和表項下發(fā)模塊,所述dpu中設(shè)有轉(zhuǎn)發(fā)芯片和ddr,所述方法包括:當(dāng)路由表項管理模塊接收到上層協(xié)議分發(fā)的路由條目時,將各個所述路由條目拆分成若干個item條目,并將各個item條目添加到表項下發(fā)模塊的下發(fā)處理鏈中;表項下發(fā)模塊按照逆序串接各個所述item條目,獲得串接item條目,并將所述串接item條目設(shè)置至ddr中;當(dāng)轉(zhuǎn)發(fā)芯片接收到數(shù)據(jù)報文時,提取出所述數(shù)據(jù)報文的目的ip地址,并將所述目的ip地址設(shè)為鍵值,且將所述鍵值送至所述轉(zhuǎn)發(fā)芯片的查找引擎中;所述查找引擎根據(jù)所述鍵值對所述串接item條目進(jìn)行遞歸查找,獲得目標(biāo)路由條目結(jié)果,并將所述目標(biāo)路由條目結(jié)果返回給所述轉(zhuǎn)發(fā)芯片;所述轉(zhuǎn)發(fā)芯片根據(jù)所述目標(biāo)路由條目結(jié)果對所述數(shù)據(jù)報文進(jìn)行轉(zhuǎn)發(fā)。
25、由此,本發(fā)明可以在不依賴專用tcam芯片的情況下,實現(xiàn)dpu的大容量lpm功能,同時降低成本。
1.一種路由查找方法,其特征在于,應(yīng)用于路由查找系統(tǒng),所述路由查找系統(tǒng)包括cpu和dpu,所述cpu中設(shè)有路由表項管理模塊和表項下發(fā)模塊,所述dpu中設(shè)有轉(zhuǎn)發(fā)芯片和ddr,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述item條目包括本條目鍵值、所述鍵值在路由前綴中的偏移、遞歸查找標(biāo)記以及后續(xù)item條目地址。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述查找引擎根據(jù)所述鍵值對所述串接item條目進(jìn)行遞歸查找,獲得目標(biāo)路由條目結(jié)果,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述判斷是否命中第一個item條目中的遞歸查找標(biāo)記的步驟之后,還包括:
5.一種路由查找系統(tǒng),其特征在于,所述系統(tǒng)包括cpu和dpu,所述cpu中設(shè)有路由表項管理模塊和路由表下發(fā)模塊,所述dpu中設(shè)有轉(zhuǎn)發(fā)芯片和內(nèi)部存儲器ddr,其中:
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,
8.一種電子設(shè)備,其特征在于,所述電子設(shè)備包括:存儲器與處理器,其中,所述存儲器用于存儲計算機(jī)程序,所述處理器用于執(zhí)行所述存儲器存儲的計算機(jī)程序,以使所述電子設(shè)備執(zhí)行如權(quán)利要求1至4中任一項所述方法的步驟。
9.一種計算機(jī)可讀存儲介質(zhì),其特征在于,所述計算機(jī)可讀存儲介質(zhì)上存儲有程序,所述程序運(yùn)行時,用于執(zhí)行時實現(xiàn)權(quán)利要求1至4中任一項所述方法的步驟。
10.一種計算機(jī)程序產(chǎn)品,其特征在于,所述計算機(jī)程序產(chǎn)品中包括計算機(jī)程序代碼,當(dāng)所述計算機(jī)程序代碼在計算機(jī)上運(yùn)行時,使得所述計算機(jī)實現(xiàn)如權(quán)利要求1至4中任一項所述方法的步驟。