專利名稱:一種網絡拓撲發(fā)生變化時網絡節(jié)點配置信息的處理方法
技術領域:
本發(fā)明涉及光纖通信技術,特別涉及一種網絡拓撲發(fā)生變化時的處理方法。
背景技術:
彈性分組數(shù)據(jù)環(huán)(Resilient Packet Ring,RPR)技術集互聯(lián)網協(xié)議(Internet Protocol,IP)的智能化、以太網的經濟性和光纖環(huán)網的高帶寬效率、可靠性于一體,為寬帶IP城域網運營商提供了一個良好的組網方案。一個典型的RPR網絡結構如圖1所示。其中,A、B、C、D是RPR節(jié)點,每個節(jié)點下掛有若干個終端。由于RPR網絡通常用于城域網中,因此每個節(jié)點下掛的終端數(shù)目很大。
為了提供位于不同節(jié)點下的終端到終端的通信,每個節(jié)點上都有兩張查詢表一張是目的終端媒體訪問控制(Media Access Control,MAC)地址與目的節(jié)點索引之間的映射表;另一張是目的節(jié)點索引與目的節(jié)點MAC地址之間的映射表。以圖1中的節(jié)點A為例,這兩張表的內容如表一和表二所示所示。
表一
表二表一是目的終端地址到目的節(jié)點索引的映射表,該表有三個數(shù)據(jù)項,分別是目的終端MAC,目的節(jié)點索引和選環(huán)數(shù)據(jù);表二是目的節(jié)點索引到目的節(jié)點地址的映射表,該表有兩個數(shù)據(jù)項,分別是目的節(jié)點索引和目的節(jié)點MAC。當下掛于節(jié)點A的終端A1向下掛于節(jié)點C的終端C1發(fā)送數(shù)據(jù)報文時,由A1發(fā)出的報文攜帶有目的終端的MAC地址,即MAC_of_C1。該報文到達節(jié)點A后,節(jié)點A根據(jù)報文中的目的終端MAC地址在表一中查到目的終端位于索引號為2的節(jié)點上,然后在表二中查到索引號為2的節(jié)點的MAC地址為MAC_of_C。節(jié)點A以MAC_of_C為目的地址構造一個新的報文發(fā)到在RPR網絡上,報文內容就是由終端A1發(fā)出的報文。表一里的選環(huán)數(shù)據(jù)是用來確定將新構造的報文發(fā)送到雙環(huán)網絡的哪個環(huán)上的,通常是根據(jù)距離最短原則來確定的,即使得源節(jié)點到目的節(jié)點之間所經過的節(jié)點數(shù)目最少。
如表一和表二所示的查詢表除了用于節(jié)點構造新數(shù)據(jù)報文并將該報文通過網絡發(fā)送以外,還用于實現(xiàn)刪除發(fā)往故障節(jié)點的數(shù)據(jù)報文。如果RPR網絡上的某個節(jié)點發(fā)生故障,故障節(jié)點下掛的所有終端都無法接收RPR網絡上傳送的報文。也就是說,所有目的終端是這些故障節(jié)點下掛終端的報文都不可能到達。為了避免不可能到達的報文占用網絡資源,往往在報文的源節(jié)點處即將這些數(shù)據(jù)報文丟棄。例如,如果圖1中的節(jié)點C發(fā)生故障,而此時位于節(jié)點A的終端A1向位于節(jié)點C的終端C1發(fā)出一個報文,該報文就由節(jié)點A丟棄,并且通知終端A1目的終端不可到達。
為了實現(xiàn)在源節(jié)點處將不可能到達的報文丟棄,現(xiàn)有技術中采用的方法是在某個節(jié)點獲知另一個節(jié)點出現(xiàn)故障后,更改表一中的對應故障節(jié)點的選環(huán)數(shù)據(jù),將其設置成一個無效值。例如,如果圖1中節(jié)點C發(fā)生故障,節(jié)點A獲知后即將表一中下掛于節(jié)點C的所有終端對應的選環(huán)數(shù)據(jù)設置為無效,成為表三所示的形式。
表三這樣,當下掛于節(jié)點A的終端再向下掛于節(jié)點C的終端發(fā)出數(shù)據(jù)報文時,節(jié)點A根據(jù)該數(shù)據(jù)報文中的目的終端MAC地址在表三里發(fā)現(xiàn)該目的終端對應的選環(huán)數(shù)據(jù)無效,就會將要發(fā)送的數(shù)據(jù)報文丟棄。
在現(xiàn)有技術中,無論是節(jié)點發(fā)生故障還是從故障中恢復,除故障節(jié)點外的其他節(jié)點都需要修改表一中下掛于故障節(jié)點的每個終端對應的選環(huán)數(shù)據(jù),修改操作的次數(shù)等于故障節(jié)點下掛的終端數(shù)目。在實際應用中,下掛于故障節(jié)點的終端在表一中位置并不總是相鄰的,因此在修改這些下掛于故障節(jié)點的終端的選環(huán)數(shù)據(jù)之前還需要在表一中比較每個目的終端MAC所對應的目的節(jié)點索引是否是故障節(jié)點的索引號,比較操作的次數(shù)等于所有節(jié)點下掛的終端數(shù)目之和。如前所述,RPR網絡用于城域網,每個節(jié)點下掛的終端數(shù)目非常大,數(shù)量級可以達到104。比較和修改如此大量的數(shù)據(jù)會在短時間內占用節(jié)點的大量處理能力和處理時間。同時,在實際的RPR網絡中,節(jié)點數(shù)目往往也很大,經常會有節(jié)點發(fā)生故障或者從故障中恢復,這樣網絡拓撲就時常處于變化中。每一次網絡拓撲的變化都會引起節(jié)點對查詢表的一次比較和修改。同時,每次當故障節(jié)點從故障中恢復,除故障節(jié)點外的其他節(jié)點都需要重新確定一次到故障節(jié)點的選環(huán)數(shù)據(jù),這需要額外的操作才能完成。這樣,節(jié)點的處理能力就總是被比較和修改查詢表表項的任務所占用,導致節(jié)點處理其他任務的能力變弱;當RPR網絡的規(guī)模進一步擴大時,最終導致節(jié)點不能滿足實際應用的需要。
發(fā)明內容
有鑒于此,本發(fā)明的主要目的在于提供一種網絡拓撲發(fā)生變化時網絡節(jié)點配置信息的處理方法,以減少當網絡的節(jié)點狀態(tài)發(fā)生變化導致網絡拓撲改變時其他節(jié)點更新查詢表的工作量,實現(xiàn)對查詢表的快速更新,滿足實際應用的需要。
為了達到上述目的,本發(fā)明提供了一種網絡拓撲發(fā)生變化時網絡節(jié)點配置信息的處理方法,該方法包括以下步驟步驟A,網絡節(jié)點根據(jù)網絡協(xié)議監(jiān)測除自身外其他節(jié)點的狀態(tài)是否發(fā)生變化,如果是則執(zhí)行步驟B,否則重復執(zhí)行步驟A;步驟B,所述網絡節(jié)點修改本地查詢表中與發(fā)生狀態(tài)變化的節(jié)點相對應的標志位。
其中,所述網絡是彈性分組環(huán)網絡。
其中,在步驟B中,所述的標志位是節(jié)點狀態(tài)數(shù)據(jù)項,發(fā)生狀態(tài)變化的節(jié)點正常工作時其他節(jié)點將該數(shù)據(jù)項設為有效,發(fā)生狀態(tài)變化的節(jié)點故障時其他節(jié)點將該數(shù)據(jù)項設為無效。
其中,步驟B所述修改節(jié)點狀態(tài)數(shù)據(jù)項是將該數(shù)據(jù)項的值求反。
該方法進一步包括步驟C,所述網絡節(jié)點根據(jù)查詢表中與發(fā)生狀態(tài)變化的節(jié)點相對應的標志位判斷節(jié)點是否正常工作,如果是則將發(fā)往發(fā)生狀態(tài)變化的節(jié)點的數(shù)據(jù)報文正常發(fā)送,否則將發(fā)往發(fā)生狀態(tài)變化的節(jié)點的數(shù)據(jù)報文刪除。
其中,所述將發(fā)往狀態(tài)變化的節(jié)點的數(shù)據(jù)報文刪除是由所述網絡節(jié)點自身直接丟棄。
其中,所述將發(fā)往狀態(tài)變化的節(jié)點的數(shù)據(jù)報文刪除包括以下步驟步驟C11,所述網絡節(jié)點構造一個新的數(shù)據(jù)報文包含發(fā)往狀態(tài)變化的節(jié)點的數(shù)據(jù)報文,并將新數(shù)據(jù)報文的生存時間設置為指示下一節(jié)點丟棄數(shù)據(jù)報文的約定值;步驟C12,所述網絡節(jié)點將新構造的數(shù)據(jù)報文通過網絡發(fā)送給自身的相鄰節(jié)點;步驟C13,相鄰節(jié)點收到新數(shù)據(jù)報文后,識別出新數(shù)據(jù)報文的生存時間為所設置的約定值,丟棄收到的新數(shù)據(jù)報文。
其中,所述約定值為0。
采用本發(fā)明所提出的網絡拓撲發(fā)生變化時的網絡節(jié)點配置信息處理方法,如果網絡的某個節(jié)點發(fā)生故障,除故障節(jié)點外的其他節(jié)點在獲知后,只需要對查詢表做一次比較和修改即可實現(xiàn)在源節(jié)點將發(fā)往故障節(jié)點的報文刪除;同樣,如果故障節(jié)點恢復正常,除故障節(jié)點外的其他節(jié)點在獲知后,也只需要對查詢表做一次比較和修改即可實現(xiàn)重新開始正常發(fā)送發(fā)往該節(jié)點的報文,并且不需要重新確認到故障節(jié)點的選環(huán)。這樣就避免了占用節(jié)點的大量處理能力來進行比較和修改查詢表的操作,從而間接提高了節(jié)點處理其他任務的能力。
圖1是RPR網絡的結構圖。
圖2是本發(fā)明提供的網絡拓撲發(fā)生變化時的網絡節(jié)點配置信息處理流程圖。
具體實施例方式
本發(fā)明所提供的網絡拓撲發(fā)生變化時網絡節(jié)點配置信息的處理方法,其核心思想是當RPR節(jié)點狀態(tài)變化引起網絡拓撲變化時,除故障節(jié)點外的其他RPR節(jié)點各自修改本地的查詢表中與狀態(tài)變化節(jié)點對應的標志位,并且根據(jù)標志位確定是否將發(fā)往狀態(tài)變化節(jié)點的數(shù)據(jù)報文刪除,從而簡化了某個RPR節(jié)點狀態(tài)變化時其他節(jié)點的操作。
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結合附圖及具體實施例對本發(fā)明作進一步地詳細描述。
以圖1所示的網絡結構為例,當圖1中的節(jié)點C發(fā)生故障時,本發(fā)明提供的節(jié)點A上的查詢表如表四和表五所示。其中表四是目的終端地址到目的節(jié)點索引的映射表,表五是目的節(jié)點索引到目的節(jié)點地址的映射表。
或。項目信息位不足時舍棄摘要的低位,項目信息超過摘要的位數(shù)時則循環(huán)使用摘要。
(三)校驗方法,經過壓縮的原文如果最后字節(jié)剛好填滿,則不再附加校驗信息。如果最后一字節(jié)沒有填滿,剩余位先填上‘0’,計算所有字節(jié)的累加和,將累加和的低位信息填到剩余位。這個校驗方法是很弱的,只是利用多余比特進行部分地校驗。
例如pppoe的例子中,最后一字節(jié)余3位,計算累加和為0xD2,將累加和低3位010填到壓縮信息余下的3個位中,于是最后一字節(jié)變?yōu)?
也可以在上述原文信息后面附加額外的校驗信息段對整個信息進行校驗。更可以使校驗信息段與設備序列號相關,以便輸入時可以檢查出所輸入的信息是否正確。
(四)二/十進制轉換將上節(jié)中得到的壓縮原文看作一個很大的整數(shù),將其格式化成10進制的字符串,就是我們最終要的結果。
我們將由自動配置服務器原文轉換得到的數(shù)字串稱為激活碼,將接入方式原文轉換得到的數(shù)字串稱為帳號。一般來說,激活碼會比較短,帳號比較長。
例如“\x1\xa8\x84\x64\x15”,不與序列號摘要異或時轉換得到的激活碼是“7122215957”。而本文pppoe的例子最后的帳號長度大概為47字節(jié),而靜態(tài)IP的例子最后的帳號大概是29字節(jié)。
激活碼如果與序列號的摘要異或,則轉換出來的數(shù)字串更長一些,但也只有有11字節(jié),這個長度可接受。而帳號的長度太長,難以一次正確輸入,因此必須對帳號作進一步處理,以方便輸入。
請參考圖2,圖2是本發(fā)明提供的RPR網絡拓撲變化時的處理流程圖。圖5表示的是RPR網絡節(jié)點中的任意一個節(jié)點的處理流程。
步驟201,節(jié)點根據(jù)RPR網絡協(xié)議監(jiān)視除自身外其他節(jié)點的狀態(tài)。
步驟202,節(jié)點根據(jù)監(jiān)測結果判斷是否有節(jié)點狀態(tài)發(fā)生變化,從而導致網絡拓撲發(fā)生變化,如果有則執(zhí)行203,否則返回執(zhí)行步驟201。
這里所說的節(jié)點狀態(tài)變化指的是節(jié)點出現(xiàn)故障或者從故障中恢復。
步驟203,節(jié)點修改自身存儲的表五中與發(fā)生狀態(tài)變化的節(jié)點對應的節(jié)點狀態(tài)數(shù)據(jù)。
如果發(fā)生狀態(tài)變化的節(jié)點是從正常工作狀態(tài)轉為故障狀態(tài),則將該數(shù)據(jù)修改為無效;如果發(fā)生狀態(tài)變化的節(jié)點是從故障狀態(tài)轉為正常工作狀態(tài),則將該數(shù)據(jù)修改為有效。事實上,由于節(jié)點狀態(tài)只能為有效或者無效,因此在實際應用中,節(jié)點在獲知除自身外其他節(jié)點發(fā)生狀態(tài)變化以后,只需要將表五中與發(fā)生狀態(tài)變化的節(jié)點相對應的節(jié)點狀態(tài)數(shù)據(jù)取反即可。
步驟204,節(jié)點接收到下掛于自身的終端發(fā)出的數(shù)據(jù)報文。
步驟205,節(jié)點判斷數(shù)據(jù)報文的目的節(jié)點是否工作正常,如果是則執(zhí)行步驟206,否則執(zhí)行步驟207。
節(jié)點首先從數(shù)據(jù)報文中解析出該數(shù)據(jù)報文的目的終端MAC地址;然后在表四中根據(jù)目的終端MAC地址找到對應的目的節(jié)點索引;接下來再根據(jù)目的節(jié)點索引到表五中找到對應的目的節(jié)點MAC地址和目的節(jié)點的節(jié)點狀態(tài);如果目的節(jié)點的節(jié)點狀態(tài)為有效,則認為目的節(jié)點工作正常,如果目的節(jié)點的節(jié)點狀態(tài)為無效,則認為目的節(jié)點處于故障狀態(tài)。
步驟206,節(jié)點正常發(fā)送該數(shù)據(jù)報文,并且返回執(zhí)行步驟201。
節(jié)點構造一個新的數(shù)據(jù)報文,報文的目的地址是在表五中查到的目的節(jié)點MAC地址,報文的內容就是由終端發(fā)出的數(shù)據(jù)報文。然后節(jié)點根據(jù)表四中查到的選環(huán)數(shù)據(jù)將新構造的數(shù)據(jù)報文通過內環(huán)或者外環(huán)發(fā)送。
步驟207,節(jié)點刪除該數(shù)據(jù)報文,通知發(fā)出該數(shù)據(jù)報文的終端報文發(fā)送失敗,并且返回執(zhí)行步驟201。
如果節(jié)點不具有直接刪除數(shù)據(jù)報文的功能,那么節(jié)點仍然構造一個新的數(shù)據(jù)報文,新報文的目的地址是在表五中查到的目的節(jié)點MAC地址,報文的內容就是由終端發(fā)出的數(shù)據(jù)報文。節(jié)點并且將該新數(shù)據(jù)報文中的生存時間(Time To Live,TTL)設置為一個約定值,例如0,該約定值表示收到該數(shù)據(jù)報文的第一個節(jié)點需要將該數(shù)據(jù)報文丟棄。然后節(jié)點根據(jù)表四中查到的選環(huán)數(shù)據(jù)將新構造的數(shù)據(jù)報文通過內環(huán)或者外環(huán)發(fā)送。這樣該數(shù)據(jù)報文在經過下一個節(jié)點的時候,下一個節(jié)點識別出該數(shù)據(jù)報文的生存時間為設置的約定值,則將該數(shù)據(jù)報文丟棄,不再繼續(xù)轉發(fā)。
以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種網絡拓撲發(fā)生變化時網絡節(jié)點配置信息的處理方法,其特征在于,該方法包括以下步驟步驟A,網絡節(jié)點根據(jù)網絡協(xié)議監(jiān)測除自身外其他節(jié)點的狀態(tài)是否發(fā)生變化,如果是則執(zhí)行步驟B,否則重復執(zhí)行步驟A;步驟B,所述網絡節(jié)點修改本地查詢表中與發(fā)生狀態(tài)變化的節(jié)點相對應的標志位。
2.根據(jù)權利要求1所述網絡拓撲發(fā)生變化時網絡節(jié)點配置信息的處理方法,其特征在于,所述網絡是彈性分組環(huán)網絡。
3.根據(jù)權利要求1所述網絡拓撲發(fā)生變化時網絡節(jié)點配置信息的處理方法,其特征在于,在步驟B中,所述的標志位是節(jié)點狀態(tài)數(shù)據(jù)項,發(fā)生狀態(tài)變化的節(jié)點正常工作時其他節(jié)點將該數(shù)據(jù)項設為有效,發(fā)生狀態(tài)變化的節(jié)點故障時其他節(jié)點將該數(shù)據(jù)項設為無效。
4.根據(jù)權利要求3所述網絡拓撲發(fā)生變化時網絡節(jié)點配置信息的處理方法,其特征在于,步驟B所述修改節(jié)點狀態(tài)數(shù)據(jù)項是將該數(shù)據(jù)項的值求反。
5.根據(jù)權利要求1所述網絡拓撲發(fā)生變化時網絡節(jié)點配置信息的處理方法,其特征在于,該方法進一步包括步驟C,所述網絡節(jié)點根據(jù)查詢表中與發(fā)生狀態(tài)變化的節(jié)點相對應的標志位判斷節(jié)點是否正常工作,如果是則將發(fā)往發(fā)生狀態(tài)變化的節(jié)點的數(shù)據(jù)報文正常發(fā)送,否則將發(fā)往發(fā)生狀態(tài)變化的節(jié)點的數(shù)據(jù)報文刪除。
6.根據(jù)權利要求5所述網絡拓撲發(fā)生變化時網絡節(jié)點配置信息的處理方法,其特征在于,所述將發(fā)往狀態(tài)變化的節(jié)點的數(shù)據(jù)報文刪除是由所述網絡節(jié)點自身直接丟棄。
7.根據(jù)權利要求5所述網絡拓撲發(fā)生變化時網絡節(jié)點配置信息的處理方法,其特征在于,所述將發(fā)往狀態(tài)變化的節(jié)點的數(shù)據(jù)報文刪除包括以下步驟步驟C11,所述網絡節(jié)點構造一個新的數(shù)據(jù)報文包含發(fā)往狀態(tài)變化的節(jié)點的數(shù)據(jù)報文,并將新數(shù)據(jù)報文的生存時間設置為指示下一節(jié)點丟棄數(shù)據(jù)報文的約定值;步驟C12,所述網絡節(jié)點將新構造的數(shù)據(jù)報文通過網絡發(fā)送給自身的相鄰節(jié)點;步驟C13,相鄰節(jié)點收到新數(shù)據(jù)報文后,識別出新數(shù)據(jù)報文的生存時間為所設置的約定值,丟棄收到的新數(shù)據(jù)報文。
8.根據(jù)權利要求7所述網絡拓撲發(fā)生變化時網絡節(jié)點配置信息的處理方法,其特征在于,所述約定值為0。
全文摘要
本發(fā)明公開了一種網絡拓撲發(fā)生變化時網絡節(jié)點配置信息的處理方法,包括步驟A,網絡節(jié)點根據(jù)網絡協(xié)議監(jiān)測除自身外其他節(jié)點的狀態(tài)是否發(fā)生變化,如果是則執(zhí)行步驟B,否則重復執(zhí)行步驟A;步驟B,所述網絡節(jié)點修改本地查詢表中與發(fā)生狀態(tài)變化的節(jié)點相對應的標志位。采用本發(fā)明所提出的處理方法,如果網絡的某個節(jié)點狀態(tài)發(fā)生變化,除該節(jié)點外的其他節(jié)點只需要對自身保存的查詢表做簡單的修改即可實現(xiàn)在源節(jié)點將發(fā)往故障節(jié)點的報文刪除或者重新開始正常發(fā)送發(fā)往該節(jié)點的報文。這樣就避免了占用節(jié)點的大量處理能力來進行修改查詢表的操作,從而間接提高了節(jié)點處理其他任務的能力。
文檔編號H04L12/28GK1859290SQ20051011698
公開日2006年11月8日 申請日期2005年10月28日 優(yōu)先權日2005年10月28日
發(fā)明者高游 申請人:華為技術有限公司