當前位置:
首頁 > 知識 > 阿里和騰訊都投資了!這家公司要打造世界上最快和可編程的網路

阿里和騰訊都投資了!這家公司要打造世界上最快和可編程的網路


本文編譯自Barefoot Networks的技術白皮書《世界上最快和最可編程的網路》,Barefoot描述了一種構建和運行網路的新方法。

文章8000字

今天,世界上最快的網路,例如大型數據中心互連的伺服器,都是使用固定功能的乙太網交換機構建的。不是這些網路的所有者不想要可編程性。恰恰相反,他們非常想要可編程性。事實上,許多大型數據中心的擁有者都有程序員團隊渴望改進數據包在其網路中的處理方式。但因為要獲得可編程性,他們必須放棄性能。可編程交換機歷來是不可接受的,在固定功能交換機的性能的1/10和1/100之間。

網路研究的最新進展顯示出具有性能和可編程性的一個途徑。這項研究揭示了處理數據包的指令集,從而為構建高性能域特定處理器的網路奠定了基礎。

在文中,我們描述了PISA(協議獨立交換機體系結構),這是一種用於在用戶完全編程式控制制下以最高速度處理數據包的新範例。PISA升級了傳統的智慧,表明用戶可以使用開放源代碼的程序設計語言來自行編程網路,而不會降低性能。

可編程網路系統不僅將超過固定功能設備,而且會導致「寒武紀」網路中創新的爆炸式增長。數據中心網路現在可以以與其伺服器上運行的應用程序相同的速度發展。從網路行為中獲取的洞察力可以通過軟體獲取,並在交換機之間傳輸,並以行業記錄突破性能提供,從而成為網路所有者的競爭優勢來源。

背景

二十年來,數據中心和企業的基礎設施發生了根本轉變。我們已經看到了虛擬化,容器,分散式應用,雲計算,集群等等的興起。

但乙太網網路仍然停滯不前。雖然速度更快,但公司用於構建,管理和調試網路的技術和方法與1996年使用的技術和方法大體相同。

比如早前,華爾街投資銀行的一個數據中心遭到中斷,這可能是最好的例證。以每分鐘數百萬美元計算的收入損失,雖然組建了應急小組,並在計算,存儲和網路方面有專家。計算團隊有日誌記錄,顯示應用程序失敗的方式和時間,並已經編寫了重現和隔離錯誤的實驗,以及候選原型程序來解決故障。存儲團隊類似,顯示哪些文件系統日誌受到影響,並且已經在解決方案中的進展。而網路團隊只有ping和traceroute。

所有的網路團隊都是二十多年前發明的兩個工具,用於測試端到端連接。兩種工具都不能揭示交換機的問題,單個數據包遭受的擁塞,或提供任何方法來創建實驗來識別,隔離和解決問題。無論問題是否在網路中,網路團隊都將被指責,因為他們無法證明其他方式。

簡單地說,與其他IT領域相比,網路顯然很被動。難怪金融數據中心認為需要安裝第二個監控網路,比起第一個監控網路更為昂貴,其首要任務是在主網路中捕獲,過濾和記錄數據包。當網路所有者不能信任網路以提供其操作的可見性以及修復故障的方法時,這是一個令人遺憾的事態。

人們可以合理地期待軟體定義網路(SDN)的新紀元來拯救我們。畢竟,SDN將控制平面與轉發平面分離,將軟體的控制權交給擁有和操作網路的人員。當然他們可以快速修改軟體來跟蹤錯誤並修復它們嗎?不幸的是,如果錯誤在控制平面軟體中呢?。如果查找和解決錯誤需要更改數據包處理方式,或者將數據平面數據包添加探測器,識別擁塞的鏈路,或者以高速率生成測試數據包來測試許多不同的路徑,那麼改變控制平面軟體是不夠的。畢竟,什麼是網路,而是在端點之間智能地轉發數據包的方法,當它們通過時進行處理。如果我們無法更改數據包的處理方式,那麼我們無法真正對網路的行為進行編程。

為什麼要可編程網路?

用戶可以快速部署測試和探測器的可編程轉發平面可以減少從中斷恢復的時間。在一個有趣的例子中,由於交換機的擁塞每分鐘一次,數據包被丟棄。故障的間歇性使得很難確定哪個應用程序和互聯導致問題。在固定的交換機環境中調試這個問題幾乎是不可能的。然而,使用可編程交換機,程序員向其交換機添加了一個功能,將功能塊緩衝區的當前佔用空間插入到每個通過的數據包中,立即識別流氓應用程序阻塞網路。這些簡單的操作,只有構建和操作網路的人才能理解,根據需要,最好在現場編程,充分了解網路的使用方式。

