本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種mac地址同步方法、mlag系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、mac(media?access?control?address,媒體訪問(wèn)控制地址)是設(shè)備的全球唯一標(biāo)識(shí)。在二層交換設(shè)備中,mac地址主要用于指導(dǎo)已知數(shù)據(jù)轉(zhuǎn)發(fā)。所以保障mac地址的穩(wěn)定是必備的基礎(chǔ)功能。
2、隨著數(shù)據(jù)中心的飛速發(fā)展,單設(shè)備的鏈路聚合的帶寬已經(jīng)無(wú)法滿足使用,所以在當(dāng)前的數(shù)據(jù)中心網(wǎng)絡(luò)采用了mlag(multi-chassis?link?aggregation?group,跨設(shè)備鏈路聚合組)虛擬化技術(shù),其可以通過(guò)多臺(tái)設(shè)備間的鏈路聚合來(lái)將鏈路的可靠性從單板級(jí)提高到設(shè)備級(jí),既實(shí)現(xiàn)帶寬的增加,又提高了鏈路的可靠性。
3、數(shù)據(jù)中心場(chǎng)景中,廣泛使用了mlag技術(shù)提高鏈路的可靠性,當(dāng)流量在跨設(shè)備聚合轉(zhuǎn)發(fā)時(shí),設(shè)備間地址的不同步會(huì)影響整個(gè)網(wǎng)絡(luò)的穩(wěn)定性,會(huì)導(dǎo)致流量洪泛占用不必要的帶寬。而在mlag場(chǎng)景中,設(shè)備之間mac地址的同步,是指基于mlag技術(shù)聚合的兩個(gè)交換設(shè)備,當(dāng)其中一個(gè)交換設(shè)備上某一個(gè)鏈路聚合組學(xué)習(xí)到得mac地址時(shí),需要同步到另外一臺(tái)交換設(shè)備寫(xiě)在相同的鏈路聚合組。
4、而當(dāng)下的網(wǎng)絡(luò)設(shè)備出現(xiàn)了分布式類(lèi)型的,即分布式網(wǎng)絡(luò)設(shè)備可以插接多個(gè)承擔(dān)報(bào)文轉(zhuǎn)發(fā)的lpu(line?processing?unit,線路處理單元)卡。所以,在利用分布式交換設(shè)備聚合的mlag場(chǎng)景中,如何實(shí)現(xiàn)兩個(gè)分布式交換設(shè)備之間的mac地址同步是需要考慮的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供一種mac地址同步方法、mlag系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì),以改善現(xiàn)有技術(shù)存在的問(wèn)題。
2、本發(fā)明的實(shí)施例可以這樣實(shí)現(xiàn):
3、第一方面,本發(fā)明提供一種mac地址同步方法,應(yīng)用于mlag系統(tǒng)的第一設(shè)備,所述mlag系統(tǒng)還包括與所述第一設(shè)備建立對(duì)等鏈路的第二設(shè)備;所述第一設(shè)備包括至少一個(gè)第一lpu卡,所述第二設(shè)備包括至少一個(gè)第二lpu卡;至少一個(gè)下聯(lián)設(shè)備雙歸或者單歸接入所述mlag系統(tǒng);所述方法包括:
4、任一第一lpu卡在收到所述下聯(lián)設(shè)備發(fā)送的報(bào)文時(shí),基于所述報(bào)文的源mac地址在自身維護(hù)的mac地址表中查找是否存在匹配表項(xiàng);
5、若不存在所述匹配表項(xiàng),所述任一第一lpu卡獲取第一mac地址信息存儲(chǔ)至自身的mac地址表并同步給其他第一lpu卡之后,對(duì)所述報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理;
6、用于同步的第一lpu卡將所述第一mac地址信息發(fā)送給所述第二設(shè)備中用于同步的第二lpu卡,以使所述用于同步的第二lpu卡基于所述第一mac地址信息更新自身維護(hù)的mac地址表并將所述第一mac地址信息同步給其他第二lpu卡。
7、可選的,所述方法還包括:每個(gè)所述其他第一lpu卡將所述第一mac地址信息存儲(chǔ)至自身維護(hù)的mac地址表后,向所述任一第一lpu卡進(jìn)行反饋。
8、可選的,所述用于同步的第一lpu卡將所述第一mac地址信息發(fā)送給所述第二設(shè)備中用于同步的第二lpu卡的步驟,包括:
9、所述用于同步的第一lpu卡基于配對(duì)傳輸服務(wù)協(xié)議對(duì)所述第一mac地址信息進(jìn)行封裝,得到同步報(bào)文;
10、所述用于同步的第一lpu卡通過(guò)對(duì)等鏈路將所述同步報(bào)文透?jìng)髦了鲇糜谕降牡诙pu卡。
11、可選的,所述方法還包括:
12、所述用于同步的第一lpu卡接收所述用于同步的第二lpu卡發(fā)送的第一回應(yīng)報(bào)文;所述第一回應(yīng)報(bào)文是所述用于同步的第二lpu卡收到每個(gè)其他第二lpu卡在基于所述第一mac地址信息更新自身維護(hù)的mac地址表的反饋后生成的;
13、所述用于同步的第一lpu卡向所述任一第一lpu卡發(fā)送第一回應(yīng)報(bào)文。
14、可選的,所述方法還包括:
15、所述用于同步的第一lpu卡在收到所述用于同步的第二lpu卡發(fā)送的第二mac地址信息時(shí),將所述第二mac地址信息存儲(chǔ)至自身的mac地址表并同步給其他第一lpu卡;
16、每個(gè)其他第一lpu卡將所述第二mac地址信息存儲(chǔ)至自身維護(hù)的mac地址表后,向所述用于同步的第一lpu卡進(jìn)行反饋;
17、所述用于同步的第一lpu卡在收到每個(gè)其他第一lpu卡的反饋后,向所述用于同步的第二lpu卡發(fā)送第二回應(yīng)報(bào)文。
18、可選的,在所述任一第一lpu卡在收到所述下聯(lián)設(shè)備發(fā)送的報(bào)文之前,所述方法還包括:
19、當(dāng)僅有一個(gè)第一lpu卡的端口屬于所述對(duì)等鏈路的成員端口時(shí),確定存在端口屬于所述對(duì)等鏈路的成員端口的第一lpu卡為所述用于同步的第一lpu卡;
20、當(dāng)所述第一設(shè)備為主設(shè)備且不止一個(gè)第一lpu卡的端口屬于所述對(duì)等鏈路的成員端口時(shí),通過(guò)以下方式確定所述用于同步的第一lpu卡:
21、所述第一設(shè)備從端口屬于所述對(duì)等鏈路的成員端口的所有第一lpu卡中,按照預(yù)設(shè)規(guī)則選舉出一個(gè)lpu卡作為所述用于同步的第一lpu卡;所述用于同步的第一lpu卡通過(guò)所述對(duì)等鏈路向連接的第二lpu卡發(fā)送選舉結(jié)果消息;
22、當(dāng)所述第一設(shè)備為備設(shè)備且不止一個(gè)所述第一lpu卡的端口屬于所述對(duì)等鏈路的成員端口時(shí),通過(guò)以下方式確定所述用于同步的第一lpu卡:
23、在多個(gè)第一lpu卡收到所述第二設(shè)備選舉出的用于同步的第二lpu卡發(fā)送的選舉結(jié)果消息后,第一設(shè)備的從收到所述選舉結(jié)果消息的多個(gè)第一lpu卡中,按照預(yù)設(shè)規(guī)則選舉出一個(gè)lpu卡作為所述用于同步的第一lpu卡。
24、可選的,所述第一mac地址信息包括所述報(bào)文的源mac地址、接收所述報(bào)文的端口的端口標(biāo)識(shí)、所述端口所屬的vlan以及所述任一第一lpu卡的lpu卡標(biāo)識(shí)。
25、第二方面,本發(fā)明提供一種mlag系統(tǒng),包括通信連接的兩個(gè)設(shè)備,每個(gè)設(shè)備均包括多個(gè)lpu卡,每個(gè)設(shè)備的多個(gè)lpu卡中存在一個(gè)用于同步的lpu卡,至少一個(gè)下聯(lián)設(shè)備雙歸或者單歸接入所述mlag系統(tǒng),雙歸接入時(shí),每個(gè)所述下聯(lián)設(shè)備連接于一個(gè)設(shè)備的一個(gè)lpu卡和另一個(gè)設(shè)備的一個(gè)lpu卡,單歸接入時(shí),每個(gè)所述下聯(lián)設(shè)備連接于任一設(shè)備的一個(gè)lpu卡;
26、一個(gè)設(shè)備采用上述第一方面所述的mac地址同步方法實(shí)現(xiàn)與另一個(gè)設(shè)備之間的mac地址同步。
27、第三方面,本發(fā)明提供一種電子設(shè)備,包括:存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有軟件程序,當(dāng)所述電子設(shè)備運(yùn)行時(shí)所述處理器執(zhí)行所述軟件程序以實(shí)現(xiàn)上述第一方面所述的mac地址同步方法。
28、第四方面,本發(fā)明提供一種計(jì)算機(jī)存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述第一方面所述的mac地址同步方法。
29、與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例提供了一種mac地址同步方法、mlag系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì),mlag系統(tǒng)中,第一設(shè)備包括至少一個(gè)第一lpu卡,第二設(shè)備包括至少一個(gè)第二lpu卡,且兩設(shè)備之間建立有對(duì)等鏈路,至少一個(gè)下聯(lián)設(shè)備雙歸或者單歸接入mlag系統(tǒng)。任一第一lpu卡在收到下聯(lián)設(shè)備發(fā)送的報(bào)文時(shí),基于報(bào)文的源mac地址在自身維護(hù)的mac地址表中查找是否存在匹配表項(xiàng),若不存在匹配表項(xiàng),則獲取第一mac地址信息來(lái)存儲(chǔ)至自身的mac地址表并同步給其他第一lpu卡,接著對(duì)報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理;用于同步的第一lpu卡將第一mac地址信息發(fā)送給所述第二設(shè)備中用于同步的第二lpu卡,以使用于同步的第二lpu卡將第一mac地址信息存儲(chǔ)至自身維護(hù)的mac地址表并將第一mac地址信息同步給其他第二lpu卡。本發(fā)明中,第一設(shè)備的任一lpu卡在學(xué)習(xí)到第一mac地址信息后先在第一設(shè)備內(nèi)部進(jìn)行同步,然后用于同步的第一lpu卡同步給用于同步的第二lpu卡,由用于同步的第二lpu卡負(fù)責(zé)實(shí)現(xiàn)該第一mac地址信息在第二設(shè)備內(nèi)部的同步,保證了分布式交換設(shè)備在mlag場(chǎng)景中的mac地址同步。