本發(fā)明涉及easymesh組網(wǎng)技術(shù),具體涉及一種消除easymesh網(wǎng)絡(luò)環(huán)路流量的方法、網(wǎng)絡(luò)設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、在解決家庭網(wǎng)絡(luò)覆蓋問題時,easymesh是一種非常常見的解決方案,它具有統(tǒng)一完善的組網(wǎng)標(biāo)準(zhǔn),能使得不同品牌的支持easymesh的設(shè)備也可以通過其協(xié)議標(biāo)準(zhǔn)組成easymesh網(wǎng)絡(luò),解決家庭網(wǎng)絡(luò)覆蓋問題,同時其也支持靈活的組網(wǎng)方式(有線、無線或有線無線混合),用戶可以通過自身家庭環(huán)境選擇不同的組網(wǎng)方式進(jìn)行easymesh組網(wǎng)。
2、在easymesh組網(wǎng)的拓?fù)浣Y(jié)構(gòu)中,通常存在controller(主設(shè)備)和agent(子設(shè)備)兩種角色,其中,controller工作在路由模式,作為上行網(wǎng)關(guān),負(fù)責(zé)整個網(wǎng)絡(luò)的路由和轉(zhuǎn)發(fā),agent工作在ap模式,負(fù)責(zé)終端接入和流量轉(zhuǎn)發(fā);controller通過接入上行網(wǎng)絡(luò)設(shè)備(如光貓),實現(xiàn)與外網(wǎng)通信。
3、對于有線和無線混合組網(wǎng)的easymesh網(wǎng)絡(luò)環(huán)境而言,當(dāng)某個agent從無線組網(wǎng)方式切換為有線組網(wǎng)方式時,由于物理網(wǎng)絡(luò)成環(huán),會導(dǎo)致設(shè)備收到的源mac為自身的報文,即產(chǎn)生了環(huán)路流量。環(huán)路流量會消耗網(wǎng)絡(luò)轉(zhuǎn)發(fā)性能,特別是在環(huán)路流量較大時甚至可能造成設(shè)備癱瘓,因此,設(shè)備廠家會在上行網(wǎng)絡(luò)設(shè)備中使能stp協(xié)議(生成樹協(xié)議),當(dāng)檢測到網(wǎng)絡(luò)中存在的環(huán)路流量超過閾值時,觸發(fā)stp協(xié)議,將與其直連的easymesh設(shè)備拉黑一段時間或者禁用產(chǎn)生環(huán)路的物理端口一段時間,以此來抑制環(huán)路流量,但會出現(xiàn)整個easymesh網(wǎng)絡(luò)與上行網(wǎng)絡(luò)設(shè)備連接斷開的情況,進(jìn)而影響到easymesh組網(wǎng)的使用體驗。
技術(shù)實現(xiàn)思路
1、本發(fā)明所要解決的技術(shù)問題是:提出一種消除easymesh網(wǎng)絡(luò)環(huán)路流量的方法、網(wǎng)絡(luò)設(shè)備及存儲介質(zhì),消除easymesh網(wǎng)絡(luò)中的agent從無線組網(wǎng)方式切換為有線組網(wǎng)方式時產(chǎn)生的環(huán)路流量,避免出現(xiàn)因為環(huán)路流量導(dǎo)致整個easymesh網(wǎng)絡(luò)與上行網(wǎng)絡(luò)設(shè)備斷連的情況。
2、本發(fā)明解決上述技術(shù)問題采用的技術(shù)方案是:
3、一方面,本發(fā)明提供了一種消除easymesh網(wǎng)絡(luò)環(huán)路流量的方法,包括以下步驟:
4、easymesh網(wǎng)絡(luò)中的agent設(shè)備監(jiān)聽自身的各個有線端口的link(連接)狀態(tài);
5、當(dāng)監(jiān)聽到有線端口link?up(建立物理鏈路)消息,且自身當(dāng)前處于無線組網(wǎng)狀態(tài)時,暫時阻塞自身的上行無線端口;并從發(fā)生link?up事件的有線端口上,以controller設(shè)備的mac地址作為目的地址發(fā)送arp(地址解析協(xié)議)單播;
6、若從發(fā)生link?up事件的有線端口接收到源mac地址為controller設(shè)備的mac地址的arp單播回復(fù),則禁用自身的上行無線端口,然后啟用將無線組網(wǎng)方式切換為有線組網(wǎng)方式的流程。
7、進(jìn)一步的,easymesh網(wǎng)絡(luò)中的agent設(shè)備監(jiān)聽自身的各個有線端口的link狀態(tài)的實現(xiàn)方法包括:
8、在agent設(shè)備的內(nèi)核eth驅(qū)動中增加對有線端口的link狀態(tài)的監(jiān)控,當(dāng)agent設(shè)備的任意有線端口的link狀態(tài)發(fā)生變化時,通過netlink協(xié)議將link狀態(tài)變化的消息傳送到應(yīng)用層;agent設(shè)備的easymesh進(jìn)程通過開啟預(yù)設(shè)的線程,基于netlink協(xié)議接收link狀態(tài)變化的消息。
9、進(jìn)一步的,該方法還包括:
10、若從發(fā)生link?up事件的有線端口未接收到源mac地址為controller設(shè)備的mac地址的arp單播回復(fù),則恢復(fù)自身被阻塞的上行無線端口,繼續(xù)對自身的各個有線端口的link狀態(tài)進(jìn)行監(jiān)聽。
11、第二方面,本發(fā)明還提供了一種網(wǎng)絡(luò)設(shè)備,其包括處理器和存儲器,所述存儲器中存儲有計算機(jī)程序,所述處理器通過執(zhí)行所述計算機(jī)程序,從而實現(xiàn)如上所述的消除easymesh網(wǎng)絡(luò)環(huán)路流量的方法。
12、第三方面,本發(fā)明還提供了一種存儲介質(zhì),其存儲有計算機(jī)程序,當(dāng)所述計算機(jī)程序被處理器執(zhí)行時,實現(xiàn)如上所述的消除easymesh網(wǎng)絡(luò)環(huán)路流量的方法。
13、本發(fā)明的有益效果是:
14、本發(fā)明基于agent設(shè)備內(nèi)核和應(yīng)用層之間的netlink消息機(jī)制來監(jiān)聽有線端口的link狀態(tài),當(dāng)監(jiān)聽到link?up事件消息時,先通過阻塞上行無線端口來避免產(chǎn)生環(huán)路流量,并利用相應(yīng)端口向上行網(wǎng)關(guān)發(fā)送的arp單播報文來探測接入agent設(shè)備有線端口的設(shè)備是否為easymesh鄰居,若收到arp單播報文回復(fù),則判定接入的設(shè)備為easymesh鄰居,從而禁用上行無線端口并切換為有線組網(wǎng)方式,若未收到arp單播報文回復(fù),則判定接入的設(shè)備為普通下掛設(shè)備,通過恢復(fù)阻塞的上行無線端口來保持原來的組網(wǎng)方式。
15、該方案由于可以避免環(huán)路流量的產(chǎn)生,從而避免在上行網(wǎng)絡(luò)設(shè)備(如光貓)對環(huán)路流量的忍受閾值較低的場景中,出現(xiàn)因環(huán)路流量超過閾值造成整個easymesh網(wǎng)絡(luò)與上行網(wǎng)絡(luò)設(shè)備斷連的情況,提高easymesh組網(wǎng)的使用體驗。本發(fā)明適用于各種支持easymesh的ap產(chǎn)品。
1.一種消除easymesh網(wǎng)絡(luò)環(huán)路流量的方法,其特征在于,包括以下步驟:
2.如權(quán)利要求1所述的一種消除easymesh網(wǎng)絡(luò)環(huán)路流量的方法,其特征在于,
3.如權(quán)利要求1或2所述的一種消除easymesh網(wǎng)絡(luò)環(huán)路流量的方法,其特征在于,
4.一種網(wǎng)絡(luò)設(shè)備,其包括處理器和存儲器,所述存儲器中存儲有計算機(jī)程序,其特征在于,所述處理器通過執(zhí)行所述計算機(jī)程序,從而實現(xiàn)如權(quán)利要求1-3任意一項所述的消除easymesh網(wǎng)絡(luò)環(huán)路流量的方法。
5.一種存儲介質(zhì),其存儲有計算機(jī)程序,其特征在于,