本發(fā)明涉及計算機網(wǎng)絡(luò),尤其涉及一種網(wǎng)絡(luò)設(shè)備的協(xié)議解析方法。
背景技術(shù):
1、隨著網(wǎng)絡(luò)設(shè)備種類的增多,網(wǎng)絡(luò)流量模式的演變,新型適用協(xié)議的引入,可編程網(wǎng)絡(luò)因其支持多協(xié)議報文的靈活性,適應(yīng)現(xiàn)代網(wǎng)絡(luò)通信復(fù)雜的生存環(huán)境得到蓬勃的發(fā)展。數(shù)據(jù)包解析器作為可編程網(wǎng)絡(luò)設(shè)備中至關(guān)重要的角色,得到大量的關(guān)注和研究。數(shù)據(jù)包解析器位于可編程解析設(shè)備的第一階段,主要實現(xiàn)的功能有:(1)識別數(shù)據(jù)包協(xié)議格式;(2)對數(shù)據(jù)報文格式進行解碼;(3)對報文中的關(guān)鍵信息進行有效提取。圍繞以上功能需求,傳統(tǒng)數(shù)據(jù)包解析器可以用軟件實現(xiàn),但是存在處理能力有限和延遲較高的問題。
2、基于較長報文信息識別過程帶來的延時和資源消耗問題,通過hyperparser根據(jù)對不同類型報文(如ipv4,arp,ipv6,mpls)的協(xié)議標志字不同,提出位選擇策略,其通過枚舉出一個場景下存在的所有報文解析路徑,然后對比得到不同報文之間特征的位信息,通過逆蝶形網(wǎng)絡(luò)將這些特征位信息從較長的報文頭字段中提取出來,得到的特征位信息即可標識一種報文協(xié)議類型,通過該報文進行匹配查找,得到對應(yīng)該類報文協(xié)議的字段提取指令。然后hyperparser方案的逆蝶形網(wǎng)絡(luò)只是利用fpga的重配置方式在不同環(huán)境下制定不同的路徑,一旦選定一種工作環(huán)境和逆蝶形路徑,只能通過重新燒錄fpga實現(xiàn)新環(huán)境的逆蝶形路徑;同時,經(jīng)過逆蝶形網(wǎng)絡(luò)設(shè)計聚合的特征位信息,還是要進一步從較長的報文頭信息里提取出來,且該步驟的提取信息仍需要由配置報文下發(fā);另外,逆蝶形網(wǎng)絡(luò)本身的路徑?jīng)_突,導(dǎo)致對輸入的較長報文頭的信息提取存在約束,無法從較長報文頭任意的位置進行提取。
技術(shù)實現(xiàn)思路
1、本發(fā)明實施例的主要目的在于提出一種網(wǎng)絡(luò)設(shè)備的協(xié)議解析方法,實現(xiàn)報文頭字段自由靈活提取。
2、本發(fā)明的一方面提供了一種網(wǎng)絡(luò)設(shè)備的協(xié)議解析方法,包括:
3、獲取流入總線的數(shù)據(jù)包,對數(shù)據(jù)包采用過濾器進行分離,得到控制報文和數(shù)據(jù)報文,所述數(shù)據(jù)報文包括數(shù)據(jù)報文頭部,所述控制報文通過上位機進行下發(fā);
4、根據(jù)控制報文對數(shù)據(jù)報文協(xié)議字段位置進行關(guān)鍵比特位提取,得到路徑協(xié)議解析關(guān)鍵比特位;
5、根據(jù)所述路徑協(xié)議解析關(guān)鍵比特位從路徑協(xié)議解析tcam表中進行匹配查找,得到數(shù)據(jù)報文提取解析指令表地址,所述路徑協(xié)議解析tcam表由所述上位機下發(fā)控制報文進行配置;
6、根據(jù)所述數(shù)據(jù)報文提取解析指令表地址對數(shù)據(jù)報文提取解析指令表進行提取,得到數(shù)據(jù)報文解析指令,所述數(shù)據(jù)報文提取解析指令表由所述上位機下發(fā)控制報文進行配置;
7、根據(jù)所述數(shù)據(jù)報文解析指令對數(shù)據(jù)報文進行提取,得到報文頭向量,所述報文頭向量包括容器、選擇指令及元數(shù)據(jù)。
8、根據(jù)所述的網(wǎng)絡(luò)設(shè)備的協(xié)議解析方法,其中根據(jù)控制報文對數(shù)據(jù)報文協(xié)議字段位置進行關(guān)鍵比特位提取,包括:
9、獲取所述控制報文所包括的數(shù)據(jù)報文協(xié)議字段位置的提取信息,所述提取信息包括高位提取指令部分和低位提取指令部分;
10、通過設(shè)備端口將所述數(shù)據(jù)報文存儲至雙端口隨機存儲器,并通過所述高位提取指令部分對存入雙端口隨機存儲器的數(shù)據(jù)報文進行第一次流水提取,得到高位提取指令所指向的包括有關(guān)鍵位的字節(jié)信息;
11、將所述字節(jié)信息通過所述低位提取指令部分進行第二次流水提取,得到所述路徑協(xié)議解析關(guān)鍵比特位。
12、根據(jù)所述的網(wǎng)絡(luò)設(shè)備的協(xié)議解析方法,其中所述路徑協(xié)議解析關(guān)鍵比特位從路徑協(xié)議解析tcam表中進行匹配查找,得到數(shù)據(jù)報文提取解析指令表地址,包括:
13、從所述上位機獲取所述路徑協(xié)議解析tcam表的第一配置信息,根據(jù)第一配置信息及所述路徑協(xié)議解析關(guān)鍵比特位對所述路徑協(xié)議解析tcam表進行編輯和匹配,得到所述數(shù)據(jù)報文提取解析指令表地址,所述第一配置信息采用16-bit?tcam。
14、根據(jù)所述的網(wǎng)絡(luò)設(shè)備的協(xié)議解析方法,其中方法還包括:
15、所述雙端口隨機存儲器為雙倍數(shù)據(jù)報文深度設(shè)置,通過雙倍數(shù)據(jù)報文深度設(shè)置對上一段數(shù)據(jù)報文執(zhí)行流水提取的同時,還對下一段數(shù)據(jù)報文進入雙端口隨機存儲器的流水進行緩存;
16、對所述雙端口隨機存儲器的大位寬輸入端口和小位寬輸出端口進行設(shè)置,進而對數(shù)據(jù)報文的字段進行二次逐級過濾提取。
17、根據(jù)所述的網(wǎng)絡(luò)設(shè)備的協(xié)議解析方法,其中根據(jù)所述數(shù)據(jù)報文提取解析指令表地址對數(shù)據(jù)報文提取解析指令表進行提取,包括:
18、從所述上位機獲取所述路徑協(xié)議解析tcam表的第二配置信息,根據(jù)第二配置信息及所述路徑協(xié)議解析關(guān)鍵比特位對所述路徑協(xié)議解析tcam表進行編輯和匹配,得到所述數(shù)據(jù)報文提取解析指令表地址,所述第二配置信息采用parser報文協(xié)議。
19、根據(jù)所述的網(wǎng)絡(luò)設(shè)備的協(xié)議解析方法,其中根據(jù)所述數(shù)據(jù)報文解析指令對數(shù)據(jù)報文進行提取,得到報文頭向量,包括:
20、獲取所述數(shù)據(jù)報文解析指令的起始字節(jié)偏移值、容器類型值、容器索引值及數(shù)據(jù)報文解析指令有效值;
21、以所述起始字節(jié)偏移值指向所述數(shù)據(jù)報文的起始偏移提取位,從所述起始偏移提取位開始提取形成頭向量的容器,通過所述容器類型值對提取得到的容器進行標識;
22、根據(jù)所述容器索引值確定所提取的數(shù)據(jù)報文存放在容器的索引;根據(jù)數(shù)據(jù)報文解析指令有效值確定生效的數(shù)據(jù)報文解析指令,通過數(shù)據(jù)報文解析指令提取對應(yīng)的容器得到報文頭向量。
23、根據(jù)所述的網(wǎng)絡(luò)設(shè)備的協(xié)議解析方法,其中方法還包括:
24、以所述數(shù)據(jù)報文的vlan_id或vni字段中的一種作為索引地址,根據(jù)索引地址從基于bram的協(xié)議解析表獲取單解析指令和比較指令,其中單解析指令為所述數(shù)據(jù)報文解析指令,其中比較指令用于根據(jù)自身操作數(shù)完成比較處理。
25、本發(fā)明的有益效果為:根據(jù)網(wǎng)絡(luò)流量的模式,設(shè)置可以在只增加存儲資源消耗而不增加邏輯資源的情況下,實現(xiàn)對較寬的報文頭字段自由靈活提取,且實現(xiàn)對數(shù)據(jù)報文的深度并行流水解析,通過上位機下發(fā)報文實現(xiàn)對解析器功能的可編程配置。
1.一種網(wǎng)絡(luò)設(shè)備的協(xié)議解析方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備的協(xié)議解析方法,其特征在于,根據(jù)所述路徑協(xié)議解析關(guān)鍵比特位從路徑協(xié)議解析tcam表中進行匹配查找,得到數(shù)據(jù)報文提取解析指令表地址,包括:
3.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備的協(xié)議解析方法,其特征在于,所述方法還包括:
4.根據(jù)權(quán)利要求3所述的網(wǎng)絡(luò)設(shè)備的協(xié)議解析方法,其特征在于,所述根據(jù)所述數(shù)據(jù)報文提取解析指令表地址對數(shù)據(jù)報文提取解析指令表進行提取,包括:
5.根據(jù)權(quán)利要求4所述的網(wǎng)絡(luò)設(shè)備的協(xié)議解析方法,其特征在于,所述根據(jù)所述數(shù)據(jù)報文解析指令對數(shù)據(jù)報文進行提取,得到報文頭向量,包括:
6.根據(jù)權(quán)利要求5所述的網(wǎng)絡(luò)設(shè)備的協(xié)議解析方法,其特征在于,所述方法還包括: