本公開涉及計算機網(wǎng)絡(luò),并且更具體地,涉及虛擬網(wǎng)絡(luò)內(nèi)的分組轉(zhuǎn)發(fā)。
背景技術(shù):
1、諸如部署在數(shù)據(jù)中心或服務(wù)提供商網(wǎng)絡(luò)中的那些網(wǎng)絡(luò)或網(wǎng)絡(luò)集合,可以采用基于互聯(lián)網(wǎng)協(xié)議的虛擬私有網(wǎng)絡(luò)(vpn)?;趇p的vpn的一個示例的更全面的描述見于rosen等人的“bgp/mpls?ip虛擬私有網(wǎng)絡(luò)(vpn)(“bgp/mpls?ip?virtual?private?networks(vpns))”,請求意見(request?for?comments)4364,網(wǎng)絡(luò)工作組,2006年2月,其全部內(nèi)容通過引用結(jié)合于此。bgp信令ip/vpn的進一步的細節(jié)的描述見于s.mackie等人在“bgp信令終端系統(tǒng)ip/vpn(bgp-signaled?end-system?ip/vpns)”,網(wǎng)絡(luò)工作組互聯(lián)網(wǎng)草案,2016年12月15日,其全部內(nèi)容通過引用結(jié)合于此。用于bgp的多協(xié)議擴展的描述見于t.bates等人的“用于bgp-4的多協(xié)議擴展(multiprotocol?extensions?for?bgp-4)”,請求意見4760,網(wǎng)絡(luò)工作組,2007年1月,其全部內(nèi)容通過引用結(jié)合于此。
2、從用于實現(xiàn)vpn的虛擬路由和轉(zhuǎn)發(fā)實例(vrf)導(dǎo)入和導(dǎo)出的ip地址可以使用唯一的路由區(qū)分符來消除歧義。當(dāng)相同的ip前綴出現(xiàn)在不同的vrf中時,路由區(qū)分符可以與vpn互聯(lián)網(wǎng)協(xié)議(ip)前綴連接,以提供相同前綴的歧義消除。這樣的ip前綴可以被稱為vpn地址,并且更具體地說,對于ipv4地址,可以被稱為vpnv4地址。例如,相同的ipv4前綴值可能屬于不同的目的地,并且被導(dǎo)入至兩個不同的虛擬路由和轉(zhuǎn)發(fā)實例(vrf)。在單個提供商邊緣(pe)路由器的環(huán)境中,這兩個vrf中的每一個可以被分配唯一的路由區(qū)分符,以便允許由pe路由器通告兩個擴展的vpnv4前綴。
技術(shù)實現(xiàn)思路
1、總體而言,本公開內(nèi)容描述了用于使用分配給單個vrf的多個路由區(qū)分符以在vpn中提供相同目的地路徑多樣性的技術(shù)。結(jié)果,提供商邊緣裝置(pe)可以使用多個路由區(qū)分符在vrf內(nèi)通告用于多個客戶邊緣(ce)裝置的前綴,以改善跨vpn到ce裝置的流量的負載平衡。
2、在一些示例中,具有多個下一跳的相同前綴(每個下一跳對應(yīng)于ce裝置中的一個)可以被配置或?qū)胱鳛樵趐e內(nèi)配置的在單個vrf內(nèi)的單獨路由。pe可以(例如使用一個或多個多協(xié)議邊界網(wǎng)關(guān)協(xié)議(mp-bgp)消息)使用分配給vrf的路由區(qū)分符的不同的一個來通告用于單獨路由的每個對應(yīng)的前綴。前綴因此被區(qū)分,并且每個前綴被分配和通告有不同的服務(wù)標(biāo)簽(例如,mpls標(biāo)簽),用于在從導(dǎo)入前綴的遠程pe轉(zhuǎn)發(fā)時用作分組標(biāo)簽。
3、導(dǎo)入通告的前綴的遠程pe因此可以在vpn中的到多個ce裝置的“路徑”之間進行負載平衡,從而增加了vpn內(nèi)的路徑多樣性。盡管由遠程pe使用前綴和分配的服務(wù)標(biāo)簽轉(zhuǎn)發(fā)的分組在某些情況下可以沿著相同的物理路徑跨網(wǎng)絡(luò)轉(zhuǎn)發(fā),但是向任何ce裝置提供可達性并接收這樣的分組的本地pe將根據(jù)與特定路由區(qū)分符和服務(wù)標(biāo)簽一起被通告的前綴的路由條目,將分組轉(zhuǎn)發(fā)至ce中的一個,該特定路由區(qū)分符和服務(wù)標(biāo)簽是與分組一起接收的。在一些示例中,經(jīng)由vpn中的ce可達的一個或多個目的地(或ce本身)是虛擬工作負載,例如,虛擬機或pod或其他基于容器的端點。
4、本公開內(nèi)容的技術(shù)可以提供一個或多個提供實際應(yīng)用的技術(shù)優(yōu)勢。例如,該技術(shù)通過遠程pe改善了跨vpn到ce裝置的流量的負載平衡。由一些路由器實現(xiàn)的添加路徑方法擴展了mp-bgp,以使用包括附加路徑甄別符(“路徑id”)的擴展nlri來通告多條路徑。然而,添加路徑方法導(dǎo)致對路由通告的格式的改變,并且因此必須被接收或傳播mp-bgp更新(update)消息的所有路由器理解。這種路由器可以包括入口和出口pe以及路由反射器。因此,用于給定地址族指示符(afi)/后續(xù)地址族指示符(safi)的添加路徑的引入破壞了基礎(chǔ)設(shè)施。在異構(gòu)網(wǎng)絡(luò)中,并非所有pe供應(yīng)商都支持添加路徑。此外,盡管對路徑多樣性的需求可能僅對被通告的一小部分前綴有益,但是添加路徑的使用會影響給定safi的所有前綴,并且可能由于對路由信息庫(rib)或轉(zhuǎn)發(fā)信息庫(fib)的額外規(guī)模壓力而導(dǎo)致不希望的副作用。與添加路徑不同,本公開內(nèi)容的技術(shù)以透明且較少侵入的方式在vpn中提供路徑多樣性。該技術(shù)的使用可以由出口pe單獨執(zhí)行,而入口pe和路由反射器可以正常工作。事實上,由pe對該技術(shù)的使用可能被限制在單個vrf上。
5、在一個示例方面,一種方法包括:通過裝置將用于vpn的公共地址前綴的多個路由存儲至被配置用于網(wǎng)絡(luò)的網(wǎng)絡(luò)裝置的一個或多個vrf中的單個vrf;以及通過該裝置將具有不同的對應(yīng)的路由區(qū)分符的公共地址前綴的多個路由中的每一個發(fā)送至網(wǎng)絡(luò)路由器。
6、在其他示例方面,一種控制器,包括與存儲器通信的處理電路,該處理電路被配置為能夠訪問配置有指令的存儲器,指令在被執(zhí)行時使得處理電路:將用于vpn的公共地址前綴的多個路由存儲至被配置用于網(wǎng)絡(luò)的網(wǎng)絡(luò)裝置的一個或多個vrf中的單個vrf;以及將具有不同的對應(yīng)的路由區(qū)分符的用于公共地址前綴的多個路由中的每一個輸出至網(wǎng)絡(luò)路由器。
7、在進一步的示例方面,一種包括指令的計算機可讀存儲介質(zhì),該指令在被執(zhí)行時使得控制器的一個或多個處理器:將用于vpn的公共地址前綴的多個路由存儲至被配置用于網(wǎng)絡(luò)的網(wǎng)絡(luò)裝置的一個或多個vrf中的單個vrf;以及將具有不同的對應(yīng)的路由區(qū)分符的用于公共地址前綴的多個路由中的每一個發(fā)送至網(wǎng)絡(luò)路由器。
8、一個或多個示例的細節(jié)在附圖和以下描述中闡述。從說明書和附圖以及從權(quán)利要求書中,其他特征、目的和優(yōu)點將變得顯而易見。
1.一種執(zhí)行計算機聯(lián)網(wǎng)的計算裝置,所述計算裝置包括:
2.根據(jù)權(quán)利要求1所述的計算裝置,其中,所述指令使得所述處理電路:
3.根據(jù)權(quán)利要求2所述的計算裝置,其中,為了配置用于所述單個虛擬路由和轉(zhuǎn)發(fā)實例的多個路由區(qū)分符,所述指令使得所述處理電路提供包括所述多個路由區(qū)分符的列表。
4.根據(jù)權(quán)利要求2所述的計算裝置,其中,為了配置用于所述單個虛擬路由和轉(zhuǎn)發(fā)實例的多個路由區(qū)分符,所述指令使得所述處理電路定義用于所述多個路由區(qū)分符的值的范圍。
5.根據(jù)權(quán)利要求2所述的計算裝置,其中,為了配置用于所述單個虛擬路由和轉(zhuǎn)發(fā)實例的多個路由區(qū)分符,所述指令使得所述處理電路指定用于所述單個虛擬路由和轉(zhuǎn)發(fā)實例的路由區(qū)分符的最大數(shù)量。
6.根據(jù)權(quán)利要求1所述的計算裝置,其中,所述指令使得所述處理電路執(zhí)行虛擬路由器,所述虛擬路由器用作用于所述網(wǎng)絡(luò)的提供商邊緣裝置。
7.根據(jù)權(quán)利要求1所述的計算裝置,其中,所述計算裝置用作用于所述網(wǎng)絡(luò)的提供商邊緣裝置。
8.根據(jù)權(quán)利要求1所述的計算裝置,其中,所述指令使得所述處理電路:
9.根據(jù)權(quán)利要求1至8中任一項所述的計算裝置,其中,所述計算裝置包括所述網(wǎng)絡(luò)裝置和網(wǎng)絡(luò)控制器中的一者。
10.根據(jù)權(quán)利要求1至8中任一項所述的計算裝置,其中,所述多個路由中的每一個指定用于所述公共地址前綴的不同的下一跳,其中,所述下一跳是所述計算裝置的接口。
11.一種計算機聯(lián)網(wǎng)方法,包括:
12.根據(jù)權(quán)利要求11所述的計算機聯(lián)網(wǎng)方法,還包括:
13.根據(jù)權(quán)利要求12所述的計算機聯(lián)網(wǎng)方法,其中,所述配置包括提供包括所述多個路由區(qū)分符的列表。
14.根據(jù)權(quán)利要求12所述的計算機聯(lián)網(wǎng)方法,其中,所述配置包括定義用于所述多個路由區(qū)分符的值的范圍。
15.根據(jù)權(quán)利要求12所述的計算機聯(lián)網(wǎng)方法,其中,所述配置包括提供至少一個預(yù)定義的路由區(qū)分符。
16.根據(jù)權(quán)利要求11所述的計算機聯(lián)網(wǎng)方法,其中,所述裝置包括所述網(wǎng)絡(luò)裝置,并且其中,所述網(wǎng)絡(luò)裝置用作用于所述網(wǎng)絡(luò)的提供商邊緣裝置。
17.根據(jù)權(quán)利要求11所述的計算機聯(lián)網(wǎng)方法,還包括:接收根據(jù)所述多個路由中的第一路由轉(zhuǎn)發(fā)至所述裝置的分組;以及將所述分組轉(zhuǎn)發(fā)至由所述第一路由指定的下一跳。
18.根據(jù)權(quán)利要求11至17中任一項所述的計算機聯(lián)網(wǎng)方法,其中,所述裝置包括所述網(wǎng)絡(luò)裝置和網(wǎng)絡(luò)控制器中的一者。
19.根據(jù)權(quán)利要求11至17中任一項所述的計算機聯(lián)網(wǎng)方法,其中,所述多個路由中的每一個指定用于所述公共地址前綴的不同的下一跳,其中,所述下一跳是所述裝置的接口。
20.一種編碼有指令的計算機可讀存儲介質(zhì),所述指令用于使得一個或多個可編程處理器被配置為執(zhí)行根據(jù)權(quán)利要求11至19中任一項所述的方法,或者被配置作為根據(jù)權(quán)利要求1至10中任一項所述的計算裝置。