TWI500295B - 鏈結狀態識別碼衝突處理 - Google Patents

鏈結狀態識別碼衝突處理 Download PDF

Info

Publication number
TWI500295B
TWI500295B TW099127803A TW99127803A TWI500295B TW I500295 B TWI500295 B TW I500295B TW 099127803 A TW099127803 A TW 099127803A TW 99127803 A TW99127803 A TW 99127803A TW I500295 B TWI500295 B TW I500295B
Authority
TW
Taiwan
Prior art keywords
route
lsid
host
routes
ospf
Prior art date
Application number
TW099127803A
Other languages
English (en)
Other versions
TW201138377A (en
Inventor
Wenhu Lu
Uma Chunduri
Alfred C Lindem
Original Assignee
Ericsson Telefon Ab L M
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Publication of TW201138377A publication Critical patent/TW201138377A/zh
Application granted granted Critical
Publication of TWI500295B publication Critical patent/TWI500295B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/03Topology update or discovery by updating link state protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

鏈結狀態識別碼衝突處理
本發明實施例係關於鏈結狀態路由協定領域;且更特定而言,係關於在鏈結狀態指派期間對鏈結狀態識別碼衝突之處理。
當識別鏈結狀態公告(LSA)時,諸如開放式最短路徑優先(OSPF)之鏈結狀態路由協定(例如,如1998年4月,RFC 2328中所定義)使用鏈結狀態識別碼(LSID)作為密鑰。分享同一LSID之不同路由之LSA可造成包括一不正確拓撲視圖、資料映射問題、多個路由指向同一LSA等各種問題。
對於大多數路由,給與每一路由相關聯之LSA指派一相當於彼路由之網路位址之LSID。一路由之網路位址係藉由對路由首碼及路由掩碼執行一逐位元與運算而計算出。舉例而言,因路由[10.0.0.0,255.255.0.0]之網路位址為10.0.0.0,因此通常給彼路由之LSA指派一LSID值10.0.0.0。
雖然具有同一首碼之路由在其掩碼不同之情況下被視為不同,但彼等路由之網路位址可相同。舉例而言,路由[10.0.0.0,255.255.0.0]與[10.0.0.0,255.255.255.0]不同但是分享同一網路位址10.0.0.0。因此,與此等路由相關聯之LSA之LSID將衝突。在這種情況下,RFC 2328闡述一嘗試給彼等路由之LSA指派不同LSID之演算法(該演算法指定於RFC 2328之附錄E中)。RFC 2328中之LSID衝突處理演算法選擇具有較長掩碼之路由並對彼掩碼執行一逐位元非運算,對彼結果與路由首碼執行一逐位元或運算,並將結果指派為LSID。舉例而言,使用上面兩個路由,選擇路由[10.0.0.0,255.255.255.0],將對掩碼255.255.255.0之逐位元非運算之結果(其等於0.0.0.255)與路由首碼10.0.0.0進行逐位元或運算以產生一隨後指派為彼路由之LSA之LSID之值10.0.0.255。給未被選擇之路由指派一相當於該網路位址之LSID。
RFC 2328中所述之LSID衝突處理演算法在衝突路由中之一者係一主機路由時不正確地處理LSID衝突。一主機路由係一具有一主機掩碼之路由(例如,255.255.255.255)。舉例而言,考量具有相同網路位址(10.0.0.0)之路由[10.0.0.0,255.255.255.0]及[10.0.0.0,255.255.255.255]。根據RFC 2328之LSID衝突處理演算法,選擇路由[10.0.0.0,255.255.255.255](其係一主機路由),將對掩碼255.255.255.255之逐位元非運算之結果(其等於0.0.0.0)與路由首碼10.0.0.0進行逐位元或運算以產生一隨後指派為彼路由之LSA之LSID之值10.0.0.0。因此,使用RFC 2328之LSID衝突處理演算法,該等不同路由[10.0.0.0,255.255.255.0]及[10.0.0.0,255.255.255.255]將具有分享同一LSID 10.0.0.0之LSA。因此,RFC 2328中所述之LSID衝突處理演算在應用於主機路由時導致不同路由之LSA分享同一LSID從而可引起上文所述之問題。
闡述用於一網路元件之方法及裝置,該網路元件用以處理LSID衝突以防止與不同路由相關聯的不同LSA分享同一LSID。根據本發明之一個實施例,該網路元件在一LSID指派程序期間針對一第一路由產生一試驗性LSID。該網路元件確定該試驗性LSID之值已經指派給一第二路由,且該第一路由或該第二路由係一主機路由,其中該主機路由具有一主機路由掩碼且該第一與第二路由不同。回應於確定該第一路由係該主機路由,抑制該第一路由以防止該第一與第二路由之間之一LSID衝突包括不針對該第一路由發起一LSA。回應於確定該第二路由係該主機路由,抑制該第二路由以防止該第一與第二路由之間之一LSID衝突包括清除該第二路由之一LSA,並發起第一路由之一具有指派給該第二路由之LSID的LSA。儘管抑制該主機路由,但經由並不是該主機路由的路由提供包含該主機路由之範圍的網路可達性。若在該主機路之前取消可能具有一與該主機路由之LSID衝突的路由,則解除抑制該主機路由,並自動針對具有先前指派給另一路由之LSA之LSID的主機路由發起一LSA。
根據本發明之另一個實施例,一客戶端網路元件經由OSPF協定將OSPF路由分佈至一第一機房端網路元件,其中該等OSPF路由中的至少一些路由係主機路由,其中一主機路由係一具有一主機路由掩碼的路由。該第一機房端網路元件經由邊界閘道協定(BGP)將該等OSPF路由分佈至一第二機房端網路元件。該第一機房端網路元件包括一實施該OSPF協定並產生LSA且給該等LSA指派LSID的OSPF模組。在LSID指派期間,該OSPF模組抑制該等OSPF路由中係原本具有一具有與其他LSA衝突之LSID之對應LSA之主機路由的彼等路由。抑制該等OSPF路由包括移除與受抑制主機路由相關聯的LSA,且不針對該等受抑制主機路由發起LSA。儘管不針對彼等受抑制主機路由發起LSA,但經由與具有一與彼主機路由衝突之LSID之LSA相關聯的路由,對每一受抑制主機路由提供網路可達性。當在每一受抑制主機路由之前取消與可能具有與該主機路由相同之LSID之LSA相關聯的路由時,解除抑制彼受抑制主機路由,並自動針對彼被解除抑制的主機路由,發起一具有先前指派給另一路由之LSA之LSID的LSA。
根據本發明之另一個實施例,一種用於處理LSID衝突之網路元件包括一用以維持一鏈結狀態資料庫(LSDB)並產生包括LSID之LSA的OSPF模組。在LSA之LSID指派期間,該OSPF模組基於路由之網路首碼及路由掩碼來給彼等路由之LSA指派LSID,抑制該等路由中原本具有一具有與一不同路由相關聯之不同LSA之一LSID衝突之LSID之對應LSA之主機路由的彼等路由。抑制彼等路由包括移除與該等受抑制主機路由相關聯之LSA,且不針對該等受抑制主機路由發起LSA。儘管不針對彼等受抑制主機路由發起LSA,但經由與具有一與彼主機路由衝突之LSID之LSA相關聯的路由,對每一受抑制主機路由提供網路可達性。當在每一受抑制主機路之前取消與可能具有與該主機路由相同之LSID之LSA相關聯的路由時,解除抑制彼受抑制主機路由,並自動針對彼被解除抑制的主機路由,發起一具有先前指派給另一路由之LSA之LSID的LSA。
因此防止包括主機路由之不同路由發起分享同一LSID之LSA同時甚至在受抑制主機路由存在之情形下該等路由中之每一者亦可達到。當在一受抑制主機路由之前取消一與一具有一會與彼受抑制主機路由之一LSA衝突之LSID之LSA相關聯之路由時,解除抑制彼受抑制主機路由並針對彼主機路由發起一具有指派給另一路由之LSA之LSID之LSA。
在以下說明中,列舉了大量具體細節。然而,應瞭解,可在沒有這些具體細節的情況下實踐本發明的實施例。在其他示例中,為不掩蓋對本說明的瞭解,未詳細顯示眾所周知的電路、結構及技術。熟習此項技術者根據隨附說明將能夠在沒有不當實驗之情況下實施適當之功能性。
說明書中提及之「一個實施例」、「一實施例」、「一實例性實施例」等指示所述實施例可包括一特定特徵、結構或特性,但各實施例可能未必包括該特定特徵、結構或特性。而且,此等片語未必係指同一個實施例。此外,在結合一實施例闡述一特定特徵、結構或特性時,據認為無論是否明確闡述,結合其他實施例實施此特徵、結構或特性在熟習此項技術者所能瞭解範圍內。
在以下說明及/或申請專利範圍中,可使用措詞「經耦合」及「經連接」、以及其派生詞。應瞭解,此等措詞並非旨在為彼此之同義詞。「經耦合」用於指示彼此既可進行亦可不進行直接實體或電接觸之兩個或兩個以上元件。「經連接」用於指示在彼此耦合之兩個或兩個以上元件之間建立通信。
該等圖式中所示之技術可使用儲存並執行於一個或多個電子器件(例如,一端站、一網路元件等等)上之碼及資料來實施。此等電子器件使用諸如機器可讀儲存媒體(例如,磁碟;光碟;隨機存取記憶體;唯讀記憶體;快閃記憶體器件;相位變化記憶體)及機器可讀通信媒體(例如,電、光、聲或其他形式之傳播信號-諸如載波、紅外信號、數位信號等等)之機器可讀媒體來儲存並通信(在內部及/或藉由一網路與其他電子器件)碼及資料。另外,此等電子器件通常包括一組耦合至一個或多個其他組件(諸如一個或多個儲存器件、使用者輸入/輸出器件(例如,一鍵盤、一觸控螢幕及/或一顯示器)及網路連接)之一個或多個處理器。該組處理器與其他組件之耦合通常係經由一個或多個匯流排及橋接器(亦稱作匯流排控制器)。攜載網路訊務之儲存器件及信號分別表示一個或多個機器可讀儲存媒體及機器可讀通信媒體。因此,一給定電子器件之儲存器件通常儲存碼及/或資料供在彼電子器件之該組一個或多個處理器上執行之用。當然,本發明之一實施例之一個或多個部分可使用軟體、韌體及/或硬體之不同組合來實施。
如本文中所使用,一網路元件(例如,一路由器、交換器、橋接器等等)係一件以通信方式互連該網路上之其他設備(例如,其他網路元件、端站等等)之聯網設備,包括硬體及軟體。一些網路元件係對多重聯網功能(例如,路由、橋接、交換、第二層聚集、對話邊界控制及/或用戶管理)提供支援及/或對多重應用服務(例如,資料、語音及視訊)提供支撐之「多重服務網路元件」。用戶端站(例如,伺服器、工作站、膝上型電腦、掌上型電腦、行動電話、智慧型電話、多媒體電話、網際網路語音協定(VOIP)電話、可攜式媒體播放器、GPS單元、遊戲系統、機上盒等等)存取藉由網際網路所提供之內容/服務及/或藉由網際網路上所覆蓋之虛擬專用網路(VPN)提供之內容/服務。內容及/或服務通常由屬於參與對等服務之服務或內容提供商或端站之一個或多個端站(例如,伺服器端站)提供,且可包括公用網頁(免費內容、店面、檢索服務等等)、專用頁面(例如,提供電子郵件服務之使用者名稱/密碼存取網頁等等)、藉由VPN之公司網路、等等。通常,用戶端站耦合(例如,經由耦合至一存取網路(有線或無線)之客戶前提設備)至邊緣網路元件,該等邊緣網路元件耦合(例如,經由一個或多個核心網路元件)至其他邊緣網路元件,該等其他邊緣網路元件耦合至其他端站(例如,伺服器端站)。
通常,一網路元件包括一組一個或多個線卡、一組一個或多個控制卡、及視需要一組一個或多個服務卡(有時稱作資源卡)。此等卡經由一種或多種機制(例如,一耦合該等線卡之第一全網格及一耦合所有該等卡之第二全網格)耦合在一起。該組線卡構成資料平面,而該組控制卡提供控制平面且經由該等線卡與外部網路元件交換封包。該組服務卡可提供專門處理(例如,第四層至第七層服務(例如,防火牆、IPsec、IDS、P2P)、VoIP對話邊界控制器、行動無線閘道器(GGSN,演化封包系統(EPS)閘道器),等等)。以實例方式,一服務卡可用於終接IPsec隧道並執行附帶驗證及加密演算法。
闡述一種用於處理LSID衝突之方法及裝置。在本發明之一個實施例中,抑制其LSA將具有一與不同路由之LSID衝突之主機路由以使得不發起及/或自一鏈結狀態資料庫(LSDB)清除彼等主機路由之LSA。抑制彼此主機路由防止多個不同路由具有分享同一LSID之LSA。因此,可避免可能出現之針對不同路由發起具有同一LSID之LSA之問題(例如,一不正確拓撲、資料完整性問題、訊務黑洞、軟體崩潰等等)。
在一個實施例中,每一受抑制主機路由與其LSA具有會與會指派給該受抑制主機路由之LSA之LSID衝突之LSID之路由相關聯。回應於在該受抑制主機路由之前取消彼另一路由,解除抑制該主機路由並以指派給彼另一路由之LSA之LSID發起一LSA。
圖1係一圖解說明一根據本發明之一個實施例之實例性網路100之方塊圖。如圖1中所圖解說明,網路100包括與網路元件120耦合(直接或間接)之用戶端站110A至110N。網路元件120在網路100中充當一自治系統邊界路由器(ASBR)。網路元件120可經由在網路元件120上至OSPF中之路由再分佈自用戶端站110A至110N獲悉主機路由及/或主機路由可靜態組態於網路元件120上(其通常亦經由路由再分佈提供至OSPF)。儘管未圖解說明,但網路元件120亦獲悉除指派給用戶端站110A至110N之主機路由以外之路由。
網路元件120將包括主機路由之所獲悉路由公佈至OSPF域中(例如,至正在網路100中充當一區域邊界路由器(ABR)之網路元件130)。舉例而言,網路元件120可將指派給用戶端站110A至110N之主機路由及對應於自其分配主機路由之集用池之路由。在一個實施例中,網路元件120使用OSPF 5型LSA(外部LSA)將包括主機路由之路由公佈至網路元件130。
圖2係一圖解說明一根據本發明之一個實施例之實例性網路200之一方塊圖。如圖2中所圖解說明,網路200係一VPN(例如,一第三層VPN)。客戶端(CE)網路元件215藉由CE-PE鏈結280(其係一OSPF鏈結)與機房端(PE)網路元件220通信。類似地,CE網路元件230藉由CE-PE鏈結282(其係一OSPF鏈結)與PE網路元件225通信。PE網路元件220與225藉由PE-PE鏈結284(其係一BGP鏈結)通信。
CE網路元件215藉由CE-PE鏈結280將包括主機路由之路由自站點210公佈至PE網路元件220。CE網路元件230藉由CE-PE鏈結282將包括主機路由之路由自站點240公佈至PE網路元件225。站點210及240可各自包括多個客戶端站。PE網路元件220及225將分別自CE網路元件215及230獲悉之包括主機路由之路由輸出至彼此。如在本文中稍後將更詳細闡述,經由BGP輸出之路由可再分佈至OSPF中。
應瞭解,圖1及圖2中所圖解說明之網路係實例性的,且本發明之實施例可適用於其中由一鏈結狀態協定公佈主機路由之不同類型之網路。
圖3係一圖解說明一根據本發明之一個實施例用於處理LSID衝突之實例性網路元件之方塊圖。雖然圖3圖解說明網路元件220,但應瞭解,圖1中所圖解說明之網路元件120及網路元件225在本發明之一些實施例中包括類似功能性。
網路元件220包括實施一OSPF協定之一實施方案之OSPF模組320,OSPF模組320與一路由資訊庫(RIB)模組360耦合,該路由資訊庫模組與實施BGP模組340之一實施方案之BGP模組340耦合。OSPF模組320及BGP模組340基於某些路由量度(該等量度可對於OSPF模組320及BGP模組340不同)將路由條目下載至主RIB 365。RIB模組360管理主RIB 365(例如,處理路由更新、路由刪除等等)且亦可致使路由在路由協定之間再分佈。舉例而言,RIB模組360可致使由BGP模組340獲悉之路由(其可包括由PE網路元件225輸出之主機電路)再分佈至OSPF模組320。作為另一實例,RIB模組360可致使由OSPF模組320獲悉之路由(其可包括自CE網路元件215獲悉之主機路由)再分佈至BGP模組340以輸出至PE網路元件225。
雖然各實施例闡述再分佈功能性係由管理主RIB 365之RIB模組360提供,但應瞭解,在協定之間再分佈路由可以不同方式執行(例如,OSPF模組320及BGP模組340可直接交換路由,一與主RIB 365分離且分開之再分佈模組可執行該再分佈,等等)。根據一個實施例,一系統操作員組態網路元件200以將該等OSPF路由再分佈至BGP模組340中並將該等BGP路由再分佈至OSPF模組320中。
OSPF模組320可以LSA之形式自實施OSPF之其他網路元件(例如,自CE網路元件215)獲悉路由(OSPF模組320亦發起LSA)。OSPF模組320亦可獲悉自其他協定(例如,自BGP模組340再分佈之路由)再分佈及/或靜態獲悉(例如,由網路元件220之操作員經由命令線介面330組態)之路由。回應於獲悉一新的路由,OSPF模組320開始一由路由添加模組350執行之路由添加程序。一實例性路由添加程序將參照圖4及圖6更詳細闡述。OSPF模組320亦包括一用以執行一路由取消程序之路由取消模組355,該路由取消模組將參照圖5及圖7更詳細闡述。
網路元件220亦包括以下資料結構:鏈結狀態資料庫(LSDB)324、本地端OSPF RIB 326、本地端BGB RIB 328及主RIB 365。然而,應瞭解,可在本文中所述之本發明各實施例中使用不同數目個資料結構(例如,一結合上述資料結構中之兩者或兩者以上之資料結構等等)。
與OSPF模組320耦合之LSDB 324儲存與網路中之路由相關聯之LSA。在一些實施方案中,針對網路元件220屬於之每一區域存在一單獨的LSDB,且在一些實施方案中,針對不同之LSA類型存在不同之LSDB。如在本文中稍後將更詳細闡述,OSPF模組320向LSDB 324添加LSA並自LSDB 324移除LSA。
與OSPF模組320耦合之本地端OSPF RIB 326儲存OSPF路由條目,包括不下載至主RIB 365之OSPF路由條目及不發起一LSA之OSPF路由條目。舉例而言,本地端OSPF RIB 326可儲存係將不發起一LSA之路由之受抑制路由(其在本文中稍後將更詳細闡述)。根據一個實施例,本地端OSPF RIB 326維持每一受抑制主機路由與原本具有一會與彼受抑制主機路由之一LSA衝突之LSID之LSA之路由之間的一關聯。
主RIB 365儲存由OSPF模組320及BGP模組340所選擇之路由。雖然為了不掩蓋對本發明之瞭解而未顯示,但主RIB 365中一子組路由(有時稱作現用路由條目)下載至網路元件220之線卡以用於轉發訊務。與BGP模組340耦合之本地端BGP RIB 328儲存BGP路由條目,包括不下載至主RIB 365之BGP路由條目。
圖4係一圖解說明一根據本發明之一個實施例指派路由之LSID包括處理LSID衝突之實例性路由添加程序之資料流程圖。
如圖4中所圖解說明,路由添加模組350包括用以產生試驗性LSID之試驗性LSID產生器、及用以處理LSID衝突之LSID衝突處理模組420。OSPF模組320針對其已獲悉之路由調用路由添加模組350。路由可自其他OSPF對等物獲悉、由一不同協定再分佈、或靜態組態。
試驗性LSID產生器415針對正添加之路由在操作455處產生一試驗性LSID。最初,該試驗性LSID將係藉由對路由首碼及路由掩碼執行一逐位元與運算而計算出之路由之網路位址。該試驗性LSID傳遞至LSID衝突模組420。
LSID衝突模組420確定該試驗性LSID是否與一指派給一不同路由之一現有LSA之LSID衝突。舉例而言,LSID衝突處理模組420執行LSID衝突檢查操作460以存取LSDB 324從而確定是否給該LSDB中之該等LSA中之任一者指派一相當於該試驗性LSID之LSID。若不存在衝突,則將指派該試驗性LSID且該LSID指派程序完成。OSPF模組320隨後可調用LSA發起模組435以針對彼路由發起一具有所指派LSID之LSA。然而,若存在一LSID衝突,且正添加之路由或現有路由(與具有一等於該試驗性LSID之LSID之LSA相關聯之路由)係一主機路由,則調用主機路由衝突處理程序425。
主機路由衝突處理程序425藉由執行抑制主機路由操作465來抑制係主機路由之路由。若正添加之路由係主機路由,則抑制主機路由操作465包括不針對彼主機路由發起一LSA且因此不在LSDB 324中包括彼路由之一LSA。現有路由(原本具有一與正添加之路由之LSID衝突之路由)之LSA之LSID保持不變。在一個實施例中,抑制主機路由操作465亦包括修改該主機路由於本地端OSPF RIB 326中之路由條目以指示該主機路由正受抑制(例如,一指示該主機路由正受抑制且不應發起該路由之LSA之旗標)。根據一個實施例,LSA發起模組435跳過在其路由條目中具有一設定受抑制旗標之彼等路由。
若現有路由係主機電路,則抑制主機路由操作465包括執行清除LSA操作480以自LSDB 324清除與彼主機路由相關聯之LSA(例如,主機路由衝突處理程序425存取LSDB 324並移除該受抑制主機路由之LSA)。在一個實施例中,抑制主機路由操作465亦包括修改該主機路由於本地端OSPF RIB 326中之路由條目以指示該主機路由正受抑制。因此,不管該主機路由係正添加之路由或現有路由,在一些實施例中,抑制主機路由操作465包括修改該主機路由於本地端OSPF RIB 326中之路由條目以指示該主機路由正受抑制。正添加之路由之LSA隨後接管先前指派給與該主機路由相關聯之LSA之LSID。LSA發起模組435隨後可執行發起LSA操作475以針對該路由發起一具有彼LSID之LSA(其隨後儲存於LSDB 324中)。為了說明之目的,正受抑制之主機路由有時稱作「受抑制者」路由且與原本具有一與該受抑制者路由之LSID衝突之受抑制者路由相關聯之路由有時稱作「抑制者」路由。
應瞭解,一原本具有一與一受抑制主機路由之LSID衝突之路由提供包含該主機掩碼路由之範圍之IP可達性。因此,作為一實例,甚至在受抑制IP主機路由存在之情形下該等經再分佈路由亦可在一自治系統中達到。
OSPF模組320關聯該受抑制者路由與該抑制者路由以使得若該抑制者路由被取消,則自動添加該受抑制者路由並針對彼路由發起一具有指派給該抑制者路由之LSID之LSA。舉例而言,主機路由衝突處理程序425關聯該受抑制者路由與該抑制者路由。在本發明之一實施例中,該關聯在本地端OSPF RIB 326內進行。舉例而言,在一個實施例中,本地端OSPF RIB 326中之路由條目指示一路由是否正受另一路由抑制及彼路由之身份,且一路由是否正在抑制另一路由及彼路由之身份。
若存在一LSID衝突,且正添加之路由或現有路由兩者皆非一主機路由,則調用非主機路由衝突處理程序430。根據一個實施例,非主機路由衝突處理程序430係RFC 2328中所述之LSID衝突處理演算法之一經修改版本。非主機路由衝突處理程序430選擇具有最長掩碼之路由並確定彼路由是否與一受抑制路由相關聯(即,所選路由是否係一主機受抑制者路由之一抑制者路由)。應瞭解,僅選擇具有一當前存在於該LSDB中之LSA之彼等路由方可係一抑制者路由(因此正添加之路由無法係一抑制者路由)。
若所選路由係一抑制者路由,則非主機路由衝突處理程序430執行傳送抑制者路由操作470以將該關聯自所選路由(具有更長路由掩碼之路由)傳送至具有更短路由掩碼之路由(例如,藉由修改本地端OSPF RIB 326中之路由條目)。進行該關聯之傳送,此乃因將給所選路由指派一不同LSID且未被選擇之路由(具有更短路由掩碼之路由)將具有指派給所選路由之LSID。會由受抑制主機路由使用之LSID不變。
針對所選路由產生一新的試驗性LSID(例如,試驗性LSID產生器415對所選路由之掩碼執行一逐位元非運算,並對彼結果與所選路由之首碼執行一逐位元或運算(類似於RFC 2328所定義)。在產生所選路由之新的試驗性LSID之後,重新執行LSID衝突檢查操作460,此乃因有可能此新的試驗性LSID已經指派給一不同路由(其既可係亦可不係一主機路由)之一LSA。若不存在一衝突,則可發起彼路由之一具有該試驗性LSID之LSA。未被選擇之路由接管對先前指派給所選路由之LSA之LSID之使用。
若所選路由並非係一抑制者路由,則非主機路由衝突處理程序430類似於RFC 2328所定義針對所選路由產生一新的試驗性LSID。重新執行LSID衝突檢查操作460以確定該新的試驗性LSID是否已經指派給一不同路由之一LSA。未被選擇之路由接管對先前指派給所選路由之LSA之LSID之使用。
圖5係一圖解說明一根據本發明之一個實施例包括解除抑制路由之實例性路由取消程序之一資料流程圖。圖5圖解說明路由取消模組355與路由添加模組350、本地端OSPF RIB 326及LSDB 324之間的互動。
回應於接收到一取消一路由之指令,路由取消模組355調用解除抑制模組525。解除抑制模組525執行抑制者路由檢查操作560以確定欲取消之路由當前是否與一受抑制路由相關聯(即,該路由是否係一抑制者路由)。在一個實施例中,抑制者路由檢查操作560包括存取欲取消之路由於本地端OSPF RIB 326中之路由條目(例如,以確定是否針對欲取消之路由設定一抑制者旗標)。若設定該抑制者旗標,則解除抑制模組525藉由其中LSID之值係正由該抑制者路由使用之LSID之密鑰(LSID、IP主機掩碼)在本地端OSPF RIB 326中執行一路由查找。若該查找失敗(例如,其正在重調諧一空值),則該受抑制者路由已經被取消。然而,若該查找傳回一路由,則解除抑制模組525解除抑制彼路由(例如,發起一具有由該抑制者路由使用之LSID之LSA)。在另一實施例中,該抑制者路由於本地端OSPF RIB 326中之路由條目亦指示該受抑制者路由之身份。在一個實施例中,解除抑制模組525亦視需要確定正被取消之路由當前是否受抑制(即,該路由是否係一受抑制者路由)。
若正被取消之路由係一抑制者路由,則解除抑制模組525執行解除抑制受抑制者路由操作570以解除抑制該受抑制者路由。根據一個實施例,解除抑制受抑制者路由操作570包括存取並修改該受抑制者路由於本地端OSPF RIB 326中之路由條目以移除該主機路由受抑制之任何指示(例如,清除指示該主機路由係一受抑制者路由之旗標)。路由取消模組355隨後調用路由添加模組350來添加該被解除抑制主機路由。根據一個實施例,路由添加模組350將執行添加被解除抑制之路由操作575來指派先前指派給該抑制者路由之與該被解除抑制主機路由相關聯之LSA之LSID(即,該被解除抑制主機路由接管先前指派給該受抑制者路由之LSID)。
應瞭解,因該抑制者路由包含其受抑制者路由,故當在該受抑制者路由之前取消該抑制者路由時彼受抑制者路由變成不能達到。藉由解除抑制彼路由並在整個網路中公佈彼路由之一LSA,該被解除抑制主機路由將重新可達到。
路由取消模組355亦執行清除LSA操作580以移除與正被取消之路由相關聯之LSA(例如,解除抑制模組525存取LSDB 324並刪除與正被取消之路由相關聯之LSA)。在一個實施例中,路由取消模組355亦自本地端OSPF RIB 326移除正被取消之路由之路由條目。
圖6係一圖解說明根據本發明之一個實施例在一包括處理LSID衝突之路由添加程序期間執行之實例性操作之流程圖。圖6將參照圖8及圖9之實例性LSID指派來闡述,然而應瞭解,圖6之操作可參照其他LSID指派來執行。另外,圖6之操作將參照圖4之實例性實施例來闡述。然而,應瞭解,圖6之操作可藉由除參照圖4所述之本發明實施例以外的本發明實施例來執行,且參照圖4所述之實施例可執行不同於參照圖6所述之操作之操作。
在方塊610處,OSPF模組320針對圖8之路由1[10.0.0.0,255.255.0.0]開始一路由添加程序。該路由可自其他OSPF路由器獲悉、由一不同協定再分佈、或靜態組態。為了說明之目的,圖8表示在不同時間於網路元件220中對與獲悉之路由相關聯之LSA之LSID之指派。最初(在添加路由1之前),該LSDB中不存在任何LSA且因此不存在任何所指派之LSID。
流程自方塊610移至其中開始一LSID指派程序之方塊615。參照圖4,LSID指派模組410已針對路由1開始一LSID指派。流程隨後移至其中試驗性LSID產生器415針對路由1產生一試驗性LSID之方塊620。在一個實施例中,該試驗性LSID係根據RFC 2328而產生。舉例而言,路由1之試驗性LSID係該路由之網路位址(10.0.0.0)。
流程自方塊620移至其中LSID衝突.處理模組420確定路由1之試驗性LSID是否與一現有路由之一LSID衝突之方塊625。因不存在當前所指派之LSID,故不存在一LSID衝突。因此,流程移至其中處理以常規方式運作(例如,針對路由1發起一LSA並為其指派一LSID 10.0.0.0之方塊630)。因此,如圖8中所圖解說明,在一時間T1 處,路由1與LSID值10.0.0.0相關聯。
圖8之路由2[10.0.0.0,255.255.255.0]係欲添加之下一個路由。路由2之試驗性LSID係該路由之網路位址(10.0.0.0)。因路由1與LSID 10.0.0.0相關聯,故存在一LSID衝突。因此,流程自方塊625移至方塊635。
在方塊635處,確定路由1或路由2係一主機路由。因彼等路由兩者皆非一主機路由(其兩者皆不具有一主機掩碼),故流程移至方塊640。根據一個實施例,參照方塊640至660所述之操作係藉由非主機路由衝突處理程序430來執行。在方塊640處,選擇路由2,此乃因其具有一長於路由1之路由掩碼。流程自方塊640移至方塊645。
在方塊645處,非主機路由衝突處理程序430確定路由2是否與一受抑制路由相關聯。舉例而言,非主機路由衝突處理程序430存取路由2於本地端OSPF RIB 326中之條目(例如,以確定是否設定一受抑制者旗標)。因路由2當前不與一受抑制路由相關聯,故流程移至方塊655。在方塊655處,對路由2(255.255.255.0)之掩碼執行一逐位元非運算以產生一值0.0.0.255。流程自方塊655移至其中路由2之新的試驗性LSID係該逐位元非運算之結果與該試驗性LSID之一逐位元或運算之結果之方塊660。因此,路由2之新的試驗性LSID係值0.0.0.255|10.0.0.0,其等於10.0.0.255。
流程自方塊660移至其中LSID衝突處理模組420確定試驗性LSID 10.0.0.255是否與一與一現有路由相關聯之LSID衝突之方塊625。如圖8中所圖解說明,LSID 10.0.0.255當前未指派給一不同路由之一LSA。因此,流程移至其中處理以常規方式運作且針對路由2發起一LSA並為其指派一LSID 10.0.0.255之方塊630。因此,如圖8中所圖解說明,在時間T2 處,路由1與LSID值10.0.0.0相關聯且路由2與LSID值10.0.0.255相關聯。
圖8之路由3[10.0.0.0,255.255.255.255]係欲添加之下一個路由。路由3之試驗性LSID係該路由之網路位址(10.0.0.0)(例如,作為執行方塊620之結果)。因路由1與LSID 10.0.0.0相關聯,故存在一LSID衝突。因此,流程自方塊625移至方塊635。
在方塊635處,LSID衝突處理模組420確定路由1或路由3係一主機路由。因路由3係一主機路由(其具有一主機掩碼),故流程移至方塊665。根據一個實施例,參照方塊665及670所述之操作係藉由主機路由衝突處理程序425來執行。
在方塊665處,主機路由衝突處理程序425抑制路由3,此乃因其係一主機路由。因路由3處於被添加之程序中(且因此當前不存在路由3之一LSA),故抑制路由3包括防止針對路由3發起一LSA。在一個實施例中,抑制該主機路由亦包括修改路由3於本地端OSPF RIB 326中的路由條目,以指示路由3正受抑制(例如,在本地端OSPF RIB 326中針對路由3設定一受抑制者旗標)。應瞭解,即使路由3正受抑制,路由1亦提供包含路由3之範圍的IP可達性。
流程自方塊665移至其中主機路由衝突處理程序425關聯路由3與路由1(例如,關聯該受抑制者路由與該抑制者路由)的方塊670。如在本文中稍後將更詳細闡述,關聯路由3與路由1以使得若在路由3之前取消路由1,則可發起路由3之一具有指派給路由1之LSID的LSA。路由3與路由1之間的關聯可在不同實施例中以不同方式執行。舉例而言,可修改路由1於本地端OSPF RIB 326中的路由條目以指示其係一抑制者路由(例如,設定一抑制者旗標)及視需要其正在抑制路由3。亦可修改本地端OSPF RIB 326中路由3之路由條目以指示其係一受抑制者路由(例如,設定一受抑制者旗標)及視需要其正受路由1抑制。作為另一實例,可使用一不同於本地端OSPF RIB 326的資料結構來關聯路由3與路由1。
流程自方塊670移至其中繼續OSPF處理的方塊675。因此,如圖8中所圖解說明,在一時間T3 處,路由1與LSID值10.0.0.0相關聯且係路由3之一抑制者,路由2與LSID值10.0.0.255相關聯,且路由3係一受抑制者路由(受路由1抑制)。
圖8之路由4[10.0.0.255,255.255.255.255]係欲添加之下一個路由。路由4之試驗性LSID係該路由之網路位址(10.0.0.255)(例如,作為執行方塊620之結果)。LSID衝突處理模組420確定存在一LSID衝突,此乃因值10.0.0.255當前與路由2相關聯。因此,流程自方塊625移至方塊635。
在方塊635處,LSID衝突處理模組420確定路由2或路由4係一主機路由。因路由4係一主機路由(其具有一主機掩碼),故流程移至方塊665。在方塊665處,主機路由衝突處理程序425抑制路由4,此乃因其係一主機路由。因路由4處於被添加之程序中(且因此當前不存在路由4之一LSA),故抑制路由4包括防止針對路由4發起一LSA。在一個實施例中,抑制該主機路由亦包括修改路由4於本地端OSPF RIB 326中的路由條目以指示路由4正受抑制。應瞭解,即使路由4正受抑制,路由2亦提供包含路由4之範圍的IP可達性。
流程自方塊665移至其中主機路由衝突處理程序425關聯路由4與路由2(該受抑制者路由與該抑制者路由)以使得若在路由4之前取消路由2,則可發起路由4之一具有指派給路由2之LSID之LSA之方塊670。該關聯可以一與上文參照路由1及路由3所述類似之方式執行。流程自方塊670移至其中繼續OSPF處理之方塊675。因此,如圖8中所圖解說明,在一時間T4 處,路由1與LSID值10.0.0.0相關聯且係路由3之一抑制者,路由2與LSID值10.0.0.255相關聯且係路由4之一抑制者,路由3係一受抑制者路由(受路由1抑制),且路由4係一受抑制者路由(受路由2抑制)。
因此,在圖8之時間T4 之後,LSDB 324包括一為其指派一LSID 10.0.0.0(與路由1相關聯)之LSA及一為其指派一LSID 10.0.0.255(與路由2相關聯)之LSA。另外,路由1提供包含路由3(其受抑制)之範圍之IP可達性且路由2提供包含路由4(其受抑制)之範圍之IP可達性。
圖7係一圖解說明根據本發明之一個實施例在一路由取消程序期間執行之實例性操作之流程圖。圖7將參照圖8及圖9之實例性LSID指派來闡述,然而,應瞭解,圖7之操作可參照其他LSID指派來執行。另外,圖7之操作將參照圖5之實例性實施例來闡述。然而,應瞭解,圖7之操作可藉由除參照圖5所述之本發明實施例以外的本發明實施例來執行,且參照圖5所述之實施例可執行不同於參照圖7所述操作之操作。
在方塊710處,OSPF模組320針對圖8之路由1[10.0.0.0,255.255.0.0]開始一路由取消程序。應瞭解,該路由可出於多種原因(例如,屬於該路由之客戶已結束其對話等等)而被取消。流程自方塊710移至其中路由取消模組355確定路由1是否與一受抑制路由相關聯之方塊715。在一個實施例中,路由取消模組355存取路由1於本地端OSPF RIB 326中之路由條目以確定是否設定一抑制者旗標。因路由1係路由3之一抑制者路由,故流程移至方塊725。
在方塊725處,解除抑制模組525解除抑制受抑制路由(路由3)。解除抑制模組525經由該抑制者路由(路由1)與該受抑制路由(路由3)之間關聯來確定該受抑制路由之身份。舉例而言,在一些實施例中,路由1於本地端OSPF RIB 326中之路由條目指示路由1係一抑制者路由但不指示該受抑制路由之身份。在此等實施例中,藉由其中LSID之值係指派給路由1之LSA之LSID之密鑰(LSID、IP主機掩碼)對本地端OSPF RIB 326執行一路由查找。此一路由查找導致路由3之身份之一傳回。在其他實施例中,路由1於本地端OSPF RIB 326中之路由條目指示其係一抑制者路由且亦指示該受抑制者路由(路由3)之身份。解除抑制路由3亦包括解除抑制模組525修改路由3於本地端OSPF RIB 326中之條目以移除路由3係一受抑制路由之指示(例如,藉由清除該受抑制者旗標)。
流程自方塊725移至其中自LSDB 324清除並自本地端OSPF RIB 326移除與路由1相關聯之LSA之方塊730。流程自方塊730移至其中開始一添加路由3之程序之方塊735(例如,流程移至圖6之方塊610)。在路由3之添加路由程序中,針對路由3發起一具有指派給路由1(10.0.0.0)之LSID之LSA。因此,如圖8中所圖解說明,在一時間T5 處,路由1已被取消,路由2與LSID值10.0.0.255相關聯且係路由4之一抑制者,路由3此刻被解除抑制且與LSID值10.0.0.0相關聯,且路由4係一受抑制者路由(受路由2抑制)。
應瞭解,在本發明之一些實施例中,清除現有LSA(正被取消之路由之LSA)之步驟及發起新的LSA(當前發起之具有與被取消LSA相同之LSID之LSA(例如,主機路由之LSA))係藉由以該新的LSA簡單地替換該現有LSA在一單個步驟中執行。
圖8之路由2[10.0.0.0,255.255.255.0]係欲取消之下一個路由。流程自方塊710移至其中路由取消模組355確定路由2是否與一受抑制路由相關聯之方塊715。因路由2係路由4之一抑制者路由,故流程移至方塊725。在方塊725處,解除抑制模組525解除抑制路由4包括修改路由4於本地端OSPF RIB 326中之條目以移除路由4係一受抑制路由之指示(例如,藉由清除該受抑制者旗標)。
流程自方塊725移至其中自LSDB 324清除並自本地端OSPF RIB 326移除與路由2相關聯之LSA之方塊730。流程自方塊730移至其中開始一添加路由4之程序之方塊735(例如,流程移至圖6之方塊610)。在路由4之添加路由程序中,針對路由4發起一具有指派給路由1(10.0.0.255)之LSID之LSA。因此,如圖8中所圖解說明,在一時間T6 處,路由1已被取消,路由2已被取消,路由3與LSID值10.0.0.0相關聯,且路由4此刻被解除抑制且與LSID值10.0.0.255相關聯。
圖8之路由3[10.0.0.0,255.255.255.255]係欲取消之下一個路由。流程自方塊710移至其中路由取消模組355確定路由3是否與一受抑制路由相關聯之方塊715。因路由3不與一受抑制路由相關聯,故流程移至其中採取替代行動(例如,正常進行該取消程序並自LSDB 324清除與路由3相關聯之LSA)之方塊720。因此,如圖8中所圖解說明,在一時間T7 處,路由1已被取消,路由2已被取消,路由3已被取消,且路由4此刻被解除抑制且與LSID值10.0.0.255相關聯。
圖8之路由4[10.0.0.255,255.255.255.255]係欲取消之下一個路由。流程自方塊710移至其中路由取消模組355確定路由4是否與一受抑制路由相關聯之方塊715。因路由4不與一受抑制路由相關聯,故流程移至其中採取替代行動(例如,正常進行該取消程序並自LSDB 324清除與路由4相關聯之LSA)之方塊720。因此,如圖8中所圖解說明,在一時間T8 處,路由1已被取消,路由2已被取消,路由3已被取消,且路由4被取消。
圖9係一圖解說明根據本發明之一個實施例針對一組按一不同於圖8之次序到達之路由之LSID指派之方塊圖。如圖9中所圖解說明,添加與圖8中相同之路由(例如,路由1[10.0.0.0,255.255.0.0]、路由2[10.0.0.0,255.255.255.0]、路由3[10.0.0.0,255.255.255.255]及路由4[10.0.0.255,255.255.255.255]);然而,其等係以一不同於圖8中之次序添加。
圖9之路由2[10.0.0.0,255.255.255.0]係欲添加之第一路由。在方塊610處,OSPF模組320針對圖9之路由2開始一路由添加程序。類似於參照圖8所述,最初(在添加路由2之前),該LSDB中不存在任何LSA且因此不存在任何所指派之LSID。流程自方塊610移至其中開始一LSID指派程序之方塊615。參照圖4,LSID指派模組410已針對路由2開始一LSID指派。流程隨後移至其中試驗性LSID產生器415針對路由2產生一試驗性LSID之方塊620。在一個實施例中,該試驗性LSID係根據RFC 2328而產生。舉例而言,路由2之試驗性LSID係該路由之網路位址(10.0.0.0)。
流程自方塊620移至其中LSID衝突處理模組420確定路由2之試驗性LSID是否與一與一現有路由相關聯之LSID衝突之方塊625。因不存在任何當前所指派之LSID,故不存在一衝突。因此,流程移至其中該處理以常規方式運作(例如,發起一與路由2相關聯之LSA並為其指派一LSID值10.0.0.0)之方塊630。因此,如圖9中所圖解說明,在一時間T1 處,路由2與LSID值10.0.0.0相關聯。
路由3[10.0.0.0,255.255.255.255]係欲添加之下一個路由。路由3之試驗性LSID係該路由之網路位址(10.0.0.0)。因路由2與LSID 10.0.0.0相關聯,故存在一LSID衝突。因此,流程自方塊625移至方塊635。
在方塊635處,確定路由2或路由3係一主機路由。因路由3係一主機路由(其具有一主機掩碼),故流程移至方塊665。在方塊665處,主機路由衝突處理程序425抑制路由3,此乃因其係一主機路由。由路由3處於被添加程序中(且因此當前不存在路由3之一LSA),故抑制路由3包括防止一LSA針對路由3發起。在一個實施例中,抑制該主機路由亦包括修改路由3於本地端OSPF RIB 326中之路由條目以指示路由3正受抑制(例如,藉由設定一受抑制者旗標)。應瞭解,即使路由3正受抑制,路由2亦提供包含路由3之範圍之IP可達性。
流程自方塊665移至其中主機路由衝突處理程序425關聯路由3與路由2(例如,關聯該受抑制者路由與該抑制者路由)之方塊670。如在本文中稍後將更詳細闡述,關聯路由3與路由2以使得若在路由3之前取消路由2,則可發起路由3之一具有指派給路由2之LSID之LSA。該等路由可以一與本文中先前闡述類似之方式關聯(例如,該主機路由衝突處理程序致使路由2之條目被修改以指示其係一抑制者路由及視需要其正在抑制路由3)。
流程自方塊670移至其中繼續OSPF處理之方塊675。因此,如圖9中所圖解說明,在一時間T2 處,路由2與LSID值10.0.0.0相關聯且係路由3之一抑制者而路由3係一受抑制者路由(受路由2抑制)。
圖9之路由4[10.0.0.255,255.255.255.255]係欲添加之下一個路由。路由4之試驗性LSID係該路由之網路位址(10.0.0.255)(例如,該試驗性LSID係作為執行方塊620之結果而產生)。LSID衝突處理模組420在方塊625處確定不存在一LSID衝突,此乃因值10.0.0.255當前不與一不同路由相關聯。因此,流程自方塊625移至其中處理以常規方式運作(例如,發起一與路由4相關聯之LSA並為其指派一LSID值10.0.0.255)之方塊630。因此,如圖9中所圖解說明,在一時間T3 處,路由2與LSID值10.0.0.0相關聯且係路由3之一抑制者,路由3係一受抑制者路由(受路由2抑制),且路由4與LSID值10.0.0.255相關聯。
圖9之路由1[10.0.0.0,255.255.0.0]係欲添加之下一個路由。路由1之試驗性LSID係該路由之網路位址(10.0.0.0)(例如,該試驗性LSID係作為執行方塊620之結果而產生)。LSID衝突處理模組420在方塊625處確定存在一LSID衝突,此乃因值10.0.0.0與路由2相關聯。因此,流程自方塊625移至方塊635。
在方塊635處,LSID衝突處理模組420確定路由1或路由2係一主機路由。因彼等路由兩者皆非一主機路由(其兩者皆不具有一主機掩碼),故流程移至方塊640。在方塊640處,選擇路由2,此乃因其具有一長於路由1之路由掩碼。流程自方塊640移至方塊645。
在方塊645處,非主機路由衝突處理程序430確定路由2是否與一受抑制路由相關聯。舉例而言,非主機路由衝突處理程序430存取路由2於本地端OSPF RIB 326中之條目以確定路由2是否與一受抑制路由相關聯(例如,該抑制者旗標是否係針對路由2而設定)。因路由2係一正在抑制路由3之抑制者路由,故流程移至方塊650。
在方塊650處,非主機路由衝突處理程序430將與路由3之關聯自路由2傳送至路由1。換言之,因路由1正自路由2接管路由3之抑制者路由之角色,故路由1此刻與路由3相關聯。在一些實施例中,修改路由2於本地端OSPF RIB 326中之路由條目以移除其係一抑制者路由之指示(例如,藉由清除該抑制者旗標)並修改路由1之路由條目以包括其係一抑制者路由之一指示(例如,藉由針對彼條目設定該抑制者旗標)。在一些實施例中,亦修改路由1之條目以識別該受抑制者路由(例如,路由3)。在一些實施例中,修改路由3於本地端OSPF RIB 326中之路由條目以指示路由1此刻係正在抑制路由3之路由。
路由1自路由2接管該抑制者路由之角色,此乃因根據RFC 2328將給路由2指派一不同LSID(其具有一長於路由1之路由掩碼)。正受抑制之路由3之狀態不變,此乃因其會具有一與路由1之LSID衝突且其係一主機路由。因此,路由1提供包含路由3之範圍之IP可達性。
流程自方塊650移至其中對路由2之掩碼(255.255.255.0)執行一逐位元非運算以產生一值0.0.0.255之方法655。流程自方塊655移至其中路由2之新的試驗性LSID係該逐位元非運算之結果與該試驗性LSID之一逐位元或運算之結果之方塊660。因此,路由2之新的試驗性LSID係值0.0.0.255|10.0.0.0,其等於10.0.0.255。
流程自方塊660移至其中LSID衝突處理模組420確定試驗性LSID 10.0.0.255是否與一與一現有路由相關聯之LSID衝突之方塊625。如圖9中所圖解說明,LISD 10.0.0.255當前指派給路由4之LSA。因此,流程移至其中LSID衝突處理模組420確定路由2及4中之一者是否係一主機路由之方塊635。因路由4係一主機路由,故流程移至方塊665。
在方塊665處,主機路由衝突處理程序425抑制路由4,此乃因其係一主機路由。因路由4已經與一個或多個LSA相關聯,故抑制路由4包括自LSDB 324清除路由4之LSA並修改路由4於本地端OSPF RIB 326中之路由條目以指示路由4係一受抑制者路由(例如,藉由設定該受抑制者旗標)及視需要其正受路由2抑制。應瞭解,路由2提供包含路由4之範圍之IP可達性。
流程自方塊665移至其中主機路由衝突處理程序425關聯路由4與路由2以使得若在路由4之前取消路由2,則可發起路由4之一具有關聯至路由2之LSID之LSA之方塊670。路由4與路由2之間的關聯可以一與先前所述類似之方式執行。
流程自方塊670移至其中與平常一樣繼續OSPF處理之方塊675。因此,如圖9中所圖解說明,在一時間T4 處,路由1與LSID值10.0.0.0相關聯且此刻係路由3之一抑制者路由(自路由2傳送),路由2不再係路由3之抑制者路由且與LSID值10.0.0.255相關聯且此刻係路由4之抑制者路由,路由3係正由路由1抑制之受抑制者路由,且路由4係一正受路由2抑制之受抑制者路由。
參照圖7,在方塊710處,該OSPF模組針對圖9之路由1[10.0.0.0,255.255.0.0]開始一路由取消程序。流程自方塊710移至其中路由取消模組355確定路由1是否與一受抑制路由相關聯(例如,藉由存取路由1於本地端OSPF RIB 326中之路由條目以確定路由1是否係一抑制者路由)之方塊715。因路由1係路由3之一抑制者路由,故流程移至方塊725。在方塊725處,解除抑制模組525解除抑制路由3。舉例而言,解除抑制模組525修改路由3於本地端OSPF RIB 326中之條目以移除路由3係一受抑制路由之指示。
流程自方塊725移至其中自LSDB 324清除與路由1相關聯之LSA之方塊730。在一些實施例中,亦自本地端OPSF RIB 326移除路由1之路由條目。流程自方塊730移至其中開始一添加路由3之程序之方塊735(例如,流程移至圖6之方塊610)。在路由3之添加路由程序中,針對路由3發起一具有指派給路由1(10.0.0.0)之LSID之LSA。因此,如圖9中所圖解說明,在一時間T5 處,路由1已被取消,路由2與LSID值10.0.0.255相關聯且係路由4之一抑制者,路由3此刻被解除抑制且與LSID值10.0.0.0相關聯,且路由4係一受抑制者路由(受路由2抑制)。
圖9之路由4[10.0.0.255,255.255.255.255]係欲取消之下一個路由。流程自方塊710移至其中路由取消模組355確定路由4是否與一受抑制路由相關聯之方塊715。因路由4本身係一受抑制路由,故其不與一受抑制路由相關聯(亦即,其當前不充當一不同路由之一抑制者路由)。因此,流程移至其中採取替代行動(例如,自LSDB 324清除與路由4相關聯之LSA,移除路由2係一正在抑制路由4之抑制者路由之指示,等等)之方塊720。因此,如圖9中所圖解說明,在一時間T6 處,路由1已被取消,路由2與LSID值10.0.0.255相關聯但不再係路由4之一抑制者路由,路由3與LSID值10.0.00相關聯,且路由4此刻被取消。
圖9之路由3[10.0.0.0,255.255.255.255]係欲取消之下一個路由。流程自方塊710移至其中路由取消模組355確定路由3是否與一受抑制路由相關聯之方塊715。如圖9中所指示,路由3不與一受抑制路由相關聯。因此,流程移至其中採取替代行動(例如,自LSDB 324清除與路由3相關聯之LSA)之方塊720。因此,如圖9中所圖解說明,在一時間T7 處,路由1已被取消,路由2與LSID值10.0.0.255相關聯,路由3此刻被取消,且路由4被取消。
圖9之路由2[10.0.0.0,255.255.255.0]係欲取消之最後一個路由。流程自方塊710移至其中路由取消模組355確定路由2是否與一受抑制路由相關聯之方塊715。如圖9中所圖解說明,路由2不與一受抑制路由相關聯。因此,流程移至其中採取替代行動(例如,自LSDB 324清除與路由2相關聯之LSA)之方塊720。因此,如圖9中所圖解說明,在一時間T8 處,路由1已被取消,路由2此刻被取消,路由3被取消,且路由4被取消。
應瞭解,抑制LSA針對原本具有一與現有路由之LSID衝突之主機路由發起防止多個不同路由分享同一LSID。因此,避免可因不同路由分享同一LSID而出現之問題(例如,一不正確的拓撲、資料完整性問題、訊務黑洞、軟體崩潰等等)。另外,該等抑制者路由提供包含該等主機路由之範圍之IP可達性。
本文中所述之本發明實施例可用於多種類似之LSA,包括OSPF 3型LSA(匯總LSA)、OSPF 5型LSA(外部LSA)及OSPF 7型(非完全末節區域外部LSA)。然而,應瞭解,其他類型之LSA亦可用於本文中所述之本發明實施例中。
雖然該等圖式中之流程圖顯示由本發明某些實施例執行之操作之一特定次序,但應瞭解,此次序係實例性的(例如,替代實施例可按一不同次序來執行該等操作,組合某些操作,重疊某些操作,等等)。
雖然已依據若干實施例闡述了本發明,但熟習此項技術者將認識到本發明不僅限於所述實施例,而是可以隨附申請專利範圍之主旨及範疇內之修改及更改來實施。該說明因此被視為例示性的而是限制性的。
100...網路
110A...用戶端站
110B...用戶端站
110N...用戶端站
120...網路元件
130...網路元件
200...網路
210...站點
215...客戶端網路元件
220...機房端網路元件
225...機房端網路元件
230...客戶端網路元件
240...站點
280...客戶端-機房端鏈結
282...客戶端-機房端鏈結
284...機房端-機房端鏈結
320...開放式最短路徑優先模組
324...鏈結狀態資訊庫
326...本地端開放式最短路徑優先路由資訊庫
328...本地端邊界閘道協定路由資訊庫
330...命令線介面
340...邊界閘道協定模組
350...路由添加模組
355...路由取消模組
360...路由資訊庫模組
365...主路由資訊庫
410...鏈結狀態識別碼指派模組
415...試驗性鏈結狀態識別碼產生器
420...鏈結狀態識別碼衝突處理模組
435...鏈結狀態公告發起模組
525...解除抑制模組
參照上文說明及用於圖解說明本發明之實施例之附圖可最好地瞭解本發明。在圖式中:
圖1係一圖解說明一根據本發明之一個實施例之實例性網路之方塊圖;
圖2係一圖解說明一根據本發明之一個實施例之實例性網路之方塊圖;
圖3係一圖解說明一根據本發明之一個實施例用於處理LSID衝突之實例性網路元件之方塊圖;
圖4係一圖解說明一根據本發明之一個實施例給路由指派LSID包括處理LSID衝突之實例性路由添加程序之資料流程圖;
圖5係一圖解說明一根據本發明之一個實施例包括解除抑制路由之實例性路由取消程序之資料流程圖;
圖6係一圖解說明根據本發明之一個實施例在一包括處理LSID衝突之路由添加程序期間執行之實例性操作之流程圖;
圖7係一圖解說明根據本發明之一個實施例在一路由取消程序期間執行之實例性操作之流程圖;
圖8係一圖解說明根據本發明之一個實施例針對一組按一次序到達之路由之LSID指派之方塊圖;及
圖9係一圖解說明根據本發明之一個實施例針對一組按一不同於圖8之次序到達之路由之LSID指派之方塊圖。
100...網路
110A...用戶端站
110B...用戶端站
110N...用戶端站
120...網路元件
130...網路元件

Claims (20)

  1. 一種對一網路元件執行之方法,該網路元件實施一開放式最短路徑優先(OSPF)協定以處理鏈結狀態識別碼(LSID)衝突,從而防止與不同路由相關聯之不同鏈結狀態公告(LSA)分享同一LSID,其中每一LSA係藉由一所指派之LSID來加以識別,該方法包含以下步驟:在一第一路由之一LSID指派程序期間,執行以下步驟:針對該第一路由產生一試驗性LSID;確定該試驗性LSID之值已經指派給一第二路由之一LSA,並進一步地確定該第一及第二路由中之一者係一主機路由,其中該主機路由係具有一主機路由掩碼之一路由,且其中該第一與第二路由不同;回應於該主機路由係該第一路由之一確定,執行以下步驟:抑制該第一路由以防止該第一與第二路由之間之一LSID衝突,其中該抑制步驟包括不針對該第一路由發起一LSA之步驟;回應於該主機路由係該第二路由之一確定,執行以下步驟:抑制該第二路由以防止該第一與第二路由之間之一LSID衝突,其中該抑制步驟包括清除該第二路由之該LSA之步驟;及針對該第一路由發起具有該試驗性LSID之該值之 一LSA;其中藉由該第一及第二路由中不受抑制之該一者提供包含該主機路由之一範圍的網路可達性;且藉此防止包括主機路由之不同路由的LSA分享同一LSID,同時甚至在受抑制主機路由存在的情形下,該等不同路由中之每一者亦是可達到的。
  2. 如請求項1之方法,進一步包含使該主機路由與不受抑制之另一路由相關聯,使得該主機路由在與其相關聯之該路由被取消時被自動解除抑制。
  3. 如請求項2之方法,進一步包含以下步驟:回應於取消該主機路由,將該第一與第二路由去關聯。
  4. 如請求項2之方法,進一步包含以下步驟:回應於取消該第一及第二路由中並不是一主機路由之該一者,其中取消包括清除與彼路由相關聯之一LSA,解除抑制該主機路由包括針對彼路由發起具有指派給該所清除LSA之該LSID之一LSA。
  5. 如請求項2之方法,進一步包含:在具有並不是一主機路由掩碼之一路由掩碼之一第三路由之一LSID指派程序期間執行以下步驟,且其中該第一路由係一主機路由,且該第二路由與該第一路由相關聯:針對該第三路由產生一試驗性LSID;確定該第三路由之該試驗性LSID之值已經指派給該第二路由之該LSA,其中該第三路由之該路由掩碼長於該 第二路由之一路由掩碼;及回應於該確定步驟,執行以下步驟:將該第一與第二路由去關聯;清除該第二路由之該LSA;使該第三路由與該第一路由相關聯;及針對該第三路由發起具有先前指派給該第二路由之該LSA之該試驗性LSID之該值之一LSA。
  6. 如請求項5方法,進一步包含以下步驟:針對該第二路由產生一試驗性LSID;確定該第二路由之該試驗性LSID之該值是否指派給一不同路由之一現有LSA;回應於該第二路由之該試驗性LSID之該值未指派給一現有LSA之一確定,給該第二路由指派彼LSID並針對該第二路由發起具有彼所指派LSID之一LSA;及回應於該第二路由之該試驗性LSID之該值已經指派給係一主機路由之一第四路由之一現有LSA之一確定,抑制該第四路由,從而防止該第二與第四路由之間之一LSID衝突。
  7. 如請求項1之方法,其中清除該LSA之該步驟包括自一鏈結狀態資料庫(LSDB)移除該第二路由之一對應條目,且其中該發起步驟包括將該所發起LSA添加至該LSDB中。
  8. 如請求項1之方法,進一步包含在該網路元件之一本地端OSPF路由資訊庫(RIB)中維持每一受抑制主機路由。
  9. 如請求項1之方法,進一步包含自經由該OSPF協定耦 合、自不同於該網路元件上之OSPF之一路由協定再分佈或靜態組態之另一網路元件接收該第一路由。
  10. 一種用於處理開放式最短路徑優先(OSPF)鏈結狀態識別碼(LSID)衝突以防止與不同路由相關聯之不同鏈結狀態公告(LSA)分享同一LSID的系統,其中每一LSA係藉由一所指派LSID來加以識別,該系統包含:一客戶端網路元件,其經由一OSPF協定將複數個OSPF路由分佈至一第一機房端網路元件,其中該等OSPF路由中之至少一些路由係主機路由,其中一主機路由係具有一主機路由掩碼之一路由;且該第一機房端網路元件經由一邊界閘道協定(BGP)將該等OSPF路由分佈至一第二機房端網路元件,該第一機房端網路元件包含:一OSPF模組,其實施該OSPF協定並產生LSA,並且給該等LSA指派LSID,其中該OSPF模組在LSID指派期間執行以下操作:抑制該等OSPF路由中原本具有對應LSA之主機路由之彼等路由,該等對應LSA具有與其他LSA衝突之LSID,其中抑制包括移除與該等受抑制主機路由相關聯之該等LSA,且不針對該等受抑制主機路由發起LSA;且其中彼等受抑制主機路由中之每一者可經由與具有與彼受抑制主機路由衝突之一LSID之該LSA相關聯之該路由而達到;且 藉此防止包括主機路由之不同路由之LSA分享同一LSID,同時甚至在受抑制主機路由存在的情形下,該等不同路由中之每一者亦是可達到的。
  11. 如請求項10之系統,其中該第一機房端網路元件之該OSPF模組進一步執行以下操作:針對每一受抑制主機路由,使彼受抑制主機路由與原本具有與彼受抑制主機路由衝突之一LSID之該路由相關聯。
  12. 如請求項11之系統,其中針對提供受抑制主機路由之網路可達性之彼等路由中之每一者,該OSPF模組亦執行以下操作:回應於具有與彼OSPF路由相同之一網路首碼之一不同OSPF路由具有一較小路由掩碼之一確定,將該關聯自彼OSPF路由傳送至該不同OSPF路由;且其中每一受抑制主機路由在一給定時間與一單個OSPF路由相關聯。
  13. 如請求項11之系統,其中該第一機房端網路元件進一步包含以下元件:一本地端OSPF路由資訊庫(RIB),其儲存OSPF路由;一鏈結狀態資料庫(LSDB);其中該OSPF模組進一步在該本地端OSPF RIB中維持受抑制主機路由;且其中該OSPF模組進一步將未受抑制之路由之LSA添加至該LSDB中。
  14. 如請求項11之系統,其中該第一機房端網路元件之該OSPF模組進一步執行以下操作:取消並不是主機路由之OSPF路由,包括清除對應LSA;及解除抑制與該等所取消路由相關聯之彼等受抑制主機路由,其中解除抑制包括針對彼等被解除抑制主機路由發起LSA。
  15. 一種用於處理鏈結狀態識別碼(LSID)衝突以防止與不同路由相關聯之不同鏈結狀態公告(LSA)分享同一LSID的網路元件,其中每一LSA係藉由一所指派LSID來加以識別,該網路元件包含:一開放式最短路徑優先(OSPF)模組,用以維持一鏈結狀態資料庫(LSDB)並產生包括LSID之LSA,其中該OSPF模組係用以在LSID指派期間執行以下操作:基於不同路由之網路首碼及路由掩碼,給該等不同路由之LSA指派LSID;抑制該等不同路由中原本具有一對應LSA之主機路由之彼等路由,該對應LSA具有與和一不同路由相關聯之一不同LSA之一LSID衝突之一LSID,其中一主機路由係具有一主機路由掩碼之一路由,其中對彼等主機路由之該抑制包括移除與該等受抑制主機路由相關聯之該等LSA,且不針對彼等受抑制主機路由發起LSA;其中針對該等受抑制主機路由中之每一者,包含彼 受抑制主機路由之一範圍可經由與原本包括與彼受抑制主機路由之一LSA衝突之一LSID之該LSA相關聯之該路由而達到;且藉此避免主機路由LSID衝突以防止路由不可達到或多個路由指向一相同LSA。
  16. 如請求項15之網路元件,其中該OSPF模組係用以接收經由一OSPF協定自其他網路元件獲悉、自該網路元件上之其他路由協定再分佈或靜態組態的路由。
  17. 如請求項15之網路元件,進一步包含用以將未受抑制之路由分佈至一不同網路元件之一邊界閘道協定(BGP)模組。
  18. 如請求項15之網路元件,進一步包含儲存OSPF路由之一本地端OSPF路由資訊庫(RIB),其中該OSPF模組亦係用以將該等受抑制主機路由儲存於該本地端OSPF RIB中。
  19. 如請求項15之網路元件,其中該OSPF模組亦係用以在LSID指派期間執行以下操作:針對每一受抑制主機路由,使彼受抑制主機路由與原本具有與彼受抑制主機路由衝突之一LSID之該路由相關聯。
  20. 如請求項19之網路元件,其中該OSPF模組亦係用以基於具有一相同網路首碼之路由之該網路首碼及該等路由之路由掩碼的長度來傳送彼等路由之間的關聯。
TW099127803A 2009-08-20 2010-08-19 鏈結狀態識別碼衝突處理 TWI500295B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/544,789 US8289961B2 (en) 2009-08-20 2009-08-20 Link state identifier collision handling

Publications (2)

Publication Number Publication Date
TW201138377A TW201138377A (en) 2011-11-01
TWI500295B true TWI500295B (zh) 2015-09-11

Family

ID=42830177

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099127803A TWI500295B (zh) 2009-08-20 2010-08-19 鏈結狀態識別碼衝突處理

Country Status (9)

Country Link
US (2) US8289961B2 (zh)
EP (1) EP2467979B1 (zh)
JP (1) JP5597710B2 (zh)
CN (1) CN102484611B (zh)
CL (1) CL2010000877A1 (zh)
NZ (1) NZ597788A (zh)
RU (1) RU2517312C2 (zh)
TW (1) TWI500295B (zh)
WO (1) WO2011021145A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932116B (zh) * 2012-10-26 2015-06-17 迈普通信技术股份有限公司 一种链路状态通告信息确认方法和设备
US9356884B2 (en) * 2013-01-17 2016-05-31 Cisco Technology, Inc. MSDC scaling through on-demand path update
US10164863B2 (en) 2013-09-11 2018-12-25 Telefonaktiebolaget Lm Ericsson (Publ) Inter-chassis peer and method used therein
US20160301594A1 (en) * 2013-12-06 2016-10-13 Telefonaktiebolaget L M Ericsson (Publ) Inter-chassis peer and method used therein
CN105262852B (zh) * 2015-09-18 2018-08-10 中国科学院计算技术研究所 IPV6网络环境中OSPFv3协议下的网段冲突检测方法及系统
CN105721303B (zh) 2016-03-31 2018-05-18 华为技术有限公司 一种路由控制方法、网络设备及控制器
CN107948075A (zh) * 2017-12-20 2018-04-20 盛科网络(苏州)有限公司 有效解决公网和私网路由转发的方法及系统
CN111740914B (zh) * 2020-06-18 2022-11-22 深圳市信锐网科技术有限公司 一种ospf协议报文分布式处理方法、系统及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040249976A1 (en) * 2003-05-23 2004-12-09 Neustadter Udo Mircea Optical wavekey network and a method for distributing management information therein
US20060056328A1 (en) * 2002-07-30 2006-03-16 Lehane Andrew R Identifying network rotuters and paths
US20070250640A1 (en) * 2006-04-24 2007-10-25 Cisco Technology, Inc. Method and apparatus for assigning Ipv6 link state identifiers

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365520A (en) * 1992-03-27 1994-11-15 Motorola, Inc. Dynamic signal routing
US6711152B1 (en) * 1998-07-06 2004-03-23 At&T Corp. Routing over large clouds
US6615357B1 (en) * 1999-01-29 2003-09-02 International Business Machines Corporation System and method for network address translation integration with IP security
US6651107B1 (en) * 1999-09-21 2003-11-18 Intel Corporation Reduced hardware network adapter and communication
US7327683B2 (en) * 2000-03-16 2008-02-05 Sri International Method and apparatus for disseminating topology information and for discovering new neighboring nodes
US7046666B1 (en) * 2001-12-06 2006-05-16 The Directv Group, Inc. Method and apparatus for communicating between divergent networks using media access control communications
US7088677B1 (en) * 2002-03-01 2006-08-08 Bellsouth Intellectual Property Corporation System and method for delay-based congestion detection and connection admission control
US20050169270A1 (en) 2003-03-19 2005-08-04 Ryoichi Mutou Router, frame forwarding method, and lower layer frame virtual forwarding system
JP4044007B2 (ja) * 2003-06-27 2008-02-06 古河電気工業株式会社 経路情報管理方法および経路情報管理装置
CN1926835B (zh) * 2004-04-05 2012-02-22 艾利森电话股份有限公司 在无线多跳自组织网络中用于地址解析映射的方法、通信装置和系统
EP1672848A1 (en) * 2004-12-15 2006-06-21 Siemens Aktiengesellschaft L3 VLAN reuse with L2 forwarding prevention to increase effective number of IP VLANs
KR20070095374A (ko) 2004-12-31 2007-09-28 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 비연결형 통신 트래픽을 위한 연결형 통신 방법
US8374092B2 (en) * 2006-08-28 2013-02-12 Cisco Technology, Inc. Technique for protecting against failure of a network element using multi-topology repair routing (MTRR)
CN101272393B (zh) * 2008-05-14 2010-11-03 杭州华三通信技术有限公司 基于链路状态路由协议的路由计算方法和网络节点

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060056328A1 (en) * 2002-07-30 2006-03-16 Lehane Andrew R Identifying network rotuters and paths
US20040249976A1 (en) * 2003-05-23 2004-12-09 Neustadter Udo Mircea Optical wavekey network and a method for distributing management information therein
US20070250640A1 (en) * 2006-04-24 2007-10-25 Cisco Technology, Inc. Method and apparatus for assigning Ipv6 link state identifiers

Also Published As

Publication number Publication date
WO2011021145A1 (en) 2011-02-24
CL2010000877A1 (es) 2011-06-17
TW201138377A (en) 2011-11-01
JP2013502799A (ja) 2013-01-24
RU2012110401A (ru) 2013-12-20
US8855113B2 (en) 2014-10-07
US20110044330A1 (en) 2011-02-24
EP2467979B1 (en) 2015-05-06
CN102484611A (zh) 2012-05-30
US20130003731A1 (en) 2013-01-03
NZ597788A (en) 2013-04-26
JP5597710B2 (ja) 2014-10-01
CN102484611B (zh) 2014-11-05
US8289961B2 (en) 2012-10-16
RU2517312C2 (ru) 2014-05-27
EP2467979A1 (en) 2012-06-27

Similar Documents

Publication Publication Date Title
JP7004405B2 (ja) 仮想ネットワークにおける分散型フロー状態p2p設定のためのシステムおよび方法
TWI500295B (zh) 鏈結狀態識別碼衝突處理
US10320838B2 (en) Technologies for preventing man-in-the-middle attacks in software defined networks
TWI583151B (zh) 實施及管理虛擬網路的系統與方法
US7969867B2 (en) Backup route generation in border gateway protocol
US10574570B2 (en) Communication processing method and apparatus
JP2013510459A (ja) 分離的なパス計算アルゴリズム
CA3104756C (en) Loop avoidance communications method, device, and system
US9973578B2 (en) Real time caching efficient check in a content centric networking (CCN)
US10404648B2 (en) Addressing for customer premises LAN expansion
EP3456020A1 (en) Mechanism for inline packet response generation in software defined networks
US9246804B1 (en) Network routing
WO2016123904A1 (zh) 路由收敛方法、装置及虚拟专用网vpn系统
US20200336385A1 (en) BGP Logical Topology Generation Method, and Device
US10735252B2 (en) Outside router fault detection
WO2016173196A1 (zh) 地址映射关系的学习方法及装置
JP4365869B2 (ja) 経路情報変更方法、経路情報変更装置および経路情報変更プログラム
US20140146126A1 (en) Multiparty Service Establishment Based On Priority Rules For Routing
US11838201B1 (en) Optimized protected segment-list determination for weighted SRLG TI-LFA protection
CN111107006B (zh) 路由的管理方法及装置

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees