專利名稱:計算機網絡中用于優(yōu)化路由的事件觸發(fā)追蹤路由的制作方法
技術領域:
本發(fā)明一般地涉及計算機網絡,更具體地涉及計算機網絡中用于優(yōu)化
路由的追蹤路由(tmceroute)操作。
背景技術:
當前,當在計算機網絡中發(fā)生網絡事件(例如,性能問題)時,通常 希望確定該問題的誘因,例如,為什么流量不再到達網絡中的目的地,或 者為什么到達目的地的延遲變得不可接受。但是,時常,到系統(tǒng)管理員得 到通知去檢查問題時,網絡可能已經自我校正,因而隱藏了問題使其無法 被檢測到。特別地,管理員通常不得不去本地域的特定邊緣路由器,并手 動對正遭遇性能問題的目的地運行診斷。
追蹤路由(例如,用于因特網協(xié)議或"IP"的傳統(tǒng)追蹤路由)是管理 員可以使用的一種功能,該功能允許管理員看見對網絡中從追蹤路由操作 的源到選定的最終目標目的地的各節(jié)點的逐跳(每跳)追蹤。例如,當目 的地前綴不可到達時,網絡管理員通常并不知曉管制(brownout)(即, 臨時網絡斷供)或中斷(blackout)(即,具有分組進入但無外出的情況 或配置的網絡區(qū)域)確切地發(fā)生在網絡中的何處。此外,當發(fā)生擁塞并且 應用經歷比預計更大的分組丟失或往返時間(RTT)時,可能有利的是查 看從源到目的地的每跳度量。在這些情形中,可以由管理員使用追蹤路由 來確定每條度量以診斷問題。但是,同樣的,手動應用追蹤路由診斷所具 有的問題在于網絡事件可能不再處于發(fā)生中(例如,可能已被校正)。
另外,與追蹤路由相關聯(lián)的另一個問題是確定要將追蹤路由導向的適 當?shù)淖粉櫮繕恕@?,某些目標可能是不工作?例如,事件的誘因), 或者管理員通??赡軆H僅知曉具有問題的目的地地址前綴,而不知曉追蹤 路由工作所需的該前綴內的特定目標地址。此外,傳統(tǒng)追蹤路由通常被應
5用于從源到目標目的地的當前路徑(例如,通過各種路由協(xié)議確定的"最 佳"路徑),并且不提供例如針對通過網絡的任何替代可用路徑的額外度 量,這些額外度量在其它情況下可用于額外目的。
發(fā)明內容
根據本發(fā)明的一個方面,提供了一種方法,其包括檢測網絡中從本 地網絡域到遠程域中的目的地地址前綴的當前路徑上的事件;動態(tài)確定所
述目的地地址前綴內的追蹤目標目的地地址;響應于所述事件,對所述當 前路徑和所述網絡中從所述本地網絡域到所述追蹤目標的替代路徑選集執(zhí) 行追蹤路由;通過所述追蹤路由獲取沿各條被追蹤路徑的每跳度量;以及 存儲所述度量。
根據本發(fā)明另一個方面,提供了一種裝置,包括 一個或多個網絡接 口,該一個或多個網絡接口適用于與網絡中的本地網絡域的節(jié)點通信;處 理器,該處理器與所述網絡耦合并且適用于運行一個或多個處理;以及存 儲器,該存儲器適用于存儲可由所述處理器運行的優(yōu)化邊緣路由(OER) 追蹤路由處理。所述OER追蹤路由處理在被運行時可操作用于檢測所 述網絡中從所述本地網絡域到遠程域中的目的地地址前綴的當前路徑上的 事件;動態(tài)確定所述目的地地址前綴內的追蹤目標目的地地址;響應于所 述事件,請求對所述當前路徑和所述網絡中從所述本地網絡域到所述追蹤 目標的替代路徑選集執(zhí)行追蹤路由;以及通過所述追蹤路由來獲取沿各條 被追蹤路徑的每跳度量。所述存儲器還適用于存儲所述度量。
通過結合附圖來參考以下描述,可以更好地理解本文所描述的實施 例,在附圖中,相似標號指示相同或功能相似的元件,其中 圖1圖示了一個示例計算機網絡; 圖2圖示了一個示例網絡設備/節(jié)點; 圖3圖示了像圖1一樣的一個示例計算機網絡; 圖4圖示了一個示例度量表;以及圖5圖示了用于優(yōu)化路由的事件觸發(fā)追蹤路由的示例過程。
具體實施方式
概況
根據本公開的一些實施例,網絡設備(例如,主控制器)可以檢測計 算機網絡中從本地網絡域到遠程域的目的地地址前綴的當前路徑上的事 件。作為響應,該設備可以動態(tài)地(例如,智能地)確定目的地地址前綴 內的追蹤目標目的地地址,并且可以執(zhí)行(或請求執(zhí)行)對當前路徑以及
網絡中從本地網絡域到追蹤目標的替代路徑的選集(a selection of alternate paths)的追蹤路由,其中,追蹤路由被用于獲取沿各條被追蹤路徑的每跳 度量。這些度量隨后可以被存儲,例如以用于最佳路徑選擇、故障標識報 告等。 描述
計算機網絡是通過用于在端節(jié)點(例如,個人計算機和工作站)之間 傳送數(shù)據的通信鏈路和分段互連的節(jié)點的地理分布集合。可以有許多種網 絡,其中,種類的范圍從局域網(LAN)到廣域網(WAN)不等。LAN 通常經由位于諸如樓宇或校園之類的同一總的物理位置中的專用私有通信 鏈路來連接節(jié)點。另一方面,WAN通常經由諸如公共載波電話線路、光 路徑、同步光網絡(SONET)或同步數(shù)字體系(SDH)鏈路之類的長距離 通信鏈路來連接地理上分散的節(jié)點。因特網是連接全世界的分立網絡的 WAN的一個示例,其提供了各種網絡上的節(jié)點之間的全球通信。這些節(jié) 點通常通過根據諸如傳輸控制協(xié)議/因特網協(xié)議(TCP/IP)之類的預定義協(xié) 議交換離散的數(shù)據幀或分組來經由網絡通信。在這種上下文中,協(xié)議由定 義了節(jié)點如何交互的一組規(guī)則組成。計算機網絡還可以通過諸如路由器之 類的中間網絡節(jié)點來互連,以擴展各個網絡的有效"大小"。
因為對互連計算機網絡的管理可以證明是繁重的,所以可以將較小群 組的計算機網絡維護為路由域或自治系統(tǒng)。自治系統(tǒng)(AS)內的網絡通常 通過被配置為運行"域內"(intmdomain)路由協(xié)議的傳統(tǒng)域內路由器來 耦合在一起,并且通常經歷公共授權。為了提高路由可擴展性,服務提供商(例如,ISP)可以將AS劃分為多個"區(qū)域"或"級別"。但是,可能 希望增加能夠交換數(shù)據的節(jié)點數(shù)目;在這種情況下,運行域間路由協(xié)議的 域間路由器被用于互連各個AS的節(jié)點。并且,可能希望互連在不同管理 域下操作的各個AS。本文中所使用的AS、區(qū)域或級別被統(tǒng)稱為"域", 并且將不同域互連在一起的節(jié)點被統(tǒng)稱為"邊緣節(jié)點/路由器"(或者"邊 界節(jié)點/路由器")。
圖1是一個示例計算機網絡100的示意性框圖,該計算機網絡100例 示地包括節(jié)點(例如,個人計算機、工作站等)Sl、 Tl和T2,這些節(jié)點 通過如圖所示的一個或多個網絡域(例如,AS1-AS4)之間的鏈路和網絡 設備(例如,路由器)來互連(顯然,AS內的鏈路/路由器為了簡化起見 而未被示出)。例示性地,每個域都可以包括一個或多個域間/邊緣路由 器,例如,ER1-ER8,諸如數(shù)據分組流量之類的客戶端通信通過所述路由 器可以進入或流出AS,如圖所示。 一般而言,各個AS可以是企業(yè)網絡、 服務提供商網絡(ISP)或者任何其它網絡或子網絡。此外,各個AS (例 如AS1禾P AS4)可以是多歸屬的(multi-homed),即,包括到一個或多 個其它路由域或AS的多個不同對等(相鄰)連接(例如,AS1分別經由 ER1和ER2而連接到AS2和AS3)。另外,在某些邊緣節(jié)點ER1-2處的 路由操作可以由路由主控制器(RMC) 201例如根據本文中所描述的優(yōu)化 邊緣路由(OER)(例如,作為OER "主節(jié)點"或OER主控制器)來管 理,路由主控制器(RMC) 201可以通過例如點到點鏈路或局域網來連接 到邊緣節(jié)點。
可以使用諸如TCP/IP、用戶數(shù)據報協(xié)議(UDP)、異步傳送模式 (ATM)協(xié)議、幀中繼協(xié)議、因特網分組交換(IPX)協(xié)議等的預定義網 絡通信協(xié)議,在計算機網絡100的節(jié)點/設備之間交換數(shù)據分組140 (例 如,流量)。
圖2是例如作為路由主控制器(201)或路由器(例如,邊緣路由 器,"202"),可以有利地結合本文所描述的一個或多個實施例使用的 示例節(jié)點/設備200的示意框圖。該設備包括通過系統(tǒng)總線250互連的多個 網絡接口 210、 一個或多個處理器220和存儲器240。網絡接口 210包含
8機械的、電的、和信號傳遞電路,用于經由耦合到網絡100的物理鏈路來
傳送數(shù)據。網絡接口可被配置為使用各種不同的通信協(xié)議來發(fā)送和/或接收
數(shù)據,所述通信協(xié)議包括TCP/IP 、 UDP 、 ATM 、同步光網絡 (SONET)、無線協(xié)議、幀中繼、以太網、光纖分布式數(shù)據接口 (FDDI)等。顯然,物理網絡接口 210還可用于實現(xiàn)例如用于虛擬私有網
絡(VPN)接入的一個或多個虛擬網絡接口,這是本領域技術人員已知的。
存儲器240包括可由一個或多個處理器220和網絡接口 210尋址的多 個存儲位置,用于存儲與本文所描述的實施例相關聯(lián)的軟件程序和數(shù)據結 構。每個處理器220可以包括用于運行軟件程序和操縱諸如路由表249和 度量表400之類的數(shù)據結構的必要元件或邏輯。操作系統(tǒng)242 (例如,思 科系統(tǒng)公司的網絡互連操作系統(tǒng)或IOSTM)通過調用支持在設備上運行的 軟件處理和/或服務的網絡操作及其它而在功能上組織節(jié)點,其中,操作系 統(tǒng)242的某些部分通常位于存儲器240中并由一個或多個處理器運行。根 據本文所描述的一個或多個實施例,這些軟件處理和/或服務可以包括路由 處理/服務247、 OER/主OER處理/服務245和(例如,與OER處理245協(xié) 同的)追蹤路由處理/服務246。本領域技術人員將清楚,包括各種計算機 可讀介質在內的其它處理器和存儲器裝置可用于存儲和運行涉及本文所描 述的發(fā)明技術的程序指令。
本領域技術人員將會了解,路由處理/服務247包含這樣的計算機可執(zhí) 行指令,這些計算機可執(zhí)行指令由各個處理器220運行以執(zhí)行由諸如內部 網關協(xié)議(IGP)(例如,開放最短路徑優(yōu)先"OSPF"和中間系統(tǒng)到中間 系統(tǒng)"IS-IS")、邊界網關協(xié)議等的一個或多個路由協(xié)議提供的功能。這 些功能可被配置為管理一個或多個路由/轉發(fā)信息數(shù)據庫(例如,路由表 249),該路由/轉發(fā)信息數(shù)據庫包含例如用于作出路由和轉發(fā)決定的數(shù) 據。具體而言,路由表通常用于存儲用以到達各個目的地的可到達目的地 地址、下一跳接口、和下一跳地址,以及基于網絡拓撲可選的其它信息, 例如到達目的地的關聯(lián)尺度(例如,成本)。特別地,可以使用諸如傳統(tǒng) OSPF和IS-IS鏈路狀態(tài)協(xié)議之類的路由協(xié)議在路由器200之間傳送網絡拓撲的改變(例如,以"收斂"于網絡拓撲的相同視圖)。顯然,路由服務
247還可以執(zhí)行與虛擬路由協(xié)議有關的功能,例如維護VRF實例(未示 出),或者與隧道傳輸協(xié)議有關的功能,例如用于多協(xié)議標簽切換等,這 些功能各自為本領域技術人員所理解。
OER/主OER處理/服務245包含這樣的計算機可執(zhí)行指令,這些計算 機可執(zhí)行指令由各個處理器220運行以執(zhí)行例示性地分別由OER節(jié)點202
(例如,邊緣路由器ER1-2)和OER主控制器201采用的功能。在OER 主節(jié)點上運行的主OER處理245與邊緣路由器ER1-2通信以請求監(jiān)控一 組地址前綴等。在邊緣路由器上運行的OER處理245監(jiān)控AS1的邊緣處 的流量,并響應以與所監(jiān)控的前綴相對應的網絡統(tǒng)計值等。例示性地, OER處理245可被配置為測量從所監(jiān)控的流量獲得的各種網絡統(tǒng)計值。
(顯然,雖然一個OER處理245例示性地處于存儲器240中,但是OER 處理245的實例可以在網絡接口 210上運行(未示出))。這些統(tǒng)計值隨 后被轉發(fā)到主OER處理245。針對各個所監(jiān)控的前綴,統(tǒng)計值可以對應于 各種流量度量,例如往返延遲時間(RTT)、數(shù)據吞吐量(即,傳送或接 收的數(shù)據量)、分組丟失、可到達性等。 一般而言,OER處理245可以測 量任何的任意流量尺度,包括傳統(tǒng)的基于成本和基于距離的尺度。此外, OER處理245還可以計算流量度量集合的統(tǒng)計平均、方差、中值等。
隨后可以在OER主控制器201處根據主OER處理245來處理從邊緣 路由器202的OER處理245接收的統(tǒng)計值和度量。更具體而言,主OER 處理245對統(tǒng)計值進行分析,并確定是否可以優(yōu)化進入和/或離開AS1的 流量分布。如果是,則主OER處理例如通過將新的BGP本地優(yōu)選值與選 定流量相關聯(lián)或者在統(tǒng)計上改變邊緣節(jié)點的路由表內容(其隨后可相應地 在AS1內被傳播),可以重新分布路由通過邊緣節(jié)點的流量。從這種意義 上說,除了利用所接收的統(tǒng)計值來確定的它們的實時性能之外,主OER 處理還例如基于流量類型、流量類別、目的地前綴等來選擇到各個目的地 前綴的最佳出口鏈路(OEL)(即,"最佳出口選擇")。最后,最終結 果是改進的因特網性能、更好的負載分布和/或用于因特網連接的更低成 本。顯然,主OER處理245可以分布在多個節(jié)點中,因而不必存在于單
10個QER主控制器201中。此外,除了與邊界節(jié)點通信所必需的之外,單 個OER主控制器無需包含路由處理或路由表。
根據本文所描述的一個或多個實施例,為了獲得統(tǒng)計值,OER處理 245可以被動地監(jiān)控和/或主動探測所監(jiān)控的前綴。被動監(jiān)控有賴于從OER 收集從監(jiān)控諸如吞吐量、定時、等待時間、分組丟失、可到達性等的傳統(tǒng) 用戶流量中獲悉的信息。另一方面,主動探測有賴于探測分組以測量與從 發(fā)起節(jié)點(源)訪問所監(jiān)控的前綴相關聯(lián)的各種參數(shù)。探測分組被邊緣節(jié) 點/路由器用于測量與到達網絡中的所監(jiān)控前綴(例如,目標前綴)相關聯(lián) 的各種參數(shù)(例如,抖動、延遲、丟失、可到達性等)。具體而言,探測 分組(請求)通?;趤碜設ER主控制器201的請求而被邊緣路由器202 (OER處理245)生成,并被傳送到與目標前綴相關聯(lián)的目標節(jié)點。目標 節(jié)點獲取各個探測分組,并例如通過以下方式向邊界節(jié)點返回響應(答 復)修改并返回探測分組,返回新生成的響應分組,或者在經修改的傳 統(tǒng)返回消息(例如ACK消息)中包括所需的響應信息。邊界節(jié)點隨后使 用所返回的探測分組來測量與到達目標前綴相關聯(lián)的各種參數(shù),并將結果 返回給OER主控制器。
例如,假設AS1中的邊緣路由器ER1例如通過測量建立TCP會話的 等待時間來測量發(fā)送給AS4中的目標Tl的流量的往返分組延遲時間 (RTT) 。 ER1的OER處理245測量在向Tl發(fā)送TCP同步序列號 (SYN)分組與接收相應的確認(ACK)分組之間的等待時間?;蛘?, OER處理可以采用其它技術來測量往返延遲時間,例如,發(fā)出傳統(tǒng)的"回 聲"分組(或"ping"分組)。本領域技術人員將會了解,探測分組可以 結合諸如ICMP、 UDP、 TCP、 RTP、 HTTP等的許多已知協(xié)議來使用。顯 然,來自各種協(xié)議的回聲請求和答復消息(回聲分組)在本文中被統(tǒng)一描 述為探測分組。并且,可能希望控制向目標發(fā)送探測分組的速率,從而使 由ISP進行的取舍(過濾)免受似乎為"服務拒絕"或"DoS"的攻擊。 其結果是,發(fā)送探測分組的速率可以限于非常低的速率,例如,每分鐘一 個探測分組。
邊緣路由器202向呈現(xiàn)給定被監(jiān)控前綴的各個目標發(fā)送探測分組。該給定前綴內的目標可以是所配置目標或者所獲悉目標。所配置目標可以由
系統(tǒng)管理員或客戶在OER主節(jié)點處配置。所配置目標的一個示例可以是 管理員與前綴中的目標達成協(xié)議的情況,例如,使用UDP的目標。每個 所配置目標被假定為可用,例如,網絡(AS)之間的協(xié)議確保將返回有效 響應的情況。
另一方面,所獲悉目標是可以通過監(jiān)控出口處的流量來獲悉的目標。 例如,所獲悉目標可以通過監(jiān)控已經建立從一出口到所監(jiān)控前綴中的特定 節(jié)點的數(shù)據連接的流量(例如,通過檢測TCP連接)而被確定。根據此信 息,可以創(chuàng)建前綴內的節(jié)點列表,例如Tl-Tn (例如,T2)。可用于收集 網絡統(tǒng)計值的一個示例軟件應用是思科系統(tǒng)公司的NetFlowTM。這些從目 標前綴中獲悉的節(jié)點隨后可以用作所獲悉目標。通常,雖然并不必要,但 是最頻繁使用的節(jié)點或者具有最高流量吞吐量的節(jié)點將是針對給定前綴最 具代表性的所獲悉目標節(jié)點,例如,前綴內的web服務器。但是,可能希 望先于使用所獲悉目標而使用所配置目標。
使用目標來表示整個所監(jiān)控前綴所引起的一個問題在于如何確定一個 目標是否為有效目標。例如,雖然響應目標是可用于測量參數(shù)信息的有效 目標,但是諸如策略過濾(例如,防火墻)、黑孔(blackhole)、管制等 的網絡問題可能會導致無響應目標,或者,簡單地目標(主機)自身被關 閉(例如,為了維護或其它原因),或者在其它情況下由于其自身的特定 (非網絡相關的)原因而不響應。在無響應目標的情況下,由諸如故障等 的網絡問題導致的不響應出于測量所監(jiān)控前綴的參數(shù)信息的目的而為有 效,這是因為在到達目標的過程中的網絡故障可應用于到達整個所監(jiān)控前 綴。由于目標自身被斷電或者在其它情況下不可訪問或停用而導致的不響 應對于測量參數(shù)信息是無效的,這是因為其不在整體上表示所監(jiān)控前綴。 此外,在所監(jiān)控前綴的所有代表性目標都不作響應的情況下,源可能錯誤 地斷定整個前綴都不可到達,而前綴大體上(除了無響應目標之外)可能 仍然存在并正確地工作。
因此, 一種例示性目標管理技術可以針對計算機網絡的特定(所監(jiān) 控)前綴動態(tài)地選擇最佳的一組有效目標。具體而言,可以從要用作所監(jiān)
12控前綴的代表的可能所獲悉和所配置目標庫中選擇一個或多個目標。在評 估時間段期間可以從源向所選擇的目標發(fā)送探測分組。在該評估時間段不 對探測分組作響應的目標是無效的且被取消選定,并且如果可以,則從可 用目標庫中選擇未被使用目標用以在下一個評估時間段內取代各個無響應 目標??梢詠G棄無效的所獲悉目標,同時可以將無效的所配置目標返回給 可能目標庫,以在隨后的評估時間段內用于潛在的重新選擇。
顯然,在典型網絡中,通常存在可用于到達特定目的地前綴(例如, 針對如上所述的多歸屬站點)的多條路徑。主動探測通常探測所有可用路
徑以確定參數(shù)信息,從而使OER處理可以(例如,根據指定策略)從所
有路徑的集合中選擇一條或多條優(yōu)選路徑。 一直主動探測所有可用路徑以 確定最佳路徑需要探測源(路由器)、目標以及總地來說網絡上的大量資 源。本領域技術人員將會了解,網絡在探測所有路徑期間更可能會過濾探 測響應,而探測實際上可能會創(chuàng)建影響每個探測分組和響應的質量的擁 塞。
因而可利用一種例示性技術來有效地經由計算機網絡的兩條或更多條
路徑從源向目的地前綴中的目標發(fā)送探測分組。例如,OER處理245可以 經由選擇的一條或更多條(例如,全部)可用路徑(出口)向目的地前綴 中的目標發(fā)送探測分組(例如,通過ER1或ER2)。 一旦優(yōu)選路徑被選定 ("路徑選擇優(yōu)化"),源OER處理245就可以僅經由該優(yōu)選路徑向目 標發(fā)送探測,直到諸如脫離策略(OOP, out of policy)事件、策略改變、 或者可選的基于定時器的觸發(fā)等的觸發(fā)發(fā)生為止。在被觸發(fā)時,源再次探 測所有路徑(當前路徑和替代/非當前路徑)以重新選擇優(yōu)選路徑來到達目 標(即,關聯(lián)的目的地地址前綴)。
追蹤路由處理/服務246包含這樣的計算機可執(zhí)行指令,這些計算機可 執(zhí)行指令由各個處理器220運行以根據本文所描述的一個或多個實施例來 執(zhí)行追蹤路由操作。例如,作為對回聲請求的擴展已經開發(fā)了追蹤路由技 術,以追蹤分組在兩個或更多個節(jié)點之間往返傳送的通路(路徑)。傳統(tǒng) 上,通過從源節(jié)點向目的地節(jié)點發(fā)送具有越來越長的生存時間(TTL)值 的回聲請求來執(zhí)行追蹤路由。例如,TTL為"1"的第一回聲請求可以到達源和目的地之間的第一中間節(jié)點("下一跳"節(jié)點)。當?shù)谝恢虚g節(jié)點
接收到回聲請求時,其將TTL減小為"0",并且向源節(jié)點返回消息(例 如,錯誤消息)(一般而言,具有第一中間節(jié)點的地址)。源節(jié)點隨后可 以發(fā)送TTL為"2"的第二回聲請求,該第二回聲請求被第一中間節(jié)點接 收,第一中間節(jié)點將該TTL減小為"1"并將回聲請求轉發(fā)給第二中間節(jié) 點("下下一跳"節(jié)點)。第二中間節(jié)點將TTL減小為"0",并且也向 源節(jié)點返回消息(例如,錯誤消息)。源節(jié)點可以繼續(xù)發(fā)送具有增大的 TLL值的后續(xù)回聲請求,直到源和目的地之間的通路已被追蹤到為止。顯 然,本領域技術人員將會了解,追蹤路由也可以與逐跳追蹤一起返回各種 度量,例如到達每跳的延遲值。這樣的度量(以及所追蹤到的通路)可被 存儲在度量表400中,如以下將描述的。
如上所述,當在網絡中發(fā)生網絡事件(例如,性能問題)時,通常希 望確定事件/問題的誘因,例如,為什么流量不再到達目的地,或者為什么 到達目的地的延遲已經變得不可接受。管理員通常被通知去本地域的特定 邊緣路由器并手動對正遭受性能問題的目的地運行診斷(例如,追蹤路 由)。但是,同樣地,手動應用追蹤路由診斷所具有的問題在于網絡事件 可能不再處于發(fā)生中(例如,它們可能已經自我校正)。使用傳統(tǒng)(手 動)追蹤路由還呈現(xiàn)其它問題,例如,確定將追蹤路由導向的適當追蹤目 標,或者僅僅對從源到目標目的地的當前路徑應用追蹤路由,等等。因 此,本文所描述的實施例解決了使用追蹤路由的上述問題,并以有效且增 強的方式利用追蹤路由(例如,用于優(yōu)化路由)。
用于優(yōu)化路由的事件觸發(fā)追蹤路由
根據本公開的實施例,網絡設備(例如,主控制器201)可以檢測計 算機網絡中從本地網絡域(例如,AS1)到遠程域(例如,AS4)的目的 地地址前綴的當前路徑上的事件。作為響應,設備201可以動態(tài)地(例 如,智能地)確定目的地地址前綴內的追蹤目標目的地地址(例如, Tl),并且可以執(zhí)行(或請求執(zhí)行)對當前路徑以及對網絡中從本地網絡 域到追蹤目標的替代路徑選集的追蹤路由,其中,追蹤路由用于獲取沿各 條被追蹤路徑的每跳度量。這些度量隨后可以被存儲,以例如用于最佳路徑選擇、故障標識報告等。
例示性地,本文所描述的一個或多個實施例可以協(xié)同追蹤路由處理
246來利用OER處理245,以根據本文所描述的一個或多個實施例來提供 用于優(yōu)化路由的事件觸發(fā)追蹤路由。特別地,處理245和246兩者都可以 共同位于OER主控制器201上,以提供集中式且受事件驅動的基于OER 策略的追蹤路由,其中獲得了本文詳細描述的一個或多個優(yōu)點。顯然,根 據一個或多個實施例,OER處理245和追蹤路由處理246也可以組合成單 個"OER追蹤路由處理"以執(zhí)行本文所描述的功能,并且分立處理 245/246僅僅是一個示例。
可操作地,OER主控制器201 (主OER處理245)可以檢測從本地網 絡域(AS1)到遠程域(AS4)的目的地地址前綴的當前路徑上的事件。 例如,當脫離策略(OOP)參數(shù)被檢測到時,事件可被檢測到。OOP參數(shù) 可以基于根據上述OER技術在主控制器201處配置的一組一個或多個參 數(shù)策略。例如,主OER處理245可被配置為將流量從源節(jié)點Sl路由到延 遲不大于30ms的目的地前綴(例如,包含節(jié)點T1和T2)。(或者,AS1 可以與AS2達成協(xié)議到達AS4的延遲不大于30ms,等。)如果主OER 處理245檢測到到達目的地前綴(或者穿過AS2)的延遲大于30ms,例如 50ms,則當前路徑的延遲參數(shù)被認為是OOP。如上所述,可以使用被動 監(jiān)控和/或主動探測來測量這樣的參數(shù)。此外,例如,當探測響應不再被接 收到時,OOP事件可能是目的地前綴不再可達(即,不可達)。
除了 OOP事件之外,通路/路徑相關事件也可用于觸發(fā)OER追蹤路 由。例如,如果沿當前路徑已經發(fā)生通路改變(例如,通過BGP公告而獲 悉),則可以檢測到事件。此外,如上所述,為了確定最佳路徑,主OER 處理245可以周期性地觸發(fā)對(例如,經由ER1的)當前路徑以及(例 如,經由ER2的)替代路徑選集的探測,以用于路徑選擇優(yōu)化。換而言 之,當不僅僅探測當前路徑時(例如,"探測全部"或"探測N"),也 可以不僅僅針對當前路徑觸發(fā)追蹤路由,例如以用于(本文所描述的)路 徑選擇優(yōu)化。以這種方式,作為路徑選擇優(yōu)化的一部分可以執(zhí)行"周期性 追蹤路由"操作,因而使得主OER處理245可以基于(同樣,在本文中
15描述的)追蹤路由結果選擇離開其網絡的最佳出口。(顯然,本文所提及 的事件僅僅是例示性的示例,而不意味著限制本文所描述的實施例的范 圍。例如,替代路徑上的OOP事件也可被視為可以觸發(fā)追蹤路由的事 件,并且本文所描述的實施例不限于在當前路徑上發(fā)生的事件)。
根據本文所描述的一個或多個實施例,OER主控制器201可以(例 如,響應于事件或者在事件之前周期性地)動態(tài)地(例如,智能地)確定 要用作追蹤路由的目的地的目的地地址前綴內的追蹤目標目的地地址。例 如,雖然OER通常對地址前綴進行操作(例如,用于路徑選擇),但是 追蹤路由使用前綴內的顯式目標。如此,主OER處理245可以動態(tài)地獲 取屬于用作追蹤目標(例如,Tl或T2)的優(yōu)化前綴的主機地址。例如, 追蹤目標可以是最近的已知可到達目標或者上述探測分組的主動響應目的 地地址。g卩,如果目標的主動探測得以配置,則OER可以使用當前正在 響應的(可到達/主動)探測的地址??商娲鼗蛘叱酥?,可以通過用 于主動目的地地址檢測的流量監(jiān)控(即,檢測去往/來自所需前綴內的特定 目標的流量)來獲悉追蹤目標。換而言之,如果動態(tài)前綴獲悉得以配置, 則OER可以例如使用上述NetFlowTM來獲悉前綴和當前主動主機的地址。 顯然,通過使用動態(tài)(智能)獲取的追蹤目標,根據本文所描述的一個或 多個實施例經由OER獲取的追蹤路由結果比配置追蹤路由的其它方法 (例如,由網絡管理員進行的靜態(tài)配置)更加可預測和/或有用(例如,精 確)。
一旦事件被檢測到并且追蹤目標被選定,OER處理245就可以執(zhí)行對 (例如,從ER1起的)當前路徑和從本地網絡域(AS1)到追蹤目標(例 如Tl)的替代路徑選集(例如,諸如從ER2起的所有替代路徑/出口)的 追蹤路由。例如,主控制器201的主OER處理245可以請求執(zhí)行從本地域 的相應出路/出口節(jié)點202起(例如,從ER1和ER2起)的追蹤路由。如 此,ER1和ER2 (例如,通過追蹤路由處理246)可以各自發(fā)起到目的地 地址前綴中的追蹤目標的追蹤路由。通過這樣做,追蹤路由(例如,多個 追蹤路由——各自從各個出路節(jié)點202起)可以獲取沿上述所追蹤路徑的 每跳度量。例如,追蹤路由可以記錄沿到追蹤目標的路徑的每跳(節(jié)點),以及到達每跳的延遲。
圖3是圖示出響應于所檢測到的事件而相應執(zhí)行的追蹤路由(1和
2)的、如上述圖1所示的示例計算機網絡100的示意框圖。本領域技術 人員可以了解,(例如,從ER1和ER2起的)每條追蹤路由一次一跳地 穿過去往追蹤目標(例如,Tl)的相應路徑,其中,每跳都接收超時
(timed-out) TTL定時/值,并向追蹤路由的源返回適當?shù)捻憫@?,?以用第一TTL值1從ER1 (追蹤路由處理246)向T1發(fā)送追蹤路由1。在 接收到時,ER3將TTL減小到0,并返回響應(例如,錯誤消息或其它, 如本文中所述)。ER1隨后可以發(fā)送追蹤路由的第二部分,特別地,TTL 值為2的第二消息。如此,ER3接收到該消息/分組,將TTL值減小到1, 隨后將消息轉發(fā)給T1。 ER5隨后接收到消息,并將TTL值減小到O,并向 ER1返回另一個響應。這個追蹤路由處理繼續(xù)到ER7,并最終到T1 (假設 每跳都可到達)。(類似地,可以由ER2沿替代路徑發(fā)起追蹤路由2,相 應地使得ER4、 ER6、 ER8禾nTl返回每跳響應)。
注意,作為對傳統(tǒng)追蹤路由(即,IP追蹤路由)的增強,OER追蹤路 由可以例示性地表示特定流量類別以及它們的通過網絡的關聯(lián)往返傳輸
(traversal),而不僅僅是測量傳統(tǒng)追蹤路由消息(例如,追蹤路由 ping)的往返傳輸。例如,通??赡苁沁@種情況,其中,ping消息(回聲 請求)可以到達目標目的地,從而指示目標為可到達,但是,同時,某些 類別的流量(例如,語音流量)可能正在經歷與其類別相關的網絡問題。 例如,數(shù)據流量可被允許通過某些問題區(qū)域(或者防火墻等),但是語音 數(shù)據可能不被允許。因此,以類似于OER探測的方式,OER追蹤路由可 以按需生成并使用表示特定流量類別的分組(例如,發(fā)送具有增大的TTL 值的掩碼語音分組,而不是簡單的ping分組)。以這種方式,從OER追 蹤路由獲得的結果更加接近地表示關于關聯(lián)流量類別將會看到的實際參數(shù) 度量。
圖4是示例度量表400的示意框圖,其中,度量表400可有利地結合 本文所描述的一個或多個實施例使用以存儲從追蹤路由獲得的度量。表 400被例示性地存儲在(例如,OER主控制器201的)存儲器240中,并包括一個或多個條目450,每個條目450都包括多個字段,例如,路徑/通 路字段405、跳字段410、總延遲字段415、每跳延遲字段420和AS標識 (ID)字段425。表400可以例示性地由OER主控制器上的主OER處理 245和/或追蹤路由處理246 (例如,單獨地或組合地)維護和管理,例如 以提供統(tǒng)一和集中式的存儲和維護位置(即,邊緣路由器202可以例如通 過OER處理245通信向OER主控制器201發(fā)送追蹤路由的結果)。本領 域技術人員將會了解,雖然本文示出并描述了表格,但是,根據本發(fā)明可 以使用其它已知數(shù)據結構和條目,并且如圖所示的表400僅僅是例示性 的。
特別地,路徑/通路字段405可以例示性地用于存儲度量所屬于的特定 追蹤路由(例如,追蹤路由1或2)的標識(或者,可替代地,指示出從 其接收結果的出口節(jié)點202,例如ER1和ER2)。跳字段410可以存儲對 TTL超時作出響應的節(jié)點的逐跳標識,這樣來產生逐跳追蹤通路(注意, 附加條目450可以專用于整個所追蹤通路,例如"長度"條目)。此外, 根據追蹤路由技術,總延遲字段415可以存儲從(跳字段410中的)響應 節(jié)點接收的延遲值,即,與追蹤路由消息從源邊緣路由器202到達該節(jié)點 相關聯(lián)的延遲。每跳延遲字段420可以存儲計算得到的跳之間的延遲值, 例如,通過從當前跳的總延遲值減去前一跳的總延遲值415來確定。除了 上述度量之外,也可以從本文所描述的例示性OER追蹤路由技術獲得其 它度量。例如,在每條追蹤路由內可以請求記錄針對各個每跳度量的關聯(lián) 網絡域標識(例如,AS號)。換而言之,在各個節(jié)點對超時TTL值作出 響應時,追蹤路由消息可被配置為請求(或者以其它方式獲取)響應節(jié)點 的網絡域ID。例如,當ER3作出響應時,也可以返回AS2的關聯(lián)ID,從 而指示出ER3處在AS2內,并且這個值可以被存儲在相應條目450的AS ID字段425中。
根據本文所描述的一個或多個實施例,追蹤路由度量因而可以示例性 地提供從源網絡域到目的地目標地址(例如,前綴)的所有路徑(或者這 些路徑的子集/選集)上的基于每條路徑、每跳(和每AS)的網絡性能參 數(shù),這樣的參數(shù)包括延遲/RTT、跳數(shù)/標識、AS號等。這種信息用于診斷
18意外的網絡性能事件,尤其是實時的網絡性能事件。動態(tài)響應和追蹤目標
選擇不僅消除了響應于某些事件而從各個邊緣路由器202啟動追蹤路由所 需的人工干預,而且還將結果合并在一個位置中以向網絡處理(例如, OER處理245)和/或網絡管理員提供在所有可能路徑上的每跳信息。例 如,這樣的度量可用于實時故障標識,并且用于標識到目標目的地(前 綴)的當前路徑和替代路徑每條上的任何OOP跳。如此,來自各種計算/ 確定/等的追蹤路由度量和/或結果可相應地被報告給網絡處理和/或網絡管 理員。此外,利用每AS度量(ASID字段425),特定遠程域的適當管理 處理和/或管理員可被通知以那些度量(或者簡單地被通知以問題),例如 以觸發(fā)自我校正機制或者動態(tài)獲取的度量會有助于的進一步調査。
除了收集和報告表400中的追蹤路由度量(例如,用于故障標識)之 外,主OER處理245還可以使用這些度量來相應地確定針對目的地地址 前綴的最佳路徑(最佳出口選擇)。例如,可以基于取決于每跳追蹤路由 度量的路徑選擇策略來確定最佳路徑,其中,該路徑選擇策略例如是可以 聲明跳之間的延遲都不大于2ms的新策略,從而考慮每跳策略參數(shù)。根據 本文所描述的一個或多個實施例,也可以使用基于以上獲得的度量的其它 策略,例如,基于所收集的AS號的基本路徑確定、延遲每AS、 AS內的 跳的數(shù)目、等等。注意,可以在下述情況中使用追蹤路由來確定最佳路 徑例如在可能需要定位新路徑的情況下(或者在當前路徑需要被確認為 最佳路徑的情況下)響應于上述事件(例如,OOP參數(shù)檢測、通路改變、 探測N等等);或者為了路徑選擇優(yōu)化的目的而響應于執(zhí)行例示性的 OER追蹤路由技術的觸發(fā)(例如,特別地,以確定給定流量類別是否在所 有可能路徑上都在策略一致性內,并從其中選擇最佳路徑)。
顯然,在OER處理245確定所選擇的追蹤目標無響應的情況下,例 如,到目標的追蹤并未完成的情況下,可以相應地嘗試另一個追蹤目標。 例如,以類似于針對探測目標的上述的方式,OER處理245可以繞過無響 應追蹤目標,直到確定響應追蹤目標為止。但是,有可能沒有追蹤目標會 作響應,例如在整個目的地前綴都不可達的情況下。但是,在這種情形 下,追蹤路由在確定沿去往追蹤目標的路徑的最后可到達跳方面仍然特別
19有益,這是本領域技術人員可以了解的(例如,如本文所述的用于故障標 識)。
圖5圖示了根據本文所描述的一個或多個實施例、提供用于優(yōu)化路由
的事件觸發(fā)追蹤路由的示例過程。過程500開始于步驟505,并繼續(xù)到步 驟510,在步驟510中,由主控制器(例如,主控制器201的主OER處理 245)在當前路徑上檢測到事件,例如,如上所述的OOP參數(shù)檢測、通路 改變、觸發(fā)探測(例如,探測N)等等。在步驟515中,主控制器可以動 態(tài)確定追蹤目標,例如,最近的已知可到達目標、主動對探測作出響應的 地址、通過流量監(jiān)控獲悉的追蹤目標等等。然后,在步驟520中,響應于 所檢測到的事件,可以執(zhí)行(例如,從相應的出路節(jié)點ER1-ER2請求的) 對從本地網絡域(例如,AS1)到追蹤目標T1 (例如,在AS4中)的當前 路徑和替代路徑的追蹤路由,以獲取沿所追蹤路徑的每跳度量。(顯然, 如上所述,在步驟525中存在無響應追蹤目標的情況下,則可以在步驟 530中嘗試另一個追蹤目標,例如T2,例如繞過無響應追蹤目標,直到找 到響應追蹤目標為止)。此外,可選地可以在步驟535中請求各個追蹤路 由記錄各個每跳度量的關聯(lián)網絡域標識(例如,AS號)。
在步驟540中,主控制器201可以存儲這些度量(例如,在表400 中),并且基于返回的度量,在當前路徑和替代路徑每條上的OOP跳可 以在步驟545中被標識。在步驟550中,主控制器201還可以例如向如上 所述的網絡管理員或(例如,其它網絡域的)其它感興趣的網絡處理報告 這些度量。此外,在可選步驟555中,主控制器201可以相應地基于追蹤 路由度量來確定針對(與追蹤目標相對應的)目的地地址前綴的最佳路 徑。過程500隨后在步驟560結束。
有利地,本文所描述的新穎技術提供了計算機網絡中用于優(yōu)化路由的 事件觸發(fā)追蹤路由。通過動態(tài)地觸發(fā)到智能選定目標的追蹤路由,這些新 穎技術使得可以智能且自動地分析網絡問題,以及收集追蹤路由和OOP 信息以用于趨勢分析、故障標識、路徑選擇等等。特別地,上述技術相應 地提供了對來自到目的地前綴的當前路徑和各條替代路徑的結果的統(tǒng)一且 集中式的報告,所述結果包括在每條可能路徑上的OOP跳的標識。此外,本文所描述的一個或多個實施例的動態(tài)方面減輕了對繁重且低效率的 手動配置的需要。
以上描述已針對本發(fā)明的具體實施例。但是,將清楚的是,可以對所 描述的實施例進行其它變化和修改,同時實現(xiàn)它們的優(yōu)點中的一些或全 部。例如,顯然可設想,本文所描述的組件和/或元件可被實現(xiàn)為軟件、硬 件、固件或其組合,其中,軟件包括具有在計算機上運行的程序指令的計 算機可讀介質。此外,可以生成電磁信號以經由例如無線數(shù)據鏈路或諸如 因特網之類的數(shù)據網絡來承載實現(xiàn)本發(fā)明各個方面的計算機可執(zhí)行指令。 因此,這種描述僅僅是作為示例來進行的,而在其它情況下不限制本發(fā)明 的范圍。因此,所附權利要求的目的在于覆蓋在本發(fā)明的真實精神和范圍 內的所有那些變化和修改。
權利要求
1. 一種方法,包括檢測網絡中從本地網絡域到遠程域中的目的地地址前綴的當前路徑上的事件;動態(tài)確定所述目的地地址前綴內的追蹤目標目的地地址;響應于所述事件,對所述當前路徑和所述網絡中從所述本地網絡域到所述追蹤目標的替代路徑選集執(zhí)行追蹤路由;通過所述追蹤路由獲取沿各條被追蹤路徑的每跳度量;以及存儲所述度量。
2. 如權利要求l所述的方法,還包括基于追蹤路由度量來對所述目的地地址前綴確針最佳路徑。
3. 如權利要求2所述的方法,還包括基于取決于每跳追蹤路由度量的路徑選擇策略來確定所述最佳路徑。
4. 如權利要求1所述的方法,其中,所述事件是脫離策略參數(shù)檢
5. 如權利要求l所述的方法,還包括 標識所述當前路徑和替代路徑每條上的任何脫離策略跳。
6. 如權利要求1所述的方法,其中,所述替代路徑選集包括從所述 本地網絡域到所述目的地地址前綴的所有可用替代路徑。
7. 如權利要求1所述的方法,其中,所述事件是所檢測到的沿所述 當前路徑的通路改變。
8. 如權利要求l所述的方法,還包括經由所述本地網絡域的各個出路節(jié)點對所述當前路徑和替代路徑發(fā)起 相應追蹤路由。
9. 如權利要求l所述的方法,還包括生成表示特定流量類別的追蹤路由消息,其中,所述追蹤路由被執(zhí)行 以獲取沿各條被追蹤路徑的表示所述特定流量類別的每跳度量。
10. 如權利要求l所述的方法,還包括在每個追蹤路由中請求記錄各個每跳度量的關聯(lián)網絡域標識。
11. 如權利要求IO所述的方法,其中,所述網絡域標識是自治系統(tǒng)號。
12. 如權利要求1所述的方法,其中,所述事件是對所述當前路徑和 所述替代路徑選集的觸發(fā)探測,以用于路徑選擇優(yōu)化。
13. 如權利要求l所述的方法,還包括 將所述追蹤目標確定為最近己知可到達目標。
14. 如權利要求l所述的方法,還包括將所述追蹤目標確定為對探測主動作出響應的目的地地址。
15. 如權利要求l所述的方法,還包括通過用于主動目的地地址檢測的流量監(jiān)控來獲悉所述追蹤目標。
16. 如權利要求l所述的方法,還包括 確定所述追蹤目標為無響應;以及嘗試使用另一追蹤目標。
17. 如權利要求16所述的方法,還包括 繞過無響應追蹤目標,直到確定一個響應追蹤目標。
18. —種裝置,包括一個或多個網絡接口,適于與網絡中的本地網絡域中的節(jié)點通信; 處理器,與所述網絡耦合并且適于運行一個或多個處理;以及 存儲器,適于存儲由所述處理器運行的優(yōu)化邊緣路由追蹤路由處理, 所述優(yōu)化邊緣路由追蹤路由處理被運行來用于檢測所述網絡中從所述本地網絡域到遠程域中的目的地地址前綴 的當前路徑上的事件;動態(tài)確定所述目的地地址前綴內的追蹤目標目的地地址;響應于所述事件,請求對所述當前路徑和所述網絡中從所述本地 網絡域到所述追蹤目標的替代路徑選集執(zhí)行追蹤路由;以及通過所述追蹤路由來獲取沿各條被追蹤路徑的每跳度量; 其中,所述存儲器還適于存儲所述度量。
19. 如權利要求18所述的裝置,其中,所述優(yōu)化邊緣路由追蹤路由處理在被運行時還用于基于追蹤路由度量來針對所述目的地地址前綴定 確針最佳路徑。
20. —種裝置,包括用于檢測網絡中從本地網絡域到遠程域中的目的地地址前綴的當前路徑上的事件的裝置;用于動態(tài)確定所述目的地地址前綴內的追蹤目標目的地地址的裝置; 用于響應于所述事件對所述當前路徑和所述網絡中從所述本地網絡域到所述追蹤目標的替代路徑選集執(zhí)行追蹤路由的裝置;用于通過所述追蹤路由獲取沿各條被追蹤路徑的每跳度量的裝置;以及用于存儲所述度量的裝置。
全文摘要
本發(fā)明提供了計算機網絡中用于優(yōu)化路由的事件觸發(fā)追蹤路由。在一個實施例中,網絡設備可以檢測計算機網絡中從本地網絡域到遠程域的目的地地址前綴的當前路徑上的事件。作為響應,該設備可以動態(tài)地確定目的地地址前綴內的追蹤目標目的地地址,并且可以對當前路徑以及網絡中從本地網絡域到追蹤目標的替代路徑選集執(zhí)行追蹤路由,其中,追蹤路由適用于獲取沿各條被追蹤路徑的每跳度量。這些度量隨后可以被存儲,例如以用于最佳路徑選擇、故障標識報告等。
文檔編號H04L12/56GK101505230SQ20091000854
公開日2009年8月12日 申請日期2009年1月23日 優(yōu)先權日2008年1月31日
發(fā)明者拉胡爾·G·帕特爾, 普瑞塔姆·沙赫, 達納·布萊爾 申請人:思科技術公司