本技術(shù)涉及交換機(jī)消息轉(zhuǎn)發(fā),尤其涉及組播消息轉(zhuǎn)發(fā)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、目前,交換機(jī)在處理互聯(lián)網(wǎng)組管理協(xié)議(internet?group?management?protocol,igmp)和組播監(jiān)聽發(fā)現(xiàn)協(xié)議(multicast?listener?discovery,mld)協(xié)議消息時(shí),通常依賴傳統(tǒng)的組播管理機(jī)制,即根據(jù)用戶發(fā)起的加入或離開組播組的請求動(dòng)態(tài)調(diào)整路由,以實(shí)現(xiàn)組播流量的轉(zhuǎn)發(fā)。
2、然而,當(dāng)大量組播請求或重復(fù)消息涌入時(shí),igmp和mld協(xié)議消息需要交換機(jī)檢查每一條消息,以確定消息的類型和有效性,如果消息中存在大量重復(fù)或無效請求,交換機(jī)仍需耗費(fèi)計(jì)算資源進(jìn)行重復(fù)性計(jì)算和存儲(chǔ),導(dǎo)致cpu負(fù)載增加和內(nèi)存占用上升。因此,當(dāng)網(wǎng)絡(luò)中出現(xiàn)大量組播請求或重復(fù)消息時(shí),交換機(jī)容易因處理延遲或資源的非必要占用而導(dǎo)致性能下降。尤其是重復(fù)消息或無效請求的頻繁處理,會(huì)導(dǎo)致交換機(jī)的負(fù)載顯著增加,不僅降低了資源利用效率,還對交換機(jī)整體性能造成負(fù)面影響。
3、上述內(nèi)容僅用于輔助理解本技術(shù)的技術(shù)方案,并不代表承認(rèn)上述內(nèi)容是現(xiàn)有技術(shù)。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)的主要目的在于提供一種組播消息轉(zhuǎn)發(fā)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),旨在解決交換機(jī)在處理大量組播請求或重復(fù)消息時(shí)出現(xiàn)資源浪費(fèi)和效率低下的技術(shù)問題。
2、為實(shí)現(xiàn)上述目的,本技術(shù)提出一種組播消息轉(zhuǎn)發(fā)方法,所述方法包括:
3、根據(jù)預(yù)設(shè)組播消息地址或預(yù)設(shè)組播消息類型定義預(yù)設(shè)過濾規(guī)則;
4、接收互聯(lián)網(wǎng)組管理協(xié)議和組播監(jiān)聽發(fā)現(xiàn)協(xié)議的初始組播消息;
5、根據(jù)所述預(yù)設(shè)過濾規(guī)則對所述初始組播消息進(jìn)行過濾,得到目標(biāo)組播消息;
6、根據(jù)所述目標(biāo)組播消息修改初始組播轉(zhuǎn)發(fā)表,得到目標(biāo)組播轉(zhuǎn)發(fā)表,并根據(jù)所述目標(biāo)組播轉(zhuǎn)發(fā)表進(jìn)行組播消息轉(zhuǎn)發(fā)。
7、在一實(shí)施例中,所述根據(jù)所述預(yù)設(shè)過濾規(guī)則對所述初始組播消息進(jìn)行過濾,得到目標(biāo)組播消息的步驟包括:
8、根據(jù)所述初始組播消息、互聯(lián)網(wǎng)組管理協(xié)議以及組播監(jiān)聽發(fā)現(xiàn)協(xié)議,識(shí)別無效組播消息;
9、根據(jù)所述初始組播消息和預(yù)設(shè)接收周期,識(shí)別重復(fù)組播消息;
10、根據(jù)所述初始組播消息和預(yù)設(shè)消息有效期,識(shí)別超期組播消息;
11、根據(jù)預(yù)設(shè)過濾規(guī)則丟棄所述無效組播消息、所述重復(fù)組播消息以及所述超期組播消息,過濾得到目標(biāo)組播消息。
12、在一實(shí)施例中,所述根據(jù)所述初始組播消息、互聯(lián)網(wǎng)組管理協(xié)議以及組播監(jiān)聽發(fā)現(xiàn)協(xié)議,識(shí)別無效組播消息的步驟包括:
13、根據(jù)互聯(lián)網(wǎng)組管理協(xié)議和組播監(jiān)聽發(fā)現(xiàn)協(xié)議,得到預(yù)設(shè)消息格式、預(yù)設(shè)消息地址范圍以及預(yù)設(shè)地址類型;
14、根據(jù)所述預(yù)設(shè)消息格式識(shí)別所述初始組播消息中的格式錯(cuò)誤消息,得到格式錯(cuò)誤組播消息;
15、根據(jù)所述預(yù)設(shè)消息地址范圍識(shí)別所述初始組播消息中的范圍外地址,得到無效地址組播消息;
16、根據(jù)所述預(yù)設(shè)地址類型識(shí)別所述初始組播消息中的非發(fā)送類型地址,得到無效發(fā)送類型組播消息;
17、根據(jù)所述格式錯(cuò)誤組播消息、所述無效地址組播消息以及所述無效發(fā)送類型組播消息,識(shí)別無效組播消息。
18、在一實(shí)施例中,所述根據(jù)所述預(yù)設(shè)消息格式識(shí)別所述初始組播消息中的格式錯(cuò)誤消息,得到格式錯(cuò)誤組播消息的步驟包括:
19、根據(jù)所述預(yù)設(shè)消息格式,獲取消息類型格式、消息長度格式以及消息字段范圍格式;
20、根據(jù)所述消息類型格式識(shí)別所述初始組播消息中的類型錯(cuò)誤消息,得到類型錯(cuò)誤組播消息;
21、根據(jù)所述消息長度格式識(shí)別所述初始組播消息中的長度錯(cuò)誤消息,得到長度錯(cuò)誤組播消息;
22、根據(jù)所述消息字段范圍格式識(shí)別所述初始組播消息中的字段超范圍消息,得到字段超范圍組播消息;
23、根據(jù)所述類型錯(cuò)誤組播消息、所述長度錯(cuò)誤組播消息以及所述字段超范圍組播消息,識(shí)別格式錯(cuò)誤組播消息。
24、在一實(shí)施例中,所述根據(jù)所述初始組播消息和預(yù)設(shè)接收周期,識(shí)別重復(fù)組播消息的步驟包括:
25、根據(jù)所述初始組播消息,獲取組播消息地址、組播消息類型以及消息時(shí)間戳;
26、根據(jù)所述組播消息地址和所述組播消息類型,匹配預(yù)設(shè)接收周期內(nèi)的歷史組播消息記錄;
27、根據(jù)所述消息時(shí)間戳和所述歷史組播消息記錄,識(shí)別在預(yù)設(shè)接收周期內(nèi)重復(fù)的組播消息,得到重復(fù)組播消息。
28、在一實(shí)施例中,所述根據(jù)所述初始組播消息和預(yù)設(shè)消息有效期,識(shí)別超期組播消息的步驟包括:
29、根據(jù)所述初始組播消息,獲取當(dāng)前時(shí)間和所述初始組播消息的消息接收時(shí)間;
30、根據(jù)所述消息接收時(shí)間與當(dāng)前時(shí)間得到時(shí)間差,并確定所述時(shí)間差是否超過預(yù)設(shè)消息有效期;
31、在確定所述時(shí)間差超過所述預(yù)設(shè)消息有效期時(shí),將所述初始組播消息確定為超期組播消息。
32、在一實(shí)施例中,所述根據(jù)預(yù)設(shè)組播消息地址或預(yù)設(shè)組播消息類型定義預(yù)設(shè)過濾規(guī)則的步驟包括:
33、根據(jù)預(yù)設(shè)組播消息地址,獲取目標(biāo)組播地址范圍和保留組播地址;
34、根據(jù)所述目標(biāo)組播地址范圍和所述保留組播地址,定義組播地址過濾規(guī)則;
35、根據(jù)預(yù)設(shè)組播消息類型,獲取組播消息類型分類和類型優(yōu)先級;
36、根據(jù)所述組播消息類型分類和所述類型優(yōu)先級,定義組播消息類型過濾規(guī)則;
37、根據(jù)所述組播地址過濾規(guī)則和所述組播消息類型過濾規(guī)則,定義預(yù)設(shè)過濾規(guī)則。
38、此外,為實(shí)現(xiàn)上述目的,本技術(shù)還提出一種組播消息轉(zhuǎn)發(fā)裝置,所述組播消息轉(zhuǎn)發(fā)裝置包括:規(guī)則定義模塊,用于根據(jù)預(yù)設(shè)組播消息地址或預(yù)設(shè)組播消息類型定義預(yù)設(shè)過濾規(guī)則;
39、消息接收模塊,用于接收互聯(lián)網(wǎng)組管理協(xié)議和組播監(jiān)聽發(fā)現(xiàn)協(xié)議的初始組播消息;
40、消息過濾模塊,用于根據(jù)所述預(yù)設(shè)過濾規(guī)則對所述初始組播消息進(jìn)行過濾,得到目標(biāo)組播消息;
41、消息轉(zhuǎn)發(fā)模塊,用于根據(jù)所述目標(biāo)組播消息修改初始組播轉(zhuǎn)發(fā)表,得到目標(biāo)組播轉(zhuǎn)發(fā)表,并根據(jù)所述目標(biāo)組播轉(zhuǎn)發(fā)表進(jìn)行組播消息轉(zhuǎn)發(fā)。
42、此外,為實(shí)現(xiàn)上述目的,本技術(shù)還提出一種組播消息轉(zhuǎn)發(fā)設(shè)備,所述設(shè)備包括:存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序配置為實(shí)現(xiàn)如上文所述的組播消息轉(zhuǎn)發(fā)方法的步驟。
43、此外,為實(shí)現(xiàn)上述目的,本技術(shù)還提出一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上文所述的組播消息轉(zhuǎn)發(fā)方法的步驟。
44、此外,為實(shí)現(xiàn)上述目的,本技術(shù)還提供一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上文所述的組播消息轉(zhuǎn)發(fā)方法的步驟。
45、本技術(shù)提出的一個(gè)或多個(gè)技術(shù)方案,至少具有以下技術(shù)效果:
46、通過采用預(yù)設(shè)組播消息地址或組播消息類型定義過濾規(guī)則,結(jié)合接收互聯(lián)網(wǎng)組管理協(xié)議和組播監(jiān)聽發(fā)現(xiàn)協(xié)議的初始組播消息,根據(jù)預(yù)設(shè)過濾規(guī)則對初始組播消息進(jìn)行過濾,篩選出目標(biāo)組播消息,從而在修改初始組播轉(zhuǎn)發(fā)表并生成目標(biāo)組播轉(zhuǎn)發(fā)表后,依據(jù)更新后的轉(zhuǎn)發(fā)表進(jìn)行高效的組播消息轉(zhuǎn)發(fā)。與現(xiàn)有技術(shù)中直接處理所有接收的組播消息相比,本方案通過引入過濾規(guī)則對無效消息、重復(fù)消息以及超期消息進(jìn)行篩選,避免了交換機(jī)在處理大量無效或冗余組播請求時(shí)的資源浪費(fèi)和性能下降問題,從而顯著降低了cpu負(fù)載和資源消耗,提升了組播消息處理的效率和轉(zhuǎn)發(fā)性能,特別適用于大型網(wǎng)絡(luò)環(huán)境下的高密度組播流量場景,具有顯著的技術(shù)優(yōu)勢和實(shí)際應(yīng)用價(jià)值。