一種環(huán)路檢測(cè)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種計(jì)算機(jī)網(wǎng)絡(luò)技術(shù),特別是涉及一種環(huán)路檢測(cè)方法及系統(tǒng)。
【背景技術(shù)】
[0002] 在PON(Passive Optical Network,無源光網(wǎng)絡(luò))接入網(wǎng)中有如下三種典型情況 在ONU(Optical Network Unit,光網(wǎng)絡(luò)單元)下出現(xiàn)環(huán)路,第一種情況是在0NU不同的接 入端口A和端口B出現(xiàn)物理連接環(huán)路;第二種情況是0NU下聯(lián)的Switch(如:交換機(jī)設(shè)備) 功能不支持STP/RSTP等環(huán)路檢測(cè)功能,因此當(dāng)交換機(jī)的端口A和端口B連接后出現(xiàn)環(huán)路; STP(Spanning Tree Protocol,生成樹協(xié)議)是一個(gè)用于在局域網(wǎng)中消除數(shù)據(jù)鏈路層物理 環(huán)路的協(xié)議,RSTP (Rapid Spanning Tree Protocol,快速生成樹協(xié)議)是優(yōu)化版的STP。第 三種情況兩臺(tái)0NU設(shè)備的端口A和端口B出現(xiàn)物理連接的環(huán)路。二層數(shù)據(jù)交換功能主要依 賴MAC地址轉(zhuǎn)發(fā)表FDB (Forwarding DataBase),在轉(zhuǎn)發(fā)報(bào)文時(shí)是根據(jù)報(bào)文的目的MAC地址 來查找對(duì)應(yīng)FBD表項(xiàng),并向相應(yīng)端口轉(zhuǎn)發(fā)。當(dāng)0NU上端口環(huán)路或下聯(lián)設(shè)備出現(xiàn)環(huán)路時(shí),F(xiàn)DB 表項(xiàng)中將會(huì)同時(shí)出現(xiàn)同一MAC地址關(guān)聯(lián)在不同端口,這樣會(huì)導(dǎo)致MAC地址在FDB中震蕩,弓丨 起報(bào)文轉(zhuǎn)發(fā)混亂和端口上廣播風(fēng)暴,從而使得設(shè)備數(shù)據(jù)轉(zhuǎn)發(fā)性能下降。基于SDN(S〇ftware Defined Networking,軟件定義網(wǎng)絡(luò))的P0N接入網(wǎng)將接入節(jié)點(diǎn)(如0NT/0NU/CMTS等)的 轉(zhuǎn)發(fā)與控制分離,接入節(jié)點(diǎn)的控制面集中上收到嵌入式控制面(Access Controller)中,實(shí) 現(xiàn)用戶會(huì)話轉(zhuǎn)發(fā)可編程。目前,在軟件定義網(wǎng)絡(luò)的P0N接入網(wǎng)中,還沒有定義在0LT控制器 (Optical Line Terminal Controller,光線路終端控制器)和0NU組成的系統(tǒng)中解決環(huán)路 問題的辦法。
[0003] 鑒于此,如何找到解決基于軟件定義網(wǎng)絡(luò)的P0N系統(tǒng)中的環(huán)路問題成為了本領(lǐng)域 技術(shù)人員亟待解決的問題。
【發(fā)明內(nèi)容】
[0004] 鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種環(huán)路檢測(cè)方法及系 統(tǒng),用于解決現(xiàn)有技術(shù)中在基于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)系統(tǒng)中不能檢測(cè)環(huán)路的問題。
[0005] 為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種環(huán)路檢測(cè)方法,應(yīng)用于基于軟 件定義網(wǎng)絡(luò)的系統(tǒng)中,所述環(huán)路檢測(cè)方法包括:控制器發(fā)送消息以控制與所述控制器連接 的0NU建立組播流表,所述組播流表的動(dòng)作包括向接入端口下行方向進(jìn)行廣播轉(zhuǎn)發(fā);所述 控制器發(fā)送執(zhí)行環(huán)路檢測(cè)的消息,以控制所述0NU生成并轉(zhuǎn)發(fā)檢測(cè)報(bào)文,所述檢測(cè)報(bào)文的 包頭包括與所述組播流表的包頭域匹配的目的MAC地址;當(dāng)所述0NU收到轉(zhuǎn)發(fā)的所述檢測(cè) 報(bào)文時(shí),將檢測(cè)結(jié)果反饋給所述控制器,所述檢測(cè)結(jié)果包括接收到所述檢測(cè)報(bào)文的0NU的 MAC地址以及端口號(hào)信息;所述控制器根據(jù)所述檢測(cè)結(jié)果發(fā)送消息以控制阻斷所述0NU的 環(huán)路。
[0006] 可選地,所述環(huán)路檢測(cè)方法還包括:所述控制器定時(shí)發(fā)送執(zhí)行環(huán)路檢測(cè)的消息。
[0007] 可選地,所述環(huán)路檢測(cè)方法還包括:所述控制器接收到所連接的0NU的端口發(fā)生 變化時(shí),發(fā)送執(zhí)行環(huán)路檢測(cè)的消息。
[0008] 可選地,所述控制器發(fā)送ModifyGroupEntryMessage消息給與所述控制器連接 的0NU,所述0NU根據(jù)所述ModifyGroupEntryMessage消息的內(nèi)容建立組播流表。
[0009] 可選地,所述執(zhí)行環(huán)路檢測(cè)的消息包括Packet-Out Message消息,所述0NU根據(jù) 所述Packet-Out Message消息的Data字段的內(nèi)容生成所述檢測(cè)報(bào)文并根據(jù)組播流表對(duì)所 述檢測(cè)報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0010] 可選地,所述控制器發(fā)送Port Modification Message消息控制與所述MAC地址 匹配的0NU的所述端口號(hào)關(guān)閉,從而阻斷所述0NU的環(huán)路。
[0011] 本發(fā)明還包括一種環(huán)路檢測(cè)系統(tǒng),所述環(huán)路檢測(cè)系統(tǒng)包括控制器與所述控制器連 接的0NU,所述控制器包括:組播流表設(shè)置單元,用于向所述0NU發(fā)送消息以控制所述0NU 建立組播流表,所述組播流表的動(dòng)作包括向接入端口下行方向進(jìn)行廣播轉(zhuǎn)發(fā);環(huán)路檢測(cè)執(zhí) 行單元,用于向所述0NU發(fā)送執(zhí)行環(huán)路檢測(cè)的消息,以控制所述0NU生成并轉(zhuǎn)發(fā)檢測(cè)報(bào)文, 所述檢測(cè)報(bào)文的包頭包括與所述組播流表的包頭域匹配的目的MAC地址;檢測(cè)結(jié)果處理單 元,用于接收所述0NU反饋的檢測(cè)結(jié)果,所述檢測(cè)結(jié)果包括接收到所述檢測(cè)報(bào)文的0NU的 MAC地址以及端口號(hào)信息,根據(jù)所述檢測(cè)結(jié)果控制關(guān)閉所述0NU的所述端口號(hào)。
[0012] 可選地,所述控制器發(fā)送ModifyGroupEntryMessage消息給與所述控制器連接 的0NU,所述0NU根據(jù)所述ModifyGroupEntryMessage消息的內(nèi)容建立組播流表。
[0013] 可選地,所述執(zhí)行環(huán)路檢測(cè)的消息包括Packet-Out Message消息,所述0NU根據(jù) 所述Packet-Out Message消息的Data字段的內(nèi)容生成所述檢測(cè)報(bào)文并根據(jù)組播流表對(duì)所 述檢測(cè)報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0014] 可選地,所述控制器還包括環(huán)路檢測(cè)啟動(dòng)單元,用于定時(shí)控制所述環(huán)路檢測(cè)執(zhí)行 單元發(fā)送啟動(dòng)環(huán)路檢測(cè)的消息。
[0015] 可選地,所述控制器還包括環(huán)路檢測(cè)啟動(dòng)單元,用于當(dāng)所述控制器接收到所連接 的0NU的端口發(fā)生變化時(shí),控制所述環(huán)路檢測(cè)執(zhí)行單元發(fā)送啟動(dòng)環(huán)路檢測(cè)的消息。
[0016] 本發(fā)明還包括一種環(huán)路檢測(cè)系統(tǒng),所述環(huán)路檢測(cè)系統(tǒng)包括控制器與所述控制器 連接的0NU,所述0NU包括:消息解析執(zhí)行單元,用于接收所述控制器發(fā)送的消息,對(duì)根據(jù) openflow協(xié)議對(duì)所述消息進(jìn)行解析并執(zhí)行,所述消息包括ModifyGroupEntryMessage 消息、Packet-〇utMessage消息以及ModifyGroupEntryMessage消息;檢測(cè)結(jié)果反饋單 元,用于當(dāng)接收到轉(zhuǎn)發(fā)的所述檢測(cè)報(bào)文時(shí),將檢測(cè)結(jié)果反饋給所述控制器,所述檢測(cè)結(jié)果包 括接收到所述檢測(cè)報(bào)文的0NU的MAC地址以及端口號(hào)信息。
[0017] 本發(fā)明還包括一種0LT,所述0LT包括如上所述的環(huán)路檢測(cè)系統(tǒng)的控制器。
[0018] 如上所述,本發(fā)明的一種環(huán)路檢測(cè)方法及系統(tǒng),具有以下有益效果:在0LT控制器 和0NU組成的系統(tǒng)中,確定了采用openflow協(xié)議進(jìn)行檢測(cè)環(huán)路的方法,從而解決了軟件定 義網(wǎng)絡(luò)中的接入網(wǎng)環(huán)路檢測(cè)問題。
【附圖說明】
[0019] 圖1顯示為本發(fā)明的環(huán)路檢測(cè)方法的一實(shí)施例的流程示意圖。
[0020] 圖2顯示為本發(fā)明的環(huán)路檢測(cè)系統(tǒng)的一實(shí)施例的模塊示意圖。
[0021] 元件標(biāo)號(hào)說明
[0022] 1 環(huán)路檢測(cè)系統(tǒng)
[0023] 11 控制器
[0024] 111 組播流表設(shè)置單元
[0025] 112 環(huán)路檢測(cè)執(zhí)行單元
[0026] 113 檢測(cè)結(jié)果處理單元
[0027] 12 0NU
[0028] 121 消息解析執(zhí)行單元
[0029] 122 檢測(cè)結(jié)果反饋單元
[0030] S1 ~S4 步驟
【具體實(shí)施方式】
[0031] 以下通過特定的具體實(shí)例說明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說明書 所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過另外不同的具體實(shí) 施方式加以實(shí)施或應(yīng)用,本說明書中的各項(xiàng)細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒有背離 本發(fā)明的精神下進(jìn)行各種修飾或改變。
[0032] 需要說明的是,本實(shí)施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想, 遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實(shí)際實(shí)施時(shí)的組件數(shù)目、形狀及尺寸繪 制,其實(shí)際實(shí)施時(shí)各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可 能更為復(fù)雜。
[0033] 本發(fā)明提供一種環(huán)路檢測(cè)方法,該方法應(yīng)用于基于軟件定義網(wǎng)絡(luò)的系統(tǒng)中。軟 件定義網(wǎng)絡(luò)(SoftwareDefinedNetwork,SDN),是Emulex網(wǎng)絡(luò)一種新型網(wǎng)絡(luò)創(chuàng)新架構(gòu), 是網(wǎng)絡(luò)虛擬化的一種實(shí)現(xiàn)方式,其核心技術(shù)OpenFlow通過將網(wǎng)絡(luò)設(shè)備控制面與數(shù)據(jù)面分 離開來,從而實(shí)現(xiàn)了網(wǎng)絡(luò)流量的靈活控制,使網(wǎng)絡(luò)作為管道變得更加智能。在基于軟件定 義網(wǎng)絡(luò)的系統(tǒng),包括控制器與轉(zhuǎn)發(fā)設(shè)備。例如基于軟件定義網(wǎng)絡(luò)的PON(PassiveOptical Network,無源光網(wǎng)絡(luò))中,0LT(OpticalLineTerminalController,光線路終端控制器) 將承擔(dān)控制器的工作,此時(shí),也將0LT稱為控制器(OpticalLineTerminalController, 光線路終端控制器)。〇NU將只負(fù)責(zé)在本地做簡單高速的數(shù)據(jù)轉(zhuǎn)發(fā),其數(shù)據(jù)轉(zhuǎn)發(fā)的依據(jù)就 是流表。所謂流表,其實(shí)可被視作是OpenFlow對(duì)網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)轉(zhuǎn)發(fā)功能的一種抽象。 OpenFlow流表的每個(gè)流表項(xiàng)都