能夠對網路進行編程,可以消除昂貴和冗餘的監控網路。監控網路可以消除,因為網路現在可以監控自身。

可編程交換機使我們能夠消除其他昂貴的冗餘設備。例如,大型數據中心今天通常部署昂貴的中間件——負載平衡,地址轉換器和DDoS檢測或緩解設備,來處理從外部世界或數據中心的不受信任的部分到達的數據包。最近的一項研究表明,典型的企業比路由器具有更多的中間設備,並且投入更多的資源來購買和維護它們。然而,當我們看得更近時,我們看到每個盒子本質上是一個包處理器;它在頭上「匹配」,基於這些匹配執行「動作」,然後轉發或過濾數據包。這些盒子是如此昂貴的原因是因為商業盒子必須滿足許多網路的需求;但其在任何一個網路中的作用都相當有限。如果相反,網路所有者可以通過利用他們所需的精確功能的本地知識來將這些功能編程到他們的網路中,然後可以有效地減少中間設備用到到現有的網路中。

在一個特別明顯的例子中,最大的數據中心運營商之一目前使用數千台伺服器的複雜網路功能虛擬化(NFV)集群來跨Web伺服器負載平衡傳入數據包。通過編程頂級架構交換機來傳播流量,跟蹤哪些伺服器正在運行,他們計劃重新構建成千上萬個伺服器來運行創收應用程序。

誰是Barefoot Networks?

Barefoot Networks是一個富有遠見的團隊,有經驗豐富的技術人員和工程師,為世界上最快,最可編程的網路設計和運營創造了藍圖。在2016年的第三輪融資中,獲得了阿里巴巴和騰訊共計2400萬美元的投資。可見其在技術方面的影響力!

阿里和騰訊都投資了!這家公司要打造世界上最快和可編程的網路

Barefoot Networks正在改變網路的任務。目標是使編程網路像編程CPU一樣簡單。相信當網路完全可編程時,即控制平面和數據平面都在最終用戶的控制之下,網路行業將享受與軟體中所見到的同樣的創新爆炸。

要做到這一點,必須建立世界上最快,最敏捷的網路。通過構建完全可編程的硬體,以及編譯器,調試器和開發環境來編寫可以工作的程序,使用戶能夠快速地編寫解決方案,並進行廣泛的創新。簡而言之,Barefoot Networks架構建全球最快的交換機,也是完全可編程的,確保網路能夠適應新興的應用需求。

但網路交換機是否已經可編程了?

是的,慢速網路是可編程的。NPU和FPGA存在,它們是靈活的。他們可以修改網路協議和編輯數據包,並為知道如何編寫代碼或RTL的用戶提供適度的可編程級別。但它們是固定功能ASIC性能的1/100,因此他們只在性能不重要的地方找到土壤。如果你想要像ASIC一樣的速度,那麼用戶和現場可編程還沒有可用的技術。

業界需要的是可編程性和性能

Barefoot Networks解決了這個問題,為網路行業提供了兩個最佳選擇:可編程性一直到數據平面協議,行業最佳速度。

Barefoot不僅創造出第一個可編程交換機晶元,其性能優於ASIC速度,而且使編程變得簡單易用。

它們與谷歌,英特爾,微軟,普林斯頓和斯坦福大學合作,為編程網路創建了語言。P4(Programming Protocol-independent Packet Processors)是編程協議獨立的數據包處理器,www.p4.org現在作為開發豐富的開源生態系統的獨立組織。P4.org是一個擁有40多家成員公司的開源聯盟,共同結束封閉式固定功能網路的壟斷。

P4的編程語言可以明確地指定網路轉發的行為。程序員可以描述一次行為,然後編譯程序以在各種不同的平台上運行。各種硬體和軟體交換機的可移植性使得它們更有可能正確地進行互操作,從而縮短了測試和調試的時間。這也使整個產品系列產生一致的行為。網路設備製造商可以開發標準P4程序(例如my_company_fwding.p4),作為各種產品的基礎,確保它們一致,即使硬體來了來自不同來源。可以通過在表示其他協議的P4代碼的庫中添加對基本程序的增強。一個常見的程序自然地集中在程序上的驗證(甚至允許可證明正確的行為),而不是在硬體上,允許一個驗證團隊為廣泛的產品集調試代碼,而不需要為每一代硬體專門的代碼團隊。P4提供了網路所有者(網路開發人員和運營商)熟悉的編程抽象,而不是硬體工程師(如代碼,Verilog或VHDL)熟悉的編程抽象。

