本技術(shù)涉及網(wǎng)絡(luò)安全,尤其涉及大二層網(wǎng)絡(luò)交換設(shè)備的數(shù)據(jù)轉(zhuǎn)發(fā)方法、接收方法及設(shè)備。
背景技術(shù):
1、大二層網(wǎng)絡(luò)是指跨越多個(gè)物理位置或多個(gè)子網(wǎng)的二層(即鏈路層)網(wǎng)絡(luò),使得不同地理位置或不同子網(wǎng)的主機(jī)可以像在同一局域網(wǎng)(lan)內(nèi)一樣進(jìn)行通信。在大二層網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)通常是在轉(zhuǎn)發(fā)節(jié)點(diǎn)使用vxlan技術(shù)將數(shù)據(jù)幀封裝到三層ip包中,然后通過(guò)網(wǎng)絡(luò)傳輸至目標(biāo)的接收節(jié)點(diǎn)處。
2、在相關(guān)技術(shù)中,在轉(zhuǎn)發(fā)節(jié)點(diǎn)通常設(shè)置有可以進(jìn)行數(shù)據(jù)動(dòng)態(tài)分配,即實(shí)時(shí)添加、刪除、修改操作的集成電路芯片,從而對(duì)數(shù)據(jù)幀進(jìn)行數(shù)據(jù)頭添加以實(shí)現(xiàn)封裝過(guò)程。但是由于在某些大二層網(wǎng)絡(luò)的交換設(shè)備中,不存在有可實(shí)現(xiàn)數(shù)據(jù)動(dòng)態(tài)分配的集成電路芯片時(shí),則無(wú)法有效地實(shí)現(xiàn)該封裝過(guò)程,從而無(wú)法利用該交換設(shè)備在大二層網(wǎng)絡(luò)中實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例的提供了一種大二層網(wǎng)絡(luò)交換設(shè)備的數(shù)據(jù)轉(zhuǎn)發(fā)方法、接收方法及設(shè)備,能夠在未設(shè)置可實(shí)現(xiàn)數(shù)據(jù)動(dòng)態(tài)分配的集成電路芯片的交換設(shè)備中,有效地實(shí)現(xiàn)數(shù)據(jù)封裝過(guò)程以在大二層網(wǎng)絡(luò)中實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)。
2、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的第一方面提出了一種大二層網(wǎng)絡(luò)交換設(shè)備的數(shù)據(jù)轉(zhuǎn)發(fā)方法,所述方法包括:
3、獲取解析矩陣和封裝動(dòng)作表,所述解析矩陣包括依次排序的第一列解析塊和第二列解析塊;
4、利用所述第二列解析塊對(duì)發(fā)送數(shù)據(jù)包進(jìn)行解析,得到第一頭部解析信息;
5、基于所述第一頭部解析信息和所述封裝動(dòng)作表確定目標(biāo)封裝動(dòng)作;
6、利用所述第一列解析塊基于所述目標(biāo)封裝動(dòng)作對(duì)所述發(fā)送數(shù)據(jù)包進(jìn)行封裝,得到封裝發(fā)送數(shù)據(jù);
7、基于所述第一頭部解析信息將所述封裝發(fā)送數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換,并將轉(zhuǎn)換后的所述封裝發(fā)送數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。
8、在一些實(shí)施例,所述利用所述第二列解析塊對(duì)所述發(fā)送數(shù)據(jù)包進(jìn)行解析,得到第一頭部解析信息,包括:
9、利用所述第二列解析塊對(duì)所述發(fā)送數(shù)據(jù)包的以太網(wǎng)頭部解析,得到以太網(wǎng)解析信息;
10、利用所述第二列解析塊對(duì)所述發(fā)送數(shù)據(jù)包的網(wǎng)絡(luò)層頭部解析,得到網(wǎng)絡(luò)層解析信息;
11、利用所述第二列解析塊對(duì)所述發(fā)送數(shù)據(jù)包的vxlan頭部解析,得到vxlan解析信息;
12、基于所述以太網(wǎng)解析信息、所述網(wǎng)絡(luò)層解析信息和所述vxlan解析信息得到所述第一頭部解析信息。
13、在一些實(shí)施例,所述封裝動(dòng)作表包括多條封裝信息規(guī)則以及每條所述封裝信息規(guī)則對(duì)應(yīng)的封裝動(dòng)作,所述基于所述第一頭部解析信息和所述封裝動(dòng)作表確定目標(biāo)封裝動(dòng)作,包括:
14、從多個(gè)所述封裝信息規(guī)則中選取與所述第一頭部解析信息匹配的所述封裝信息規(guī)則作為第一匹配信息規(guī)則;
15、將所述第一匹配信息規(guī)則對(duì)應(yīng)的所述封裝動(dòng)作作為所述目標(biāo)封裝動(dòng)作。
16、在一些實(shí)施例,所述利用所述第一列解析塊基于所述目標(biāo)封裝動(dòng)作對(duì)所述發(fā)送數(shù)據(jù)包進(jìn)行封裝,得到封裝發(fā)送數(shù)據(jù),包括:
17、確定所述目標(biāo)封裝動(dòng)作對(duì)應(yīng)的目標(biāo)封裝信息;
18、基于所述目標(biāo)封裝信息,利用所述第一列解析塊,對(duì)所述發(fā)送數(shù)據(jù)包進(jìn)行封裝,得到所述封裝發(fā)送數(shù)據(jù)。
19、在一些實(shí)施例,所述目標(biāo)封裝信息包括目標(biāo)ip頭、目標(biāo)udp頭以及目標(biāo)vxlan頭,所述基于所述目標(biāo)封裝信息,利用所述第一列解析塊,對(duì)所述發(fā)送數(shù)據(jù)包進(jìn)行封裝,得到所述封裝發(fā)送數(shù)據(jù),包括:
20、利用所述第一列解析塊,將所述目標(biāo)ip頭、所述目標(biāo)udp頭以及所述目標(biāo)vxlan頭儲(chǔ)存至所述發(fā)送數(shù)據(jù)包的頭部位置,得到所述封裝發(fā)送數(shù)據(jù)。
21、在一些實(shí)施例,所述基于所述第一頭部解析信息將所述封裝發(fā)送數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換,包括:
22、獲取地址轉(zhuǎn)換動(dòng)作表,所述地址轉(zhuǎn)換動(dòng)作表包括多條轉(zhuǎn)換信息規(guī)則以及每條所述轉(zhuǎn)換信息規(guī)則對(duì)應(yīng)的地址轉(zhuǎn)換動(dòng)作;
23、從多個(gè)所述轉(zhuǎn)換信息規(guī)則中選取與所述第一頭部解析信息匹配的所述轉(zhuǎn)換信息規(guī)則作為第二匹配信息規(guī)則,并基于所述第二匹配信息規(guī)則對(duì)應(yīng)的所述地址轉(zhuǎn)換動(dòng)作對(duì)所述封裝發(fā)送數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換。
24、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的第二方面提出了一種大二層網(wǎng)絡(luò)交換設(shè)備的數(shù)據(jù)接收方法,所述方法包括:
25、獲取解析矩陣和解封裝動(dòng)作表,所述解析矩陣包括依次排序的第二列解析塊和第三列解析塊,所述解封裝動(dòng)作表包括多條解封裝信息規(guī)則以及每條所述解封裝信息規(guī)則對(duì)應(yīng)的解封裝動(dòng)作,所述第三列解析塊的內(nèi)存地址與接收數(shù)據(jù)包對(duì)應(yīng)的接收數(shù)據(jù)的內(nèi)存地址對(duì)應(yīng);
26、將接收數(shù)據(jù)包輸入所述第二列解析塊進(jìn)行解析,得到第二頭部解析信息,并基于所述第二頭部解析信息和所述解封裝動(dòng)作表確定目標(biāo)解封裝動(dòng)作;
27、利用所述第三列解析塊基于所述目標(biāo)解封裝動(dòng)作對(duì)所述接收數(shù)據(jù)包進(jìn)行解封裝,得到所述接收數(shù)據(jù)。
28、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的第三方面提出了一種大二層網(wǎng)絡(luò)交換設(shè)備的數(shù)據(jù)轉(zhuǎn)發(fā)裝置,裝置包括:
29、獲取模塊,用于獲取解析矩陣和封裝動(dòng)作表,所述解析矩陣包括依次排序的第一列解析塊和第二列解析塊;
30、解析模塊,用于利用所述第二列解析塊對(duì)發(fā)送數(shù)據(jù)包進(jìn)行解析,得到第一頭部解析信息;
31、動(dòng)作確定模塊,用于基于所述第一頭部解析信息和所述封裝動(dòng)作表確定目標(biāo)封裝動(dòng)作;
32、封裝模塊,用于利用所述第一列解析塊基于所述目標(biāo)封裝動(dòng)作對(duì)所述發(fā)送數(shù)據(jù)包進(jìn)行封裝,得到封裝發(fā)送數(shù)據(jù);
33、轉(zhuǎn)發(fā)模塊,用于基于所述第一頭部解析信息將所述封裝發(fā)送數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換,并將轉(zhuǎn)換后的所述封裝發(fā)送數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。
34、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的第四方面提出了一種電子設(shè)備,所述電子設(shè)備包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如第一方面所述的大二層網(wǎng)絡(luò)交換設(shè)備的數(shù)據(jù)轉(zhuǎn)發(fā)方法或者如第二方面所述的大二層網(wǎng)絡(luò)交換設(shè)備的數(shù)據(jù)接收方法。
35、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的第五方面提出了一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述第一方面所述的大二層網(wǎng)絡(luò)交換設(shè)備的數(shù)據(jù)轉(zhuǎn)發(fā)方法或者如第二方面所述的大二層網(wǎng)絡(luò)交換設(shè)備的數(shù)據(jù)接收方法。
36、本技術(shù)實(shí)施例提出的大二層網(wǎng)絡(luò)交換設(shè)備的數(shù)據(jù)轉(zhuǎn)發(fā)方法、接收方法及設(shè)備,方法包括:首先,獲取解析矩陣和封裝動(dòng)作表,解析矩陣包括依次排序的第一列解析塊和第二列解析塊;接下來(lái),利用第二列解析塊對(duì)發(fā)送數(shù)據(jù)包進(jìn)行解析,得到第一頭部解析信息;然后,基于第一頭部解析信息和封裝動(dòng)作表確定目標(biāo)封裝動(dòng)作;之后,利用第一列解析塊基于目標(biāo)封裝動(dòng)作對(duì)發(fā)送數(shù)據(jù)包進(jìn)行封裝,得到封裝發(fā)送數(shù)據(jù);最后,基于第一頭部解析信息將封裝發(fā)送數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換,并將轉(zhuǎn)換后的封裝發(fā)送數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。本技術(shù)實(shí)施例利用交換設(shè)備的芯片中預(yù)先設(shè)置一行多列的解析矩陣,并預(yù)先為芯片中存儲(chǔ)發(fā)送數(shù)據(jù)包的內(nèi)存地址進(jìn)行劃分為與解析矩陣的第一解析塊對(duì)應(yīng),從而利用排序在第一解析塊后面的第二解析塊對(duì)發(fā)送數(shù)據(jù)包進(jìn)行解析后得到封裝信息,進(jìn)一步利用與發(fā)送數(shù)據(jù)包的內(nèi)存地址對(duì)應(yīng)的第一解析塊將封裝信息存儲(chǔ)至發(fā)送數(shù)據(jù)包的頭部位置,以實(shí)現(xiàn)該發(fā)送數(shù)據(jù)包的封裝過(guò)程,且無(wú)需對(duì)發(fā)送數(shù)據(jù)包進(jìn)行實(shí)時(shí)添加、刪除、修改等操作;此外,進(jìn)而利用第二解析塊對(duì)發(fā)送數(shù)據(jù)包解析后的解析信息,從封裝動(dòng)作表中找到合適對(duì)應(yīng)的封裝動(dòng)作,從而更加可靠地實(shí)現(xiàn)該封裝過(guò)程,進(jìn)而有效地實(shí)現(xiàn)在大二層網(wǎng)絡(luò)中實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)的過(guò)程。
37、本技術(shù)的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書(shū)中闡述,并且,部分地從說(shuō)明書(shū)中變得顯而易見(jiàn),或者通過(guò)實(shí)施本技術(shù)而了解。本技術(shù)的目的和其他優(yōu)點(diǎn)可通過(guò)在說(shuō)明書(shū)、權(quán)利要求書(shū)以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。