用于數(shù)據(jù)中心覆蓋網(wǎng)絡(luò)的基于PCIe的主機(jī)網(wǎng)絡(luò)加速器(HNA)的制作方法
【專利說明】用于數(shù)據(jù)中心覆蓋網(wǎng)絡(luò)的基于PCIe的主機(jī)網(wǎng)絡(luò)加速器 (HNA)
[0001] 有關(guān)申請的奪叉引用
[0002] 本申請要求對2014年3月31日提交的第61/973,045號美國臨時申請的權(quán)益, 其全部內(nèi)容通過引用結(jié)合于此。
技術(shù)領(lǐng)域
[0003] 本發(fā)明涉及計算機(jī)網(wǎng)絡(luò),并且更具體地涉及提供虛擬網(wǎng)絡(luò)的數(shù)據(jù)中心。
【背景技術(shù)】
[0004] 在典型的基于云的數(shù)據(jù)中心中,互連的服務(wù)器的大型匯集提供用于執(zhí)行各種應(yīng)用 的計算和/或存儲容量。例如數(shù)據(jù)中心可以包括設(shè)施,該設(shè)施主控用于訂戶、例如數(shù)據(jù)中心 的消費(fèi)者的應(yīng)用和服務(wù)。數(shù)據(jù)中心可以例如主控所有基礎(chǔ)設(shè)施裝備、比如聯(lián)網(wǎng)和存儲系統(tǒng)、 冗余功率供應(yīng)和環(huán)境控制。在多數(shù)數(shù)據(jù)中心中,經(jīng)由由一層或者多層物理網(wǎng)絡(luò)交換機(jī)和路 由器提供的高速交換結(jié)構(gòu)來互連存儲系統(tǒng)和應(yīng)用服務(wù)器的群集。更復(fù)雜的數(shù)據(jù)中心提供遍 布全球而擴(kuò)展的基礎(chǔ)設(shè)施而訂戶支持裝備位于各種物理主控設(shè)施中。
[0005] 數(shù)據(jù)中心往往利用具有專有通信技術(shù)的專有交換結(jié)構(gòu)或者現(xiàn)成的 (off-the-shelf)交換部件,這些專有通信技術(shù)或者現(xiàn)成的交換部件交換符合常規(guī)的基于 分組的通信協(xié)議的分組。專有交換結(jié)構(gòu)可以提供高的性能、但是有時可能成本更高,而在一 些情況下可以提供用于網(wǎng)絡(luò)的單點(diǎn)故障?,F(xiàn)成的的基于分組的交換部件可以成本更低、但 是可能造成有損、非確定性的行為。
【發(fā)明內(nèi)容】
[0006] -般而言,本公開內(nèi)容描述一種高性能、可擴(kuò)展和無掉話的數(shù)據(jù)中心交換結(jié)構(gòu)和 基礎(chǔ)設(shè)施。數(shù)據(jù)中心交換結(jié)構(gòu)可以利用低成本、現(xiàn)成的的基于分組的交換部件(例如以太 網(wǎng)IP(IPoE))和覆蓋轉(zhuǎn)發(fā)技術(shù)而不是專有交換結(jié)構(gòu)。
[0007] 在一個示例中,主機(jī)網(wǎng)絡(luò)加速器(HNA)被定位于數(shù)據(jù)中心的服務(wù)器(例如虛擬機(jī) 或者專用服務(wù)器)與提供在服務(wù)器之間的點(diǎn)到點(diǎn)連通的IP〇E核心網(wǎng)絡(luò)之間。HNA是在一個 或者多個集成電路上嵌入虛擬路由器的硬件設(shè)備,其中虛擬路由器被配置為向虛擬機(jī)延伸 一個或者多個虛擬網(wǎng)絡(luò)和使用覆蓋網(wǎng)絡(luò)通過交換結(jié)構(gòu)無縫地傳送分組。換而言之,HNA提供 與用于通過數(shù)據(jù)中心的核心交換網(wǎng)絡(luò)傳達(dá)分組流的覆蓋技術(shù)的基于硬件的無縫接入接口。
[0008] 另外,HNA在集成電路中結(jié)合和實(shí)施流控制、調(diào)度和服務(wù)質(zhì)量(QoS)特征以便基于 非專有、基于分組的交換協(xié)議(例如以太網(wǎng)IP)和覆蓋轉(zhuǎn)發(fā)技術(shù)--也就是說,無需專有交 換結(jié)構(gòu)--提供高性能、可擴(kuò)展和無掉話的數(shù)據(jù)中心交換結(jié)構(gòu)。
[0009] 這樣,這里描述的技術(shù)可以提供向在數(shù)據(jù)中心的下層物理網(wǎng)絡(luò)的邊緣操作的HNA 的虛擬路由器延伸的多點(diǎn)到多點(diǎn)、無掉話和可擴(kuò)展的物理網(wǎng)絡(luò)。作為結(jié)果,主控用于各種租 戶的用戶應(yīng)用的服務(wù)器或者在利用低成本、行業(yè)標(biāo)準(zhǔn)轉(zhuǎn)發(fā)技術(shù)之時虛擬機(jī)體驗(yàn)高速和可靠 的第3層轉(zhuǎn)發(fā)而無需專有交換結(jié)構(gòu)。
[0010] 在附圖和以下描述中闡述本發(fā)明的一個或者多個實(shí)施例的細(xì)節(jié)。本發(fā)明的其它特 征、目的和優(yōu)點(diǎn)將從描述和附圖中以及從權(quán)利要求中變得清楚。
【附圖說明】
[0011] 圖1是圖示具有數(shù)據(jù)中心的示例網(wǎng)絡(luò)的框圖,在該數(shù)據(jù)中心中可以實(shí)施這里描述 的技術(shù)的示例。
[0012] 圖2A是圖示示例實(shí)現(xiàn)的框圖,在該實(shí)現(xiàn)中在數(shù)據(jù)中心的服務(wù)器內(nèi)部署主機(jī)網(wǎng)絡(luò) 加速器。
[0013] 圖2B是圖示示例實(shí)現(xiàn)的框圖,在該實(shí)現(xiàn)中在數(shù)據(jù)中心的架頂交換機(jī)(TOR)中部署 主機(jī)網(wǎng)絡(luò)加速器。
[0014] 圖3A是進(jìn)一步具體圖示服務(wù)器的示例實(shí)現(xiàn)的框圖,該服務(wù)器具有一個或者多個 基于外圍部件互連快速(PCIe)的主機(jī)網(wǎng)絡(luò)加速器。
[0015] 圖3B是進(jìn)一步具體圖示TOR的示例實(shí)現(xiàn)的框圖,該TOR具有一個或者多個基于 PCIe的主機(jī)網(wǎng)絡(luò)加速器。
[0016] 圖4是圖示具有基于PCIe的主機(jī)網(wǎng)絡(luò)加速器的計算設(shè)備的更多細(xì)節(jié)的框圖。 [0017] 圖5是具體圖示計算設(shè)備可以根據(jù)在本公開內(nèi)容中描述的技術(shù)處理的示例隧道 分組的框圖。
[0018] 圖6是具體圖示示例分組結(jié)構(gòu)的框圖,該分組結(jié)構(gòu)可以被主機(jī)網(wǎng)絡(luò)加速器用于維 護(hù)按對"心跳"消息,這些按對"心跳"消息用于在當(dāng)前未對于給定的源/目的地HNA對通 過覆蓋網(wǎng)絡(luò)交換隧道分組的情況下交換更新的流控制信息。
[0019] 圖7是圖示根據(jù)這里描述的技術(shù)的主機(jī)網(wǎng)絡(luò)加速器(HNA)的概念圖的框圖,這些HNA在網(wǎng)狀拓?fù)渲斜唤粨Q結(jié)構(gòu)互連用于在HNA之間的可擴(kuò)展、無掉話、端到端通信。
[0020] 圖8是圖示根據(jù)這里描述的技術(shù)的系統(tǒng)的框圖,在該系統(tǒng)中,主機(jī)網(wǎng)絡(luò)加速器 (HNA)在網(wǎng)狀拓?fù)渲斜唤粨Q結(jié)構(gòu)互連用于在HNA之間的可擴(kuò)展、無掉話、端到端通信。
[0021] 圖9是圖示根據(jù)在本公開內(nèi)容中描述的技術(shù)的用于主機(jī)網(wǎng)絡(luò)加速器的數(shù)據(jù)結(jié)構(gòu) 的框圖。
[0022] 圖10A-10B是圖示根據(jù)在本公開內(nèi)容中描述的技術(shù)的在HNA之間交換的示例流控 制消息的框圖。
[0023] 圖11是根據(jù)在本公開內(nèi)容中描述的技術(shù)的主機(jī)網(wǎng)絡(luò)加速器的用于執(zhí)行流控制的 示例操作模式的流程圖。
[0024] 圖12A-12B是圖示根據(jù)這里描述的技術(shù)的示例系統(tǒng)的框圖,在該系統(tǒng)中,主機(jī)網(wǎng) 絡(luò)加速器應(yīng)用流控制。
[0025] 圖13是圖示根據(jù)在本公開內(nèi)容中描述的技術(shù)的用于主機(jī)網(wǎng)絡(luò)加速器執(zhí)行流控制 的示例操作模式的流程圖。
[0026] 相似標(biāo)號貫穿各圖和文本表示相似要素。
【具體實(shí)施方式】
[0027] 圖1是圖示具有數(shù)據(jù)中心10的示例網(wǎng)絡(luò)8的框圖,在該數(shù)據(jù)中心中可以實(shí)施這里 描述的技術(shù)的示例。一般而言,數(shù)據(jù)中心10為用于被服務(wù)提供方網(wǎng)絡(luò)7耦合到數(shù)據(jù)中心的 客戶11的應(yīng)用和服務(wù)而提供操作環(huán)境。數(shù)據(jù)中心10可以例如托管基礎(chǔ)設(shè)施裝備、比如聯(lián)網(wǎng) 和存儲系統(tǒng)、冗余功率供應(yīng)和環(huán)境控制。服務(wù)提供方網(wǎng)絡(luò)7可以耦合到被其它提供方監(jiān)管 的一個或者多個網(wǎng)絡(luò),并且因此可以形成大規(guī)模公用網(wǎng)絡(luò)基礎(chǔ)設(shè)施、例如因特網(wǎng)的一部分。
[0028] 在一些示例中,數(shù)據(jù)中心10可以代表許多在地理上分布的網(wǎng)絡(luò)數(shù)據(jù)中心之一。如 圖1的示例中所示,數(shù)據(jù)中心10可以是為客戶11提供網(wǎng)絡(luò)服務(wù)的設(shè)施??蛻?1可以是集 體實(shí)體、比如企業(yè)和政府或者個人。例如網(wǎng)絡(luò)數(shù)據(jù)中心可以主控用于若干企業(yè)和終端用戶 的web服務(wù)。其它示例服務(wù)可以包括數(shù)據(jù)存儲裝置、虛擬私有網(wǎng)絡(luò)、流量工程、文件服務(wù)、數(shù) 據(jù)挖掘、科學(xué)或者超級計算等。在一些實(shí)施例中,數(shù)據(jù)中心10可以是個體網(wǎng)絡(luò)服務(wù)器、網(wǎng)絡(luò) 對等體或者其它數(shù)據(jù)中心。
[0029] 在這一示例中,數(shù)據(jù)中心10包括經(jīng)由由一層或者多層物理網(wǎng)絡(luò)交換機(jī)和路由器 提供的高速交換結(jié)構(gòu)14互連的存儲系統(tǒng)和應(yīng)用服務(wù)器12A_12X(這里為"服務(wù)器12")的 集合。服務(wù)器12為與客戶11關(guān)聯(lián)的應(yīng)用和數(shù)據(jù)提供執(zhí)行和存儲環(huán)境并且可以是物理服務(wù) 器、虛擬機(jī)或者其組合。
[0030] 一般而言,交換結(jié)構(gòu)14代表提供在服務(wù)器12之間的點(diǎn)到點(diǎn)連通的第二層(L2)和 第三層(L3)交換和路由部件。在一個示例中,交換結(jié)構(gòu)14包括實(shí)施工業(yè)標(biāo)準(zhǔn)協(xié)議的互連、 高性能而又現(xiàn)成的的基于分組的路由器和交換機(jī)的集合。在一個示例中,交換結(jié)構(gòu)14可以 包括提供以太網(wǎng)網(wǎng)際協(xié)議(IP)點(diǎn)到點(diǎn)連通的現(xiàn)成的部件。
[0031] 在圖1中,軟件定義的聯(lián)網(wǎng)(SDN)控制器22提供用于配置和管理數(shù)據(jù)中心10的路 由和交換基礎(chǔ)設(shè)施的高級控制器。SDN控制器22提供用于根據(jù)本公開內(nèi)容的一個或者多個 實(shí)施例有助于在數(shù)據(jù)中心10內(nèi)的一個或者多個虛擬網(wǎng)絡(luò)的操作的在邏輯上和在一些情況 下在物理上集中的控制器。在一些示例中,SDN控制器22可以響應(yīng)于從網(wǎng)絡(luò)監(jiān)管員24接收 的配置輸入來操作。在2013年6月5日提交、并且標(biāo)題為PHYSICALPATHDETERMINATION FORVIRTUALNETWORKPACKETFLOWS的第PCT/US2013/044378 號國際專利申請中找到關(guān)于 與數(shù)據(jù)中心10的其它設(shè)備或者其它軟件定義的網(wǎng)絡(luò)結(jié)合操作的虛擬網(wǎng)絡(luò)控制器22的附加 信息,該第PCT/US2013/044378號國際專利申請通過引用并入于此,如同在此完整闡述。
[0032] 雖然未示出,但是數(shù)據(jù)中心10也可以例如包括一個或者多個非邊緣交換機(jī)、路由 器、集線器、網(wǎng)關(guān)、安全設(shè)備、比如防火墻、入侵檢測和/或入侵防止設(shè)備、服務(wù)器、計算機(jī)終 端、膝上型計算機(jī)、打印機(jī)、數(shù)據(jù)庫、無線移動設(shè)備、比如蜂窩電話或者個人數(shù)字助理、無線 接入點(diǎn)、網(wǎng)橋、線纜調(diào)制解調(diào)器、應(yīng)用加速器或者其它網(wǎng)絡(luò)設(shè)備。
[0033] -般而言,在交換結(jié)構(gòu)14內(nèi)的網(wǎng)絡(luò)流量、比如在服務(wù)器12之間的分組流可以使用 許多不同物理路徑來橫貫交換結(jié)構(gòu)的物理網(wǎng)絡(luò)。例如"分組流"可以由在分組的報頭中使用 的五個值或者"五元組"--即源IP地址、目的地IP地址、用來通過物理網(wǎng)絡(luò)路由分組的 源端口和目的地端口以及通信協(xié)議--定義。例如協(xié)議指定通信協(xié)議、比如TCP或者UDP, 而源端口和目的地端口是指連接的源和目的地端口。與特定流條目匹配的一個或者多個分 組數(shù)據(jù)單元(pdu)的集合代表流。流可以使用rou的任何參數(shù)、比如源和目的地數(shù)據(jù)鏈路 (例如MAC)以及網(wǎng)絡(luò)(例如IP)地址、虛擬局域網(wǎng)(VLAN)標(biāo)簽、傳送層信息、多協(xié)議標(biāo)簽交 換(MPLS)或者廣義MPLS(GMPLS)標(biāo)簽和接收流的網(wǎng)絡(luò)設(shè)備的入口端口來廣義地分類。例 如流可以是在傳輸控制協(xié)議(tcp)連接中傳輸?shù)乃衦ou、特定MAC地址或者IP地址發(fā)起 的所有rou、具有相同VLAN標(biāo)簽的所有PDU或者在相同交換機(jī)端口接收的所有rou。
[0034] 根據(jù)在本公開內(nèi)容中描述的技術(shù)的各種方面,數(shù)據(jù)中心10包括定位于服務(wù)器12 與交換結(jié)構(gòu)14之間的主機(jī)網(wǎng)絡(luò)加速器(HNA)。如圖1中所示,每個HNA可以被定位于一個 或者多個服務(wù)器12與交換結(jié)構(gòu)14之間,該交換結(jié)構(gòu)提供用于在服務(wù)器12之間傳送分組流 的基礎(chǔ)設(shè)施。如本文進(jìn)一步所描述的,HNA17提供用于無縫地實(shí)現(xiàn)跨交換結(jié)構(gòu)14的覆蓋網(wǎng) 絡(luò)的、基于硬件的加速。也就是說,HNA17實(shí)施用于實(shí)施覆蓋網(wǎng)絡(luò)的功能,該覆蓋網(wǎng)絡(luò)用于 建立和支持在數(shù)據(jù)中心10內(nèi)的虛擬網(wǎng)絡(luò)。
[0035] 如進(jìn)一步描述的那樣,每個HNA17實(shí)施虛擬路由器,該虛擬路由器執(zhí)行用于在數(shù) 據(jù)中心10內(nèi)的對應(yīng)虛擬網(wǎng)絡(luò)的多個路由實(shí)例。服務(wù)器12發(fā)起的并且符合虛擬網(wǎng)絡(luò)的分組 被HNA17接收并且自動地封裝以形成用于橫貫交換結(jié)構(gòu)14的隧道分組。每個隧道分組可 以各自包括外部報頭和包含內(nèi)部分組的凈荷。隧道分組的外部報頭允許交換結(jié)構(gòu)14的物 理網(wǎng)絡(luò)部件向用于HNA17的網(wǎng)絡(luò)接口 19的物理網(wǎng)絡(luò)地址"用隧道傳輸"內(nèi)部分組。外部 報頭可以不僅包括隧道分組去往的服務(wù)器12的網(wǎng)絡(luò)接口 19的物理網(wǎng)絡(luò)地址而且包括虛擬 網(wǎng)絡(luò)標(biāo)識符、比如VxLAN標(biāo)簽或者多協(xié)議標(biāo)簽交換(MPLS)標(biāo)簽,該虛擬網(wǎng)絡(luò)標(biāo)識符標(biāo)識虛 擬網(wǎng)絡(luò)之一以及虛擬路由器執(zhí)行的對應(yīng)路由實(shí)例。內(nèi)部分組包括具有目的地網(wǎng)絡(luò)地址的 內(nèi)報頭,該目的地網(wǎng)絡(luò)地址符合用于被虛擬網(wǎng)絡(luò)標(biāo)識符標(biāo)識的虛擬網(wǎng)絡(luò)的虛擬網(wǎng)絡(luò)尋址空 間。這樣,HNA17提供用于覆蓋技術(shù)的、基于硬件的無縫接入接口,用于以對服務(wù)器12透 明的方式通過數(shù)據(jù)中心10的核心交換網(wǎng)絡(luò)14用隧道傳輸分組流。
[0036] 如這里描述的那樣,HNA17集成多個機(jī)制、比如流控制、調(diào)度和服務(wù)質(zhì)量(QoS)與 用于跨越交換結(jié)構(gòu)14無縫地提供覆蓋聯(lián)網(wǎng)的虛擬路由操作。以這一方式,HNA17能夠提 供高性能、可擴(kuò)展和無掉話(drop-free)的數(shù)據(jù)互連,該數(shù)據(jù)互連利用低成本、行業(yè)標(biāo)準(zhǔn)轉(zhuǎn) 發(fā)技術(shù)而無需專有交換結(jié)構(gòu)。
[0037] 圖2A是圖示示例實(shí)現(xiàn)的框圖,在該實(shí)現(xiàn)中在數(shù)據(jù)中心10的服務(wù)器12內(nèi)部署 主機(jī)網(wǎng)絡(luò)加速器(HNA) 17。在這一簡化示例中,交換結(jié)構(gòu)14由互連的架頂式(TOR)交換 機(jī)16A-16N(統(tǒng)稱為"TOR交換機(jī)16")的集合提供,這些TOR交換機(jī)耦合到架式交換機(jī) 18A-18M(統(tǒng)稱為"架式交換機(jī)18")的分布層。T0R交換機(jī)16和架式交換機(jī)18向服務(wù)器 12提供冗余(多歸屬)連通。T0R交換機(jī)16可以是提供第2層(MAC)和/或第3層(例 如IP)路由和/或交換功能的網(wǎng)絡(luò)設(shè)備。架式交換機(jī)18聚合流量流和提供在T0R交換機(jī) 16之間的高速連通。架式交換機(jī)18耦合到IP第三層(L3)網(wǎng)絡(luò)20,該網(wǎng)絡(luò)執(zhí)行用于通過 服務(wù)提供方網(wǎng)絡(luò)7路由在數(shù)據(jù)中心10與客戶11之間的網(wǎng)絡(luò)流量的L3路由。
[0038] 在這一示例實(shí)現(xiàn)方式中,HNA17被部署為在服務(wù)器12的底盤內(nèi)的專門化的卡。在 一個示例中,HNA17包括用于通過例如以太網(wǎng)或者其它物理網(wǎng)絡(luò)鏈路25A-25N與T0R交換 機(jī)16通信的面向核心的網(wǎng)絡(luò)接口 19。此外,HNA17