專利名稱:基于實時擁塞反饋來更新最佳路徑的方法
技術領域:
本發(fā)明一般涉及網(wǎng)際互聯(lián)領域。本發(fā)明更具體地涉及用于響應于擁塞 而更新由路由協(xié)議所確定的最佳路徑的方法。
背景技術:
該部分中所描述的方法可以被追逐,但不一定是以前已被設想或追逐 的方法。因此,除非在這里另外指出,否則該部分中所描述的方法不是本 申請中的權(quán)利要求的現(xiàn)有技術并且不承認其通過包括在該部分中就是現(xiàn)有 技術。
在諸如公共因特網(wǎng)之類的互聯(lián)網(wǎng)絡中,為了將分組從一個端點主機發(fā) 送到另一個端點主機,發(fā)送主機僅需要將另一主機所擁有的因特網(wǎng)協(xié)議 (IP)地址放入該分組中并且依賴諸如路由器、交換機、橋接器和集線器 之類的元件的網(wǎng)絡進行實際遞送。IP地址可以共享前綴,該前綴由服務供 應商分配,或者由擁有主機作為其一部分的站點的機構(gòu)來提供,或者直接
從美洲互聯(lián)網(wǎng)號碼注冊管理機構(gòu)(ARIN)獲得。前綴實際上是所有可能 的IP地址的空間內(nèi)的子空間,并且可以包括一個或多個局域網(wǎng)(LAN)。
由路由器、交換機、橋接器和集線器將分組從源在物理上移動至目的 地的處理被稱為轉(zhuǎn)發(fā)。通常,交換機、橋接器和集線器工作在開放式系統(tǒng) 互連(OSI)模型的第1層或第2層,并且對利用邏輯IP地址在第3層發(fā) 送分組的主機是不可見的。另一方面,路由器利用一個或多個第3層路由 協(xié)議來交換路由信息并且維護包括至各個目的地的最佳路徑的路由表。路 由表中的目的地可以是前綴以及個體IP地址。盡管路由器上的接口可以是 雙向的,但是路由表中的最佳路徑是單向的。路由表中指向目的地的最佳 路徑指導路由器將地址為目的地的分組轉(zhuǎn)發(fā)至為該路徑所指定的特定下一 跳。但是,最佳路徑不指定路由器上必須接收分組的接口。接收路由器通??赡芾猛ㄟ^路由協(xié)議所交換的路由信息而僅影響發(fā)送路由器的路徑。
在因特網(wǎng)中,自治系統(tǒng)(AS)是IP網(wǎng)絡和路由器的集合,其在一個
或多個向因特網(wǎng)提供共用路由策略的實體的控制之下。在單個AS內(nèi),諸 如IGRP、 EIGRP、 OSPF和RIP之類的內(nèi)部網(wǎng)關協(xié)議(IGP)可以被用于 交換路由信息。在分立自治系統(tǒng)之間,諸如EGP和BGP之類的外部網(wǎng)關 協(xié)議(EGP)可以被用于交換路由信息。
BGP是因特網(wǎng)的核心路由協(xié)議。BGP講者(BGP speaker)可以是將 BGP運行作為其所支持的路由協(xié)議之一的路由器,其主要功能是與其他 BGP講者交換網(wǎng)絡可達性信息,包括關于路徑中所涉及的自治系統(tǒng)的列表 和其他與該路徑有關的屬性的信息。
自治系統(tǒng)邊界處與另一自治系統(tǒng)中的路由器通過外部BGP (eBGP) 交換路由信息的路由器被稱為邊界路由器。邊界路由器所得知的路由信息 可以被通過內(nèi)部BGP (iBGP)重新分發(fā)到同一自治系統(tǒng)中的其他BGP講 者。 一個路由協(xié)議所得知的路由信息也可以被重新分發(fā)到其他路由協(xié)議。
BGP可被網(wǎng)際互聯(lián)系統(tǒng)用于實現(xiàn)多宿(multihoming),這是一種用于 在發(fā)生影響單個服務供應商的故障或擁塞的情況下通過將網(wǎng)際互聯(lián)系統(tǒng)連 接到兩個或更多個服務供應商來保持網(wǎng)絡性能和回彈性(resiliency)的技 術。多宿的網(wǎng)際互聯(lián)系統(tǒng)可以利用如BGP的在一個或多個邊界路由器上運 行的協(xié)議來通知因特網(wǎng)其余部分其可以通過經(jīng)由兩個或更多個服務供應 商的多次路由而被到達。
BGP講者通過查看與或許可以通過其轉(zhuǎn)發(fā)分組的候選路徑有關的許多 屬性來確定候選路徑中的最佳路徑。這種屬性例如包括本地偏好、AS路 徑和多出口辨別器(MED)量度。在來自加利福尼亞州圣何塞市的Cisco Systems公司的路由器上,加權(quán)屬性也可以被分配給候選路徑并且在路徑 比較中被考慮。 一旦指向目的地的最佳路徑被諸如BGP的路由協(xié)議確定, 相應的路由就被更新或者被在路由表中創(chuàng)建,并且可能地,至目的地的與 前一最佳路徑確定相對應的前一路由可以被從路由表中刪除。該路由通常 包含關于目的地、下一跳、接口和量度的信息,這些信息可以是從路由協(xié) 議中的與最佳路徑相關聯(lián)的屬性映射的。路由器在路由協(xié)議中的行為可以由路由策略控制。路由策略影響通過 路由協(xié)議所交換的路由信息的流。例如,對于由路由器所接收的路由信 息,路由策略可以基于接入列表、前綴、團體、路由圖來過濾候選路徑, 接受一些路徑,接受并修改其他一些路徑,并且拒絕其他路徑。對于將由 路由器所發(fā)送的信息,路由策略可以基于所述相同的構(gòu)造來過濾路徑,允 許一些路徑被暴露于其他路由器,允許并修改其他一些路徑,并且防止其 他路徑被交換。特別地,路徑的諸如加權(quán)、本地偏好、AS路徑和多出口
辨別器(MED)之類的屬性也可以被路由策略修改。而且,根據(jù)目的地、 下一跳、接口和量度的從路由協(xié)議中的最佳路徑到路由表中的路由的映射 可以由路由策略控制。
同樣,路由器在轉(zhuǎn)發(fā)分組過程中的行為可以由基于策略的路由 (PBR)來控制。PBR與接口綁定并且指導接口如何處理所接收的分組。 具體地,分組應該被轉(zhuǎn)發(fā)還是被丟棄、分組應該被轉(zhuǎn)發(fā)至何處以及分組中 的字段應該如何設置都可以由PBR直接控制。在PBR的控制下,將被轉(zhuǎn) 發(fā)的分組被分類為不同的類。分組分類的標準可以直接基于與OSI模型中 的各個層相關聯(lián)的屬性,而不是僅限于第3層IP屬性。例如,分組的分類 和進一步的轉(zhuǎn)發(fā)可以基于與分組相關聯(lián)的前綴或應用。不與任何類的標準 相匹配的分組被以常規(guī)的非PBR方式路由,例如通過路由表。例如,與來 自內(nèi)容服務器的HTTP應用相關聯(lián)的分組可以在一個類中;與某個前綴中 的數(shù)據(jù)庫系統(tǒng)相關聯(lián)的分組在另一個類中;與VoIP相關聯(lián)的分組在又一 個類中;并且所有其他不屬于任何在PBR下所定義的類的分組被通過路由 表以常規(guī)方式路由。對于不同類中的分組,可以采取不同的動作。例如, VoIP分組可以被具體引導至具有低延遲和小抖動的路徑。此外,在轉(zhuǎn)發(fā)之 前,可以通過設置分組中的字段值來專門標記VoIP分組。
術語"最佳路徑"通常指的是由諸如BGP之類的路由協(xié)議所維護的路 由信息庫(RIB)中所有指向目的地的候選路徑中的優(yōu)選路徑。本說明書 和所附權(quán)利要求書中所使用的術語"最佳路徑"可以指的是通過路由協(xié)議 所得知或者在路由策略下所建議的路由表中的路由(可能對應于路由協(xié)議 所維護的RIB中的最佳路徑)。或者,術語"最佳路徑"也可以指的是由PBR基于前綴或應用而為一類分組所指定的路徑。
在操作上,建立路由策略或者PBR (這直接或間接影響最佳路徑的確
定)經(jīng)?;诜菍崟r信息,例如,針對服務供應商、或者所使用的接口類
型(例如10/100以太網(wǎng)接口或OC12接口)、或者由諸如"traceroute"之
類的工具所采集的分組丟失、延遲和可達性信息所收集的統(tǒng)計。通常,策 略就緒很長時間,直到一些故障例如通過用戶投訴或者通過一些性能測量 工具而被報告,或者直到各個自治系統(tǒng)中的某處所做的一些配置變化影響 到網(wǎng)際互聯(lián)系統(tǒng)與因特網(wǎng)其余部分的接入。這種用于策略配置的啟發(fā)式的 自組織方法不適于處理與服務供應商有關的管制(brownout)情況,其中 經(jīng)過服務供應商網(wǎng)絡的轉(zhuǎn)發(fā)路徑經(jīng)受可能由服務供應商網(wǎng)絡內(nèi)的一些擁塞 鏈路所引起的逐步劣化。
用于策略配置的啟發(fā)式的自組織方法也不適于處理不時變化的實時流 量模式。例如,特定流量模式可能過度使用某些至服務供應商的外部接口 或者出口,而對其他外部接口或者出口的使用不足。而且, 一種要求短延 遲、低分組丟失或者小抖動的流量可以被替代地轉(zhuǎn)發(fā)至一路徑,該路徑呈 現(xiàn)可能由服務供應商網(wǎng)絡內(nèi)的一些擁塞鏈路所引起的相反特性。
盡管TCP不是路由協(xié)議,但它是知曉路徑上的擁塞的面向連接的傳輸 協(xié)議。例如,TCP在擁塞形成時檢測到分組的丟棄,并且立即改變傳輸參 數(shù)以彌補擁塞("補償")。在一些示例中,網(wǎng)絡本身可能不是擁塞的, 但是分組可能由于校驗和錯誤、主機上的重負荷等而已被丟失,故發(fā)生虛 假補償。因此,由錯誤的補償對吞吐量的降低經(jīng)常是不必要的。
為了克服TCP中的這個問題,開發(fā)了顯式擁塞通知(ECN)機制,如 IETF RFC 3168中所述,其內(nèi)容通過引用而被全部合并于此,如同在此敘 述。ECN允許中間路由器將當前或迫近的擁塞情況顯式地傳送給主機。但 是通常,主機仍然通過降低TCP連接的吞吐量來對此通知作出反應。這是 不希望的,因為TCP可能在處理諸如實時視頻流之類的高吞吐量、時間嚴 格的應用。如果不是對單個TCP應用采用本地補救方法,而是可以例如通 過實現(xiàn)路由表、路由策略和PBR的改變來以某種最優(yōu)方式在所有可用的外 部接口上轉(zhuǎn)移或分布總流量,則可以避免該問題?;谇笆鰞?nèi)容,需要一種基于實時擁塞反饋來動態(tài)即時更新最佳路徑 的方法,該方法不受現(xiàn)有方法所受的限制。
在附圖的各圖中通過示例而非限制地圖示出本發(fā)明,在附圖中,相似 的標號指示類似的元件,并且其中
圖1示出可以與一實施例一起使用的示例網(wǎng)絡。
圖2是示出一個實施例中在用于檢測和提供對實時擁塞反饋的通知的 邊界路由器上運行的功能元件的框圖。
圖3是示出備用OER MC與活躍OER MC配對以形成高可用性配置 的框圖。
圖4圖示出一實施例中的NetFlow (網(wǎng)絡流)高速緩存。 圖5示出一示例網(wǎng)絡,在該示例網(wǎng)絡中,OERMC可以主動地測量與 從邊界路由器上的外部接口到集中點的路徑有關的網(wǎng)絡情況。 圖6是與TCP應用有關的使用情況圖。
圖7是圖示出在其上可以實現(xiàn)一實施例的計算機系統(tǒng)的框圖。 圖8A是圖示出OER邊界路由器應用的方面的流程圖。 圖8B是圖示出內(nèi)部路由器應用的方面的流程圖。 圖9是圖示出OERMC應用的方面的流程圖。
具體實施例方式
描述了基于實時擁塞反饋來動態(tài)即時更新最佳路徑的方法和裝置。在 下面的描述中,出于說明的目的,給出了許多具體細節(jié)以提供對本發(fā)明的 全面理解。但是,本領域技術人員將會清楚,可以在沒有這些具體細節(jié)的
情況下實施本發(fā)明。在其他實例中,公知的結(jié)構(gòu)和設備被用框圖形式示出 以避免不必要地模糊本發(fā)明。
這里,根據(jù)以下提綱描述實施例
1.0綜述
2.0結(jié)構(gòu)和功能概述3.0監(jiān)控網(wǎng)絡流量流的方法 4.0實現(xiàn)機制——硬件概述
5.0擴展和替換物 1.0綜述
在前面的背景技術中所確定的要求以及將從下面的描述中變得清楚的 其他要求和目標在本發(fā)明中得以實現(xiàn),本發(fā)明在一個方面中包括一種基于 兩個網(wǎng)際互聯(lián)系統(tǒng)之間的實時擁塞反饋來動態(tài)即時更新最佳路徑的方法。
所述方法在第一網(wǎng)際互聯(lián)系統(tǒng)上包括以下步驟監(jiān)控從第二網(wǎng)際互聯(lián)系統(tǒng) 所接收的分組;檢測所接收的分組包括實時信息,該實時信息表示在所述 兩個網(wǎng)際互聯(lián)系統(tǒng)之間的一個路徑上的當前或迫近的擁塞情況;將實時擁 塞信息通知給控制邏輯;從控制邏輯接收限定一個或多個路徑中的改變的 控制信息;以及改變從第一網(wǎng)際互聯(lián)系統(tǒng)的外部接口到第二網(wǎng)際互聯(lián)系統(tǒng)
的一個或多個路徑。
在另一個方面中,本發(fā)明提供一種由相應的控制邏輯所實現(xiàn)的方法,
該方法包括以下步驟從第一網(wǎng)際互聯(lián)系統(tǒng)接收在由第二網(wǎng)際互聯(lián)系統(tǒng)發(fā) 送的分組中所包含的實時擁塞信息;以及向第一網(wǎng)際互聯(lián)系統(tǒng)提供與改變
兩個網(wǎng)際互聯(lián)系統(tǒng)之間的一個或多個路徑有關的控制信息。
在其他方面中,本發(fā)明包括被配置用于實現(xiàn)前述步驟的計算機裝置和 計算機可讀介質(zhì)。
2.0結(jié)構(gòu)和功能概述
圖1示出可以與一實施例一起使用的示例網(wǎng)絡。圖1示出形成組合網(wǎng) 絡100的網(wǎng)際互聯(lián)系統(tǒng)120、 140,網(wǎng)際互聯(lián)系統(tǒng)120、 140被通過服務供 應商(SP) 162-172的網(wǎng)絡可通信地耦合,組合網(wǎng)絡100本身可以是全球 因特網(wǎng)的一部分。
如圖1所示,網(wǎng)際互聯(lián)系統(tǒng)120具有三個邊界路由器(BR) 104-108,這三個邊界路由器104-108具有直接連接到服務供應商162、 164和 172的外部接口塊1040、 1060和1080。外部接口塊1040、 1060和1080中 的每一個可以包含多個外部接口。位于局域網(wǎng)(LAN) 130中的主機(S)
14116通過內(nèi)部BGP路由器110和內(nèi)部路由器(R) 114連接到邊界路由器 104-108。
因為網(wǎng)際互聯(lián)系統(tǒng)120通過其邊界路由器104-108連接到兩個或更多 個服務供應商,所以網(wǎng)際互聯(lián)系統(tǒng)120是多宿的。邊界路由器104-108可 以更新它們在其他自治系統(tǒng)中的等同物以及世界的其余等同物,以告知通 過服務供應商162、 164和172的多個路徑可被用于到達網(wǎng)際互聯(lián)系統(tǒng)120 中的前綴(例如LAN 130)或者個體IP地址(例如S 116)。這些更新中 所提供的路由信息可能影響其他自治系統(tǒng)中的路由器在試圖遞送目的地為 網(wǎng)際互聯(lián)系統(tǒng)120中的主機的分組時所采用的最佳路徑。
此外,可以在網(wǎng)際互聯(lián)系統(tǒng)120中的路由器上設立路由、路由策略和 PBR,以在外部接口塊1040、 1060和1080中的外部接口的外出方向上控 制對這些分組的轉(zhuǎn)發(fā),所述分組源自網(wǎng)際互聯(lián)系統(tǒng)120但目的地是其他一 些網(wǎng)際互聯(lián)系統(tǒng)中的主機,例如網(wǎng)際互聯(lián)系統(tǒng)140中的D 142。
在一個實施例中,優(yōu)化出口路由主控制器(OERMC) 102在網(wǎng)際互 聯(lián)系統(tǒng)120中參與出口路由優(yōu)化的路由器上設立路由、路由策略和PBR。 術語"出口"指的是邊界路由器104-108上連接到另一個自治系統(tǒng)的外部 接口的外出方向??梢酝ㄟ^OERMC 102和邊界路由器104-108之間的要 么直接要么間接的通信鏈路來交換狀態(tài)信息和控制信息。根據(jù)一個實施 例,OERMC 102和邊界路由器104-108將消息傳送協(xié)議用于傳送狀態(tài)信 息和控制信息。例如,在一個實施例中,邊界路由器104-108利用鳴叫 (BEEP)的SOAP消息或者利用鳴叫的專用消息傳送格式將實時擁塞信 息傳送給OERMC 102。適當?shù)南魉蛥f(xié)議可以結(jié)合編碼方案、連接管 理系統(tǒng)和在每個消息的基礎上進行認證的機制?;蛘撸魉蜋C制可以 使用鳴叫的XMLRPC。消息傳輸和消息編碼的具體形式對于實施例而言并 不重要。
網(wǎng)際互聯(lián)系統(tǒng)140具有兩個路由器144、 146和主機(D) 142。路由 器144和146直接連接到服務供應商168-172。網(wǎng)際互聯(lián)系統(tǒng)140可以是 也可以不是多宿的。此外,網(wǎng)際互聯(lián)系統(tǒng)140可以是也可以不是獨立的自 治系統(tǒng)。例如,在一個實施例中,網(wǎng)際互聯(lián)系統(tǒng)140是服務供應商的自治系統(tǒng)(例如SP5 170的AS)的一部分??梢詮闹T如SP5 170之類的服務供 應商所擁有的IP地址空間中分配用于網(wǎng)際互聯(lián)系統(tǒng)140的前綴。
與網(wǎng)際互聯(lián)系統(tǒng)120相似,服務供應商162-172中的每一個是自治系 統(tǒng)(AS)。網(wǎng)際互聯(lián)系統(tǒng)120和140之間存在多個路徑。這些路徑中的一 些僅涉及120和140之間的一個自治系統(tǒng)。具體地,邊界路由器108上的 外部接口和路由器146之間的路徑在中間僅涉及一個自治系統(tǒng),即服務供 應商172。另一方面,邊界路由器106上的外部接口和路由器146之間的 路徑在中間涉及三個自治系統(tǒng),即服務供應商164、 166和170。或者,邊 界路由器104上的外部接口和CR1或CR2之間的路徑在中間涉及兩個自 治系統(tǒng),即或者是服務供應商162和168,或者是服務供應商162和 170。
通常,經(jīng)過最少服務供應商的路徑或者最短的AS路徑被認為是最佳 路徑,因為它們涉及最少的自治系統(tǒng)路徑跳。例如,在圖1中,路徑 (108) ->172^ (146)好于其他路徑,例如(106) 164^ 166^ 170+ (146),這是因為前一 AS路徑在中間涉及最少的自治系統(tǒng)。但是,基于 最短AS路徑來選擇最佳路徑可能并非總是最優(yōu)的。例如,沿著最佳路徑 的網(wǎng)絡元件可能是過度使用的并且最終變得擁塞;最佳路徑所經(jīng)過的服務 供應商可能正經(jīng)受擁塞或者因特網(wǎng)"管制";并且不同的路徑可能需要較 低的金錢成本。因此,在選擇最佳路徑的過程中也需要在諸如本地偏好、 MED和加權(quán)之類的其他屬性上比較路徑。
圖2是示出邊界路由器的功能元件的框圖,該邊界路由器可以檢測和 提供對實時擁塞反饋的通知。例如,邊界路由器200可以裝有可從加利福 尼亞州圣何塞市的Cisco Systems公司得到的Cisco 10S⑧軟件,并且邊界 路由器200的功能元件可以包括Cisco IOS的功能單元。在一個實施例 中,邊界路由器200的功能元件包括NetFlowTM服務220、網(wǎng)絡應用識別 (NBAR)服務230和IP服務等級代理(IP SLA)服務240。圖2僅作為 示例示出了 NetFlow服務220、網(wǎng)絡應用識別(NBAR)服務230和IP服 務等級代理(IP SLA)服務240,其他實施例可以使用執(zhí)行如這里所描述 的類似功能的不同元件,包括來自不同供應商的軟件元件。NBAR服務230是可以識別各種應用的分類引擎,這些應用包括動態(tài) 地分配TCP或UDP端口號的Web應用和客戶端/服務器應用。
NetFlow服務220和NBAR服務230使得邊界路由器200能夠監(jiān)控其 外部接口上的網(wǎng)絡流。在一個實施例中,網(wǎng)絡流是給定的源和目的地主機 之間的單向分組序列。網(wǎng)絡流是高度粒狀的并且可以由諸如IP地址和傳輸 層應用端口號之類的各種流相關屬性來標識。NetFlow服務220也可以可 選地利用IP協(xié)議類型、服務類型(ToS)和輸入接口標識符來標識流。一 旦分組被從另一個網(wǎng)際互聯(lián)系統(tǒng)接收到,NetFlow服務220和NBAR服務 230就可以識別與分組相關聯(lián)的前綴或應用。另外,NetFlow服務220可以 在IP或TCP頭部的任何字段中檢查擁塞情況指示。
IP SLA服務240是主動探測和監(jiān)控服務,其覆蓋較寬范圍的協(xié)議和應 用。IP SLA服務240可以以UDP、 TCP、 ICMP、 HTTP、 DNS、 DHCP、 FTP等形式來發(fā)送主動探測分組和接收響應分組。例如,邊界路由器200 可以通過從IP SLA 240向路由器(例如圖1中的146)上的遠程IP SLA 應答器發(fā)送去往目的地的適當?shù)奶綔y分組來主動地檢測該目的地是否可 達,而不是被動地等待一些網(wǎng)絡事件來觸發(fā)ICMP分組。
IP SLA服務240通過生成去往遠程IP SLA應答器的周期性的或者應 要求的(on demand)流量并且監(jiān)控來自遠程IP SLA應答器的響應流量, 為邊界服務器200提供測試延遲、抖動、損壞分組或分組丟失的能力。另 外,IP SLA也可以通過使用以下探測分組來檢測實時擁塞情況,所述探測 分組是符合RFC 3168中所給出的要求的格式。在優(yōu)選實施例中,OER MC 102通過OERMC 102和邊界路由器104-108之間的通信鏈路從IP SLA接收探測信息。
從例如圖1中的104-108的邊界路由器到例如162、 164和172的服務 供應商的多個外部接口可以被優(yōu)化以避免擁塞、將成本最小化、改善性能 并且平衡多個外部接口之間的負載。如上所述,根據(jù)一個實施例,OER MC 102控制關于多個外部接口的優(yōu)化。在一個實施例中,OERMC 102存 儲了將在為路由器生成路由、路由策略和PBR的過程中所要遵從的規(guī)則和 策略??梢栽谌鐖D所示的分立設備上或者在圖1的網(wǎng)際互聯(lián)系統(tǒng)120中的路由器之一 (例如BGP路由器110)上實現(xiàn)OERMC102。
圖3是示出備用OER MC與活躍OER MC配對以形成高可用性配置 的框圖。在一個實施例中,備用OER MC可以與活躍OER MC配對以形 成高可用性配置,如圖3所示。在這樣的實施例中,如果活躍OERMC 102失效,則備用OER MC 302可以迅速變得活躍并且接管將出口 (外部 接口)路由優(yōu)化的任務而無需大量的故障時間。兩個OER MC 102和302 之間可以具有通信鏈路以交換狀態(tài)信息、控制信息、心跳信息和檢査點信 息??梢栽诿總€OERMC和每個參與出口 (外部接口)優(yōu)化的邊界路由器 之間提供冗余通信鏈路。例如,OERMC 102可以具有至圖1中的邊界路 由器104-108和BGP邊界路由器110中的每一個路由器的冗余鏈路。
圖4圖示出一實施例中的NetFlow高速緩存。NetFlow高速緩存400 具有許多NetFlow條目,每個NetFlow條目對應于受監(jiān)控的網(wǎng)絡流。 NetFlow高速緩存400中的省略號表示高速緩存中可以存在除了 NetFlow 條目402之外的條目。
NetFlow條目402包含唯一地標識網(wǎng)絡流的流ID 410。在一個實施例 中,流ID 410可以是目的地IP地址、目的地端口、源IP地址、源端口和 協(xié)議的五元組。在另一個實施例中,流ID 410個體或者組合可以是目的地 或源網(wǎng)絡前綴。流ID 410可以可選地由其他屬性結(jié)合上面所述那些屬性來 進一步標識。
NetFlow條目402也可以進一步包含來自TCP頭部的兩個受監(jiān)控屬 性擁塞窗口減小(CWR) 412和顯式擁塞通知回復(ECE) 414。這兩個 字段可以用于提供RFC 3168中所描述的顯式擁塞通知功能。NetFlow條目 402中的省略號表示條目中可以存在除了形成流ID 410和兩個受監(jiān)控TCP 屬性412和414的那些屬性之外的屬性。
OER MC可以通過邊界路由器上所采用的NetFlow或NBAR特征來被 動地監(jiān)控多個外部接口上的網(wǎng)絡流,并且可以通過IP SLA來主動地探測 網(wǎng)絡情況。圖5圖示出一個實施例中的網(wǎng)絡配置,在該網(wǎng)絡配置中,OER MC 102可以主動地探測與從邊界路由器104-108上的外部接口到集中點 (路由器146)的路徑有關的網(wǎng)絡情況。
18因為來自網(wǎng)際互聯(lián)系統(tǒng)120的邊界路由器104-108上的外部接口的多 個路徑都通至路由器146,所以路由器146是集中點。在集中點(路由器 146)上可以采用IP SLA應答器540。為了探測邊界路由器104-108和路 由器146之間在延遲、抖動、分組丟失、損壞分組或目的地可達性方面的 網(wǎng)絡情況,邊界路由器104-108上的IP SLA 510-530中的每一個可以向路 由器146上的IP SLA應答器540發(fā)送適當?shù)奶綔y分組并且檢查來自路由器 146上的IP SLA應答器540的響應分組及其定時。
3.0基于實時擁塞反饋來動態(tài)即時更新最佳路徑的方法和裝置
圖6是與TCP應用有關的使用情況圖。該示出兩個與TCP應用 有關的網(wǎng)絡流由本發(fā)明的裝置來監(jiān)控的情形,以及如何檢測路徑上的擁塞 情況。出于圖示清楚示例的目的,圖6中表示出參與流的有限個數(shù)的行為 者;在可替換實施例中,任意數(shù)目的行為者可以參與。
參照圖1,為了圖示清楚示例,假設在主機116、 142之間建立TCP 連接。因此,與TCP連接有關的第一網(wǎng)絡流是從網(wǎng)際互聯(lián)系統(tǒng)120中的主 機116到網(wǎng)際互聯(lián)系統(tǒng)140中的主機142的TCP流。該流的流ID 410包 括主機142的IP地址,作為目的地IP地址;主機142上的用于TCP應 用的TCP端口,作為目的地端口;主機116的IP地址,作為源IP地址; 主機116上的用于TCP應用的TCP端口,作為源端口;以及TCP,作為 協(xié)議。如果這些TCP端口中的一個曾是與FTP服務相關聯(lián)的公知端口, 則該流ID 410實際上將會標識在兩個主機116和142之間運行的FTP應 用。
繼續(xù)該示例,第二網(wǎng)絡流是是從網(wǎng)際互聯(lián)系統(tǒng)140中的主機142到網(wǎng) 際互聯(lián)系統(tǒng)120中的主機116的TCP流。該流的流ID 410包括主機116 的IP地址,作為目的地地址;主機116上的用于TCP應用的TCP端口 , 作為目的地端口;主機142的IP地址,作為源IP地址;主機142上的用 于TCP應用的TCP端口,作為源端口;以及TCP,作為協(xié)議。
在各種實施例中,這兩個流可以可選地被相關、聚集并由邊界路由器 108上的NetFlow服務220作為單個流記錄報告給OER MC 102。這兩個 流也可以可選地分別由與以下網(wǎng)絡相關聯(lián)的前綴來標識,源或目的地IP地址是所述網(wǎng)絡的一部分。
在步驟601中,TCP應用使得主機116發(fā)送ECN-setup SYN (ECN設 立同步)分組。ECN-setup SYN分組表示發(fā)送者方面愿意使用RFC 3168 中所描述的顯式擁塞通知(ECN)。該ECN-setup SYN分組到達邊界路由 器108,以被通過邊界路由器108上的外部接口轉(zhuǎn)發(fā)至主機142。在步驟 603中,邊界路由器108上的NetFlow服務220為該新流在NetFlow高速 緩存400中創(chuàng)建NetFlow條目402。同時,ECN-setup SYN分組被轉(zhuǎn)發(fā)至 服務供應商172,服務供應商172簡單地繼續(xù)將分組轉(zhuǎn)發(fā)至下一跳。最 終,分組被遞送至主機142。
如果主機142同意將ECN用于該TCP會話,則在步驟605中,主機 142向主機116發(fā)送回ECN-setup SYN-ACK (ECN設立同步確認)。該 ECN-setup SYN-ACK分組經(jīng)過服務供應商網(wǎng)絡并且最終到達邊界路由器 108上的外部接口。在步驟607中,邊界路由器108上的NetFlow服務220 為該新流在NetFlow高速緩存400中創(chuàng)建NetFlow條目402。同時,該 ECN-setup SYN-ACK分組被轉(zhuǎn)發(fā)至主機142。圖6中未示出的另外的 ACK被從主機116傳送至主機142以完成連接設立。
主機116、 142之間的這種ECN-setup SYN和ECN-setup SYN-ACK分 組的交換在兩個主機之間設立用于ECN的TCP連接和協(xié)定。
IP頭部中的ECN字段包括ECN傳輸能力(ECT)位和擁塞狀態(tài) (CE)位,并且用于顯式擁塞通知。RFC 3168指定用于這些位的值。如 果中間設備個體或者組合地經(jīng)受網(wǎng)絡擁塞,則分組的發(fā)送者可以告知中間 分組轉(zhuǎn)發(fā)設備根據(jù)RFC 3168在分組中設置ECN字段。
最初,分組的發(fā)送者利用ECT (0)碼點(ECT位4; CE位4)或者 ECT (1)碼點(ECT位=0; CE位=1)在分組中設置ECN字段。此后, 網(wǎng)際互聯(lián)系統(tǒng)120禾n 140之間的中間路由器可以將初始的ECT (0)或者 ECT (1)碼點改變?yōu)镃E碼點(ECT位4; CE位4),以表示網(wǎng)絡擁 塞。中間路由器可以針對去往下一跳途中的分組采用主動隊列管理。例 如,路由器可以利用隨機早期檢測(RED)、加權(quán)隨機早期檢測 (WRED)、尾部丟棄、隨機、加權(quán)公平排隊(WFQ)、自定義排隊作為用于主動隊列管理的方式。
通常,在當前或迫近的擁塞情況被經(jīng)受時,路由器結(jié)合主動隊列管理 能夠具有采取諸如轉(zhuǎn)發(fā)、丟棄或者降級(降低分組的優(yōu)先級)轉(zhuǎn)發(fā)之類的 動作。根據(jù)本發(fā)明一實施例,首先,當經(jīng)受當前或迫近的擁塞情況時,如
果發(fā)現(xiàn)分組是ECN分組,則路由器應該優(yōu)選地設置CE碼點并且將其轉(zhuǎn)發(fā) 至下一跳,而不是將其丟棄。其次,如果發(fā)現(xiàn)分組的CE碼點已被在前的
路由器所標記,則路由器應該優(yōu)選地尊重該標記并且將分組轉(zhuǎn)發(fā)至下一跳 而不是將其丟棄。
再次參照圖6,在TCP連接的設立之后,可以在主機116和142之間 交換數(shù)據(jù)和ACK分組。在第一種情形中,網(wǎng)絡擁塞既未被經(jīng)受,也不是 迫近的。例如,在步驟609中,主機116向主機142發(fā)送數(shù)據(jù)分組。因為 該TCP應用的兩個主機(主機116禾n 142)已經(jīng)在步驟601-607中同意使 用ECN,所以數(shù)據(jù)分組的IP頭部中的ECN字段被設置為要么ECT (0) 碼點要么ECT (1)碼點。該數(shù)據(jù)分組到達邊界路由器108,以被通過邊界 路由器108上的外部接口轉(zhuǎn)發(fā)至主機142。在步驟611中,邊界路由器 108上的NetFlow 220更新在步驟603中為該流在NetFlow高速緩存400中 所創(chuàng)建的NetFlow條目402。同時,該分組被轉(zhuǎn)發(fā)至服務供應商172。如 果不經(jīng)受擁塞,則服務供應商172在步驟613中簡單地繼續(xù)將分組轉(zhuǎn)發(fā)至 下一跳。最終,數(shù)據(jù)分組被遞送至主機142。
在步驟615中,主機142發(fā)送ACK分組,以確認數(shù)據(jù)分組的接收, 所接收的數(shù)據(jù)分組包括在步驟609由主機112所發(fā)送的數(shù)據(jù)分組。如果這 些數(shù)據(jù)分組都不運載CE碼點,則主機142禁止在ACK分組的TCP頭部 中設置ECE標志。該ACK分組經(jīng)過服務供應商網(wǎng)絡,即服務供應商 172,并且最終到達邊界路由器108上的外部接口。在歩驟607中,邊界 路由器108上的NetFlow 220更新在步驟607中為該流在NetFlow高速緩 存400中所創(chuàng)建的NetFlow條目402。同時,該ACK分組被轉(zhuǎn)發(fā)至主機 142。
在第二種情形中,當網(wǎng)絡擁塞要么已被經(jīng)受要么迫近時,數(shù)據(jù)和ACK 分組可以被在主機116和142之間交換。例如,在步驟619中,主機116向主機142發(fā)送數(shù)據(jù)分組。數(shù)據(jù)分組的IP頭部中的ECN字段被設置為要 么ECT (0)碼點要么ECT (1)碼點,以告知任何中間設備可以在網(wǎng)絡擁 塞被經(jīng)受或迫近的情況下設置CE碼點。該數(shù)據(jù)分組到達邊界路由器 108,以被通過邊界路由器108上的外部接口轉(zhuǎn)發(fā)至主機142。在歩驟621 中,邊界路由器108上的NetFlow 220更新在步驟603中為該流在NetFlow 高速緩存400中所創(chuàng)建的NetFlow條目402。同時,該數(shù)據(jù)分組被轉(zhuǎn)發(fā)至 服務供應商172。但是,由于在該情形中,網(wǎng)絡擁塞被經(jīng)受或迫近,因此 服務供應商172在分組的IP頭部的ECN字段中設置CE碼點并且在歩驟 623中繼續(xù)將分組轉(zhuǎn)發(fā)至下一跳。最終,數(shù)據(jù)分組被遞送至主機142。
在步驟625中,主機142在見到先前所未確認的數(shù)據(jù)分組的至少一個 包含CE碼點之后,發(fā)送在TCP頭部中設置ECE標志的ECN-Echo ACK (ECN回復確認),以不僅確認數(shù)據(jù)分組的接收,所接收的數(shù)據(jù)分組包括 在步驟619中由主機112所發(fā)送的數(shù)據(jù)分組,而且告知在從主機112至主 機146的單向路徑上的實時網(wǎng)絡擁塞情況。
在優(yōu)選實施例中,主機142對具有己由中間路由器所設置的CE碼點 的分組進行認證。認證例如可以基于源IP地址和端口、目的地IP地址和 端口以及TCP序號。
主機142所發(fā)送的ECN-Echo ACK分組經(jīng)過服務供應商網(wǎng)絡(該情況 中為服務供應商172),并且最終到達邊界路由器108上的外部接口。在 步驟627中,邊界路由器108上的NetFlowTM220立即檢測到其在外部接口 上接收到ECN-Echo ACK。因此,邊界路由器108立即經(jīng)由通過邊界路由 器108和OER MC 102之間的通信鏈路的消息將從主機112到主機146的 單向路徑上的網(wǎng)絡擁塞情況通知給OERMC 102。根據(jù)一個實施例,該消 息可以以專用協(xié)議被從邊界路由器108發(fā)送到OERMC 102。
OER MC 102可以對該擁塞通知消息作出反應,并且發(fā)起校正歩驟來 減輕擁塞情況的影響。校正步驟包括在圖1中的邊界路由器104-108和網(wǎng) 際互聯(lián)系統(tǒng)120中諸如BGP路由器110之類的其他路由器上安裝、刪除和 更新路由、路由圖、路由策略和PBR。校正步驟也可以包括調(diào)整用于邊界 路由器104-108上的路徑的本地偏好、加權(quán)、MED量度設置。校正步驟也可以包括在將在BGP講者之間共享的給定路徑上預先考慮AS路徑。為了 實現(xiàn)校正步驟,OER MC 102向網(wǎng)際互聯(lián)系統(tǒng)120中參與出口路由優(yōu)化的 路由器發(fā)送一個或多個消息。這些消息例如包含實施各個路由器所應采用 的校正步驟的控制信息。
在一個實施例中,OERMC 102針對每個應用或每個前綴具有抑制 (hold-down)定時器,用于防止路由振蕩(拍動)并且提供阻尼。應用或 前綴一被從一個出口移至另一個出口,抑制定時器就啟動。應用或前綴在 抑制定時器仍在運行的情況下無法被移至另一個路徑,除非應用或前綴在 現(xiàn)有路徑上變得不可達。抑制定時器設置指定在可替換出口可以被選定之 前新路徑必須被使用的最小時間段。抑制時間是可配置的并且缺省為5分 鐘。
在一實施例中,如果OERMC 102在用于前綴或應用的最佳路徑上接 收到ECN反饋,則OER MC 102可選地不改變與該前綴或應用相關聯(lián)的 路徑,而是改變路由、路由策略和PBR以將用于某些其他前綴或諸如 VoIP或視頻應用之類的應用的流量轉(zhuǎn)移至較佳路徑。
OER MC 102在將路徑標記為擁塞時,可以將該信息存儲在歷史數(shù)據(jù) 庫中。路徑上的過往ECN信息在選擇最佳路徑時可以被用作量度。例 如,當兩個候選路徑之間不分勝負時,選擇未曾經(jīng)受擁塞情況或者曾經(jīng)受 少許擁塞情況的路徑,而不選擇在過去經(jīng)受過一些擁塞情況的路徑。
再次參照圖6,當ECN-Echo ACK分組被接收到時,NetFlow服務 220更新在步驟607中為該流在NetFlow高速緩存400中所建立的NetFlow 條目402。邊界路由器108將ECN-Echo ACK分組轉(zhuǎn)發(fā)至主機142。
圖8A是圖示出OER邊界路由器應用的方面的流程圖。在框810中, OER邊界路由器應用開始。在框820中,與進出邊界路由器的流量流有關 的分組被監(jiān)控。
在框830中,對于邊界路由器上的外部接口的進入方向上所接收的 TCP分組,該分組的TCP頭部被檢查以査看是否設置了 ECE標志。如果 ECE標志未被設置,則在框820中,流量流被繼續(xù)監(jiān)控。但是,如果ECE 標志已被設置,則在框840中,與所接收的分組相關聯(lián)的信息被立即通過邊界路由器和OER MC 102之間的通信鏈路而提供給OER MC 102。
在框850中,OER邊界路由器應用等待來自OER MC 102的控制信 息。如果控制信息未在框860中被接收到,則應用繼續(xù)在框850中等待。 但是,如果控制信息在框860中被接收到,則在框870中,應用根據(jù)所接 收到的控制信息來改變路由、路由策略和PBR。在改變完成之后,應用返 回框820以繼續(xù)監(jiān)控流量流。
圖8B是圖示出內(nèi)部路由器應用的方面的流程圖。在框812中,OER 內(nèi)部路由器應用開始。在框852中,OER內(nèi)部路由器應用等待來自OER MC 102的控制信息。如果控制信息未在框862中被接收到,則應用繼續(xù) 在框852中等待。但是,如果控制信息在框862中被接收到,則在框872 中,應用根據(jù)所接收到的控制信息來改變路由、路由策略和PBR。在改變 完成之后,應用返回框852以繼續(xù)等待控制信息。
圖9是圖示出OER MC應用的方面的流程圖。在框910中,OERMC 應用開始。在框920中,OER MC應用等待來自邊界路由器104-108的擁 塞通知。如果擁塞通知未在框930中被接收到,則應用繼續(xù)在框920中等 待。但是,如果擁塞通知被接收到,則在框940中,應用對所有參與出口 優(yōu)化的路由器生成與路由、路由策略和PBR的改變有關的控制信息。在框 950中,所生成的控制信息被發(fā)送到所有參與出口優(yōu)化的路由器。在控制 信息被發(fā)送之后,應用返回到框920以繼續(xù)等待擁塞通知。
本領域技術人員將會認識到,可以通過將適當?shù)拇a結(jié)合至現(xiàn)有的路 由優(yōu)化應用中可以以任何適當?shù)姆绞絹韺崿F(xiàn)這里所描述的步驟,故這里無 需詳細描述。
4.0實現(xiàn)機制——硬件概述
圖7是圖示出在其上可以實現(xiàn)一實施例的計算機系統(tǒng)700的框圖。利 用在一個或多個網(wǎng)絡元件上運行的計算機程序來實現(xiàn)優(yōu)選實施例。
計算機系統(tǒng)700包括用于傳送信息的總線702或其他通信機制和與總 線702耦合的用于處理信息的處理器704。計算機系統(tǒng)700還包括耦合到 總線702的用于存儲信息和將由處理器704執(zhí)行的指令的主存儲器706, 主存儲器706例如是隨機訪問存儲器(RAM)、閃存或者其他動態(tài)存儲設
24備。主存儲器706也可以用于在將由處理器704處理的指令的處理期間存 儲臨時變量或其他中間信息。計算機700還包括耦合到總線702的用于存 儲用于處理器704的靜態(tài)信息和指令的只讀存儲器(ROM) 708或其他靜 態(tài)存儲設備。諸如磁盤、閃存或光盤之類的存儲設備710被提供并且被耦 合到總線702,用于存儲信息和指令。
通信接口 718可以被耦合到總線702,用于向處理器704傳送信息和 命令選擇。接口 718是傳統(tǒng)串行接口,例如RS-232或RS-422接口。外部 終端712或其他計算機系統(tǒng)連接到計算機系統(tǒng)700并且利用接口 714向其 提供命令。在計算機系統(tǒng)700中所運行的固件或軟件提供終端接口或基于 字符的命令接口 ,以使得外部命令可以被給予計算機系統(tǒng)。
交換系統(tǒng)716被耦合到總線702并且具有至一個或多個外部網(wǎng)絡元件 的輸入接口 714和輸出接口 719。外部網(wǎng)絡元件可以包括耦合到一個或多 個主機724的本地網(wǎng)絡722,或者諸如因特網(wǎng)728之類的具有一個或多個 服務器730的全球網(wǎng)絡。交換系統(tǒng)716根據(jù)公知的預定協(xié)議和慣例而將到 達輸入接口 714上的信息流量交換至輸出接口 719。例如,交換系統(tǒng)716 與處理器704協(xié)作可以確定到達輸入接口 714上的數(shù)據(jù)分組的目的地,并 且利用輸出接口 719將其發(fā)送到正確的目的地。目的地可以包括主機 724、服務器730、其他終端站或者本地網(wǎng)絡722或因特網(wǎng)728中的其他路 由或交換設備。
本發(fā)明涉及使用計算機系統(tǒng)700來在BGP流量、地址族和路由拓撲中 提供QoS和故障隔離。根據(jù)本發(fā)明的一個實施例,在BGP流量、地址族 和路由拓撲中提供QoS和故障隔離是響應于處理器704執(zhí)行主存儲器706 中的一個或多個指令的一個或多個序列而由計算機系統(tǒng)700提供的。這種 指令可以被從諸如存儲設備710之類的另一個機器可讀介質(zhì)中讀取到主存 儲器706中。主存儲器706中所包含的指令的序列的執(zhí)行使得處理器704 執(zhí)行這里所描述的處理步驟。也可以采用處于多路處理布置中的一個或多 個處理器來執(zhí)行主存儲器706中所包含的指令的序列。在可替換實施例 中,可以利用硬件電路代替軟件指令或者利用硬件電路與軟件指令結(jié)合來 實現(xiàn)本發(fā)明。因此,本發(fā)明的實施例不限于任何具體的硬件電路和軟件的組合。
這里所使用的術語"機器可讀介質(zhì)"指的是任何參與向處理器704提 供指令以供執(zhí)行的介質(zhì)。這種介質(zhì)可以采用許多形式,包括但不限于非易 失性介質(zhì)、易失性介質(zhì)和傳輸介質(zhì)。非易失性介質(zhì)例如包括諸如存儲設備
710之類的光盤或磁盤。易失性介質(zhì)包括諸如主存儲器706之類的動態(tài)存 儲器。傳輸介質(zhì)包括同軸纜線、銅導線和光纖,包括組成總線702的導 線。傳輸介質(zhì)也可以采用聲波或光波形式,例如在無線電波和紅外數(shù)據(jù)通 信期間所生成的聲波或光波。
機器可讀介質(zhì)的通用形式例如包括軟盤(floppy disk)、軟磁盤
(flexible disk)、硬盤、磁帶或者任何其他磁介質(zhì);CD-ROM、任何其他 光介質(zhì);穿孔卡、紙帶、任何其他具有孔形圖案的物理介質(zhì);RAM、 PROM、 EPROM、 FLASH-EPROM、任何其他存儲器芯片或存儲器盒;下 文中所描述的載波;或者計算機可以從其進行讀取的任何其他介質(zhì)。
在向處理器704運載一個或多個指令的一個或多個序列以供執(zhí)行的過 程中可以涉及各種形式的計算機可讀介質(zhì)。例如,指令最初可以被運載在 遠程計算機的磁盤上。遠程計算機可以將指令加載到其動態(tài)存儲器中并且 利用調(diào)制解調(diào)器通過電話線來發(fā)送指令。計算機系統(tǒng)700本地的調(diào)制解調(diào) 器可以接收電話線上的數(shù)據(jù),并且利用紅外發(fā)送器將數(shù)據(jù)轉(zhuǎn)換為紅外信 號。耦合到總線702的紅外檢測器可以接收紅外信號中所運載的數(shù)據(jù)并且 將數(shù)據(jù)放置在總線702上。總線702將數(shù)據(jù)運載至主存儲器706,處理器 704從主存儲器706取回并執(zhí)行指令。主存儲器706所接收的指令可以要 么在由處理器704執(zhí)行之前要么在由處理器704執(zhí)行之后被可選地存儲在 存儲設備710上。
通信接口 718還向網(wǎng)絡鏈路720提供雙向數(shù)據(jù)通信耦合,網(wǎng)絡鏈路 720連接到本地網(wǎng)絡722。例如,通信接口 718可以是綜合業(yè)務數(shù)字網(wǎng)
(ISDN)卡或調(diào)制解調(diào)器,用于向相應類型的電話線提供數(shù)據(jù)通信連接。 作為另一個示例,通信接口 718可以是局域網(wǎng)(LAN)卡,用于向兼容的 LAN提供數(shù)據(jù)通信連接。也可以實現(xiàn)無線鏈路。在任何這種實現(xiàn)方式中, 通信接口 718收發(fā)電、電磁或光信號,這些信號運載表示各種類型信息的數(shù)字數(shù)據(jù)流。
網(wǎng)絡鏈路720通常通過一個或多個網(wǎng)絡向其他數(shù)據(jù)設備提供數(shù)據(jù)通 信。例如,網(wǎng)絡鏈路720可以通過本地網(wǎng)絡722向主計算機724或者向因 特網(wǎng)服務供應商(ISP) 726所操作的數(shù)據(jù)設備提供連接。ISP 726通過現(xiàn) 在通常稱為"因特網(wǎng)"728的全球分組數(shù)據(jù)通信網(wǎng)絡來提供數(shù)據(jù)通信服 務。本地網(wǎng)絡722和因特網(wǎng)728都使用運載數(shù)字數(shù)據(jù)流的電、電磁或光信 號。通過各種網(wǎng)絡的信號和在數(shù)據(jù)鏈路720上且通過通信接口 718的信號 將數(shù)字數(shù)據(jù)運載到計算機系統(tǒng)700并從計算機系統(tǒng)700運載數(shù)字數(shù)據(jù),它 們是傳輸信息的載波的示例性形式。
計算機系統(tǒng)700可以通過(一個或多個)網(wǎng)絡、網(wǎng)絡鏈路720和通信 接口 718來發(fā)送消息和接收數(shù)據(jù),包括程序代碼。在因特網(wǎng)示例中,服務 器730可以通過因特網(wǎng)728、 ISP 726、本地網(wǎng)絡722和通信接口 718來發(fā) 送用于應用程序的請求碼。根據(jù)本發(fā)明, 一個這種下載的應用如這里所描 述在BGP流量、地址族和路由拓撲中提供QoS和故障隔離。
所接收的代碼可以在其被接收時由處理器704處理,并且/或者被存儲 在存儲設備710或其他非易失性存儲器中以供稍后執(zhí)行。在這種方式下, 計算機系統(tǒng)700可以以載波的形式獲得應用碼。
5.0擴展和替換物
所述方法可以被應用于因特網(wǎng)之外的與任何路由協(xié)議有關的任何適當 網(wǎng)絡中,或者可以應用于與任何數(shù)據(jù)類型或元件(例如數(shù)據(jù)分組)有關的 任何適當網(wǎng)絡設備上。特別地,所述方法可以被應用于形成類似于本說明 書中所說明的配置的適當配置的內(nèi)聯(lián)網(wǎng)或外聯(lián)網(wǎng)。而且,所述方法可以在 任何運行諸如NetFlowTM之類的監(jiān)控應用的設備和運行諸如OER之類的路 徑優(yōu)化應用的相同或不同設備上實現(xiàn)。
在前述詳細描述中,參考本發(fā)明的具體實施例描述了本發(fā)明。但是, 顯然的是,在不脫離本發(fā)明較寬的精神和范圍的情況下,可以對其進行各 種修改和改變。因此,說明書和附圖將被認為是說明性而非限制性的。
權(quán)利要求
1. 一種方法,包括監(jiān)控從網(wǎng)際互聯(lián)系統(tǒng)所接收的分組,其中,所述分組是在聯(lián)網(wǎng)設備的多個外部接口之一上接收到的;檢測所接收的分組包括實時信息,該實時信息表示在從所述聯(lián)網(wǎng)設備的所述外部接口到所述網(wǎng)際互聯(lián)系統(tǒng)的路徑上的當前或迫近的擁塞情況;將所述實時信息通知給控制邏輯;從所述控制邏輯接收限定從所述外部接口到所述網(wǎng)際互聯(lián)系統(tǒng)的一個或多個路徑的改變的控制信息;以及改變從所述外部接口到所述網(wǎng)際互聯(lián)系統(tǒng)的所述一個或多個路徑。
2. 如權(quán)利要求1所述的方法,包括將一個或多個分組從所述聯(lián)網(wǎng)設備 發(fā)送至所述網(wǎng)際互聯(lián)系統(tǒng),其中,所述一個或多個分組是這樣的格式該 格式可以由中間聯(lián)網(wǎng)設備標記以表示當前或迫近的擁塞情況。
3. 如權(quán)利要求1所述的方法,其中,所述所接收的分組是具有顯式擁 塞通知的傳輸控制協(xié)議分組,即Echo標志被設置的傳輸控制協(xié)議分組。
4. 如權(quán)利要求1所述的方法,其中,監(jiān)控歩驟包括將來自所述網(wǎng)際互 聯(lián)系統(tǒng)的分組分類為由所述分組中的屬性所標識的流量流。
5. 如權(quán)利要求4所述的方法,其中,標識流量流的所述屬性之一是與 所述網(wǎng)際互聯(lián)系統(tǒng)中的主機相關聯(lián)的前綴。
6. 如權(quán)利要求4所述的方法,其中,標識流量流的所述屬性之一是與 具有所述聯(lián)網(wǎng)設備作為一部分的網(wǎng)際互聯(lián)系統(tǒng)中的主機相關聯(lián)的前綴。
7. 如權(quán)利要求4所述的方法,其中,標識流量流的所述屬性中的一個 或多個屬性也標識應用。
8. 如權(quán)利要求1所述的方法,其中,通知步驟包括向所述控制邏輯發(fā) 送關于在所述聯(lián)網(wǎng)設備和所述網(wǎng)際互聯(lián)系統(tǒng)之間的一個或多個路徑上的延 遲、抖動、分組丟失和損壞分組的探測信息。
9. 如權(quán)利要求1所述的方法,包括從所述控制邏輯接收限定所述聯(lián) 網(wǎng)設備中的一個或多個路由策略的改變的控制信息,其中,所述聯(lián)網(wǎng)設備在與其他聯(lián)網(wǎng)設備交換路由信息時將遵從所述一個或多個路由策略;以及改變所述聯(lián)網(wǎng)設備上的所述一個或多個路由策略。
10. 如權(quán)利要求1所述的方法,包括從所述控制邏輯接收限定所述 聯(lián)網(wǎng)設備中的一個或多個轉(zhuǎn)發(fā)策略的改變的控制信息,其中,所述聯(lián)網(wǎng)設備在轉(zhuǎn)發(fā)分組時將遵從所述一個或多個轉(zhuǎn)發(fā)策略;以及改變所述聯(lián)網(wǎng)設備上的所述一個或多個轉(zhuǎn)發(fā)策略。
11. 一種方法,包括基于由第一 網(wǎng)際互聯(lián)系統(tǒng)的多個外部接口中的一個外部接口所接收的 來自第二網(wǎng)際互聯(lián)系統(tǒng)的分組,從所述第一網(wǎng)際互聯(lián)系統(tǒng)接收實時信息, 其中,所述實時信息表示在從所述外部接口到所述第二網(wǎng)際互聯(lián)系統(tǒng)的路 徑上的當前或迫近的擁塞情況;以及向所述第一網(wǎng)際互聯(lián)系統(tǒng)提供與改變從所述多個外部接口到所述第二 網(wǎng)際互聯(lián)系統(tǒng)的一個或多個路徑有關的控制信息。
12. 如權(quán)利要求11所述的方法,包括從所述第一網(wǎng)際互聯(lián)系統(tǒng)接收關 于在所述第一和第二網(wǎng)際互聯(lián)系統(tǒng)之間的一個或多個路徑上的延遲、抖 動、分組丟失和損壞分組的探測信息。
13. 如權(quán)利要求11所述的方法,包括向所述第一網(wǎng)際互聯(lián)系統(tǒng)提供與 改變所述第一網(wǎng)際互聯(lián)系統(tǒng)中的聯(lián)網(wǎng)設備中的一個或多個路由策略有關的 控制信息,其中,所述聯(lián)網(wǎng)設備在與其他聯(lián)網(wǎng)設備交換路由信息時將遵從 所述一個或多個路由策略。
14. 如權(quán)利要求11所述的方法,包括向所述第一網(wǎng)際互聯(lián)系統(tǒng)提供與 改變所述第一網(wǎng)際互聯(lián)系統(tǒng)中的聯(lián)網(wǎng)設備中的一個或多個轉(zhuǎn)發(fā)策略有關的 控制信息,其中,所述聯(lián)網(wǎng)設備在轉(zhuǎn)發(fā)分組時將遵從所述一個或多個轉(zhuǎn)發(fā) 策略。
15. —種數(shù)據(jù)分組路由裝置,被配置用于在包括多個節(jié)點并支持多種拓撲的數(shù)據(jù)通信網(wǎng)絡中路由數(shù)據(jù)分組,所述數(shù)據(jù)分組路由裝置包括一個或多個處理器;一個或多個網(wǎng)絡接口,所述一個或多個網(wǎng)絡接口耦合到所述一個或多 個處理器和所述數(shù)據(jù)通信網(wǎng)絡;用于監(jiān)控從網(wǎng)際互聯(lián)系統(tǒng)所接收的分組的裝置,其中,所述分組是在 所述一個或多個網(wǎng)絡接口中的一個網(wǎng)絡接口上接收到的;用于檢測所接收的分組包括實時信息的裝置,所述實時信息表示在從 所述一個或多個網(wǎng)絡接口到所述網(wǎng)際互聯(lián)系統(tǒng)的路徑上的當前或迫近的擁 塞情況;用于將所述實時信息通知給控制邏輯的裝置;用于從所述控制邏輯接收限定從所述一個或多個網(wǎng)絡接口到所述網(wǎng)際 互聯(lián)系統(tǒng)的一個或多個路徑的改變的控制信息的裝置;以及用于改變從所述外部接口到所述網(wǎng)際互聯(lián)系統(tǒng)的所述一個或多個路徑 的裝置。
16. 如權(quán)利要求15所述的裝置,包括用于將一個或多個分組從所述聯(lián) 網(wǎng)設備發(fā)送至所述網(wǎng)際互聯(lián)系統(tǒng)的裝置,其中,所述一個或多個分組是這 樣的格式該格式可以由中間聯(lián)網(wǎng)設備標記以表示當前或迫近的擁塞情 況。
17. 如權(quán)利要求15所述的裝置,其中,所述所接收的分組是具有顯式擁塞通知的傳輸控制協(xié)議分組,即Echo標志被設置的傳輸控制協(xié)議分組。
18. 如權(quán)利要求15所述的裝置,其中,所述用于監(jiān)控的裝置包括用于 將來自所述網(wǎng)際互聯(lián)系統(tǒng)的分組分類為由所述分組中的屬性所標識的流量 流的裝置。
19. 如權(quán)利要求18所述的裝置,其中,標識流量流的所述屬性之一是 與所述網(wǎng)際互聯(lián)系統(tǒng)中的主機相關聯(lián)的前綴。
20. 如權(quán)利要求18所述的裝置,其中,標識流量流的所述屬性之一是 與具有所述聯(lián)網(wǎng)設備作為一部分的網(wǎng)際互聯(lián)系統(tǒng)中的主機相關聯(lián)的前綴。
21. 如權(quán)利要求18所述的裝置,其中,標識流量流的所述屬性中的一 個或多個屬性也標識應用。
22. 如權(quán)利要求15所述的裝置,其中,所述用于通知的裝置包括用于 向所述控制邏輯發(fā)送關于在所述聯(lián)網(wǎng)設備和所述網(wǎng)際互聯(lián)系統(tǒng)之間的一個 或多個路徑上的延遲、抖動、分組丟失和損壞分組的探測信息的裝置。
23. 如權(quán)利要求15所述的裝置,包括用于從所述控制邏輯接收限定 所述聯(lián)網(wǎng)設備中的一個或多個路由策略的改變的控制信息的裝置,其中, 所述聯(lián)網(wǎng)設備在與其他聯(lián)網(wǎng)設備交換路由信息時將遵從所述一個或多個路 由策略;以及用于改變所述聯(lián)網(wǎng)設備上的所述一個或多個路由策略的裝置。
24. 如權(quán)利要求15所述的裝置,包括用于從所述控制邏輯接收限定所述聯(lián)網(wǎng)設備中的一個或多個轉(zhuǎn)發(fā)策略的改變的控制信息的裝置,其中,所述聯(lián)網(wǎng)設備在轉(zhuǎn)發(fā)分組時將遵從所述一個或多個轉(zhuǎn)發(fā)策略;以及用于改 變所述聯(lián)網(wǎng)設備上的所述一個或多個轉(zhuǎn)發(fā)策略的裝置。
25. —種路由優(yōu)化裝置,被配置用于優(yōu)化在包括多個節(jié)點并支持多種拓撲的數(shù)據(jù)通信網(wǎng)絡中轉(zhuǎn)發(fā)數(shù)據(jù)分組的路由,所述路由優(yōu)化裝置包括一個或多個處理器;一個或多個網(wǎng)絡接口,所述一個或多個網(wǎng)絡接口耦合到所述一個或多 個處理器和所述數(shù)據(jù)通信網(wǎng)絡;用于基于由第一網(wǎng)際互聯(lián)系統(tǒng)的多個外部接口中的一個外部接口所接 收的來自第二網(wǎng)際互聯(lián)系統(tǒng)的分組來從所述第一網(wǎng)際互聯(lián)系統(tǒng)接收實時信 息的裝置,其中,所述實時信息表示在從所述一個外部接口到所述第二網(wǎng) 際互聯(lián)系統(tǒng)的路徑上的當前或迫近的擁塞情況;用于向所述第一網(wǎng)際互聯(lián)系統(tǒng)提供與改變從所述多個外部接口到所述 第二網(wǎng)際互聯(lián)系統(tǒng)的一個或多個路徑有關的控制信息的裝置。
26. 如權(quán)利要求25所述的裝置,包括用于從所述第一網(wǎng)際互聯(lián)系統(tǒng)接 收關于在所述第一和第二網(wǎng)際互聯(lián)系統(tǒng)之間的一個或多個路徑上的延遲、 抖動、分組丟失和損壞分組的探測信息的裝置。
27. 如權(quán)利要求25所述的裝置,包括用于向所述第一網(wǎng)際互聯(lián)系統(tǒng)提 供與改變所述第一網(wǎng)際互聯(lián)系統(tǒng)中的聯(lián)網(wǎng)設備中的一個或多個路由策略有 關的控制信息的裝置,其中,所述聯(lián)網(wǎng)設備在與其他聯(lián)網(wǎng)設備交換路由信 息時將遵從所述一個或多個路由策略。
28. 如權(quán)利要求25所述的裝置,包括用于向所述第一網(wǎng)際互聯(lián)系統(tǒng)提 供與改變所述第一網(wǎng)際互聯(lián)系統(tǒng)中的聯(lián)網(wǎng)設備中的一個或多個轉(zhuǎn)發(fā)策略有關的控制信息的裝置,其中,所述聯(lián)網(wǎng)設備在轉(zhuǎn)發(fā)分組時將遵從所述一個 或多個轉(zhuǎn)發(fā)策略。
29. —種用于在包括多個節(jié)點并支持多種拓撲的數(shù)據(jù)通信網(wǎng)絡中轉(zhuǎn)發(fā)數(shù)據(jù)分組的系統(tǒng),該系統(tǒng)包括第一節(jié)點、 一個或多個第一網(wǎng)絡接口和第一邏輯,所述一個或多個第 一網(wǎng)絡接口耦合到所述第一節(jié)點和所述數(shù)據(jù)通信網(wǎng)絡,所述第一邏輯在被 所述第一節(jié)點執(zhí)行時使得監(jiān)控從第一網(wǎng)際互聯(lián)系統(tǒng)所接收的分組,其中,所述分組是在所述第一節(jié)點的所述一個或多個網(wǎng)絡接口中的一個網(wǎng)絡接口上接收到的;檢測所接收的分組包括實時信息,該實時信息表示在從所述第一 節(jié)點的所述一個或多個網(wǎng)絡接口到所述第一網(wǎng)際互聯(lián)系統(tǒng)的路徑上的 當前或迫近的擁塞情況;將所述實時信息通知給控制邏輯;從所述控制邏輯接收限定從所述一個或多個網(wǎng)絡接口到所述第一 網(wǎng)際互聯(lián)系統(tǒng)的一個或多個路徑的改變的控制信息;以及改變從所述一個或多個網(wǎng)絡接口到所述網(wǎng)際互聯(lián)系統(tǒng)的所述一個 或多個路徑;第二節(jié)點,該第二節(jié)點包括一個或多個第二網(wǎng)絡接口和第二邏輯,所 述一個或多個第二網(wǎng)絡接口耦合到所述第二節(jié)點和所述數(shù)據(jù)通信網(wǎng)絡,所 述第二邏輯在被所述第二節(jié)點執(zhí)行時使得基于由第一網(wǎng)際互聯(lián)系統(tǒng)的多個外部接口中的一個外部接口所接 收的來自第二網(wǎng)際互聯(lián)系統(tǒng)的分組,從所述第一網(wǎng)際互聯(lián)系統(tǒng)接收實 時信息,其中,所述實時信息表示在從所述一個外部接口到所述第二 網(wǎng)際互聯(lián)系統(tǒng)的路徑上的當前或迫近的擁塞情況;以及向所述第一網(wǎng)際互聯(lián)系統(tǒng)提供與改變從所述多個外部接口到所述 第二網(wǎng)際互聯(lián)系統(tǒng)的一個或多個路徑有關的控制信息。
30. 如權(quán)利要求29所述的系統(tǒng),其中,所述第一邏輯包括在被所述第 一節(jié)點執(zhí)行時使得進行如下步驟的邏輯將一個或多個分組從所述聯(lián)網(wǎng)設備發(fā)送至所述第一網(wǎng)際互聯(lián)系統(tǒng),其中,所述一個或多個分組是這樣的格 式該格式可以由中間聯(lián)網(wǎng)設備標記以表示當前或迫近的擁塞情況。
31. 如權(quán)利要求29所述的系統(tǒng),其中,所述所接收的分組是具有顯式 擁塞通知的傳輸控制協(xié)議分組,即Echo標志被設置的傳輸控制協(xié)議分 組。
32. 如權(quán)利要求29所述的系統(tǒng),其中,監(jiān)控步驟包括將來自所述第一 網(wǎng)際互聯(lián)系統(tǒng)的分組分類為由所述分組中的屬性所標識的流量流。
33. 如權(quán)利要求32所述的系統(tǒng),其中,標識流量流的所述屬性之一是 與所述第一網(wǎng)際互聯(lián)系統(tǒng)中的主機相關聯(lián)的前綴。
34. 如權(quán)利要求32所述的系統(tǒng),其中,標識流量流的所述屬性之一是 與具有所述聯(lián)網(wǎng)設備作為一部分的網(wǎng)際互聯(lián)系統(tǒng)中的主機相關聯(lián)的前綴。
35. 如權(quán)利要求32所述的系統(tǒng),其中,標識流量流的所述屬性中的一 個或多個屬性也標識應用。
36. 如權(quán)利要求29所述的系統(tǒng),其中,通知步驟包括向所述控制邏輯 發(fā)送關于在所述聯(lián)網(wǎng)設備和所述第一網(wǎng)際互聯(lián)系統(tǒng)之間的一個或多個路徑 上的延遲、抖動、分組丟失和損壞分組的探測信息。
37. 如權(quán)利要求29所述的系統(tǒng),其中,所述第一邏輯包括在被所述第 一節(jié)點執(zhí)行時使得進行如下步驟的邏輯從所述控制邏輯接收限定所述聯(lián) 網(wǎng)設備中的一個或多個路由策略的改變的控制信息,其中,所述聯(lián)網(wǎng)設備 在與其他聯(lián)網(wǎng)設備交換路由信息時將遵從所述一個或多個路由策略;以及 改變所述聯(lián)網(wǎng)設備上的所述一個或多個路由策略。
38. 如權(quán)利要求29所述的系統(tǒng),其中,所述第一邏輯包括在被所述第 一節(jié)點執(zhí)行時使得進行如下步驟的邏輯從所述控制邏輯接收限定所述聯(lián) 網(wǎng)設備中的一個或多個轉(zhuǎn)發(fā)策略的改變的控制信息,其中,所述聯(lián)網(wǎng)設備 在轉(zhuǎn)發(fā)分組時將遵從所述一個或多個轉(zhuǎn)發(fā)策略;以及改變所述聯(lián)網(wǎng)設備上 的所述一個或多個轉(zhuǎn)發(fā)策略。
39. 如權(quán)利要求29所述的系統(tǒng),其中,所述第二邏輯包括在被所述第二節(jié)點執(zhí)行時使得進行如下步驟的邏輯從所述第一網(wǎng)際互聯(lián)系統(tǒng)接收關 于在所述第一和第二網(wǎng)際互聯(lián)系統(tǒng)之間的一個或多個路徑上的延遲、抖動、分組丟失和損壞分組的探測信息。
40. 如權(quán)利要求29所述的系統(tǒng),其中,所述第二邏輯包括在被所述第二節(jié)點執(zhí)行時使得進行如下步驟的邏輯向所述第一網(wǎng)際互聯(lián)系統(tǒng)提供與 改變所述第一網(wǎng)際互聯(lián)系統(tǒng)中的聯(lián)網(wǎng)設備中的一個或多個路由策略有關的 控制信息,其中,所述聯(lián)網(wǎng)設備在與其他聯(lián)網(wǎng)設備交換路由信息時將遵從 所述一個或多個路由策略。
41. 如權(quán)利要求29所述的系統(tǒng),其中,所述第二邏輯包括在被所述第二節(jié)點執(zhí)行時使得進行如下步驟的邏輯向所述第一網(wǎng)際互聯(lián)系統(tǒng)提供與改變所述第一網(wǎng)際互聯(lián)系統(tǒng)中的聯(lián)網(wǎng)設備中的一個或多個轉(zhuǎn)發(fā)策略有關的 控制信息,其中,所述聯(lián)網(wǎng)設備在轉(zhuǎn)發(fā)分組時將遵從所述一個或多個轉(zhuǎn)發(fā) 策略。
全文摘要
提供了基于實時擁塞反饋來更新最佳路徑的技術。一種方法包括監(jiān)控從網(wǎng)際互聯(lián)系統(tǒng)所接收的分組,其中,所述分組是在聯(lián)網(wǎng)設備的多個外部接口之一上接收到的;檢測所接收的分組包括實時信息,該實時信息表示在從聯(lián)網(wǎng)設備的外部接口到網(wǎng)際互聯(lián)系統(tǒng)的路徑上的當前或迫近的擁塞情況;將實時信息通知給控制邏輯;從控制邏輯接收限定從外部接口到網(wǎng)際互聯(lián)系統(tǒng)的一個或多個路徑的改變的控制信息;以及改變從外部接口到網(wǎng)際互聯(lián)系統(tǒng)的一個或多個路徑。檢查網(wǎng)際互聯(lián)系統(tǒng)的外部接口上的進入流量可以使得響應于實時擁塞而改變第一網(wǎng)際互聯(lián)系統(tǒng)的路由器中的路由、路由策略和PBR。
文檔編號H04J1/16GK101427497SQ200680030908
公開日2009年5月6日 申請日期2006年8月17日 優(yōu)先權(quán)日2005年8月30日
發(fā)明者普瑞塔姆·沙赫, 瓦斯塔爾·瓦盧爾, 米特什·德拉爾, 阿莫·卡里 申請人:思科技術公司