從根本上說,P4為網路設備製造商和網路所有者提供了區分的手段。他們可以使他們的產品,或他們的整個網路比競爭對手更好。一個公有雲提供商可以使他們的網路更可靠,更少的擁塞,更安全(通過隔離客戶之間的流量更好)或更大更快地競爭。

但是,也許比差異化更大的好處:網路設備製造商和所有者可以完全擁有自己的P4代碼;他們不需要與任何人分享。我們相信這個簡單明了的原則 - 「你擁有你寫的代碼」 - 是蓬勃發展的軟體行業的關鍵推動者,我們相信P4和可編程網路設備將為網路行業帶來同樣充滿活力的生態系統。

這與今天形成鮮明對比,如果你要向網路添加新功能,則必須與晶元供應商共享功能,並將其顯示在競爭對手的網路中,從而擊敗差異化的目的。毫不奇怪,設備製造商一直不願意添加新功能;它需要幾年才能添加,然後競爭優勢是短暫的。這導致一些開發自己的固定功能ASIC,保持領先。使用P4,這不再需要了。正如我們不與CPU供應商共享我們的Java程序,不再需要與晶元供應商共享P4程序,並且不需要僅僅構建專用晶元來保持領先。

Barefoot在做不是魔術;這只是將長期存在於計算,圖形和數字信號處理中的可編程性應用於網路,使開發人員蓬勃發展的社區能夠快速創新,並以最終用戶為中心的解決方案。

阿里和騰訊都投資了!這家公司要打造世界上最快和可編程的網路

在過去,信號處理系統在專用固定功能硬體中進行硬編碼。我們中的許多人還記得有關可編程信號處理器是否可以匹配固定功能硬體,視頻編解碼器和基站的性能的激烈辯論。然後有人想出了用於信號處理的原始指令集,以及適用於各種不同應用的數據模型。數字信號處理器(DSP)誕生了,現在沒有人構建固定功能信號處理器。相反,我們描述一種高級語言(如C或Matlab)的視頻編解碼器,然後將其編譯為在DSP晶元上運行。DSP晶元也不知道視頻編碼;它具有允許編譯和運行程序的基本原始操作。

同樣對於突發於現場的GPU,更換為工作站構建的固定功能顯卡。像DSP一樣,GPU是特定於域的處理器,設計有針對圖形優化的原始指令集。遊戲程序員以高級域名特定語言編寫3D遊戲,例如OpenCL或CUDA,它被編譯為在GPU上運行。GPU是不可知的,不知道如何寫遊戲;它只包含執行各種各樣的程序所需的原始操作。

最近,TPU已經成為機器學習的領域專用處理器。再次,處理器不了解具體的機器學習應用程序;它被設計為執行精心優化的指令集,並且具有非常適合於神經網路的數據模型。程序被編譯成在TPU上運行,TPU旨在運行機器學習程序比常規CPU更快。

Barefoot只是給網路帶來了相同的好處。PISA架構用於網路DSP對信號處理進行聯網,GPU用於圖形,TPU正在進行機器學習。它完全控制在網路所有者的手中。

為了做到這一點,我們退後一步,確定了一個用於處理數據包的小型原始指令集 - 大約有11個指令,以及一個非常統一的可編程階段流程,用於快速處理數據包頭。程序以高級域專用語言(P4)編寫,然後由Barefoot Capilano編譯器編譯,並優化為在PISA設備上以全線速率運行。

阿里和騰訊都投資了!這家公司要打造世界上最快和可編程的網路

PISA交換架構

通過這樣做,Barefoot旨在使網路更靈活,靈活,模塊化,更便宜。

引進Barefoot網路解決方案

Barefoot Networks解決方案由三部分組成:第一:Tofino,世界上最快的交換機晶元,也是可編程的。第二:P4,用於為Tofino編寫程序的開源編程語言。第三:Capilano,編譯和開發工具需要編譯和調試程序才能在Tofino上運行,更詳細一點看。

1. Tofino是一個6.5Tb/s(65x100GE或260x25GE)全用戶可編程交換機

  • Tofino是世界上最快的交換機。

  • Tofino可以通過P4編程語言完全編程

  • Tofino的可編程性由世界上唯一的「協議獨立」交換架構(稱為PISA)實現。

  • Tofino具有與傳統固定功能交換機相同的功率和成本。

