分段路由-出口對(duì)等工程(sp-epe)的制作方法
【專利說明】分段路由-出口對(duì)等工程(SP-EPE)
[0001] 相關(guān)申請(qǐng)
[0002] 本申請(qǐng)要求由Filsfils等于2014年4月17日提交的、題為"分段路由出口對(duì)等 工程"的美國臨時(shí)申請(qǐng)No. 61/980, 689的優(yōu)先權(quán),并且要求由Filsfils等于2014年5月 15日提交的、題為"分段路由出口對(duì)等工程"的美國臨時(shí)申請(qǐng)No. 61/993, 348的優(yōu)先權(quán),每 個(gè)申請(qǐng)的內(nèi)容通過引用被合并于此。
技術(shù)領(lǐng)域
[0003] 本公開總體涉及計(jì)算機(jī)網(wǎng)絡(luò),并且更具體地,涉及分段路由-出口(egress)對(duì)等 工程(SP-EPE)。
【背景技術(shù)】
[0004] 在計(jì)算機(jī)網(wǎng)絡(luò)中,外部網(wǎng)關(guān)協(xié)議可以被用來在互聯(lián)網(wǎng)上在自主系統(tǒng)(AS)之間交 換路由信息和可達(dá)性信息。一個(gè)示例標(biāo)準(zhǔn)化外部網(wǎng)關(guān)協(xié)議是邊界網(wǎng)關(guān)協(xié)議(BGP),該BGP通 常被分類為路徑向量協(xié)議或距離向量路由協(xié)議。BGP -般基于由網(wǎng)絡(luò)管理員所配置的規(guī)則 集、路徑或網(wǎng)絡(luò)策略來做出路由決策,并且BGP涉及做出核心路由決策。
[0005] 在許多網(wǎng)絡(luò)配置中,AS(或其他類型的路由域)可以學(xué)習(xí)若干個(gè)去往特定目的地 地址或地址前綴的路徑。例如,許多AS具有多個(gè)邊界路由器(BR或ASBR,有時(shí)也被稱為提 供商邊緣設(shè)備或"PE"),每個(gè)邊界路由器可以提供去往相同(一個(gè)或多個(gè))目的地的有效 路徑。替代地或此外,某些BR還可以單獨(dú)具有去往相同(一個(gè)或多個(gè))目的地的多個(gè)有效 路徑,例如,單個(gè)BR連接到多個(gè)其他BR或者具有到相同鄰近BR的多個(gè)連接。BGP協(xié)議通常 通過使用"最佳路徑選擇"技術(shù)來處理多個(gè)AS出口選項(xiàng),從而選擇一個(gè)(或多個(gè))具體的 出口路由。然而,對(duì)該出口路由選擇的精細(xì)粒度控制和外部影響有待開發(fā)。
【發(fā)明內(nèi)容】
[0006] 根據(jù)本公開的一個(gè)或多個(gè)實(shí)施例,計(jì)算機(jī)網(wǎng)絡(luò)域中的控制器設(shè)備從該域的一個(gè)或 多個(gè)邊界路由器學(xué)習(xí)邊界網(wǎng)關(guān)協(xié)議(BGP)出口對(duì)等分段,并且確定選擇的流以經(jīng)由特定的 出口對(duì)等分段進(jìn)行"分段路由",所選擇的流從該域內(nèi)的給定路由設(shè)備去往遠(yuǎn)程域的給定目 的地。由此,控制器設(shè)備然后可以命令給定的路由設(shè)備經(jīng)由特定的出口對(duì)等分段來分段路 由所選擇的流。
[0007] 根據(jù)本公開的一個(gè)或多個(gè)附加實(shí)施例,出口邊界路由器與域的控制器設(shè)備共享其 BGP出口對(duì)等分段,并且可以隨后接收用來分段路由的流。作為響應(yīng),出口邊界路由器可以 從該流內(nèi)所包含的分段路由來確定將該流分段路由到邊界路由器的哪個(gè)特定的出口對(duì)等 分段(例如,使用相應(yīng)的出口對(duì)等分段,經(jīng)由特定出口對(duì)等來引導(dǎo)所選擇的流),并且相應(yīng) 地經(jīng)由邊界路由器的特定出口對(duì)等分段來將該流轉(zhuǎn)發(fā)出該域。
【附圖說明】
[0008] 可以結(jié)合附圖通過參考下面的描述來更好地理解本文的實(shí)施例,其中,相似的參 考標(biāo)號(hào)表示等同類似元件或功能類似元件,其中:
[0009] 圖1示出示例通信網(wǎng)絡(luò);
[0010] 圖2示出示例網(wǎng)絡(luò)設(shè)備/節(jié)點(diǎn);
[0011] 圖3示出示例轉(zhuǎn)發(fā)表;
[0012] 圖4示出網(wǎng)絡(luò)中BGP會(huì)話的示例;
[0013] 圖5示出示例指令交換;
[0014] 圖6A-6F示出針對(duì)主機(jī)實(shí)施的分段路由的示例
[0015] 圖7A-7B示出針對(duì)入口(ingress)PE實(shí)施的分段路由的示例;
[0016] 圖8A-8D示出快速重新路由的示例;
[0017] 圖9具體從EPE控制器的角度,示出用于利用出口對(duì)等工程的分段路由的示例簡 化過程。
[0018] 圖10具體從EPE使能出口邊界路由器(出口 PE)的角度,示出用于利用出口對(duì)等 工程的分段路由的示例簡化過程。
[0019] 圖11具體從EPE控制的設(shè)備(例如,內(nèi)容源/主機(jī)或入口邊界路由器(入口 PE)) 的角度,示出用于利用出口對(duì)等工程的分段路由的示例簡化過程。
【具體實(shí)施方式】
[0020] 計(jì)算機(jī)網(wǎng)絡(luò)是地理分布的節(jié)點(diǎn)集合,這些節(jié)點(diǎn)通過用于在端節(jié)點(diǎn)(例如,個(gè)人計(jì) 算機(jī)和工作站)之間傳輸數(shù)據(jù)的分段和通信鏈路進(jìn)行互連。從局域網(wǎng)(LAN)到廣域網(wǎng)(WAN) 的類型范圍,許多類型的網(wǎng)絡(luò)是可用的。LAN通常通過位于大致相同的物理位置(例如,建 筑物或校園)的專用私有通信鏈路來連接節(jié)點(diǎn)。另一方面,WAN-般通過長距離通信鏈路 (例如,公共載波電話線、光學(xué)光路、同步光纖網(wǎng)絡(luò)(SONET)或同步數(shù)字體系(SDH)鏈路)來 連接地理上分散的節(jié)點(diǎn)?;ヂ?lián)網(wǎng)是連接世界范圍的不同網(wǎng)絡(luò)的WAN的示例,在各個(gè)網(wǎng)絡(luò)上 的節(jié)點(diǎn)之間提供全球通信。這些節(jié)點(diǎn)通常經(jīng)由該網(wǎng)絡(luò)通過根據(jù)預(yù)定義的協(xié)議(例如,傳輸 控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(TCP/IP))交換數(shù)據(jù)的離散幀或分組來進(jìn)行通信。在該上下文中, 協(xié)議由定義節(jié)點(diǎn)如何彼此進(jìn)行交互的規(guī)則集組成。還可以通過中間網(wǎng)絡(luò)節(jié)點(diǎn)(例如,路由 器)來互連計(jì)算機(jī)網(wǎng)絡(luò),以擴(kuò)展每個(gè)網(wǎng)絡(luò)的有效"大小"。
[0021] 由于對(duì)互連的計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行管理很繁重,因此,可以將較小的計(jì)算機(jī)網(wǎng)絡(luò) 群組維護(hù)為路由域或自主系統(tǒng)。自主系統(tǒng)(AS)內(nèi)的網(wǎng)絡(luò)通常通過被配置為運(yùn)行域內(nèi) (intradomain)路由協(xié)議的常規(guī)"域內(nèi)"路由器而被耦合在一起,并且通常受制于共同權(quán)限。 為了改善路由可擴(kuò)展性,服務(wù)提供商(例如,ISP)可以將AS劃分為多個(gè)"區(qū)域"或"等級(jí)"。 然而,期望增加能夠交換數(shù)據(jù)的節(jié)點(diǎn)的數(shù)目;在該情形中,運(yùn)行域間(interdomain)路由協(xié) 議的域間路由器被用來將各個(gè)AS的節(jié)點(diǎn)進(jìn)行互連。而且,期望將在不同的管理域下進(jìn)行操 作的各種AS進(jìn)行互連。如本文所使用的,AS、區(qū)域或等級(jí)一般指代"域"。
[0022] 圖1是示例簡化計(jì)算機(jī)網(wǎng)絡(luò)100的示意框圖,該計(jì)算機(jī)網(wǎng)絡(luò)100說明性地包括節(jié) 點(diǎn)/設(shè)備(例如,通過鏈路115或網(wǎng)絡(luò)進(jìn)行互連的多個(gè)路由器/設(shè)備110,如圖所示)。例 如,網(wǎng)絡(luò)100可以示出WAN,該WAN包括多個(gè)服務(wù)提供商網(wǎng)絡(luò)或自主系統(tǒng)AS1、AS2、AS3和 AS4,其中,提供商邊緣(PE)設(shè)備可以允許各個(gè)網(wǎng)絡(luò)之間(例如,利用其它PE或客戶邊緣 (CE)設(shè)備,一般是ASBR)進(jìn)行通信。說明性地,ASl包括PE設(shè)備A、C和P,AS2包括PE設(shè) 備D和F,AS3包括PE設(shè)備H、G和Q,并且AS4包括PE設(shè)備Z,每個(gè)如圖所示進(jìn)行互連。如 下面將進(jìn)行的描述,從分組流的一個(gè)特定方向的角度,PE設(shè)備可以是入口 PE(iPE)或出口 PE(ePE)。其中,每個(gè)AS可以是核心網(wǎng)(例如,經(jīng)由提供商或"P"核心設(shè)備)。ASl內(nèi)具體 示出的是說明性的內(nèi)容源/主機(jī)設(shè)備H以及說明性的集中式控制器設(shè)備X。而且,AS4內(nèi)和 /或經(jīng)由AS4可達(dá)的是IP前綴L/8和M/8。
[0023] 本領(lǐng)域技術(shù)人員將理解,任意數(shù)目的節(jié)點(diǎn)、設(shè)備、鏈路等可以被用在計(jì)算機(jī)網(wǎng)絡(luò) 中,并且本文所示出的視圖是出于簡化目的。本領(lǐng)域技術(shù)人員還將理解,盡管對(duì)本文所描述 的實(shí)施例進(jìn)行了一般地描述,但其可以用于自主系統(tǒng)(AS)或區(qū)域內(nèi)、或者跨WAN(例如,互 聯(lián)網(wǎng))遍及多個(gè)AS或區(qū)域等的任何網(wǎng)絡(luò)配置。
[0024] 可以使用預(yù)定義的網(wǎng)絡(luò)通信協(xié)議(例如,傳輸控制協(xié)議(TCP)、用戶數(shù)據(jù)報(bào)協(xié)議 (UDP)、IPv4/IPv6、異步傳輸模式(ATM)協(xié)議、幀中繼協(xié)議,等等)通過鏈路115將數(shù)據(jù)分組 140 (例如,流量/消息)在計(jì)算機(jī)網(wǎng)絡(luò)100的節(jié)點(diǎn)/設(shè)備110之間進(jìn)行交換。
[0025] 圖2是可以被用于本文所描述的一個(gè)或多個(gè)實(shí)施例的示例設(shè)備200的示意框圖, 例如,上面圖1中所示的邊界路由器(PE)、主機(jī)、或者中央控制器或"EPE"設(shè)備。該設(shè)備可 以包括由系統(tǒng)總線250進(jìn)行互連的一個(gè)或多個(gè)網(wǎng)絡(luò)接口 210、一個(gè)或多個(gè)處理器220、以及 存儲(chǔ)器240。設(shè)備200還可以具有電源260。(一個(gè)或多個(gè))網(wǎng)絡(luò)接口 210包含用于通過被 耦合于網(wǎng)絡(luò)100的鏈路來傳輸數(shù)據(jù)的機(jī)械電路、電子電路以及信令電路。網(wǎng)絡(luò)接口還被配 置為使用各種不同的通信協(xié)議(尤其包括TCP/IP、UDP、ATM、同步光纖網(wǎng)(SONET)、無線協(xié) 議、幀中繼、以太網(wǎng)、光纖分布式數(shù)據(jù)接口(FDDI),等等)來發(fā)送和/或接收數(shù)據(jù)。應(yīng)當(dāng)注 意,物理網(wǎng)絡(luò)接口 210還可以被用來實(shí)現(xiàn)本領(lǐng)域技術(shù)人員所熟知的一個(gè)或多個(gè)虛擬網(wǎng)絡(luò)接 口,例如用于虛擬私有網(wǎng)絡(luò)(VPN)接入。
[0026] 存儲(chǔ)器240包括多個(gè)存儲(chǔ)位置,這些存儲(chǔ)位置可由(一個(gè)或多個(gè))處理器220和網(wǎng) 絡(luò)接口 210尋址,并且用于存儲(chǔ)與本文所描述的實(shí)施例相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)和軟件程序。處 理器220可以包括適用于運(yùn)行軟件程序和操縱數(shù)據(jù)結(jié)構(gòu)245的必要的元件或邏輯。操作系 統(tǒng)242 (例如,Cisco Systems,Inc.的網(wǎng)間操作系統(tǒng)或IOS(D )尤其通過調(diào)用支持在設(shè)備 上運(yùn)行的服務(wù)和/或軟件處理的網(wǎng)絡(luò)操作來在功能上組織節(jié)點(diǎn),其中,操作系統(tǒng)242的一部 分通常駐留在存儲(chǔ)器240中并且由(一個(gè)或多個(gè))處理器來運(yùn)行。如本文所所描述的,這 些軟件處理和/或服務(wù)可以包括路由處理/服務(wù)244和說明性分段路由(SR)處理248,說 明性分段路由(SR)處理248可以替代地位于單獨(dú)的網(wǎng)絡(luò)接口內(nèi)(例如,處理248a)。
[0027] 其他處理器和存儲(chǔ)器類型(包括各種計(jì)算機(jī)可讀介質(zhì))可以被用來存儲(chǔ)和運(yùn)行涉 及本文所描述的技術(shù)的程序指令,這對(duì)本領(lǐng)域技術(shù)人員而言是顯而易見的。另外,盡管該 描述闡述了各種處理,但明確考慮各種處理可以被具體化為被配置來根據(jù)本文的技術(shù)(例 如,根據(jù)類似處理的功能)進(jìn)行操作的模塊。另外,盡管已單獨(dú)地示出和/或描述了這些處 理,但本領(lǐng)域技術(shù)人員將理解,處理可以是其他處理內(nèi)的例程或模塊。
[0028] 本領(lǐng)域技術(shù)人員將理解,路由處理/服務(wù)244包含由處理器220運(yùn)行的計(jì)算機(jī)可 執(zhí)行指令,以執(zhí)行由一個(gè)或多個(gè)路由協(xié)議(例如,內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)(例如,開放最短路徑 優(yōu)先"0SPF"以及中間系統(tǒng)到中間系統(tǒng)"IS-IS")、邊界網(wǎng)關(guān)協(xié)議(BGP),等等)所提供的功 能。這些功能可以被配置為對(duì)路由信息數(shù)據(jù)庫和/或轉(zhuǎn)發(fā)信息數(shù)據(jù)庫(RIB/FIB)進(jìn)行管理, RIB/FIB例如包含用來做出路由/轉(zhuǎn)發(fā)決策的數(shù)據(jù)。具體地,可以使用路由協(xié)議(例如,通 過內(nèi)部BGP(iBGP)或外部BGP(eBGP)會(huì)話(例如,來"收斂"為網(wǎng)絡(luò)拓?fù)涞牡韧晥D))在 設(shè)備200之間對(duì)網(wǎng)絡(luò)拓?fù)浞矫娴母淖冞M(jìn)行傳輸。
[0029] 應(yīng)當(dāng)注意,路由服務(wù)244還可以執(zhí)行與虛擬路由協(xié)議有關(guān)的功能,例如,維護(hù) 虛擬路由和轉(zhuǎn)發(fā)(VRF)實(shí)例、或隧道協(xié)議(例如,用于多協(xié)議標(biāo)簽交換(MPLS)、廣義 MPLS(GMPLS)等),每個(gè)將被本領(lǐng)域技術(shù)人員所理解。例如,根據(jù)題為"在BGP-4中承載標(biāo)簽 信息"的互聯(lián)網(wǎng)工程任務(wù)組(IETF)請(qǐng)求評(píng)論(RFC) 3107,用于特定路由的標(biāo)簽映射信息可 以被背負(fù)于用來分布路由自身的相同的BGP更新消息中(例如,除了更新消息內(nèi)的網(wǎng)絡(luò)層 可達(dá)性信息(NLRI))。以該方式,當(dāng)BGP被用來分布特定路由時(shí),其還可以被用來分布被映 射到該路由的MPLS標(biāo)簽。
[0030] 此外,根據(jù)被稱為BGP鏈路狀態(tài)(BGP-LS)的技術(shù),BGP具體地還可以被用來將IGP 鏈路狀態(tài)數(shù)據(jù)庫(LSDB)重新分布到每域BGP "揚(yáng)聲器"。也就是說,某些BGP揚(yáng)聲器表達(dá) 其在能力方面的BGP-LS支持,然后可以使用NLRI (例如,可達(dá)或不可達(dá)鏈路、節(jié)點(diǎn)、或前綴 (IPv4/IPv6))及相關(guān)聯(lián)的鏈路狀態(tài)屬性將LSDB承載于BGP消息中。
[0031] 分段路由(SR)是利用源路由的演進(jìn)路由架構(gòu),其中,分組的"源"規(guī)定分組將通過 網(wǎng)絡(luò)行進(jìn)的路徑。具體地,在SR中,使用SR的互連的節(jié)點(diǎn)群組形成SR域,并且SR域的入 口節(jié)點(diǎn)(或SR域內(nèi)的主機(jī))預(yù)先考慮包含到傳入(incoming)分組的"分段"的SR頭部,這 些分段表示控制列表/指令集。例如,每個(gè)分段表示拓?fù)渲噶睿ɡ纾?跟隨特定路徑去往 前綴L/8")或服務(wù)指令(例如,"通過深度分組檢測"),并且每個(gè)分段可以具有到SR節(jié)點(diǎn) 的本地語義或者在SR域內(nèi)是全局的。通過插入期望的指令序列,在僅在SR域的入口節(jié)點(diǎn) (或主機(jī))處維護(hù)每流狀態(tài)的同時(shí),入口節(jié)點(diǎn)能夠經(jīng)由任何拓?fù)渎窂胶?服務(wù)鏈來引導(dǎo)分組 (實(shí)施流)。SR中的每個(gè)分段由分段標(biāo)識(shí)符(SID)進(jìn)行標(biāo)識(shí)。分段可以被單獨(dú)使用(一個(gè) 單獨(dú)的分段定義分組的源路由)或者被組合使用(這些分段是定義分組的源路由的有序分 段列表的一部分)。
[0032] 通過將MPLS標(biāo)簽用作SID,可以使用現(xiàn)有的MPLS數(shù)據(jù)面(dataplane)來實(shí)現(xiàn)SR 架構(gòu),而無需對(duì)轉(zhuǎn)發(fā)面進(jìn)行更改,并且只需要對(duì)現(xiàn)有鏈路狀態(tài)路由協(xié)議進(jìn)行較小擴(kuò)展。換言 之,分段可以被編碼為MPLS標(biāo)簽,以使得有序分段列表可以被編碼為標(biāo)簽棧。在該模型中, 用來處理的活躍分段(該分段必須由接收路由器使用來處理分組)位于棧的頂端,并且一 旦完成分段,則有關(guān)的標(biāo)簽從棧中被彈出,并且"下一"分段(如果需要)變得活躍??梢岳?用推送來執(zhí)行添加分段。一般,在分段路由MPLS實(shí)例化中,分段可以是IGP分段、BGP對(duì)等 分段、標(biāo)簽分布協(xié)議(LDP)標(biāo)簽交換路徑(LSP)分段、資源預(yù)留協(xié)議-流量工程(RSVP-TE) LSP分段、BGP LSP分段,等等。
[0033] 利用新的路由擴(kuò)展頭部類型,分段路由還可以被應(yīng)用到IPv6架構(gòu)。例如,分段可 以被編碼為IPv6地址,并且在路由擴(kuò)展頭部中,有序分段列表可以被編碼為有序IPv6地址 列表。要處理的活躍分段由路由擴(kuò)展頭部中的指針來指示,并且一旦完成分段,則增加指 針。相應(yīng)地,分段可以被插入到列表中,并且指針相應(yīng)地被更新。
[0034] 應(yīng)當(dāng)注意,在SR中,全局分段隱含相關(guān)的指令由域中所有具有SR能力的節(jié)點(diǎn)來支 持。在MPLS架構(gòu)中,全局分段具有全