基于網(wǎng)絡(luò)的服務(wù)功能鏈接的制作方法
【專利說明】
[0001 ]優(yōu)先權(quán)要求
[0002] 本申請要求于2015年3月15日提交的臨時申請序列號62/162,070和于2014年11月 11日提交的臨時申請序列號62/078,196的優(yōu)先權(quán),其通過引用全部結(jié)合于此。
技術(shù)領(lǐng)域
[0003] 本公開涉及網(wǎng)絡(luò)功能虛擬化。
【背景技術(shù)】
[0004] 處理系統(tǒng)可用的處理功率、存儲器容量、可用磁盤空間以及其他資源呈指數(shù)式增 加。計算資源發(fā)展到這樣一個點,即,單個物理服務(wù)器可承載(host)虛擬機和虛擬化功能的 許多實例。通常,每個虛擬機均提供虛擬化的處理器、存儲器、儲存器、網(wǎng)絡(luò)連接以及其他資 源。同時,高速數(shù)據(jù)網(wǎng)絡(luò)發(fā)展并且成熟并且現(xiàn)在構(gòu)成成為不可缺少的廣域連接的骨干鏈路 的一部分,其中包括與虛擬機主機的連接。虛擬化的改進將驅(qū)動虛擬化功能的進一步發(fā)展 和部署。
【發(fā)明內(nèi)容】
[0005] 本申請?zhí)峁┝艘环N網(wǎng)絡(luò)交換機,包括:
[0006] 所述網(wǎng)絡(luò)交換機的網(wǎng)絡(luò)流接口,所述網(wǎng)絡(luò)流接口被配置為接收包括數(shù)據(jù)包的網(wǎng)絡(luò) 流;
[0007] 存儲器,被配置為儲存網(wǎng)絡(luò)服務(wù)鏈定義,所述網(wǎng)絡(luò)服務(wù)鏈定義包括在與所述網(wǎng)絡(luò) 交換機分離的服務(wù)器資源上提供的服務(wù)功能的服務(wù)功能區(qū)分符;以及
[0008] 服務(wù)鏈處理線路,與所述網(wǎng)絡(luò)流接口和所述存儲器通信,所述服務(wù)鏈處理線路被 配置為:
[0009] 確定所述網(wǎng)絡(luò)服務(wù)鏈定義適用于所述網(wǎng)絡(luò)流;
[0010] 確定所述數(shù)據(jù)包接下來應(yīng)該由所述服務(wù)功能處理;
[0011] 更新服務(wù)功能索引,以通過所述網(wǎng)絡(luò)服務(wù)鏈定義跟蹤所述數(shù)據(jù)包的進度;
[0012] 對所述數(shù)據(jù)包加簽用于所述服務(wù)功能的網(wǎng)絡(luò)地址;以及
[0013] 將出自所述網(wǎng)絡(luò)交換機的所述數(shù)據(jù)包轉(zhuǎn)發(fā)至所述服務(wù)器資源上的所述服務(wù)功能。
[0014] 其中,所述服務(wù)鏈處理線路進一步被配置為:
[0015] 獲得關(guān)于所述數(shù)據(jù)包的流分類;以及
[0016] 將所述流分類映射至所述網(wǎng)絡(luò)服務(wù)鏈定義,以確定所述網(wǎng)絡(luò)服務(wù)鏈定義適用于所 述網(wǎng)絡(luò)流。
[0017] 其中,所述流分類包括應(yīng)用標識符、用戶標識符、或應(yīng)用標識符和用戶標識符兩 者。
[0018] 其中,所述網(wǎng)絡(luò)服務(wù)鏈定義指定用于執(zhí)行所述網(wǎng)絡(luò)服務(wù)鏈定義內(nèi)的所述服務(wù)功能 的順序;以及
[0019] 所述服務(wù)鏈處理線路被進一步配置為:
[0020] 讀取所述數(shù)據(jù)包的數(shù)據(jù)包報頭,以確定當前索引值;以及
[0021] 將所述當前索引值與所述網(wǎng)絡(luò)服務(wù)鏈定義匹配,以確定所述數(shù)據(jù)包接下來應(yīng)該由 所述服務(wù)功能處理。
[0022] 其中,所述服務(wù)鏈處理線路被進一步配置為更新服務(wù)功能索引,以說明將所述數(shù) 據(jù)包轉(zhuǎn)發(fā)至所述服務(wù)功能用于處理。
[0023] 其中,所述服務(wù)鏈處理線路被進一步配置為從所述服務(wù)器資源接收經(jīng)由所述服務(wù) 功能處理之后的所述數(shù)據(jù)包;以及基于所述服務(wù)功能索引確定所述網(wǎng)絡(luò)服務(wù)鏈定義內(nèi)的后 續(xù)目的地。
[0024]其中,所述服務(wù)鏈處理線路被進一步配置為:
[0025] 再次更新所述數(shù)據(jù)包的所述服務(wù)功能索引,以通過所述網(wǎng)絡(luò)服務(wù)鏈定義跟蹤所述 數(shù)據(jù)包的進度;以及
[0026] 將出自所述網(wǎng)絡(luò)交換機的所述數(shù)據(jù)包轉(zhuǎn)發(fā)至所述后續(xù)目的地。
[0027] 其中,所述后續(xù)目的地是不同服務(wù)器資源上提供的不同服務(wù)功能。
[0028] 其中,所述不同的服務(wù)器資源連接至分離的網(wǎng)絡(luò)交換機。
[0029]本申請還提供了一種網(wǎng)絡(luò)交換方法,包括:
[0030]在與主機服務(wù)器互連的網(wǎng)絡(luò)交換機中,所述主機服務(wù)器中提供了第一服務(wù)功能和 第二服務(wù)功能;
[0031]在存儲器中定義指定一系列服務(wù)功能的網(wǎng)絡(luò)服務(wù)鏈定義,所述一系列服務(wù)功能包 括:
[0032]所述第一服務(wù)功能;和 [0033]所述第二服務(wù)功能;
[0034]其中,所述網(wǎng)絡(luò)服務(wù)鏈定義包括:
[0035] 所述第一服務(wù)功能的第一服務(wù)功能索引;和
[0036] 所述第二服務(wù)功能的第二服務(wù)功能索引;
[0037] 其中,所述第一服務(wù)功能索引和所述第二服務(wù)功能索引將所述所述第一服務(wù)功能 排序在第二服務(wù)功能之前;
[0038] 接收作為網(wǎng)絡(luò)流的一部分的數(shù)據(jù)包;
[0039]接收所述數(shù)據(jù)包的分類信息;
[0040]基于所述分類信息確定所述網(wǎng)絡(luò)服務(wù)鏈適用于所述網(wǎng)絡(luò)流;
[0041 ]確定所述第一服務(wù)功能應(yīng)該接下來處理所述數(shù)據(jù)包;以及
[0042] 將所述數(shù)據(jù)包轉(zhuǎn)發(fā)至所述第一服務(wù)功能。
[0043] 該方法進一步包括:在收到所述數(shù)據(jù)包之后,確定所述數(shù)據(jù)包的服務(wù)鏈標識符和 服務(wù)功能索引,并且確定所述網(wǎng)絡(luò)服務(wù)鏈適用于所述網(wǎng)絡(luò)流。
[0044]其中:所述服務(wù)鏈標識符識別所述網(wǎng)絡(luò)服務(wù)鏈定義;以及
[0045] 所述服務(wù)功能索引識別所述第一服務(wù)功能。
[0046] 該方法進一步包括:將服務(wù)功能鏈報頭添加到所述數(shù)據(jù)包中,所述服務(wù)功能鏈報 頭包括所述服務(wù)功能索引和所述服務(wù)鏈標識符。
[0047] 該方法進一步包括:調(diào)整所述服務(wù)功能索引,以在將所述數(shù)據(jù)包轉(zhuǎn)發(fā)至所述第一 服務(wù)功能之前,指向所述第二服務(wù)功能。
[0048] 該方法進一步包括:將所述服務(wù)鏈標識符和所述服務(wù)功能索引映射至用于所述第 一服務(wù)功能的網(wǎng)絡(luò)地址。
[0049] 該方法進一步包括:其中,所述網(wǎng)絡(luò)地址包括虛擬交換機地址、服務(wù)功能網(wǎng)絡(luò)地 址、或虛擬交換機地址和服務(wù)功能網(wǎng)絡(luò)地址兩者。
[0050] 該方法進一步包括:在轉(zhuǎn)發(fā)之前,將數(shù)據(jù)中心路由報頭添加到所述數(shù)據(jù)包中,所述 數(shù)據(jù)中心路由報頭包括:
[0051] 虛擬交換機的虛擬交換機地址,所述虛擬交換機用作所述第一服務(wù)功能的主機服 務(wù)器;和
[0052] 第二服務(wù)網(wǎng)絡(luò)地址,所述第二服務(wù)網(wǎng)絡(luò)地址用于所述主機服務(wù)器上的所述第一服 務(wù)功能。
[0053]本申請還提供了一種網(wǎng)絡(luò)交換機,包括:
[0054]數(shù)據(jù)包接口,被配置為將數(shù)據(jù)包接收到所述網(wǎng)絡(luò)交換機中,并且將數(shù)據(jù)包通信至 所述網(wǎng)絡(luò)交換機之外;
[0055] 存儲器,被配置為儲存:
[0056] 網(wǎng)絡(luò)服務(wù)鏈定義,包括:
[0057]第一網(wǎng)絡(luò)服務(wù)鏈定義,指定構(gòu)成第一數(shù)據(jù)包處理鏈的第一系列的服務(wù)功能;和
[0058] 用于所述第一網(wǎng)絡(luò)服務(wù)鏈定義的第一服務(wù)鏈標識符;以及
[0059] 服務(wù)鏈映射表,包括:
[0060] 從數(shù)據(jù)包分類至所述存儲器中的所述網(wǎng)絡(luò)服務(wù)鏈定義的分類映射;
[0061] 與所述數(shù)據(jù)包接口通信的服務(wù)鏈處理器,所述服務(wù)鏈處理器被配置為:
[0062] 獲得所述數(shù)據(jù)包的分類信息;
[0063] 根據(jù)所述分類信息和所述服務(wù)鏈映射表確定所述第一網(wǎng)絡(luò)服務(wù)鏈應(yīng)處理所述數(shù) 據(jù)包;
[0064] 在所述第一系列的服務(wù)功能之中,確定對所述數(shù)據(jù)包執(zhí)行的下一服務(wù)功能;
[0065] 通過更新所述數(shù)據(jù)包的服務(wù)功能報頭而經(jīng)由所述第一網(wǎng)絡(luò)服務(wù)鏈跟蹤所述數(shù)據(jù) 包的進度;
[0066] 將路由報頭添加到所述數(shù)據(jù)包中,所述路由報頭包括:
[0067] 與用于下一服務(wù)功能的主機服務(wù)器通信的虛擬交換機的虛擬交換機地址;和
[0068] 用于所述主機服務(wù)器上的所述下一服務(wù)功能的服務(wù)功能網(wǎng)絡(luò)地址;以及
[0069] 將出自所述網(wǎng)絡(luò)交換機的所述數(shù)據(jù)包轉(zhuǎn)發(fā)至所述主機服務(wù)器上的所述下一服務(wù) 功能。
[0070] 其中,所述服務(wù)功能報頭包括:
[0071 ]所述第一服務(wù)鏈標識符;和
[0072]所述第一網(wǎng)絡(luò)服務(wù)鏈中的服務(wù)功能索引。
[0073]其中,所述網(wǎng)絡(luò)交換機被配置為:
[0074]在所述網(wǎng)絡(luò)交換機處接收回由所述下一服務(wù)功能處理之后的所述數(shù)據(jù)包;并且其 中:
[0075]所述服務(wù)鏈處理器被配置為:
[0076]通過將所述第一網(wǎng)絡(luò)服務(wù)鏈中的所述服務(wù)功能指標索引改變?yōu)橹赶蚝罄m(xù)服務(wù)功 能而跟蹤進度,所述后續(xù)服務(wù)功能隨所述數(shù)據(jù)包的所述下一服務(wù)功能之后;并且 [0077]將通過所述下一服務(wù)功能處理之后接收到的所述數(shù)據(jù)包轉(zhuǎn)發(fā)至所述第一網(wǎng)絡(luò)服 務(wù)鏈中的所述后續(xù)服務(wù)功能。
【附圖說明】
[0078]圖1示出了包括通過網(wǎng)絡(luò)設(shè)備連接的虛擬機主機的網(wǎng)絡(luò)的實例。
[0079]圖2示出了被配置為執(zhí)行虛擬機和虛擬功能(virtual function)的虛擬機主機。 [0080] 圖3示出了用于服務(wù)功能鏈接(service function chaining)的示例性網(wǎng)絡(luò)。
[0081 ]圖4示出了架頂(top-of-rack)交換機的實施例。
[0082]圖5示出了用于基于網(wǎng)絡(luò)的服務(wù)功能鏈接的疊加隧道拓撲(overlay tunnel topology)〇
[0083] 圖6示出了機架內(nèi)的服務(wù)功能鏈中的轉(zhuǎn)發(fā)。
[0084] 圖7示出了通過機架上的架頂交換機擴展的服務(wù)功能鏈中的轉(zhuǎn)發(fā)。
[0085] 圖8示出了示例性的服務(wù)功能鏈。
[0086] 圖9示出了通過機架上的架頂交換機擴展的服務(wù)功能鏈中的轉(zhuǎn)發(fā)的另一實例。
[0087] 圖10示出了通過機架上的架頂交換機擴展的服務(wù)功能鏈中的轉(zhuǎn)發(fā)的另一實例。
[0088] 圖11示出了機架內(nèi)的服務(wù)功能鏈中的轉(zhuǎn)發(fā)的另一實例。
[0089] 圖12示出了通過執(zhí)行基于網(wǎng)絡(luò)的服務(wù)功能鏈接的網(wǎng)絡(luò)節(jié)點可實現(xiàn)的邏輯的實施 例。
【具體實施方式】
[0090] 介紹
[0091] 圖1和圖2提供了進一步討論基于網(wǎng)絡(luò)的服務(wù)功能鏈接的上下