2.P4編程語言

  • 首先由Barefoot,Google,英特爾,微軟,斯坦福大學和普林斯頓大學創建。

  • P4允許程序員明確指定轉發行為。

  • 允許P4程序在各種硬體和軟體目標(包括CPU,虛擬機管理程序交換機和FPGA)上進行編譯和運行。

  • 現在由獨立開源的P4.org社區開發。

  • P4.org擁有40多名會員。

3.Barefoot Capilano軟體套件:編寫P4程序所需的所有軟體,並使其在Tofino上成功運行,包括:

  • P4編譯器,調試器和集成開發環境(IDE)

  • P4模擬環境

  • 開放的API/SDK允許其他人發布連接Tofino的開源代碼。

  • 參考P4程序說明在網路中運行的新應用程序。

  • 與包括OpenSwitch(Hewlett Packard Enterprise),SONiC(Microsoft Azure)和FBOSS(Facebook)在內的7種不同的開源網路操作系統集成。

P4 + Capilano + Tofino的用例是什麼?

自從2015年中以來,Barefoot的客戶一直在為自己的用例編寫P4程序。到目前為止,用例(開源和專有)分為五類:

1.快速原型設計和部署新協議。

標準機構不斷生產新的封裝協議,以支持網路虛擬化。GENEVE,NSH,VxLAN GPE都是最近的例子。同時,大數據中心已經開始引入自己的定製協議,將一個租戶與另一個租戶隔離開來,同時允許租戶與應用程序的互連。每個定製協議旨在提供競爭優勢,並且是基於從多年運行大規模網路建立的本地專家化。例如,大型在線服務提供商最近通過緩存新連接開始時作出的決定,擴展了標準封裝協議以加速負載平衡。其他人正在設計自定義擁塞控制機制,OAM,發現和高可用性協議。

2.刪除未使用的協議,簡化和簡化網路。

雖然世界各地使用了數百種協議,但任何一個數據中心只支持三到四個。問題是,每個數據中心使用不同的集合。因此,固定功能交換機必須支持超集。數據中心發現,珍貴的交換機資源是硬編碼到不使用協議的。想像一下,DC網路運營商減少L2轉發表的大小,並重新利用內存來增加L3 IP路由表。例如,使用Tofino,DC可以輕鬆地將IP路由表的容量從300K增加到1.2M,從而允許它們構建更大的網路並定址更多的伺服器。拋出未使用的協議也意味著更少的錯誤;數據中心所有者報告由他們甚至不使用的協議引起的中斷,但被硬編碼到它們的交換機中!因為他們不使用它們,他們沒有任何專家來調試它們。使用P4,只需要包含所需的協議,根據需要集中寶貴的表,簡化切換和停機時間。

3.確保網路的完整可見性以及它如何處理每個數據包。

網路監控正在成為可編程網路的巨大應用。首先,引入更好的監控功能可以在幾個小時內完成,而不是改變轉發邏輯所需的年數。第二,沒有晶元或設備供應商可能知道比網路運營商本身更好的監控。通過P4,Capilano和Tofino網路運營商可以在現場快速添加強大的監控,分析和診斷功能,而且Barefoot的用戶已經開始這樣做了。一個非常受歡迎的技術,由P4能力的交換機,可以被稱為「帶內網路遙測」。簡而言之,網路運營商確切地確定了想要觀察的信息:例如,通過每個交換機的數據包所採取的精確延遲通過或與軟體版本共享隊列的其他數據包,匹配的表條目。每個數據包都可以作為探測器,而不會創建任何新的流量。通過將可編程性放在操作員的手中,這樣前所未有的可見性成為可能。當然,基準實現已經可以作為開源的「INT.p4」程序了。程序員已經在考慮如何完全自動化數據收集和修復,作為建立自我管理網路的一個步驟。

4.將中間件功能集成到每個交換機中。

許多網路運營商只使用其中間設備的一小部分功能。通過本地專家,他們可以將他們需要的功能直接編程到他們的網路中,消除大量昂貴的中間設備。Barefoot的客戶已經在編程Barefoot Tofino交換機,以提供隨著網路發展而擴展的中間件功能,無需額外的成本。在大多數情況下,中間件功能的運行速度比以前快得多,因為它們以全線速率而不是常規CPU在Tofino上運行。在一種情況下,第4層負載平衡功能集成到交換機中,可以連接10萬台連接狀態,連接數十萬台。DIP池可以調整 - 更小或更大 - 不會中斷現有的連接。所有這一切都是通過編寫幾百行P4代碼來實現的。同樣的方法可以用於集成其他中間件功能,如防火牆,入侵檢測系統,地址和埠翻譯器,流量去複製器等。我們預計中間設備功能被寫進網路中是一種革命。

