本發(fā)明涉及計算機(jī)網(wǎng)絡(luò),尤其涉及一種網(wǎng)絡(luò)流量的條件分支邏輯處理方法。
背景技術(shù):
::1、傳統(tǒng)基于分布式路由協(xié)議的網(wǎng)絡(luò)架構(gòu)具有很強(qiáng)的生存能力,在過去的30年中貢獻(xiàn)巨大,解決了各種客戶需求。隨著簡化ip網(wǎng)絡(luò)管理、提高服務(wù)部署效率和實(shí)現(xiàn)網(wǎng)絡(luò)可編程性需求的提出,軟件定義網(wǎng)絡(luò)(software?defined?network,sdn)應(yīng)運(yùn)而生,通過將傳統(tǒng)網(wǎng)絡(luò)中的數(shù)據(jù)平面和控制平面分離,由控制平面集中控制網(wǎng)元設(shè)備、下發(fā)“流表”,實(shí)現(xiàn)了網(wǎng)絡(luò)可編程、優(yōu)化了網(wǎng)絡(luò)管理成本且使得網(wǎng)絡(luò)服務(wù)能夠使用控制器提供的開放接口快速部署。openflow協(xié)議是軟件定義網(wǎng)絡(luò)的代表協(xié)議。以軟件定義網(wǎng)絡(luò)為基礎(chǔ),可重構(gòu)匹配表(reconfigurable?match?tables,rmt)模型允許交換芯片更加靈活地處理報文,支持對報頭進(jìn)行更復(fù)雜的處理,對網(wǎng)絡(luò)可編程性具有里程碑式的意義,逐漸成為軟件定義網(wǎng)絡(luò)路線的下一代架構(gòu)。2、可編程交換機(jī)中的rmt(可重構(gòu)匹配表)流水線(pipeline)表示一組完整的數(shù)據(jù)處理流程,這與傳統(tǒng)交換機(jī)中的流水線是相似的。rmt流水線通過p4在可編程網(wǎng)卡、交換機(jī)、路由器等網(wǎng)絡(luò)設(shè)備上,允許用戶編程來控制報文在數(shù)據(jù)平面轉(zhuǎn)發(fā)行為,而p4具有實(shí)現(xiàn)協(xié)議無關(guān)性、目標(biāo)無關(guān)性以及可重構(gòu)性。3、然而,現(xiàn)有技術(shù)定義數(shù)據(jù)平面流水線對網(wǎng)絡(luò)報文的處理的靈活性較差。技術(shù)實(shí)現(xiàn)思路1、本發(fā)明實(shí)施例的主要目的在于提出一種網(wǎng)絡(luò)流量的條件分支邏輯處理方法,實(shí)現(xiàn)了可編程平面數(shù)據(jù)的復(fù)雜網(wǎng)絡(luò)數(shù)據(jù)處理。2、本發(fā)明的一方面提供了一種網(wǎng)絡(luò)流量的條件分支邏輯處理方法,包括:3、獲取經(jīng)過解析器處理的網(wǎng)絡(luò)報文,得到報文體和第一報頭向量,所述第一報頭向量用于表征基于p4的指令集,所述第一報頭向量包括局域網(wǎng)標(biāo)識符;4、對所述第一報頭向量在邏輯階段的處理時進(jìn)行條件判斷,得到邏輯階段執(zhí)行條件處理的條件碼;5、根據(jù)所述局域網(wǎng)標(biāo)識符及所述條件碼,對所述第一報頭向量進(jìn)行提取,得到查找鍵;6、根據(jù)攜帶有所述條件碼的所述查找鍵,在查表引擎中確定所述條件碼所標(biāo)識的查表范圍;7、根據(jù)所述查表范圍匹配動作表,依次執(zhí)行所有的邏輯階段處理,得到第二報頭向量,將所述第二報頭向量與所述報文體進(jìn)行組裝并進(jìn)行逆解析,進(jìn)而完成所述網(wǎng)絡(luò)報文的處理。8、根據(jù)所述的網(wǎng)絡(luò)流量的條件分支邏輯處理方法,其中對所述第一報頭向量在邏輯階段的處理時進(jìn)行條件判斷,得到邏輯階段執(zhí)行條件處理的條件碼,包括:9、根據(jù)所述局域網(wǎng)標(biāo)識符,對所述網(wǎng)絡(luò)報文進(jìn)行標(biāo)識;10、獲取變量提取表中存放由局域網(wǎng)標(biāo)識符索引的指令字,其中指令字包括多個子指令,其中指令字用于表征運(yùn)算符,其中子指令用于表征提取所述第一報頭向量的關(guān)鍵字并按照順序放入第一變量組的對應(yīng)位置;11、根據(jù)指令字提取所述第一報頭向量在當(dāng)前邏輯階段處理所需的所有變量,并存入第一變量組相應(yīng)的位置,得到由子指令形成的第二變量組;12、將第二變量組通過指令字進(jìn)行算數(shù)邏輯運(yùn)算處理,得到條件位,其中條件位用于判斷所述第一報頭向量中的邏輯判斷式的真?zhèn)危瑮l件位用于組成所述條件碼。13、根據(jù)所述的網(wǎng)絡(luò)流量的條件分支邏輯處理方法,其中方法還包括:14、對所述第一報頭向量的條件分支進(jìn)行識別,得到分支語句;15、若條件分支滿足類型相同及硬件邏輯資源充足時,將相同類型的條件分支編譯至同一邏輯階段處理;16、若條件分支的分支語句為多個時,將分支語句分配至不同的邏輯階段處理。17、根據(jù)所述的網(wǎng)絡(luò)流量的條件分支邏輯處理方法,其中將第二變量組通過指令字進(jìn)行算數(shù)邏輯運(yùn)算處理,得到條件位,包括:18、以每個所述第二變量組作為輸入數(shù)通過運(yùn)算符執(zhí)行一次算數(shù)邏輯運(yùn)算,得到條件位,將條件位進(jìn)行組合后得到所述條件碼,所述條件碼用于表征待執(zhí)行的語句塊。19、根據(jù)所述的網(wǎng)絡(luò)流量的條件分支邏輯處理方法,其中方法還包括:20、對兩個操作數(shù)根據(jù)運(yùn)算符執(zhí)行一次子運(yùn)算,將上一次子運(yùn)算的結(jié)果作為下一次子運(yùn)算的輸入,重復(fù)執(zhí)行子運(yùn)算處理直至完成條件位的真?zhèn)巫R別。21、根據(jù)所述的網(wǎng)絡(luò)流量的條件分支邏輯處理方法,其中根據(jù)所述局域網(wǎng)標(biāo)識符及所述條件碼,對所述第一報頭向量進(jìn)行提取,得到查找鍵,包括:22、采用鍵提取器以所述局域網(wǎng)標(biāo)識符與條件碼的組合查找提取表中的提取指令,通過提取指令從所述第一報頭向量進(jìn)行提取,得到查找鍵,將所述條件碼附在查找鍵上,并發(fā)送至查表引擎。23、根據(jù)所述的網(wǎng)絡(luò)流量的條件分支邏輯處理方法,其中根據(jù)攜帶有所述條件碼的所述查找鍵,在查表引擎中確定所述條件碼所標(biāo)識的查表范圍,包括:24、根據(jù)查找鍵的條件碼,新增條件碼字段,通過條件碼字段根據(jù)查找引擎的匹配-動作對查詢結(jié)果進(jìn)行區(qū)分。25、本發(fā)明的有益效果為:通過在每一個流水線階段增加基于樹形計算單元的簡單算術(shù)邏輯運(yùn)算機(jī)制,實(shí)現(xiàn)對分支語句條件的判斷,并通過查表引擎對條件結(jié)果進(jìn)行匹配,由動作引擎執(zhí)行所匹配到的動作,從而完成對分支邏輯中語句塊的執(zhí)行,提高了網(wǎng)絡(luò)流量的復(fù)雜邏輯處理。技術(shù)特征:1.一種網(wǎng)絡(luò)流量的條件分支邏輯處理方法,其特征在于,包括:2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)流量的條件分支邏輯處理方法,其特征在于,所述對所述第一報頭向量在邏輯階段的處理時進(jìn)行條件判斷,得到邏輯階段執(zhí)行條件處理的條件碼,包括:3.根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò)流量的條件分支邏輯處理方法,其特征在于,所述方法還包括:4.根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò)流量的條件分支邏輯處理方法,其特征在于,所述將第二變量組通過指令字進(jìn)行算數(shù)邏輯運(yùn)算處理,得到條件位,包括:5.根據(jù)權(quán)利要求4所述的網(wǎng)絡(luò)流量的條件分支邏輯處理方法,其特征在于,所述方法還包括:6.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)流量的條件分支邏輯處理方法,其特征在于,所述根據(jù)所述局域網(wǎng)標(biāo)識符及所述條件碼,對所述第一報頭向量進(jìn)行提取,得到查找鍵,包括:7.根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò)流量的條件分支邏輯處理方法,其特征在于,所述根據(jù)攜帶有所述條件碼的所述查找鍵,在查表引擎中確定所述條件碼所標(biāo)識的查表范圍,包括:技術(shù)總結(jié)本發(fā)明提供一種網(wǎng)絡(luò)流量的條件分支邏輯處理方法,該方法包括:獲取經(jīng)過解析器處理的網(wǎng)絡(luò)報文,得到報文體和第一報頭向量;對第一報頭向量在邏輯階段的處理時進(jìn)行條件判斷,得到邏輯階段執(zhí)行條件處理的條件碼;根據(jù)局域網(wǎng)標(biāo)識符及條件碼,對第一報頭向量進(jìn)行提取,得到查找鍵;根據(jù)攜帶有條件碼的查找鍵,在查表引擎中確定條件碼所標(biāo)識的查表范圍;根據(jù)查表范圍匹配動作表,依次執(zhí)行所有的邏輯階段處理并進(jìn)行逆解析。本發(fā)明的有益效果為:通過增加基于樹形計算單元的簡單算術(shù)邏輯運(yùn)算機(jī)制,實(shí)現(xiàn)對分支語句條件的判斷,并通過查表引擎對條件結(jié)果進(jìn)行匹配,由動作引擎執(zhí)行所匹配到的動作,提高了網(wǎng)絡(luò)流量的復(fù)雜邏輯處理。技術(shù)研發(fā)人員:楊翔瑞,劉忠沛,陳穎文,周寰,羅玉川,邱振宇,唐石畫受保護(hù)的技術(shù)使用者:中國人民解放軍國防科技大學(xué)技術(shù)研發(fā)日:技術(shù)公布日:2024/12/23