本發(fā)明涉及保障EPON(以太網(wǎng)無源光網(wǎng)絡(luò))系統(tǒng)業(yè)務(wù)穩(wěn)定性的方法,具體涉及EPON系統(tǒng)中環(huán)路檢測、定位、清除的方法。
技術(shù)背景
在EPON系統(tǒng)中,由于網(wǎng)絡(luò)配置或連接錯誤,很容易導(dǎo)致EPON中出現(xiàn)環(huán)路,而環(huán)路的產(chǎn)生會導(dǎo)致系統(tǒng)對廣播、多播、未知單播報文進行反復(fù)的發(fā)送,進而造成網(wǎng)絡(luò)的擁塞甚至癱瘓。
基于以上問題,就需要對EPON系統(tǒng)中的環(huán)路進行檢測、定位和清除。目前EPON系統(tǒng)中常用的檢測方式要么存在檢測不全面,要么需要OLT與ONU進行配合,而在實際使用中OLT和ONU經(jīng)常不是一個廠家,無法做到很好的配合?;诖?,有必要提供一種合理的方法,既能檢測各種環(huán)路問題,又能避免OLT與ONU配合上的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是:提供一種以太網(wǎng)無源光網(wǎng)絡(luò)EPON系統(tǒng)中的環(huán)路檢測及清除的方法,該方法能自動檢測EPON系統(tǒng)中產(chǎn)生的各種環(huán)路現(xiàn)象,并自動對環(huán)路進行清除,從而保證EPON系統(tǒng)的正常穩(wěn)定運行。
本發(fā)明解決其技術(shù)問題采用以下的技術(shù)方案:
本發(fā)明提供的以太網(wǎng)無源光網(wǎng)絡(luò)EPON系統(tǒng)中的環(huán)路檢測及清除方法,包括以下步驟:
a)OLT周期性向每個PON口發(fā)送環(huán)路檢測報文;
b)OLT收包任務(wù)在收到環(huán)路檢測報文后即認為EPON系統(tǒng)中有環(huán)路產(chǎn)生,此時調(diào)用環(huán)路檢測處理接口,對環(huán)路進行定位;
c)根據(jù)步驟b中定位的結(jié)果,上報環(huán)路告警,并對環(huán)路進行清除;
d)OLT周期性對產(chǎn)生環(huán)路的ONU端口進行恢復(fù),以確保環(huán)路被人工清除后,ONU端口能恢復(fù)正常。
上述方法中,所述的步驟a),在OLT周期性向每個PON口發(fā)送環(huán)路檢測報文過程中,是采用包括以下步驟方法來實現(xiàn)的:
(1)采用基于單個VLAN方法進行OLT發(fā)送環(huán)路檢測報文,以確保環(huán)路報文與業(yè)務(wù)報文一樣在系統(tǒng)中正常的轉(zhuǎn)發(fā);
(2)采用間隔配置OLT發(fā)送環(huán)路檢測報文的周期:
OLT發(fā)送環(huán)路檢測報文的周期間隔可配置,默認間隔為60s,每個PON口中的所有虛擬vlan發(fā)送間隔為1s;同時環(huán)路檢測報文使用廣播報文,并在廣播報文中用特殊字段進行標記,以避免與網(wǎng)絡(luò)上的報文出現(xiàn)沖突。
上述方法中,在步驟b)之前,存在ONU部分的報文轉(zhuǎn)發(fā)過程,該過程是根據(jù)EPON系統(tǒng)報文傳輸?shù)奶匦砸约耙蕴W(wǎng)報文傳輸特性由ONU硬件完成的。
所述的ONU部分的報文轉(zhuǎn)發(fā)過程,具體為:
ONU在收到OLT發(fā)送的環(huán)路檢測報文后,根據(jù)廣播報文轉(zhuǎn)發(fā)的特性,ONU應(yīng)該將該環(huán)路檢測報文廣播到所有UNI端口,此過程不需要ONU對環(huán)路檢測報文軟件層面的分析和處理,僅依賴硬件特性進行轉(zhuǎn)發(fā)即可;
當EPON系統(tǒng)下有環(huán)路存在時,環(huán)路檢測報文必定會從ONU的UNI端口進入ONU,此時ONU收到環(huán)路檢測報文,同樣無需做軟件上的處理,僅僅根據(jù)EPON ONU的特性,將該報文向上轉(zhuǎn)發(fā)給OLT,同時根據(jù)EPON報文傳送特性,報文在上報給OLT時會打上ONU的邏輯鏈路標記;
上述方法中,步驟b)所述定位的過程包括:在EPON系統(tǒng)中,環(huán)路檢測報文從ONU到OLT的傳輸過程中會帶上ONU的LLID信息即邏輯鏈路標記信息,而該信息是在ONU注冊時由OLT統(tǒng)一分配的,每個PON口下的各個ONU的LLID信息均不相同,故OLT根據(jù)該信息確定環(huán)路報文來自哪個ONU。
本發(fā)明可以采用以下方法確定步驟b)所述ONU的過程:
1)ONU在剛注冊到OLT上時,OLT會在內(nèi)存中建立一個數(shù)據(jù)結(jié)構(gòu)來存放ONU的LLID、ONU的MAC、ONU所在PON口號以及一個虛擬的ONU號,這四者一一對應(yīng),這個虛擬的ONU號可以理解為某一特定的OLT PON口下第幾個注冊的ONU,假定這個用來存放ONU信息的數(shù)據(jù)結(jié)構(gòu)叫做ONU注冊信息表;
2)當OLT收到ONU發(fā)上來的環(huán)路檢測報文時,OLT根據(jù)報文中的LLID信息,通過ONU注冊信息表查找到ONU的MAC、所在的PON口號和ONU號,所述PON口號、ONU號分別記錄為PONID、ONUID,同時記錄本身所在槽位號為SLOTID;
3)在確定了PON口號和ONU號后,OLT便通過OAM報文即操作維護管理報文獲取ONU的各個UNI端口的MAC地址表;在獲取到ONU的UNI端口MAC地址表后,通過比較發(fā)現(xiàn)哪個端口的MAC地址表中存在環(huán)路檢測報文的源MAC,則該端口為ONU環(huán)路端口,記錄為PORTID;
上述方法中,步驟c)所述告警及清除環(huán)路的過程包括:
1)在步驟b)完成后,OLT記錄下當前告警產(chǎn)生的時間,并連同步驟b中已知的SLOTID、PONID、ONUID、PORTID一起填充到告警報文中,然后將環(huán)路告警上報給網(wǎng)管,提示維護人員在此EPON系統(tǒng)中存在環(huán)路,同時將該端口的告警狀態(tài)置1;
2)OLT在上報了環(huán)路告警后,立即通過已經(jīng)在《中國電信EPON設(shè)備技術(shù)要求V3.0》中定義的OAM報文通知ONU將環(huán)路端口關(guān)閉,通過此方法暫時將環(huán)路清除,同時減少了OLT與ONU互通性的問題。
上述方法中,步驟d)所述的對環(huán)路端口進行恢復(fù)的過程包括:OLT開啟一個線程,周期性的對端口的告警狀態(tài)進行檢測,如果發(fā)現(xiàn)該端口的告警狀態(tài)被置1,說明該端口已經(jīng)產(chǎn)生了環(huán)路告警,此時獲取系統(tǒng)的當前時間,記錄為CurrentTime,再根據(jù)系統(tǒng)配置的默認的環(huán)路告警清除時間進行比較判斷。
上述方法步驟d)中,設(shè)默認的環(huán)路告警清除時間為300s,具體判斷過程為:
如果CurrentTime-AlarmStartTime>=300s,則發(fā)送環(huán)路清除告警,同時報文中攜帶SLOTID、PONID、ONUID、PORTID以及當前時間,然后再通過OAM將ONU的環(huán)路端口使能;
如果CurrentTime-AlarmStartTime<300s,則繼續(xù)循環(huán)檢測。
上述步驟d)中,當維護人員實際清除了EPON系統(tǒng)中的環(huán)路時,該系統(tǒng)自動對曾經(jīng)產(chǎn)生環(huán)路的ONU端口進行恢復(fù);而如果維護人員沒有清除環(huán)路,在步驟d中OLT雖然將環(huán)路端口恢復(fù)了,但通過步驟a)、b)、c),OLT仍然可以快速的將環(huán)路檢測出來并進行清除。
本發(fā)明與現(xiàn)有技術(shù)相比具有以下的主要的優(yōu)點:
1.通過OLT(光線路終端)來發(fā)送環(huán)路檢測報文,且利用現(xiàn)有EPON系統(tǒng)的國際標準IEEE802.3以及《中國電信EPON設(shè)備技術(shù)要求V3.0》中定義的OAM管理方式,并結(jié)合以太網(wǎng)的報文傳輸特性,OLT僅僅通過利用以上標準規(guī)范和自身軟件邏輯就可以實現(xiàn)對環(huán)路的準確定位及清除,無需ONU的過度參與,這樣對整個功能的實現(xiàn)進行了極大的收斂,提高了功能的穩(wěn)定性,避免了在實際使用時OLT與ONU互通性上的問題;
2.不僅考慮了對環(huán)路的檢測和清除,也考慮了工程實際使用時環(huán)路的產(chǎn)生往往是由于人為的誤操作或者設(shè)備故障導(dǎo)致的,需要工程維護人員去檢查現(xiàn)場,并實際清除環(huán)路,故在本發(fā)明中使用了環(huán)路告警上報機制和環(huán)路恢復(fù)機制,以協(xié)助工程維護人員去實際清除環(huán)路,同時在環(huán)路被清除后,能夠自動恢復(fù)曾經(jīng)產(chǎn)生環(huán)路的ONU端口的業(yè)務(wù);
3.考慮了EPON系統(tǒng)中環(huán)路產(chǎn)生的各種情況,且支持各種情況下的環(huán)路檢測,具體包括:ONU單端口下環(huán)路;ONU端口間環(huán)路;同一槽位、同一PON(無源光纖網(wǎng)絡(luò))口下不同ONU間環(huán)路;同一槽位、不同PON口下ONU間環(huán)路;不同槽位、不同PON口下ONU間環(huán)路。
總之,本發(fā)明通過OLT軟件邏輯的設(shè)計,并結(jié)合現(xiàn)有EPON的國際標準和國內(nèi)普遍使用的中國電信標準,降低了OLT與不同廠家ONU互通性問題,在實際使用中更具有可操作性;不僅考慮了環(huán)路檢測和清除,還結(jié)合實際工程使用情況,增加了告警上報及環(huán)路恢復(fù)功能,提高了工程維護的便利性;能處理EPON系統(tǒng)中可能存在的各種環(huán)路情況,增強了功能的完整性。
附圖說明
圖1為本發(fā)明的整體軟件框圖。
圖2為環(huán)路檢測報格式圖。
圖3為周期性發(fā)送環(huán)路檢測報文的邏輯圖。
圖4為檢測及定位清除環(huán)路現(xiàn)象的邏輯圖。
圖5為當環(huán)路被真正解除后自動恢復(fù)的邏輯圖。
具體實施方式
下面結(jié)合實施例和附圖對本發(fā)明作進一步的說明,這些實施例僅僅是對本發(fā)明較佳實施方式的描述,但并不限定以下所述的內(nèi)容。
本發(fā)明提供的以太網(wǎng)無源光網(wǎng)絡(luò)EPON系統(tǒng)中的環(huán)路檢測及清除方法,包括以下步驟:
a)OLT周期性向每個PON口發(fā)送環(huán)路檢測報文;
b)OLT收包任務(wù)在收到環(huán)路檢測報文后即認為EPON系統(tǒng)中有環(huán)路產(chǎn)生,此時調(diào)用環(huán)路檢測處理接口,對環(huán)路進行定位;
c)根據(jù)步驟b)中定位的結(jié)果,上報環(huán)路告警,并對環(huán)路進行清除;
d)OLT周期性對產(chǎn)生環(huán)路的ONU端口進行恢復(fù),以確保環(huán)路被人工清除后,ONU端口能恢復(fù)正常。
所述的步驟a),在OLT周期性向每個PON口發(fā)送環(huán)路檢測報文過程中,是采用包括以下步驟方法來實現(xiàn)的:
OLT發(fā)送環(huán)路檢測報文是基于單個VLAN(虛擬局域網(wǎng))進行的,因為在實際使用中,EPON系統(tǒng)會根據(jù)業(yè)務(wù)情況劃分不同的VLAN,同時業(yè)務(wù)報文在轉(zhuǎn)發(fā)時也會攜帶相應(yīng)的VLAN,所以在整個環(huán)路檢測機制中,環(huán)路檢測報文需要攜帶VLAN是顯而易見的,如果不攜帶VLAN,則環(huán)路報文無法與業(yè)務(wù)報文一樣在系統(tǒng)中正常的轉(zhuǎn)發(fā),更談不上檢測環(huán)路;
OLT發(fā)送環(huán)路檢測報文的周期間隔可配置,默認間隔為60s,每個PON口每個虛擬vlan發(fā)送間隔為1s,同時環(huán)路檢測報文使用廣播報文并在報文中用特殊字段(如圖2中special data字段)進行標記,以避免與網(wǎng)絡(luò)上的報文出現(xiàn)沖突。
上述方法中,在步驟b)之前還存在ONU部分的報文轉(zhuǎn)發(fā)過程,如下:
ONU在收到OLT發(fā)送的環(huán)路檢測報文后,由于該報文為廣播報文,根據(jù)報文轉(zhuǎn)發(fā)的特性,ONU應(yīng)該將該環(huán)回檢測報文廣播到所有UNI(用戶側(cè))端口,此處簡化了ONU的處理邏輯,不需要ONU對環(huán)路檢測報文軟件層面的分析和處理,僅依賴硬件特性進行轉(zhuǎn)發(fā)即可,這種處理方式極大的提高了該功能的收斂性;
當EPON系統(tǒng)下有環(huán)路存在時,環(huán)路檢測報文必定會從ONU的UNI端口進入ONU,此時ONU收到環(huán)路檢測報文,同樣無需做軟件上的處理,僅僅根據(jù)EPON ONU的特性,將該報文向上轉(zhuǎn)發(fā)給OLT,同時根據(jù)EPON報文傳送特性,報文在上報給OLT時會打上ONU的LLID(邏輯鏈路標記);
在本發(fā)明中以上ONU部分的處理都是根據(jù)EPON系統(tǒng)報文傳輸?shù)奶匦砸约耙蕴W(wǎng)報文傳輸特性由ONU硬件完成,正是由于此,本發(fā)明才顯得尤為重要,解決了在EPON系統(tǒng)互通性上的重大難題,避免了本發(fā)明所采用的OLT在配合不同廠家ONU使用可能出現(xiàn)的環(huán)路檢測功能無法實現(xiàn)的問題。
上述方法中,步驟b)所述定位的過程包括:在EPON系統(tǒng)中,環(huán)路檢測報文從ONU到OLT的傳輸過程中會帶上ONU的LLID(邏輯鏈路標記)信息,而該LLID是在ONU注冊時由OLT統(tǒng)一分配的,每個PON口下的各個ONU的LLID均不相同,故OLT可以根據(jù)該LLID確定環(huán)路報文來自哪個ONU,具體確定ONU的過程涉及到以下步驟:
1)ONU在剛注冊到OLT上時,OLT會在內(nèi)存中建立一個數(shù)據(jù)結(jié)構(gòu)來存放ONU的LLID、ONU的MAC、ONU所在PON口號以及一個虛擬的ONU號(這四者一一對應(yīng)),這個虛擬的ONU號可以理解為某一特定的OLT PON口下第幾個注冊的ONU,例如,OLT的PON 1口下注冊的第一個ONU分配的ONU號為1;我們暫且把這個用來存放ONU信息的數(shù)據(jù)結(jié)構(gòu)叫做ONU注冊信息表;
2)當OLT收到ONU發(fā)上來的環(huán)路檢測報文時,OLT根據(jù)報文中的LLID信息,通過ONU注冊信息表,查找到ONU的MAC、所在的PON口號(記錄為PONID)和ONU號(記錄為ONUID),同時記錄本身所在槽位號為SLOTID;
3)在確定了PON口號和ONU號后,OLT便可以通過OAM(操作維護管理)報文獲取ONU的各個UNI端口的MAC地址表,而OAM通用報文格式已經(jīng)有國際標準IEEE802.3定義,又減少了OLT和ONU在互通性上的問題。在獲取到ONU的UNI端口MAC地址表后,通過比較發(fā)現(xiàn)哪個端口的MAC地址表中存在環(huán)路檢測報文的源MAC,則該端口為ONU環(huán)路端口(記錄為PORTID);
4)以上的定位過程主要是OLT通過自身記錄的ONU注冊信息表和OAM報文,并結(jié)合MAC地址學(xué)習、轉(zhuǎn)發(fā)邏輯來完成,盡量使用已有技術(shù)規(guī)范和標準,減少了OLT和ONU互通性問題。
上述方法中,步驟c)所述告警及清除環(huán)路的過程包括:
1)在步驟b)完成后,OLT記錄下當前告警產(chǎn)生的時間(AlarmStartTime),并連同步驟b中已知的SLOTID、PONID、ONUID、PORTID一起填充到告警報文中,然后將環(huán)路告警上報給網(wǎng)管,提示維護人員在此EPON系統(tǒng)中存在環(huán)路,同時將該端口的告警狀態(tài)置1,此步驟非常重要,因為環(huán)路的產(chǎn)生一般是設(shè)備故障或者工程布線錯誤導(dǎo)致的,軟件清除環(huán)路只能暫時的解決問題,要想徹底清除環(huán)路,還是需要工程維護人員根據(jù)OLT設(shè)備上報的環(huán)路告警信息,去實際清除環(huán)路;
2)OLT在上報了環(huán)路告警后,立即通過OAM報文通知ONU將環(huán)路端口關(guān)閉,通過此方法暫時將環(huán)路清除。
上述方法中,步驟d)所述的對環(huán)路端口進行恢復(fù)的過程包括:
OLT開啟一個線程,周期性的對端口的告警狀態(tài)進行檢測,如果發(fā)現(xiàn)該端口的告警狀態(tài)被置1,說明該端口已經(jīng)產(chǎn)生了環(huán)路告警,此時獲取系統(tǒng)的當前時間,記錄為CurrentTime,再根據(jù)系統(tǒng)配置的環(huán)路告警清除時間(默認為300s)進行比較判斷,此處以默認300s為例進行說明,具體如下:
如果CurrentTime-AlarmStartTime>=300s,則發(fā)送環(huán)路清除告警,同時報文中攜帶SLOTID、PONID、ONUID、PORTID以及當前時間,然后再通過OAM將ONU的環(huán)路端口使能。
如果CurrentTime-AlarmStartTime<300s,則繼續(xù)循環(huán)檢測。
步驟d)的重要性主要體現(xiàn)在,當維護人員實際清除了EPON系統(tǒng)中的環(huán)路時,系統(tǒng)可以自動對曾經(jīng)產(chǎn)生環(huán)路的ONU端口進行恢復(fù)。而如果維護人員沒有清除環(huán)路,在步驟d中OLT雖然將環(huán)路端口恢復(fù)了,但通過步驟a)、b)、c),OLT仍然可以快速的將環(huán)路檢測出來并進行清除。這樣操作既控制了系統(tǒng)風險,也增強了實際使用的方便性。