5.直接在網路中實現部分分散式應用程序。

大數據中心運行著許多巨大的分散式應用程序並具有數萬個交換機的網路。有問題的是,交換機是否可以加速分散式應用程序,卸載伺服器。最近,研究人員展示了如何通過在P4中實現Paxos協議協議一部分,並將其添加到交換機中。這導致了分散式應用程序的許多數量級加速。其他已經在網路數據平面上直接建立了新的密鑰管理服務。Barefoot預計許多新的快速在線服務可以免費地無縫集成到網路中。

這只是開始,Barefoot的客戶將如何使用我們的技術。我們的目標是把手段區分開來,所以他們可以為他們最了解的網路創造想法。P4,Capilano和Tofino通過授權客戶,研究人員和開放網路社區為自己進行創新,開創了網路革命。

Barefoot是一家系統公司,軟體公司還是晶元公司?

在過去,網路系統是垂直整合和專有的,封閉的軟體由設備供應商創建和控制。但網路行業正在迅速變化,分解模糊了晶元公司,軟體公司和系統公司之間的界限。今天,網路運營商可以從幾個途徑中選擇。一些從頭開始構建自己的網路系統,在定製交換機中使用商業晶元,運行專有的交換機操作系統和本地化的控制軟體。其他人從ODMs購買「白盒」,運行開源軟體。而且還有許多其他網路由思科,Arista,HPE,戴爾和瞻博網路等設備供應商提供和支持的交換機構建網路。

Barefoot對於如何將其技術提供給最終用戶是不可知的。Barefoot銷售交換機硬體,並提供軟體對設備供應商,ODMs以及直接與大型數據中心進行編程。

Barefoot與客戶的主要交互是通過軟體。我們的目標是幫助儘可能多的人編寫P4程序來運行其交換機硬體。Barefoot聲明用戶想要的功能,然後在Tofino上編譯並運行它。在這個程度上,有些人認為Barefoot是軟體公司;事實上,Barefoot的文化非常像軟體公司,Barefoot大部分的研發人員都是軟體開發人員。Barefoot還構建晶元,因為沒有人構建可接受Barefoot所需性能的可編程交換機晶元。因此,Barefoot在晶元設計方面有著深刻的專業性,從架構到物理設計。在這個程度上,Barefoot是一家晶元公司。最後,Barefoot建立了高質量的參考系統,具有足夠的質量在數據中心運行並由ODM製造。這意味著Barefoot有時也被認為是系統公司!

Barefoot傾向於認為自己是網路行業的nVIDIA。Barefoot與客戶的主要互動是軟體。但Barefoot的收入主要來自晶元。

最後,網路系統正在從三層建成:底層有一個P4可編程Tofino交換機,上面有一個基於Linux的操作系統,上面有專有的控制平面應用程序。Barefoot的價值主張是為整個行業提供最快,最可編程的P4優化交換機硬體。

結論

Barefoot帶來了性能和可編程性,這在網路歷史上是第一次。Tofino可編程交換機晶元,P4編程語言和Capilano工具集的組合具有革命性。在業界表現最佳,具有第一個真正的交換機可編程性。

阿里和騰訊都投資了!這家公司要打造世界上最快和可編程的網路

雖然性能和可編程性的優勢是廣泛的,但Barefoot認為經常被忽視的效果將會產生最大的影響。性能加上可編程性改變了網路洞察力的所有權。在過往,網路洞察力是晶元公司或系統公司的領域。

在新的世界中,網路的所有者可以編寫一個程序來優化運行其應用程序的網路的行為。他們不需要與系統或晶元供應商共享。在P4程序中捕獲的這種洞察力成為他們的知識產權。然後,他們可以使用這個IP,並在不同供應商的交換機上運行,也可以在同一供應商的代碼中運行,甚至購買白盒並在其上運行。由於它是在P4軟體中捕獲的,網路洞察力是攜帶型的。

Barefoot的Tofino交換機晶元,P4編程語言和Capilano工具為網路專業人員提供了挖掘,編碼和傳輸網路洞察力的能力,從而為其企業創造了一個新的,有護城河的競爭優勢。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT168企業級 的精彩文章:

新華三亮相的不只是全新大數據產品,還有這個秘密基地!
最新程序員生產力報告:Spring,Kotlin和NetBeans最得人心!
十大令人生畏的安全產品漏洞 快來看看你中了幾槍
從設計到分散式系統,Apache Kafka是這樣測試的!
眾家伺服器巨頭齊上陣,英偉達Tesla V100太吸睛

TAG:IT168企業級 |