本技術(shù)涉及計(jì)算機(jī),特別是涉及一種網(wǎng)關(guān)確定方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)。
背景技術(shù):
1、計(jì)算機(jī)網(wǎng)絡(luò)中的數(shù)據(jù)包紛繁復(fù)雜,但是卻亂中有序,它們可以根據(jù)不同的屬性劃分為不同的數(shù)據(jù)流,例如網(wǎng)際互連協(xié)議(internet?protocol,ip),媒體存取控制位址(media?access?control?address,mac位址)等。在云計(jì)算領(lǐng)域內(nèi)一個(gè)虛擬私有云(virtualprivate?cloud,vpc)會(huì)擁有多個(gè)網(wǎng)關(guān),可以根據(jù)路由規(guī)則和數(shù)據(jù)包的目的地址負(fù)責(zé)將不同的數(shù)據(jù)包送入對(duì)應(yīng)的網(wǎng)關(guān)。
2、傳統(tǒng)技術(shù)中,流量出公網(wǎng)在云計(jì)算領(lǐng)域中是一個(gè)很常見(jiàn)的需求,為了節(jié)省費(fèi)用,用戶通常會(huì)在自己的vpc中創(chuàng)建一個(gè)網(wǎng)絡(luò)地址轉(zhuǎn)換網(wǎng)關(guān)(network?address?translation,nat網(wǎng)關(guān)),并且將自己的彈性網(wǎng)絡(luò)地址(elastic?ip,eip)綁定到nat網(wǎng)關(guān)上,并配置路由下一跳為nat網(wǎng)關(guān),數(shù)據(jù)包由此通過(guò)nat網(wǎng)關(guān)從私網(wǎng)ip轉(zhuǎn)為公網(wǎng)ip,實(shí)現(xiàn)和公網(wǎng)通信。而對(duì)于預(yù)算充足且對(duì)性能要求較高的客戶,會(huì)將自己的eip直接綁定在單獨(dú)一個(gè)虛機(jī)上,并配置一個(gè)下一跳為互聯(lián)網(wǎng)網(wǎng)關(guān)(internet?gateway,igw)的路由。
3、雖然可以通過(guò)該方式完成下一跳網(wǎng)關(guān)的選取,但當(dāng)為nat網(wǎng)關(guān)和igw配置的路由均相同時(shí),就會(huì)產(chǎn)生路由重疊,例如一個(gè)子網(wǎng)中存在兩個(gè)0.0.0.0/0的路由,下一跳分別為nat網(wǎng)關(guān)和igw,因此,存在網(wǎng)關(guān)選取不準(zhǔn)確的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對(duì)上述技術(shù)問(wèn)題,提供一種能夠準(zhǔn)確選取網(wǎng)關(guān)的網(wǎng)關(guān)確定方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)。
2、第一方面,本技術(shù)提供了一種網(wǎng)關(guān)確定方法,包括:
3、根據(jù)待傳輸數(shù)據(jù)所屬目標(biāo)虛擬網(wǎng)卡的協(xié)議地址,確定預(yù)設(shè)關(guān)聯(lián)流表中是否存在包含協(xié)議地址的目標(biāo)關(guān)聯(lián)表項(xiàng);預(yù)設(shè)關(guān)聯(lián)流表用于指示目標(biāo)虛擬網(wǎng)卡是否關(guān)聯(lián)有彈性網(wǎng)絡(luò)地址;
4、若存在,則根據(jù)目標(biāo)關(guān)聯(lián)表項(xiàng)和目標(biāo)虛擬網(wǎng)卡對(duì)應(yīng)的路由地址,確定待傳輸數(shù)據(jù)的目標(biāo)網(wǎng)關(guān);
5、若不存在,則根據(jù)目標(biāo)虛擬網(wǎng)卡的協(xié)議地址和目標(biāo)虛擬網(wǎng)卡的路由地址,確定待傳輸數(shù)據(jù)的目標(biāo)網(wǎng)關(guān)。
6、在其中一個(gè)實(shí)施例中,目標(biāo)關(guān)聯(lián)表項(xiàng)中還包括路由匹配條件;根據(jù)目標(biāo)關(guān)聯(lián)表項(xiàng)和目標(biāo)虛擬網(wǎng)卡對(duì)應(yīng)的路由地址,確定待傳輸數(shù)據(jù)的目標(biāo)網(wǎng)關(guān),包括:
7、根據(jù)目標(biāo)關(guān)聯(lián)表項(xiàng),從預(yù)設(shè)路由流表中匹配滿足路由匹配條件的目標(biāo)路由表項(xiàng);
8、根據(jù)目標(biāo)路由表項(xiàng)和目標(biāo)虛擬網(wǎng)卡對(duì)應(yīng)的路由地址,確定待傳輸數(shù)據(jù)的目標(biāo)網(wǎng)關(guān)。
9、在其中一個(gè)實(shí)施例中,路由匹配條件包括第一寄存器置位和第二寄存器置位;第二寄存器置位為虛擬網(wǎng)絡(luò)標(biāo)識(shí);相應(yīng)的,根據(jù)目標(biāo)關(guān)聯(lián)表項(xiàng),從預(yù)設(shè)路由流表中匹配滿足路由匹配條件的目標(biāo)路由表項(xiàng),包括:
10、將目標(biāo)關(guān)聯(lián)表項(xiàng)中的第一寄存器置位,更新為地址關(guān)聯(lián)標(biāo)識(shí);
11、根據(jù)地址關(guān)聯(lián)標(biāo)識(shí)和虛擬網(wǎng)絡(luò)標(biāo)識(shí),從預(yù)設(shè)路由流表中匹配包含地址關(guān)聯(lián)標(biāo)識(shí)和虛擬網(wǎng)絡(luò)標(biāo)識(shí)的目標(biāo)路由表項(xiàng)。
12、在其中一個(gè)實(shí)施例中,根據(jù)目標(biāo)路由表項(xiàng)和目標(biāo)虛擬網(wǎng)卡對(duì)應(yīng)的路由地址,確定待傳輸數(shù)據(jù)的目標(biāo)網(wǎng)關(guān),包括:
13、獲取目標(biāo)路由表項(xiàng)中的網(wǎng)關(guān)標(biāo)識(shí)和網(wǎng)關(guān)地址;
14、根據(jù)網(wǎng)關(guān)標(biāo)識(shí)、網(wǎng)關(guān)地址和目標(biāo)虛擬網(wǎng)卡對(duì)應(yīng)的路由地址,確定待傳輸數(shù)據(jù)的目標(biāo)網(wǎng)關(guān)。
15、在其中一個(gè)實(shí)施例中,若存在至少兩類目標(biāo)網(wǎng)關(guān),則方法還包括:
16、在各目標(biāo)網(wǎng)關(guān)的路由地址均相同的情況下,從各目標(biāo)網(wǎng)關(guān)中選取出互聯(lián)網(wǎng)關(guān),并獲取互聯(lián)網(wǎng)關(guān)的網(wǎng)關(guān)描述信息;
17、根據(jù)互聯(lián)網(wǎng)關(guān)的網(wǎng)關(guān)描述信息,生成預(yù)設(shè)路由流表中的路由表項(xiàng)。
18、在其中一個(gè)實(shí)施例中,預(yù)設(shè)關(guān)聯(lián)流表采用以下方式生成:
19、根據(jù)參考虛擬網(wǎng)卡的網(wǎng)卡描述信息,確定參考虛擬網(wǎng)卡是否關(guān)聯(lián)有彈性網(wǎng)絡(luò)地址;
20、針對(duì)關(guān)聯(lián)有彈性網(wǎng)絡(luò)地址的參考虛擬網(wǎng)卡,根據(jù)參考虛擬網(wǎng)卡的協(xié)議地址,生成參考虛擬網(wǎng)卡對(duì)應(yīng)的參考關(guān)聯(lián)表項(xiàng);
21、將關(guān)聯(lián)有彈性網(wǎng)絡(luò)地址的參考虛擬網(wǎng)卡對(duì)應(yīng)的參考關(guān)聯(lián)表項(xiàng)進(jìn)行組合,得到預(yù)設(shè)關(guān)聯(lián)流表。
22、第二方面,本技術(shù)還提供了一種網(wǎng)關(guān)確定裝置,包括:
23、關(guān)聯(lián)確定模塊,用于根據(jù)待傳輸數(shù)據(jù)所屬目標(biāo)虛擬網(wǎng)卡的協(xié)議地址,確定預(yù)設(shè)關(guān)聯(lián)流表中是否存在包含協(xié)議地址的目標(biāo)關(guān)聯(lián)表項(xiàng);預(yù)設(shè)關(guān)聯(lián)流表用于指示目標(biāo)虛擬網(wǎng)卡是否關(guān)聯(lián)有彈性網(wǎng)絡(luò)地址;
24、網(wǎng)關(guān)確定模塊,用于若存在,則根據(jù)目標(biāo)關(guān)聯(lián)表項(xiàng)和目標(biāo)虛擬網(wǎng)卡對(duì)應(yīng)的路由地址,確定待傳輸數(shù)據(jù)的目標(biāo)網(wǎng)關(guān);若不存在,則根據(jù)目標(biāo)虛擬網(wǎng)卡的協(xié)議地址和目標(biāo)虛擬網(wǎng)卡的路由地址,確定待傳輸數(shù)據(jù)的目標(biāo)網(wǎng)關(guān)。
25、第三方面,本技術(shù)還提供了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)以下步驟:
26、根據(jù)待傳輸數(shù)據(jù)所屬目標(biāo)虛擬網(wǎng)卡的協(xié)議地址,確定預(yù)設(shè)關(guān)聯(lián)流表中是否存在包含協(xié)議地址的目標(biāo)關(guān)聯(lián)表項(xiàng);預(yù)設(shè)關(guān)聯(lián)流表用于指示目標(biāo)虛擬網(wǎng)卡是否關(guān)聯(lián)有彈性網(wǎng)絡(luò)地址;
27、若存在,則根據(jù)目標(biāo)關(guān)聯(lián)表項(xiàng)和目標(biāo)虛擬網(wǎng)卡對(duì)應(yīng)的路由地址,確定待傳輸數(shù)據(jù)的目標(biāo)網(wǎng)關(guān);
28、若不存在,則根據(jù)目標(biāo)虛擬網(wǎng)卡的協(xié)議地址和目標(biāo)虛擬網(wǎng)卡的路由地址,確定待傳輸數(shù)據(jù)的目標(biāo)網(wǎng)關(guān)。
29、第四方面,本技術(shù)還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:
30、根據(jù)待傳輸數(shù)據(jù)所屬目標(biāo)虛擬網(wǎng)卡的協(xié)議地址,確定預(yù)設(shè)關(guān)聯(lián)流表中是否存在包含協(xié)議地址的目標(biāo)關(guān)聯(lián)表項(xiàng);預(yù)設(shè)關(guān)聯(lián)流表用于指示目標(biāo)虛擬網(wǎng)卡是否關(guān)聯(lián)有彈性網(wǎng)絡(luò)地址;
31、若存在,則根據(jù)目標(biāo)關(guān)聯(lián)表項(xiàng)和目標(biāo)虛擬網(wǎng)卡對(duì)應(yīng)的路由地址,確定待傳輸數(shù)據(jù)的目標(biāo)網(wǎng)關(guān);
32、若不存在,則根據(jù)目標(biāo)虛擬網(wǎng)卡的協(xié)議地址和目標(biāo)虛擬網(wǎng)卡的路由地址,確定待傳輸數(shù)據(jù)的目標(biāo)網(wǎng)關(guān)。
33、第五方面,本技術(shù)還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:
34、根據(jù)待傳輸數(shù)據(jù)所屬目標(biāo)虛擬網(wǎng)卡的協(xié)議地址,確定預(yù)設(shè)關(guān)聯(lián)流表中是否存在包含協(xié)議地址的目標(biāo)關(guān)聯(lián)表項(xiàng);預(yù)設(shè)關(guān)聯(lián)流表用于指示目標(biāo)虛擬網(wǎng)卡是否關(guān)聯(lián)有彈性網(wǎng)絡(luò)地址;
35、若存在,則根據(jù)目標(biāo)關(guān)聯(lián)表項(xiàng)和目標(biāo)虛擬網(wǎng)卡對(duì)應(yīng)的路由地址,確定待傳輸數(shù)據(jù)的目標(biāo)網(wǎng)關(guān);
36、若不存在,則根據(jù)目標(biāo)虛擬網(wǎng)卡的協(xié)議地址和目標(biāo)虛擬網(wǎng)卡的路由地址,確定待傳輸數(shù)據(jù)的目標(biāo)網(wǎng)關(guān)。
37、上述網(wǎng)關(guān)確定方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì),根據(jù)待傳輸數(shù)據(jù)所屬目標(biāo)虛擬網(wǎng)卡的協(xié)議地址,確定預(yù)設(shè)關(guān)聯(lián)流表中是否存在包含協(xié)議地址的目標(biāo)關(guān)聯(lián)表項(xiàng);預(yù)設(shè)關(guān)聯(lián)流表用于指示目標(biāo)虛擬網(wǎng)卡是否關(guān)聯(lián)有彈性網(wǎng)絡(luò)地址;若存在,則根據(jù)目標(biāo)關(guān)聯(lián)表項(xiàng)和目標(biāo)虛擬網(wǎng)卡對(duì)應(yīng)的路由地址,確定待傳輸數(shù)據(jù)的目標(biāo)網(wǎng)關(guān);若不存在,則根據(jù)目標(biāo)虛擬網(wǎng)卡的協(xié)議地址和目標(biāo)虛擬網(wǎng)卡的路由地址,確定待傳輸數(shù)據(jù)的目標(biāo)網(wǎng)關(guān)。本實(shí)施例中通過(guò)設(shè)置預(yù)設(shè)關(guān)聯(lián)流表,精準(zhǔn)確定目標(biāo)虛擬網(wǎng)卡是否關(guān)聯(lián)有彈性網(wǎng)絡(luò)地址,并為待傳輸數(shù)據(jù)準(zhǔn)確確定目標(biāo)網(wǎng)關(guān),避免因目標(biāo)網(wǎng)關(guān)配置路由相同從而引起的網(wǎng)關(guān)選取混亂的問(wèn)題,進(jìn)一步提高了網(wǎng)關(guān)選取的準(zhǔn)確性。