專利名稱:用于控制網絡環境中的信息擴散的系統和方法
技術領域:
本發明一般地涉及通信領域,更具體地說,涉及用于控制網絡環境中 的信息擴散的系統和方法。
背景技術:
通信環境中的聯網體系結構變得日益復雜。這種復雜性導致各種協議 被實現來確保網絡元件感知它們的周圍狀況,并且以高效的方式引導分 組。例如,某些網絡元件可以交換分組,以便彼此指示相鄰網絡元件存在 與否,或者提供分級更新。就此而言,鄰居能夠感知它們的周圍狀況,并 且適當地引導或管理流量。
隨著網絡系統變得更高級,這種信息交換就變得更加繁重。這可能是 由于多種原因導致的,例如,系統中具有大量的網絡元件,或者要在網絡 元件之間交換大量的信令。注意,在某些網絡環境中,共享相同邏輯網段 的一組網絡元件可能并不彼此直接可見。導致這種屏蔽的一些可能的原因 可能包括較低的信號強度、長距離間隔、環境擾動、部分VC網格化
等。在這些場景中, 一些網絡元件或發言者(speaker)(不能直接到達發 送者的那些)可能永遠不能同步它們的信息以使數據被正確地路由。
作為錯誤路由選擇、冗余信令和數據的低效管理的副產品,體系結構 的通信速度和系統性能可能受到限制。此外,由于可以在網絡中交換的信 息的質量壓倒一切,所以帶寬可能受到不必要的限制。在提供有效的網絡 通信時,適當標識出周圍的元件并且考慮其他元件的能力是很關鍵的。因 此,基于現有網絡元件提供最優地路由信息的系統和協議的能力給網絡設 計者、組件制造商和系統管理員帶來了極大的挑戰。
發明內容
從前面所述本領域技術人員可以意識到,需要一種改進的方法,用于 使在網絡環境中分組通信中的信息的擴散最小化。根據本發明一個實施 例,提供了用于控制網絡環境中的信息擴散的系統和方法,該系統和方法 極大地減少了與傳統的分組通信技術相關聯的不利和問題。
根據本發明一個實施例,提供了一種用于在網絡環境中傳輸分組的裝 置,該裝置包括包括第一鄰居列表的第一網絡元件,所述第一網絡元件 耦合到第二網絡元件和第三網絡元件。所述第一網絡元件可工作來接收來 自所述第二網絡元件的第二鄰居列表和來自所述第三網絡元件的第三鄰居 列表。所述第一網絡元件還可工作來在將所述第二和第三鄰居列表與所述 第一鄰居列表相比較后確定出由所述第二和第三鄰居列表提供的一個或多 個重疊,所述第一網絡元件基于所述一個或多個重疊來中繼其接收到的更 新。
本發明的某些實施例可以提供許多技術優點。例如,根據本發明一個 實施例,提供了一種通信方法,該方法允許基于動態網絡信息的中繼判 決,其中動態網絡信息可以在相應的鄰居列表中提供。這種能力可以節約 資源并且減少網絡開銷。這可能是將分組更高效地引導的它們的預期目的 地的能力的結果。此外,這種信息管理技術可以減少需要由給定網絡組件 執行的中央處理單元(CPU)周期的數目,這是由于在重疊廣播域中信息 的本地擴散被最小化了。從而,由于在網絡中被發送的信息少了,所以在 正確處理分組時更少的資源被消耗。另外,網絡流量的減少也可以說在狀 態維護中涉及的路由選擇協議占用更少的帶寬。這在某些類型的網絡中尤 其重要,例如,低速網絡、共享介質網絡等,但是一般對任何分組通信都 有顯。
與本發明的一個實施例相關聯的另一個技術優點涉及故障恢復特性。 一般而言,這種通信體系結構可以提供自動備份功能。即使在不要求中繼 判決的情形中,也可以實現這種可靠性。本發明的某些實施例可以享有這 些優點中的一些、全部或不享有這些優點。從下面的附圖、描述和權利要 求書中,本領域技術人員可以清楚其他技術優點。
為了提供對本發明及其特征和優點的更全面的理解,結合附圖參考下 面的描述,其中類似的標號代表類似的部分,在附圖中
圖1是根據本發明一個實施例用于對網絡環境中的信息擴散進行控制 的通信系統的簡化框圖;以及
圖2是示出了與該通信系統相關聯的一系列示例步驟的簡化流程圖。
具體實施例方式
圖1是用于對網絡環境中的信息擴散進行控制的通信系統10的簡化
框圖。通信系統IO可以包括多個網絡元件12、 14、 16、 18、 20和22。網 絡元件12、 14、 16、 18、 20和22在這里也可以分別稱作網絡元件A-F。 分配給網絡元件12、 14、 16、 18、 20和22的字母標號是任意的,僅用于 教導目的。這些標號絕不應理解為限制它們在可從通信系統10的特征受 益的可能的環境中的能力、功能、或者應用。每個網絡元件12、 14、 16、 18、 20和22都可以具有鏈路狀態數據庫30,鏈路狀態數據庫30包括與周 圍網絡元件相關聯的信息,以及用于在網絡通信的上下文中路由分組的數 據。下面提供與鏈路狀態數據庫30的體系結構和功能相關的其他細節。
圖1可以總地配置或布置為代表能夠在網絡環境中交換分組的任何通 信體系結構。這種配置例如可以包括提供分組交換能力的第一代、2G、 2.5G和3G體系結構。另外,通信系統IO可以包括任意合適的聯網協議或 布置,用于向通信系統IO提供通信平臺。從而,通信系統IO可以包括這 樣的配置,該配置有傳輸控制協議/因特網協議(TCP/IP)通信能力,以在 網絡中發送或接收分組。通信系統10還可以在適當的情況下結合用戶數 據報/IP (UDP/IP)或者任何其他合適的協議工作。
根據本發明的教導,通信系統10提供了一種通信方法,該方法允許 網絡元件A-F利用合適的協議交換信息,使得僅最小量的狀態信息廣播到 每個網絡元件。在某些網絡環境中,通常采用指定的網絡元件或者指定的 中間系統來實現同步。當一臺網絡裝備在網絡上出現時,其將快速確定該 指定的網絡元件(例如,路由器)或指定的鏈路,并且與該對象同步。這
可以實現網絡中的同歩,但是也可能被隱藏的節點問題抑止。
注意,共享相同邏輯網段的一組網絡元件可能不彼此直接可見。這種 缺點的可能原因可能涉及以下方面較低的信號強度、長距離間隔、環境 擾動、部分VC網格化等。在這種網絡上下文中,邏輯網段指由發送半徑 動態確定的本地擴散域。在這種場景中, 一些節點或發言者(不能直接到 達發送者的那些)可能永遠不能同步它們的鏈路狀態數據庫30。為了解決 在這些環境中遇到的同步問題,需要一種機制,通過該機制同一邏輯網段 上的所有節點都可以接收路由選擇信息,而不管它們與源的鄰接狀態。
通信系統10提供了這樣一種機制,該機制確保信息的擴散將到達所 有鄰居,而不考慮網絡的當前狀態。在提供實現了鏈路狀態數據庫與周圍 節點的同步而又不犧牲有價值的帶寬或處理時間的環境的同時,通信系統 10還解決了隱藏節點問題以及其他網絡缺點。通信系統IO可以提供考慮 到網絡拓撲改變的在擴散時間間隔中作出的動態/自適應中繼判決。通信系 統10還可以實現對確認進行智能發送。
出于教導目的,重要的是要理解可以通過網絡以便向任意給定的網絡 元件提供感知信息或路由選擇信息的廣泛的通信。路由選擇協議在它們周 期性發送的鄰居狀態分組中, 一般包括各種類型的鄰居狀態。例如,路由 選擇協議可以包括給定鏈路上的一列已知鄰居,以使附接到該網絡的每個
網絡元件A-F可以確定是否存在自身和發送該分組的網絡元件之間的雙向
連通性。
在更多場景中,盡可能快地感知鄰居存在與否一般也是重要的。因 此,分組可以被傳送到相鄰網絡元件,以便提供路線或系統更新,從而反 映出當前或最近的狀態信息。就此而言,網絡元件僅需知道網絡中的新內 容或已改變的內容。
網絡元件A-F接收到的分組可能是一致的,包括在網絡中存在或不存
在的鄰居的大量列表。鄰居的不存在可以指示已發生一些事情例如,一
些元件已變得不能工作或有故障。網絡元件的存在可以反映出現有的元件
或者已被加入到聯網體系結構的新元件。通信系統10的優化的擴散操作
可能依賴于發言者通告它的所有本地"連接的"鄰居的能力。可以假設通
過利用路由選擇協議分組來實現這種能力。
給定的網絡元件A-F (即,發言者)可以接收來自所有其他相鄰發言 者的路由選擇協議分組。路由選擇協議分組可以包含與發起者相鄰的發言 者的列表(即,鄰居列表,鄰居表或者鄰居數據庫)。本地發言者可以將 每個發言者報告來的鄰居列表與其自己的鄰居列表相比較。如果本地鄰居 列表包含路由選擇更新的發送者不能直接到達的相鄰發言者(g卩,不在發 起者的鄰居列表中的那些發言者),則本地發言者應當基于將在下面全面 描述的算法將該信息中繼到它們。由于可能存在多于一個這樣的發言者, 所以該機制也可以稱作重疊中繼。
一般而言,這種技術是動態的,這是因為判決哪個發言者(或節點) 應當充當中繼是在擴散時確定的,并且是基于當前網絡拓撲的。但是,算 法可以配置為選擇應當首先發送的重疊中繼的集合。該集合可以稱作給定 節點的重疊中繼的"活動"集合。
對于重疊和中繼判決,過程中的第一步驟是,對于每個發言者構造并 傳播它們的鄰居列表。在本發明的示例性實施例中,這種列表可以存儲在
鏈路狀態數據庫30中。在其他場景中,鄰居列表可以存儲在任何適當的
位置或介質中。在其路由選擇協議消息中,發言者可以標識出應當首先發 送的重疊中繼的活動集合,以進一步傳播路由選擇更新。重疊中繼的該活 動集合是與發言者的所有兩跳鄰居對等的直接鄰居的最小集合。其他布置 可以要求單跳、或者三跳或更多跳配置,并且可能基于特定的需求。在僅 用于教導的一個示例實施例中,該選擇算法可以基于在優化鏈路狀態路由
選擇協議(OLSR)中定義的多點中繼(MPR)選擇算法。 一旦網絡元件 已從其所有相鄰對等體接收到鄰居列表,它就可以確定可能存在的重疊。 對是否中繼任何接收到的信息和何時中繼這種信息的判決可能取決于當前 網絡拓撲。這種確定也可以基于節點是否是重疊中繼的活動集合的一部 分。
對于每個相鄰發言者,可以將本地鄰居列表的內容與接收到的列表進 行比較,以根據下面的示例算法作出擴散判決。在下面的示例操作中,網 絡元件A-F被示作路由器。在第一步驟中,接收到的每個鄰居列表包括相 鄰發言者的列表,相鄰發言者的列表包括本地路由器。在比較時可以忽略 本地路由器以及為之進行比較的相鄰路由器(發起者)。在第二步驟中, 如果列表完全重疊(即,兩個列表中的所有組成都相同),則不管節點是 否被標識為相鄰發言者的路由選擇協議消息中的活動重疊中繼,本地路由 器都不應當立即中繼從該相鄰發言者接收到的任何信息。注意,這是因為 從最后接收到來自相鄰發言者的路由選擇協議消息的時候起,拓撲可能已 改變,從而使得節點發送將可能僅導致冗余的發送。
在第三步驟中,如果本地鄰居列表完全包含在所接收到的列表中 (即,本地鄰居列表中的所有組成都出現在所接收到的列表中),則不管 節點是否被標識為相鄰發言者的路由選擇協議消息中的活動重疊中繼,本 地路由器都不應當立即中繼從該相鄰發言者接收到的任何消息。在第四步 驟中,如果本地鄰居列表中的一些組成未出現在所接收到的列表中(非重 疊鄰居),并且節點是相鄰發言者的活動重疊中繼,則路由器可以立即中 繼從該相鄰發言者接收到的任何信息。
在第五步驟中,如果本地鄰居列表中的一些組成未出現在所接收到的 列表中(非重疊鄰居),并且節點不是相鄰發言者的活動重疊中繼,則路
由器可能等待指定量的時間(例如,推遲時間(pushback time)加抖動 (jitter))來判決是否發送。[抖動可以用來避免若干"非活動"重疊中繼 傳播冗余信息。]注意,非活動重疊中繼可能遵從下面給出的確認機制。
在此期間,如果節點確定出它對更新的擴散將僅導致冗余發送,則該 節點可以抑止其發送。否則,節點可以在推遲時間加抖動期滿后發送。在 非活動重疊中繼在其發送定時器期滿前監聽到來自另一個非活動重疊中繼 的覆蓋了其非重疊鄰居的重擴散的情形中,節點可以等待一定量時間(例 如,推遲時間加抖動)來判決是否發送。在此期間,如果節點確定出對更 新的擴散將僅導致冗余發送,則該節點可以抑止其發送。否則,節點可以 在推遲時間加抖動期滿后發送。
在第六步驟中,對于由于發起者重新發送而被接收到的單播路由選擇 更新,節點可以確定其是否已從另一個發言者接收到該路由選擇更新。如 果在其數據庫中已存在該路由選擇更新,則不需執行任何動作,因為在其
最初接收到該路由更新時可能已經采取了適當的措施。但是,如果路由選 擇更新未在其鏈路狀態數據庫30中,則節點可以根據上述規則采取動 作,就像它接收到多播路由選擇更新一樣。
在第七步驟中,比較和判決的結果是邏輯網段上的發言者可以接收所 有路由選擇信息。注意,節點可以通過監聽來自其非重疊鄰居的對路由選 擇更新的確認或者重擴散,從而確定出其進一步擴散更新是否將僅導致冗 余發送。
由于網絡的動態特性,重疊中繼的活動集合在執行中繼判決時可能不 是最新的,或者可能不能執行擴散任務(例如,由于低劣的鏈路質量)。 非活動重疊中繼可以防止這種情形導致數據庫同步問題,數據庫同步問題 可能導致分組丟失。由于信息的發起者、中繼者和接收者都在同一個動態 確定出的邏輯擴散域中,所以中繼可以不改變路由選擇更新信息。 一般而 言,路由選擇更新可以被發送到公共/公知的多播地址。在一些情形中,可 以利用單播來發送路由選擇更新。
從而,如以上提供的工作流程所述,通信系統io提供了一種體系結
構,該體系結構允許中繼判決基于動態網絡信息,該動態網絡信息可以在 相應的鄰居列表中提供。這種能力可以節約網絡資源,并且減少網絡開 銷。這可能是將最小量的分組更有效地引導到它們的預期目的地的能力的 結果。這類信息管理技術可以減少需要由給定網絡組件執行的中央處理單
元(CPU)周期的數目,這是由于在重疊廣播域中信息的本地擴散被最小
化了。從而,由于在網絡中被發送的信息少了,所以在正確處理分組時更 少的資源被消耗。另外,網絡流量的減少也意味著在狀態維護中涉及的路 由選擇協議占用更少的網絡帶寬。這在某些類型的網絡中尤其重要,例 如,低速網絡、共享介質網絡等,但是一般對任何分組通信都有益。通信
系統10還可以在提供自動備份功能時向網絡通信提供故障恢復特性。即
使在不要求中繼判決的情形中,也可以實現這種可靠性。
通信系統10還能夠執行確認的智能發送。為了使鏈路上的帶寬利用
最優,發言者可以執行以下與確認發送相關的步驟。首先,確認可以被發 送向公知的多播地址。其次,路由選擇更新可由所有相鄰發言者確認。在
中繼的信息的情形中,中繼可能僅期望來自先前尚未對發送進行確認的對 等體的明確或隱含確認。如果下層協議的重發送過程存在的話,則可以遵 從該重發送。
第三,由于路由選擇更新被發送向公知的多播地址,重疊發言者的集 合通常可能多于一次接收到相同的更新。發言者應當僅對在鏈路上接收到 的第一次更新進行確認。第四,活動重疊中繼不應當明確確認其正中繼的 信息。被中繼的信息可以充當對發送者的確認。如果沒有信息正被中繼, 則可以發送明確的確認。
第五,若干個確認可以被捆綁到單個分組中。但是,在發送一個這樣 的分組之前的等待(確認時間) 一般應當比推遲時間減傳播延遲短(即, [(確認時間+傳播延遲) <推遲時間])。捆綁操作可以減少對多個路由選 擇更新進行確認時所要求的分組發送的數目。第六,所有的確認分組都應 當重置接收方處的死亡定時器和發送方處的路由選擇協議定時器。從非重 疊發言者接收到的確認應當防止另一個重疊中繼到它的冗余信息發送。
注意,利用上述示例,以及這里提供的許多其他示例,描述了兩個、 三個、或者四個網絡元件的交互。但是,這僅是為了示例和清楚。在某些 情形中,可以僅參考有限數量的網絡元件,容易地描述給定的一組流程中
的一個或多個功能。應當意識到通信系統10 (及其教導)是易于擴展的,
并且可以容納大量的組件,以及更復雜/高級的布置和配置。因此,所提供
的示例不應當限制通信系統10的范圍,或者約束通信系統10的寬廣的教 導,因為通信系統10可能應用到大量其他體系結構。
考慮到協議,上述機制參考公共介質網段上的中繼操作。因此,可以 通過接收到信息的同一個接口將該信息中繼出去。在被中繼時該信息一般 不被修改。
對于鏈路狀態協議,信息中繼的原理可以被擴展到擴散在任何接口上 接收到的(以及在任何其他接口上轉發的)所有鏈路狀態通告。鏈路狀態
協議在這樣的前提上工作路由選擇域中的所有節點都將接收到全部路由 選擇信息。在每個發言者都在所有接口上通告它的所有相鄰鄰居的情形 中,(上述)重疊檢查可以導致確定出與兩個發言者都相鄰的那些發言
者。結果,鏈路狀態信息可以僅被擴散到非重疊鄰居(考慮到所有接 □)。
重疊中繼機制的意圖是對路由選擇信息的擴散進行優化。然而,利用 相同的機制也可以在某些網絡中中繼其他信息(例如,數據)。具體而 言,利用距離向量協議的網絡可以利用這樣的路徑下一跳不通過該路徑 相鄰,但是更新通過該路徑被接收。在這種情形中,接收方可以基于信息 被中繼這一事實來影響接收到的任何更新的成本/度量。
在本示例實施例中,網絡元件A-F是路由器;但是,在適當的情況下 并且根據具體應用,網絡元件A-F也可以是其他合適的設備。例如,網絡 元件A-F可以是交換機、網關、網橋、負載均衡器、防火墻、或者可工作 來在網絡環境中交換信息的任何其他合適的設備、組件、元件或對象。另
外,網絡元件A-F可以包括任何合適的硬件、軟件、組件、模塊、接口、
或者幫助它們操作的對象。這可以包括允許有效地交換數據和信息的合適 算法和通信協議。在示例實施例中,更新和路由選擇信息可以利用路由選
擇協議分組來交換。在替換實施例中,網絡元件A-F可以利用用于指示周 圍或相鄰的網絡元件存在與否的任何合適的通信協議。注意,術語"相 鄰"和"周圍"都反映寬廣的含義,在本文檔中可以交換使用。這些術語 表示感知概念,因為其涉及任何組件、設備或元件存在與否。
鏈路狀態數據庫30可以包括在網絡元件A-F中。在其他實施例中, 鏈路狀態數據庫30可以在網絡元件A-F的外部被提供,或者被統一起來 以使單個鏈路狀態數據庫30服務多個網絡元件。鏈路狀態數據庫30是存 儲器元件,用于存儲要由相應的網絡元件A-F參考的信息。在本文檔中使 用的術語"鏈路狀態數據庫"包括任何合適的數據庫或存儲介質(以任何 合適的格式提供),這些數據庫或存儲介質能夠維護與網絡元件A-F的路 由選擇和/或處理操作相關的信息。例如,鏈路狀態數據庫30可以在表或 隊列中存儲這樣的信息。或者,鏈路狀態數據庫30可以將這樣的信息保 持在任何合適的隨機訪問存儲器(RAM)、只讀存儲器(ROM)、可擦 可編程ROM (EPROM)、電可擦PROM (EEPROM)、專用集成電路 (ASIC)、軟件、硬件中,或者在合適的情況下并且基于具體需求保持在
任何其他合適的組件、設備、元件或對象中。注意,這里所述的鄰居列表 也滿足這種靈活性。因此,其可以被提供在任何上面標識出的可能的存儲 元件中(或者上面討論的在外部提供的可能的存儲元件中)。鄰居列表也 可以被包括在鄰居表中或者鄰居數據庫中,或者在合適的情況下被其替 代。
圖2是示出了與下述方法相關聯的一系列示例步驟的簡化流程圖,該 方法用于控制在通信系統10內的信息擴散。例如,圖2代表了從網絡元
件A來看的示例操作。在這種配置中,以及參考圖l-2描述的其他配置
中,相應的網絡元件可以適當地配備有接收狀態(接口)、發送狀態(接 口)、和/或可工作來實現相應網絡元件的操作的任何合適的算法、軟件、 硬件、模塊、對象或元件。
該流程圖開始于步驟100,在該步驟中網絡元件A被添加到網絡,并 且試圖與其鄰居同步。在步驟102中,網絡元件A可接收到來自網絡元件 B、 C和F的鄰居列表。網絡元件A可以將該信息存儲到其鏈路狀態數據 庫30中,并且類似地檢索其自己的鄰居列表。在這種示例場景中,在步 驟104中,網絡元件A可以容易地識別出網絡元件F不與除了網絡元件A 之外的任何其他網絡元件相鄰。另外,還可以獲知網絡元件B和C連接到 網絡元件D。從而,網絡元件C和網絡元件B中被選的一個可以容易地與 網絡元件D通信來進行同步。另外,網絡元件C可以將信息中繼到網絡元 件E,如圖1中的示例配置所示。
步驟106和108協作,以便分別創建活動集合和執行中繼任務。從 而,在步驟106中,網絡元件A可以確定出哪些鄰居應當充當活動中繼, 并且傳播/重擴散接收到的分組。可以調用算法來確定哪組鄰居是重疊中 繼。如果確定出將信息一次發送到兩個鄰居將實現由網絡元件A維護的對
等體列表的所有成員接收到更新,則這種信令將會是對必須向對等體列表 中的每個成員直接廣播信令的改進。
對于該示例,該算法可以確保所有的兩跳(即,離發送節點兩跳或者 兩個節點的距離)鄰居接收到由網絡元件A發布的更新。這可以通過對兩 跳鄰居相對一跳鄰居或者直接連接的對等體進行檢查實現。現在,每次網 絡元件A擴散一些內容時(即,每次網絡元件A后的網絡發生改變,使得 網絡元件A接收到鏈路狀態更新并將該鏈路狀態更新發送到其鄰居時),
網絡元件A都識別出這種消息應當被傳輸到網絡元件C (或者網絡元件 B)和網絡元件F。這種識別在步驟108中反映出,從而正確地執行了中 繼任務。
實質上,盡可能少地發送并且仍到達所有的對等體是有益的。因此, 在試圖使網絡元件A的發送數量最小化同時仍確保到達所有鄰居時存在壓 力和權衡。在這種場景中可以假設在到達所有兩跳鄰居時,到達了對等列 表中的所有成員。這是由于所有的接收網絡元件都執行類似的操作,使得 它們到達它們的兩跳鄰居。 一般而言,通過在整個網絡中實現這種協議, 可以實現指數增加。
網絡元件A的同步努力在鄰接協議被執行時(例如,在網絡設備之間 交換路由選擇協議分組)可以被最初觸發。當網絡A加入時,其可以與網 絡元件B和C交換鄰居列表。網絡元件A可以調用算法以便標識出發送 給(例如)網絡元件C的任何內容都將被網絡元件B、 D和E接收到。但 是,由于網絡元件F不與網絡元件B、 C、 D或E相鄰,所以其也可以從 網絡元件A接收到獨立的信號。
重要的是要注意到圖2中的步驟僅示出了可由通信系統10執行或者 可在通信系統10中執行的一些可能的步驟。在合適的情況下,這些步驟 中的一些可以被刪除或移除,或者這些步驟可以被相當程度上修改或改 變,而不脫離本發明的范圍。另外,這些操作中的許多被描述為與一個或 多個其他操作并發(或者并行)執行。但是,這些操作的定時可以在相當 大程度上被改變。前面提供的操作流程是出于示例和討論目的。通信系統 10提供了實質上的靈活性,因為可以提供任何合適的布置、時序、跳配置 和定時機制,而不脫離本發明的教導。
在另一個用于說明通信系統10的教導的示例場景的上下文中,活動 和備份中繼可以按照以下方式工作。網絡元件A可以在網絡元件A的路由 選擇協議分組(例如,利用HELLO分組)中將網絡元件C指定為活動重 疊中繼。在網絡元件A發起可能由本地拓撲改變導致的更新時,網絡元件
A可以將該信息擴散出。當網絡元件C接收到來自網絡元件A的分組時,
其理解其是活動中繼。另外,網絡元件C具有不在網絡元件A的鄰居列表 中的鄰居(在一個示例中是網絡元件D和網絡元件E)。從而,其將立即
中繼分組。
在備用場景的情形中,假設網絡元件C和網絡元件D之間的鏈路斷 裂,或者網絡元件C不工作。在這種場景中,網絡元件D永遠無法得到網 絡元件C中繼的分組。在網絡元件B等待給定的時間間隔(例如,推遲時 間+抖動)后,由于網絡元件B總接收不到來自網絡元件D的關于該分組 的明確/隱含的確認消息,網絡元件B可以將該分組中繼到網絡元件D。該 組操作示出了被正確執行的示例的備用過程。
盡管已參考特定布置和配置詳細描述了本發明,但是這些示例配置和 布置可以被顯著改變,而不脫離本發明的范圍。例如,盡管己參考涉及路 由選擇協議分組的特定通信交換描述了本發明,但是通信系統IO可適用 于其他交換、路由選擇協議、或者路由的協議,其中分組(不一定是這里 所述的路由選擇協議分組)被交換,以便提供路由選擇更新或感知信息。 此外,通信系統10還可以適用于以下網絡中的任何合適的元件或組件, 所述網絡尋求通過任何通信協議來標識出路由選擇路徑的最優集合并且感 知到其鄰居設備。從而,其中需要傳輸狀態信息(可以以增量方式)、以 及其中同步可能有益的任何應用可以受益于通信系統10的教導。
另外,盡管己參考幫助實現通信過程的特定元件和操作說明了通信系 統10,但是可以用實現通信系統10的預期功能的任何適當的體系結構或 過程替換這些元件和操作。另外,外部組件或模塊可以被定位在每個網絡 元件A-F的前面,以便提供這里所述的一個或多個操作。另外,網絡元件 A-F可能能夠執行除了參考圖1-2所述的那些操作之外的大量其他操作。 本發明在網絡元件A-F的放置、定位、配置和操作方面預期具有可觀的靈 活性。
本領域技術人員可以確認大量其他改變、替代、變動、變化和修改, 并且本發明是要包括所有這些改變、替代、變動、變化和修改,只要它們 落入到所附權利要求書的范圍內。為了幫助美國專利商標局(USPTO)和 針對本申請授予的任何專利的讀者解釋這里所附的權利要求,申請人希望 注意到申請人(a)不是要因為所附權利要求書中的任意權利要求在提
交日存在就要求援引美國專利法35 U.S.C 112條第6 (6)款,而是只有在 詞語"用于xxx的裝置"或"用于XXX的步驟"專門用在具體的權利要求 中時才要求援引該法條;以及(b)說明書中的任何陳述都不是要以未在 所附權利要求書中另行反映出的任何方式限制本發明。
權利要求
1.一種用于在網絡環境中傳輸分組的裝置,包括包括第一鄰居列表的第一網絡元件,所述第一網絡元件耦合到第二網絡元件和第三網絡元件,所述第一網絡元件可工作來接收來自所述第二網絡元件的第二鄰居列表和來自所述第三網絡元件的第三鄰居列表,其中所述第一網絡元件還可工作來在將所述第二和第三鄰居列表與所述第一鄰居列表相比較后確定出由所述第二和第三鄰居列表提供的一個或多個重疊,所述第一網絡元件基于所述一個或多個重疊來中繼其接收到的更新。
2. 如權利要求1所述的裝置,其中,所述第一網絡元件包括可工作來 存儲所述第一鄰居列表的鏈路狀態數據庫。
3. 如權利要求1所述的裝置,其中,如果所述第一鄰居列表和所述第 二鄰居列表完全重疊,則所述第一網絡元件在從所述第二網絡元件接收到 所述更新時不中繼所述更新。
4. 如權利要求1所述的裝置,其中,所述更新在路由選擇協議分組中 提供,所述路由選擇協議分組包括與所述更新相關聯的起源。
5. 如權利要求1所述的裝置,其中,如果所述第一鄰居列表與所述第二鄰居列表不完全重疊,并且所述第一網絡元件被指定為活動的,則所述 第一網絡元件在從所述第二網絡元件接收到所述更新時中繼所述更新。
6. 如權利要求1所述的裝置,其中,如果所述第一鄰居列表與所述第 二鄰居列表不完全重疊,并且所述第一網絡元件被指定為不活動的,則所 述第一 網絡元件在確定是否中繼所述更新之前等待選定的時間間隔。
7. 如權利要求6所述的裝置,其中,所述選定的時間間隔基本等于推 遲時間加抖動時間。
8. 如權利要求1所述的裝置,其中,如果所述第一網絡元件確定出其 對所述更新的中繼將導致冗余發送,則所述第一網絡元件將抑止對所述更 新的中繼。
9. 如權利要求1所述的裝置,其中,所述第一網絡元件可工作來通過 收集與確認和重擴散中被選的一個相關聯的數據,來確定其對所述更新的 中繼是否將導致冗余發送,所述確認和重擴散二者都與所述更新相關聯, 并且所述確認和重擴散由一個或多個非重疊鄰居傳輸。
10.如權利要求1所述的裝置,其中,所述第一網絡元件包括可工作 來在將所述第二和第三鄰居列表與所述第一鄰居列表相比較后確定出由所 述第二和第三鄰居列表提供的一個或多個重疊的算法,所述算法被調用以 便確定所述第一網絡元件是否應當中繼其接收到的所述更新。
11. 一種用于在網絡環境中傳輸分組的方法,包括包括第一鄰居列表的第一網絡元件接收來自第二網絡元件的第二鄰居 列表和來自第三網絡元件的第三鄰居列表;以及在將所述第二和第三鄰居列表與所述第一鄰居列表相比較后確定出由 所述第二和第三鄰居列表提供的一個或多個重疊,所述第一網絡元件基于 所述一個或多個重疊來中繼其接收到的更新。
12. 如權利要求11所述的方法,還包括將所述第一鄰居列表存儲到在所述第一網絡元件中提供的鏈路狀態數 據庫中。
13. 如權利要求11所述的方法,其中,如果所述第一鄰居列表和所述 第二鄰居列表完全重疊,則所述第一網絡元件在從所述第二網絡元件接收 到所述更新時不中繼所述更新。
14. 如權利要求11所述的方法,其中,如果所述第一鄰居列表與所述第二鄰居列表不完全重疊,并且所述第一網絡元件被指定為活動的,則所 述第一網絡元件在從所述第二網絡元件接收到所述更新時中繼所述更新。
15. 如權利要求11所述的方法,其中,如果所述第一鄰居列表與所述 第二鄰居列表不完全重疊,并且所述第一網絡元件被指定為不活動的,則 所述第一網絡元件在確定是否中繼所述更新之前等待選定的時間間隔。
16. 如權利要求15所述的方法,其中,所述選定的時間間隔基本等于 推遲時間加抖動時間。
17. 如權利要求11所述的方法,其中,如果所述第一網絡元件確定出 其對所述更新的中繼將導致冗余發送,則所述第一網絡元件將抑止對所述 更新的中繼。
18. 如權利要求11所述的方法,還包括通過收集與確認和重擴散中被選的一個相關聯的數據,確定所述第一 網絡元件對所述更新的中繼是否將導致冗余發送,所述確認和重擴散二者 都與所述更新相關聯,并且所述確認和重擴散由一個或多個非重疊鄰居傳 輸。
19. 一種用于在網絡環境中傳輸分組的系統,包括用于接收來自第一網絡元件的第一鄰居列表和來自第二網絡元件的第 二鄰居列表的裝置;以及用于在將所述第一和第二鄰居列表與第三鄰居列表相比較后確定出由 所述第一和第二鄰居列表提供的一個或多個重疊的裝置,第三網絡元件基 于所述一個或多個重疊來中繼其從所述第一網絡元件接收到的更新。
20. 如權利要求19所述的系統,還包括用于將所述第三鄰居列表存儲到所述第三網絡元件的裝置。
21. 如權利要求19所述的系統,其中,如果所述第一鄰居列表和所述第三鄰居列表完全重疊,則所述第三網絡元件在從所述第一網絡元件接收 到所述更新時不中繼所述更新。
22. 如權利要求19所述的系統,其中,如果所述第一鄰居列表與所述 第三鄰居列表不完全重疊,并且所述第三網絡元件被指定為活動的,則所 述第三網絡元件在從所述第一網絡元件接收到所述更新時中繼所述更新。
23. 如權利要求19所述的系統,其中,如果所述第一鄰居列表與所述 第三鄰居列表不完全重疊,并且所述第三網絡元件被指定為不活動的,則 所述第三網絡元件在確定是否中繼所述更新之前等待選定的時間間隔。
24. 如權利要求19所述的系統,其中,如果所述第三網絡元件確定出 其對所述更新的中繼將導致冗余發送,則所述第三網絡元件將抑止對所述 更新的中繼。
25. 如權利要求19所述的系統,還包括用于通過收集與確認和重擴散中被選的一個相關聯的數據,來確定所 述第三網絡元件對所述更新的中繼是否將導致冗余發送的裝置,所述確認 和重擴散二者都與所述更新相關聯,并且所述確認和重擴散由一個或多個非重疊鄰居傳輸。
26. —種包含用于在網絡環境中傳輸分組的軟件的計算機可讀介質, 所述軟件包括在被執行時可工作來執行以下過程的計算機代碼接收來自第一網絡元件的第一鄰居列表和來自第二網絡元件的第二鄰 居列表;以及在將所述第一和第二鄰居列表與第三鄰居列表相比較后確定出由所述 第一和第二鄰居列表提供的一個或多個重疊,第三網絡元件基于所述一個 或多個重疊來中繼其從所述第一網絡元件接收到的更新。
27. 如權利要求26所述的介質,其中所述代碼還可工作來執行以下過程將所述第三鄰居列表存儲到在所述第三網絡元件中提供的鏈路狀態數 據庫中。
28. 如權利要求26所述的介質,其中,如果所述第一鄰居列表和所述 第三鄰居列表完全重疊,則所述第三網絡元件在從所述第一網絡元件接收 到所述更新時不中繼所述更新。
29. 如權利要求26所述的介質,其中,如果所述第一鄰居列表與所述 第三鄰居列表不完全重疊,并且所述第三網絡元件被指定為活動的,則所 述第三網絡元件在從所述第一網絡元件接收到所述更新時中繼所述更新。
30. 如權利要求26所述的介質,其中,如果所述第一鄰居列表與所述 第三鄰居列表不完全重疊,并且所述第三網絡元件被指定為不活動的,則 所述第三網絡元件在確定是否中繼所述更新之前等待選定的時間間隔。
31. 如權利要求26所述的介質,其中,如果所述第三網絡元件確定出 其對所述更新的中繼將導致冗余發送,則所述第三網絡元件將抑止所述更 新的中繼。
32. 如權利要求26所述的介質,其中,所述代碼還可工作來執行以下過程通過收集與確認和重擴散中被選的一個相關聯的數據,來確定所述第 三網絡元件對所述更新的中繼是否將導致冗余發送,所述確認和重擴散二 者都與所述更新相關聯,并且所述確認和重擴散由一個或多個非重疊鄰居 傳輸。
全文摘要
本發明提供了一種用于在網絡環境中傳輸分組的裝置,該裝置包括包括第一鄰居列表的第一網絡元件,該第一網絡元件耦合到第二網絡元件和第三網絡元件。第一網絡元件可工作來接收來自第二網絡元件的第二鄰居列表和來自第三網絡元件的第三鄰居列表。第一網絡元件還可工作來在將第二和第三鄰居列表與第一鄰居列表相比較后確定出由第二和第三鄰居列表提供的一個或多個重疊,該第一網絡元件基于這一個或多個重疊來中繼其接收到的更新。
文檔編號H04J14/00GK101341682SQ200580001386
公開日2009年1月7日 申請日期2005年1月12日 優先權日2004年1月21日
發明者大衛·A·庫克, 拉塞爾·I·懷特, 義 楊, 阿爾維勒·E·里塔納, 馬達威·W·錢德拉 申請人:思科技術公司