二層網(wǎng)絡(luò)中檢測環(huán)路的方法及控制器的制造方法
【專利摘要】本申請(qǐng)公開了一種二層網(wǎng)絡(luò)中檢測環(huán)路的方法,包括:基于OpenFlow協(xié)議的控制器Controller接收鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文,所述LLDP報(bào)文是基于OpenFlow協(xié)議的虛擬交換機(jī)從與其直連的物理交換機(jī)處接收到并轉(zhuǎn)發(fā)至所述Controller的;所述Controller判斷所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī)本地的橋MAC地址是否相同;當(dāng)所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī)本地的橋MAC地址相同時(shí),所述Controller關(guān)閉所述虛擬交換機(jī)的任一端口。本申請(qǐng)還公開了一種基于OpenFlow協(xié)議的控制器Controller。本申請(qǐng)可及時(shí)發(fā)現(xiàn)基于OpenFlow協(xié)議的二層網(wǎng)絡(luò)中的環(huán)路并消除環(huán)路,避免對(duì)整個(gè)網(wǎng)絡(luò)造成嚴(yán)重影響。
【專利說明】二層網(wǎng)絡(luò)中檢測環(huán)路的方法及控制器
【技術(shù)領(lǐng)域】
[0001] 本申請(qǐng)涉及網(wǎng)絡(luò)環(huán)路檢測【技術(shù)領(lǐng)域】,尤其涉及二層網(wǎng)絡(luò)中檢測環(huán)路的方法及控制 器。
【背景技術(shù)】
[0002] 隨著數(shù)據(jù)中心業(yè)務(wù)日益增加,用戶需求不斷提高,數(shù)據(jù)中心的規(guī)模和功能日趨復(fù) 雜,管理難度也越來越高。在這一背景下,整合數(shù)據(jù)中心、降低數(shù)據(jù)中心的管理成本,充分挖 掘現(xiàn)有資源能力以適應(yīng)更高的業(yè)務(wù)需求,成為企業(yè)數(shù)據(jù)中心的重要任務(wù)。對(duì)數(shù)據(jù)中心資源 進(jìn)行虛擬化,成為目前數(shù)據(jù)中心整合的重要趨勢。
[0003] 虛擬化技術(shù)通過對(duì)物理資源和提供的服務(wù)進(jìn)行抽象化,讓資源使用者和系統(tǒng)管 理者不關(guān)心對(duì)象的物理特征和服務(wù)邊界的細(xì)節(jié),從而降低資源使用和管理的復(fù)雜度,提高 使用效率。因而,對(duì)數(shù)據(jù)中心的虛擬化能夠提高數(shù)據(jù)中心的資源利用率(如CPU利用率、存 儲(chǔ)容量等),降低系統(tǒng)的能耗,并減少系統(tǒng)的設(shè)計(jì)、運(yùn)行、管理、維護(hù)成本,從而實(shí)現(xiàn)整合的目 標(biāo)。
[0004] 數(shù)據(jù)中心的虛擬化技術(shù)主要包括3方面內(nèi)容:網(wǎng)絡(luò)虛擬化、存儲(chǔ)虛擬化和服務(wù)器 虛擬化,最主要的是服務(wù)器虛擬化。通過專用的虛擬化軟件(如VMware)管理,一臺(tái)物理服 務(wù)器能虛擬出多臺(tái)虛擬機(jī)VM,每個(gè)VM獨(dú)立運(yùn)行,互不影響,都有自己的操作系統(tǒng)和應(yīng)用程 序和虛擬的硬件環(huán)境,包括虛擬CPU、內(nèi)存、存儲(chǔ)設(shè)備、10設(shè)備、虛擬交換機(jī)等。其中,虛擬交 換機(jī)的應(yīng)用日益廣泛。
[0005] 目前,在虛擬交換機(jī)中開始應(yīng)用邊緣虛擬橋接技術(shù)EVB。EVB技術(shù)分為交換機(jī)EVB 技術(shù)和服務(wù)器EVB技術(shù)。服務(wù)器EVB技術(shù)應(yīng)用于數(shù)據(jù)中心服務(wù)器,在其上的虛擬交換機(jī)中 實(shí)現(xiàn),用于簡化虛擬服務(wù)器的流量轉(zhuǎn)發(fā)實(shí)現(xiàn),對(duì)虛擬服務(wù)器的網(wǎng)絡(luò)交換、流量管理和策略下 發(fā)進(jìn)行集中控制,并能在虛擬遷移時(shí)實(shí)現(xiàn)網(wǎng)絡(luò)管理和策略的自動(dòng)遷移。支持EVB的虛擬交 換機(jī)分為 VEB (Virtual Ethernet Bridge,虛擬邊緣交換機(jī))和 VEPA (Virtual Edge Port Aggregator,虛擬邊緣端口匯聚)。
[0006] VEPA將虛擬機(jī)產(chǎn)生的網(wǎng)絡(luò)流量全部交由與服務(wù)器相連的物理交換機(jī)進(jìn)行處理,即 使同一臺(tái)服務(wù)器上的虛擬機(jī)間流量,也將在物理交換機(jī)上查表處理后,再回到目的虛擬機(jī) 上。VEPA方式不僅借助物理交換機(jī)解決了虛擬機(jī)間流量轉(zhuǎn)發(fā),同時(shí)還實(shí)現(xiàn)了對(duì)虛擬機(jī)流量 的監(jiān)管,并且將虛擬機(jī)接入層網(wǎng)絡(luò)納入到傳統(tǒng)服務(wù)器接入網(wǎng)絡(luò)管理體系中。根據(jù)需求,物 理服務(wù)器內(nèi)部可能需要不同類型的ER (Edge Relay,邊緣轉(zhuǎn)發(fā))。為了在同一物理接口上 隔離各個(gè)ER的上行通道,EVB采用了端口映射的S-VLAN組件技術(shù)(Port-mapping S-VLAN Component),該技術(shù)在EVB中稱為S通道技術(shù)。如圖1所示,借助于S-VLAN的劃分,物理接 口分成若干個(gè)虛擬通道,稱為S通道(S-channel)。S通道之間以S-VID隔離,每一通道與 服務(wù)器內(nèi)的ER上行口 一一對(duì)應(yīng)。
[0007] 此外,基于OpenFlow協(xié)議的虛擬交換機(jī)應(yīng)用目前也越來越廣泛。OpenFlow是斯坦 福大學(xué)發(fā)起的一種網(wǎng)絡(luò)技術(shù),它使傳統(tǒng)的二層和三層交換機(jī)具備了細(xì)粒度流轉(zhuǎn)發(fā)能力,即 傳統(tǒng)的基于MAC的網(wǎng)包轉(zhuǎn)發(fā),基于IP的路由轉(zhuǎn)發(fā),被拓展到了基于多域網(wǎng)包包頭描述的流 轉(zhuǎn)發(fā)。同時(shí),如圖2所示,傳統(tǒng)的控制層面從轉(zhuǎn)發(fā)設(shè)備中剝離出來,所有轉(zhuǎn)發(fā)行為的決策從 交換機(jī)自身"遷移"到了某個(gè)集中控制器Controller上。每個(gè)OpenFlow交換機(jī)都有一張 流表,進(jìn)行包查找和轉(zhuǎn)發(fā)。交換機(jī)可以通過OpenFlow協(xié)議經(jīng)一個(gè)安全通道連接到外部控制 器Controller,對(duì)流表進(jìn)行查詢和管理。
[0008] 為了更好地理解本申請(qǐng)要解決的技術(shù)問題,對(duì)EVB技術(shù)以及基于OpenFlow協(xié)議的 虛擬交換機(jī)進(jìn)行上述鋪墊,下面具體描述本申請(qǐng)實(shí)際要解決的技術(shù)問題。
[0009] 鏈路層發(fā)現(xiàn)協(xié)議LLDP是為了使不同廠商的設(shè)備能夠在網(wǎng)絡(luò)中相互發(fā)現(xiàn)并交互各 自的系統(tǒng)及配置信息的信息交流平臺(tái),它提供了一種標(biāo)準(zhǔn)的鏈路層發(fā)現(xiàn)方式,可以將本端 設(shè)備的主要能力、管理地址、設(shè)備標(biāo)識(shí)、接口標(biāo)識(shí)等信息組織成不同的TLV (類型/長度/ 值),并封裝在LLDTOU (鏈路層發(fā)現(xiàn)協(xié)議數(shù)據(jù)單元沖發(fā)布給與自己直連的鄰居,鄰居收到這 些信息后將其以標(biāo)準(zhǔn)MIB (Management Information Base,管理信息庫)的形式保存起來, 以供網(wǎng)絡(luò)管理系統(tǒng)查詢及判斷鏈路的通信狀況。
[0010] 由于LLDP協(xié)議的可擴(kuò)展性較強(qiáng),EVB的S通道發(fā)現(xiàn)和配置協(xié)議⑶CP報(bào)文及EVB TLV的信息均封裝在LLDP報(bào)文中,周期性地向?qū)Χ硕丝诎l(fā)送。
[0011] 如圖3所示,為了在網(wǎng)絡(luò)中相互發(fā)現(xiàn)并交互各自的系統(tǒng)及配置信息的信息交流平 臺(tái),圖3中基于OpenFlow協(xié)議的二層網(wǎng)絡(luò)內(nèi)的各個(gè)設(shè)備及端口會(huì)使能EVB協(xié)議,此時(shí),基于 OpenFlow協(xié)議的虛擬交換機(jī)vSwitch和與自己直連的二層物理交換機(jī)Switch之間會(huì)周期 性地向彼此發(fā)送LLDP報(bào)文,比如vSwitch通過端口 vmnicl和vmnic2分別向端口 gl/0/l 與gl/0/2周期性地發(fā)送LLDP報(bào)文。Switch從gl/0/l接收到來自端口 vmnicl的LLDP報(bào) 文,當(dāng)二層網(wǎng)絡(luò)出現(xiàn)環(huán)路時(shí),Switch通過gl/0/2發(fā)送所述LLDP報(bào)文至vmnic2, vSwitch通 過vmnic2接收到所述LLDP報(bào)文并將其上送至基于OpenFlow協(xié)議的控制器Controller, Controller接收到LLDP報(bào)文后,進(jìn)行EVB協(xié)議處理,包括檢測⑶CP報(bào)文等處理。同樣地, Switch也會(huì)從gl/0/2接收來自端口 vmnic2的LLDP報(bào)文,當(dāng)二層網(wǎng)絡(luò)出現(xiàn)環(huán)路時(shí),Switch 通過gl/0/l發(fā)送所述LLDP報(bào)文至vmnicl,vSwitch通過vmnicl接收到所述LLDP報(bào)文并 將其上送至Controller, Controller接收到LLDP報(bào)文后,進(jìn)行EVB協(xié)議處理。
[0012] 上述過程中,當(dāng)基于OpenFlow協(xié)議的二層網(wǎng)絡(luò)中出現(xiàn)轉(zhuǎn)發(fā)環(huán)路時(shí),Controller接 收到vSwitch發(fā)送的LLDP報(bào)文后,直接進(jìn)行EVB協(xié)議處理,并沒有對(duì)所述LLDP報(bào)文進(jìn)行環(huán) 路檢測,使得二層網(wǎng)絡(luò)中的環(huán)路沒有被檢測到并被消除,從而導(dǎo)致廣播、組播以及未知單播 等報(bào)文被重復(fù)發(fā)送,造成網(wǎng)絡(luò)資源的浪費(fèi)甚至導(dǎo)致網(wǎng)絡(luò)癱瘓。
[0013] 其中,導(dǎo)致基于OpenFlow協(xié)議的二層網(wǎng)絡(luò)中出現(xiàn)環(huán)路的原因可能是網(wǎng)絡(luò)流表下 發(fā)或網(wǎng)絡(luò)連接錯(cuò)誤。例如,如圖3所示,基于OpenFlow協(xié)議的控制器Controller下發(fā)的網(wǎng) 絡(luò)流表錯(cuò)誤,可能會(huì)導(dǎo)致vmnicl與vmnic2之間形成環(huán)路;此外,外部物理交換機(jī)Switch的 網(wǎng)絡(luò)連接錯(cuò)誤或配置錯(cuò)誤,同樣可能會(huì)造成Switch的端口 gl/0/l與gl/0/2在二層網(wǎng)絡(luò)中 出現(xiàn)轉(zhuǎn)發(fā)環(huán)路。數(shù)據(jù)中心中,由于組網(wǎng)復(fù)雜,經(jīng)常性會(huì)導(dǎo)致環(huán)路的出現(xiàn)。
[0014] 因此,如何對(duì)基于OpenFlow協(xié)議的二層網(wǎng)絡(luò)中的環(huán)路進(jìn)行檢測,以及時(shí)發(fā)現(xiàn)二層 網(wǎng)絡(luò)中的環(huán)路并消除環(huán)路,成為當(dāng)前實(shí)際應(yīng)用中急需解決的問題。
【發(fā)明內(nèi)容】
[0015] 有鑒于此,本申請(qǐng)?zhí)岢鲆环N二層網(wǎng)絡(luò)中檢測環(huán)路的方法,可以及時(shí)發(fā)現(xiàn)基于 OpenFlow協(xié)議的二層網(wǎng)絡(luò)中的環(huán)路并消除環(huán)路,避免對(duì)整個(gè)網(wǎng)絡(luò)造成嚴(yán)重影響。
[0016] 本申請(qǐng)還提出一種控制器Controller,可以及時(shí)發(fā)現(xiàn)基于OpenFlow協(xié)議的二層 網(wǎng)絡(luò)中的環(huán)路并消除環(huán)路,避免對(duì)整個(gè)網(wǎng)絡(luò)造成嚴(yán)重影響。
[0017] 為達(dá)到上述目的,本申請(qǐng)實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0018] 一種二層網(wǎng)絡(luò)中檢測環(huán)路的方法,包括以下步驟:
[0019] 基于OpenFlow協(xié)議的控制器Controller接收鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文,所述 LLDP報(bào)文是基于OpenFlow協(xié)議的虛擬交換機(jī)從與其直連的物理交換機(jī)處接收到并轉(zhuǎn)發(fā)至 所述 Controller 的;
[0020] 所述Controller判斷所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī)本地的橋 MAC地址是否相同;
[0021] 當(dāng)所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī)本地的橋MAC地址相同時(shí),所 述Controller關(guān)閉所述虛擬交換機(jī)的任一端口。
[0022] -種控制器Controller,所述控制器Controller基于OpenFlow協(xié)議,該控制器包 括:LLDP報(bào)文接收模塊、橋MAC地址比較模塊和環(huán)路處理模塊,其中:
[0023] LLDP報(bào)文接收模塊,用于基于OpenFlow協(xié)議的控制器Controller接收鏈路層發(fā) 現(xiàn)協(xié)議LLDP報(bào)文,所述LLDP報(bào)文是基于OpenFlow協(xié)議的虛擬交換機(jī)從與其直連的物理交 換機(jī)處接收到并轉(zhuǎn)發(fā)至所述Controller的;
[0024] 橋MAC地址比較模塊,用于判斷所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī) 本地的橋MAC地址是否相同;
[0025] 環(huán)路處理模塊,用于當(dāng)所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī)本地的橋 MAC地址相同時(shí),Controller關(guān)閉所述虛擬交換機(jī)的任一端口。
[0026] 本申請(qǐng)的有益效果為,當(dāng)基于OpenFlow協(xié)議的虛擬交換機(jī)接收到來自與其直連 的物理交換機(jī)的LLDP報(bào)文并將其上送至基于OpenFlow協(xié)議的控制器Controller后, Controller不是如現(xiàn)有實(shí)現(xiàn)一樣直接進(jìn)行EVB協(xié)議處理,而是首先判斷所述LLDP報(bào)文中 的橋MAC地址與所述虛擬交換機(jī)本地的橋MAC地址是否相同,如果相同,說明存在環(huán)路,則 關(guān)閉所述虛擬交換機(jī)的任一端口,以消除環(huán)路。由于LLDP報(bào)文無法通過設(shè)備間透傳,即所 述虛擬交換機(jī)只能發(fā)送LLDP報(bào)文至與其直連的物理交換機(jī),而所述物理交換機(jī)無法再將 所述LLDP報(bào)文發(fā)送至除所述虛擬交換機(jī)以外的其它設(shè)備。因此,根據(jù)鏈路層發(fā)現(xiàn)協(xié)議LLDP 的這一特性,可以檢測出基于OpenFlow協(xié)議的二層網(wǎng)絡(luò)中是否存在環(huán)路并及時(shí)消除環(huán)路, 以避免對(duì)整個(gè)網(wǎng)絡(luò)造成嚴(yán)重影響。
【專利附圖】
【附圖說明】
[0027] 圖1為現(xiàn)有技術(shù)的多S通道模型結(jié)構(gòu)示意圖;
[0028] 圖2為現(xiàn)有技術(shù)的基于OpenFlow協(xié)議的虛擬交換機(jī)實(shí)現(xiàn)原理示意圖;
[0029] 圖3為現(xiàn)有技術(shù)的基于OpenFlow協(xié)議的二層網(wǎng)絡(luò)交換機(jī)交互LLDP報(bào)文的原理示 意圖;
[0030] 圖4為本申請(qǐng)實(shí)施例的方法流程圖;
[0031] 圖5為本申請(qǐng)實(shí)施例的控制器功能模塊結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0032] 為了使本申請(qǐng)的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下通過具體實(shí)施例并參 見附圖,對(duì)本申請(qǐng)進(jìn)行詳細(xì)說明。
[0033] 本申請(qǐng)?zhí)岢鲆环N二層網(wǎng)絡(luò)中檢測環(huán)路的方法,基于OpenFlow協(xié)議的控制器 Controller接收鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文,所述LLDP報(bào)文是基于OpenFlow協(xié)議的虛擬交 換機(jī)從與其直連的物理交換機(jī)處接收到并轉(zhuǎn)發(fā)至所述Controller的;
[0034] 所述Controller判斷所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī)本地的橋 MAC地址是否相同;
[0035] 當(dāng)所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī)本地的橋MAC地址相同時(shí),所 述Controller關(guān)閉所述虛擬交換機(jī)的任一端口。
[0036] 本申請(qǐng)中,所述基于OpenFlow協(xié)議的虛擬交換機(jī)及其端口,和與所述虛擬交換機(jī) 直連的物理交換機(jī)及其端口,均使能邊緣虛擬橋接技術(shù)EVB協(xié)議后,當(dāng)所述虛擬交換機(jī)接 收到來自所述物理交換機(jī)的LLDP報(bào)文并將其上送至Controller后,Controller首先判斷 所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī)本地的橋MAC地址是否相同,如果相同, 說明存在環(huán)路,則關(guān)閉所述虛擬交換機(jī)的任一端口,以消除環(huán)路;如果不相同,說明不存在 環(huán)路,繼續(xù)進(jìn)行EVB協(xié)議處理。即使用EVB協(xié)議中的LLDP協(xié)議對(duì)基于OpenFlow協(xié)議的二 層網(wǎng)絡(luò)進(jìn)行環(huán)路檢測,可以方便地檢測出所述二層網(wǎng)絡(luò)中是否存在環(huán)路,如果發(fā)現(xiàn)環(huán)路,通 過關(guān)閉虛擬交換機(jī)的任一端口來及時(shí)消除環(huán)路,以避免對(duì)整個(gè)網(wǎng)絡(luò)造成嚴(yán)重影響。
[0037] 本申請(qǐng)實(shí)施例的方法流程如圖4所示,一種二層網(wǎng)絡(luò)中檢測環(huán)路的方法,包括以 下步驟:
[0038] 步驟401 :基于OpenFlow協(xié)議的控制器Controller接收鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào) 文,所述LLDP報(bào)文是基于OpenFlow協(xié)議的虛擬交換機(jī)從與其直連的物理交換機(jī)處接收到 并轉(zhuǎn)發(fā)至所述Controller的。
[0039] 為了更好地理解本申請(qǐng)實(shí)施例,這里仍可以參考圖3進(jìn)行說明。
[0040] 為了在網(wǎng)絡(luò)中相互發(fā)現(xiàn)并交互各自的系統(tǒng)及配置信息的信息交流平臺(tái),如圖3所 示,所述虛擬交換機(jī)、物理交換機(jī)、以及各自的端口均會(huì)使能EVB協(xié)議,這屬于現(xiàn)有常用手 段。
[0041] 使能EVB協(xié)議后,根據(jù)EVB技術(shù)的特征,虛擬機(jī)產(chǎn)生的網(wǎng)絡(luò)流量全部交由與服務(wù)器 相連的物理交換機(jī)進(jìn)行處理。因此,本申請(qǐng)實(shí)施例中與所述虛擬交換機(jī)直連的是物理交換 機(jī)。
[0042] 此外,本申請(qǐng)實(shí)施例針對(duì)的是基于OpenFlow協(xié)議的二層網(wǎng)絡(luò),根據(jù)OpenFlow協(xié)議 的特性,傳統(tǒng)的控制層面從轉(zhuǎn)發(fā)設(shè)備(即所述虛擬交換機(jī))中剝離出來,所有轉(zhuǎn)發(fā)行為的決 策從交換機(jī)自身"遷移"到了某個(gè)集中控制器(即基于OpenFlow協(xié)議的控制器Controller) 上。因此,當(dāng)所述虛擬交換機(jī)接收到與其直連的物理交換機(jī)的LLDP報(bào)文后,轉(zhuǎn)發(fā)所述LLDP 報(bào)文至Controller,由Controller對(duì)其進(jìn)行處理。
[0043] 步驟402 :所述Controller判斷所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換 機(jī)本地的橋MAC地址是否相同。
[0044] 所述Controller接收到所述LLDP報(bào)文后,首先取出所述LLDP報(bào)文中的橋MAC地 址,判斷所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī)本地的橋MAC地址是否相同,然 后根據(jù)所述判斷的結(jié)果進(jìn)行相應(yīng)地處理。
[0045] 由于LLDP報(bào)文中攜帶發(fā)送設(shè)備的橋MAC地址,即Chassis ID (該ID唯一),因此, Controller通過比較所述接收到的LLDP報(bào)文的橋MAC地址與本地的橋MAC地址是否相同, 即可檢測出所述接收到的LLDP報(bào)文是否最初由所述虛擬交換機(jī)發(fā)送出去,從而可以判斷 出二層網(wǎng)絡(luò)中是否存在環(huán)路。
[0046] 步驟403 :當(dāng)所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī)本地的橋MAC地址 相同時(shí),所述Control ler關(guān)閉所述虛擬交換機(jī)的任一端口。。
[0047] 由于LLDP報(bào)文中攜帶發(fā)送設(shè)備的橋MAC地址,當(dāng)所述LLDP報(bào)文中的橋MAC地址與 所述虛擬交換機(jī)本地的橋MAC地址相同時(shí),則認(rèn)為所述LLDP報(bào)文信息為同一個(gè)設(shè)備發(fā)送, 所述LLDP報(bào)文的發(fā)送設(shè)備就是所述虛擬交換機(jī),最初由所述虛擬交換機(jī)發(fā)送出去,現(xiàn)在又 被轉(zhuǎn)發(fā)回來了,即本設(shè)備發(fā)出的LLDP報(bào)文返回了。
[0048] 由于LLDP協(xié)議具有無法通過設(shè)備間透傳的特性,比如設(shè)備A只能發(fā)送LLDP報(bào)文 至與其直連的設(shè)備B,而設(shè)備B無法再將所述LLDP報(bào)文發(fā)送至除設(shè)備A以外的其它設(shè)備。 根據(jù)LLDP協(xié)議的這一特性,當(dāng)所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī)本地的橋 MAC地址相同時(shí),可以確定二層網(wǎng)絡(luò)中形成了環(huán)路。
[0049] 此時(shí),為了消除環(huán)路,Controller可以下發(fā)關(guān)閉任一端口的指令給所述虛擬交換 機(jī),所述虛擬交換機(jī)接收到的Controller的上述指令后關(guān)閉任一端口,即可消除環(huán)路,避 免廣播、組播以及未知單播等報(bào)文被重復(fù)發(fā)送,造成網(wǎng)絡(luò)資源的浪費(fèi)甚至導(dǎo)致網(wǎng)絡(luò)癱瘓。
[0050] 當(dāng)所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī)本地的橋MAC地址不相同時(shí), 說明沒有形成環(huán)路,按照現(xiàn)有流程進(jìn)行處理,即進(jìn)行邊緣虛擬橋接技術(shù)EVB協(xié)議處理。
[0051] 本申請(qǐng)實(shí)施例方案實(shí)現(xiàn)簡單,且應(yīng)用性較強(qiáng),因?yàn)長LDP協(xié)議是一種成熟的協(xié)議, 且LLDP協(xié)議具有無法通過設(shè)備間透傳的特性,因此,使用LLDP協(xié)議檢測環(huán)路時(shí)非常方便快 速,即設(shè)備使能LLDP協(xié)議后,可立即發(fā)現(xiàn)設(shè)備自身的環(huán)路情況,有效地減少了環(huán)路檢測的 時(shí)間,從而可有效地處理二層網(wǎng)絡(luò)環(huán)路的問題。
[0052] 本申請(qǐng)實(shí)施例的控制器功能模塊結(jié)構(gòu)示意圖如圖5所示,一種基于OpenFlow協(xié)議 的控制器Control ler,該控制器包括:LLDP報(bào)文接收模塊、橋MAC地址比較模塊和環(huán)路處理 模塊,其中:
[0053] LLDP報(bào)文接收模塊,用于接收鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文,所述LLDP報(bào)文是基于 OpenFlow協(xié)議的虛擬交換機(jī)從與其直連的物理交換機(jī)處接收到并轉(zhuǎn)發(fā)至本控制器的;
[0054] 橋MAC地址比較模塊,用于判斷所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī) 本地的橋MAC地址是否相同;
[0055] 環(huán)路處理模塊,用于當(dāng)所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī)本地的橋 MAC地址相同時(shí),關(guān)閉所述虛擬交換機(jī)的任一端口。
[0056] 較佳地,所述環(huán)路處理模塊還用于,
[0057] 當(dāng)所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī)本地的橋MAC地址不相同時(shí), 進(jìn)行邊緣虛擬橋接技術(shù)EVB協(xié)議處理。
[0058] 當(dāng)網(wǎng)絡(luò)流表下發(fā)或網(wǎng)絡(luò)連接錯(cuò)誤時(shí),很容易導(dǎo)致二層網(wǎng)絡(luò)中出現(xiàn)轉(zhuǎn)發(fā)環(huán)路,使設(shè) 備對(duì)廣播、組播以及未知單播等報(bào)文進(jìn)行重復(fù)發(fā)送,造成網(wǎng)絡(luò)資源的浪費(fèi)甚至導(dǎo)致網(wǎng)絡(luò)癱 瘓。為了能夠及時(shí)發(fā)現(xiàn)設(shè)備本身二層網(wǎng)絡(luò)中的環(huán)路,以避免對(duì)整個(gè)網(wǎng)絡(luò)造成嚴(yán)重影響,本申 請(qǐng)?zhí)峁┝藱z測基于OpenFlow協(xié)議的二層網(wǎng)絡(luò)中環(huán)路的方案,使得網(wǎng)絡(luò)中出現(xiàn)環(huán)路時(shí)能及 時(shí)檢測到,并及時(shí)關(guān)閉出問題的端口以消除環(huán)路。
[0059] 本申請(qǐng)方案實(shí)現(xiàn)簡潔明了,直接使用EVB協(xié)議中的LLDP協(xié)議即可實(shí)現(xiàn)對(duì)OpenFlow 虛擬交換機(jī)設(shè)備進(jìn)行環(huán)路檢測;無需增加其它的協(xié)議代碼即可實(shí)現(xiàn)因流表下發(fā)等錯(cuò)誤而導(dǎo) 致的二層鏈路環(huán)路檢測,可節(jié)省資源;而且檢測速度快,利用現(xiàn)有EVB協(xié)議即可,無需占用 額外接口,可以利用EVB協(xié)議同時(shí)傳輸其正常業(yè)務(wù)報(bào)文;由于可以在很短的時(shí)間內(nèi),判斷二 層網(wǎng)絡(luò)中是否有環(huán)路,并及時(shí)消除環(huán)路,使得本申請(qǐng)方案實(shí)時(shí)性非常強(qiáng)。
[0060] 以上所述僅為本申請(qǐng)的較佳實(shí)施例而已,并不用以限制本申請(qǐng),凡在本申請(qǐng)的精 神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)保護(hù)的范圍之內(nèi)。
【權(quán)利要求】
1. 一種二層網(wǎng)絡(luò)中檢測環(huán)路的方法,其特征在于,包括以下步驟: 基于OpenFlow協(xié)議的控制器Controller接收鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文,所述LLDP 報(bào)文是基于OpenFlow協(xié)議的虛擬交換機(jī)從與其直連的物理交換機(jī)處接收到并轉(zhuǎn)發(fā)至所述 Controller 的; 所述Controller判斷所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī)本地的橋MAC 地址是否相同; 當(dāng)所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī)本地的橋MAC地址相同時(shí),所述 Controller關(guān)閉所述虛擬交換機(jī)的任一端口。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)所述LLDP報(bào)文中的橋MAC地址與所述 虛擬交換機(jī)本地的橋MAC地址不相同時(shí),所述Controller進(jìn)行邊緣虛擬橋接技術(shù)EVB協(xié)議 處理。
3. -種基于OpenFlow協(xié)議的控制器Controller,其特征在于,該控制器包括:LLDP報(bào) 文接收模塊、橋MAC地址比較模塊和環(huán)路處理模塊,其中: LLDP報(bào)文接收模塊,用于接收鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文,所述LLDP報(bào)文是基于 OpenFlow協(xié)議的虛擬交換機(jī)從與其直連的物理交換機(jī)處接收到并轉(zhuǎn)發(fā)至本控制器的; 橋MAC地址比較模塊,用于判斷所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī)本地 的橋MAC地址是否相同; 環(huán)路處理模塊,用于當(dāng)所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī)本地的橋MAC 地址相同時(shí),關(guān)閉所述虛擬交換機(jī)的任一端口。
4. 根據(jù)權(quán)利要求3所述的控制器,其特征在于,所述環(huán)路處理模塊還用于, 當(dāng)所述LLDP報(bào)文中的橋MAC地址與所述虛擬交換機(jī)本地的橋MAC地址不相同時(shí),進(jìn)行 邊緣虛擬橋接技術(shù)EVB協(xié)議處理。
【文檔編號(hào)】H04L29/06GK104144082SQ201310168568
【公開日】2014年11月12日 申請(qǐng)日期:2013年5月8日 優(yōu)先權(quán)日:2013年5月8日
【發(fā)明者】張圣彥, 羅逸秀 申請(qǐng)人:杭州華三通信技術(shù)有限公司