專訪Nick McKeown:網絡領域的遊戲顛覆者

若是要找到一個過去10年在網絡領域最熱的詞彙,那麼非SDN(軟件定義網絡)莫屬。在過去的十年間不管是學術機構仍是標準組織,不管是電信巨擘仍是互聯網大廠都成其擁躉。html

然而幾乎每一件SDN的重大事件都離不開一個男人。斯坦福大學教授,美國國家工程院、美國藝術與科學學院、英國皇家工程院院士、開放網絡實驗室(ON.Lab)創始人,獲英國計算機學會Lovelace Medal獎,IEEE Kobayashi計算機與通信獎,ACM Sigcomm終身成就獎和IEEE Rice通信理論獎,還有ETH榮譽博士學位,Barefoot首席科學家,曾創辦的3家科技企業分別以4億、1250萬、12.6億美圓被收購。這些使人眼花繚亂的角色都指向了這個男人,這位叱吒學術和產業界的傳奇人物,也是咱們這篇文章的男主角——Nick McKeown,喜好中國文化的Nick給本身起了一個頗具哲學意味的中文名——馬格里。筆者有幸在UCloud TIC大會上對本文的男主角進行了訪談,圍繞可編程網絡趨勢、開源項目進展和馬老師教育心得進行了溝通,下面咱們就來走進馬老師的網絡世界。程序員

圖片來自UCloud TIC大會

網絡界的「帶貨王」

SDN起源於馬老師團隊的Clean Slate項目,最初的SDN方面的學術貢獻幾乎由斯坦福大學包攬全局。馬老師無疑成爲了SDN界的領軍者,不管是早期的SDN控制器NOX仍是進階的POX,不管是仿真界的小王子Mininet仍是虛擬化軟件FlowVisor,這些成果都離不開馬老師的研究團隊。同時這些成果也成功的驅動了整個網絡行業的變革,企業蜂擁而至,應用百花齊放。馬老師彷佛也成爲了網絡界的「帶貨王」。編程

「咱們大約10年前開始研究可編程網絡,由於我特別失望的是當時的互聯網還很原始,架構是相同的,功能是相同的。他們老是由委員會設計,由芯片設計師設計,如你所知,芯片設計師不會運維網絡」安全

在這樣的場景下,本應該是建網絡的人最瞭解網絡最須要什麼,如今卻讓外行掌握着核心技術。馬老師意識到「釋放軟件能力進入網絡領域」的重要性,服務器

「可編程是其中的關鍵,由於咱們知道軟件可能會發生變化,進化和改進,比硬件快得多,因此若是你能夠變成硬件問題,那麼你能夠將程序員的全部力量釋放到網絡上,所以咱們制定了很是雄心勃勃的目標,試圖讓網絡計劃可以用到計算機,因此你能夠編寫程序來操做,修改」。網絡

咱們也看到了馬老師的研究軌跡,從固定功能的黑盒到控制面與轉發面解耦,從轉發面可編程到開發芯片、開發語言、開發組件,從耳順之齡邁入了天命之年,「帶貨王」的背後是對整個網絡行業變革的深度實踐,是顛覆者的遊戲。架構

OpenFlow 10年,是創新仍是桎梏?

在2000年的第一個十年,馬老師和他的團隊開啓了SDN的創新之路。當時馬老師一個叫Martin Casado博士生在畢業論文的基礎上發明了OpenFlow試圖用「管控分離,集中控制」的思想解決網絡問題,今後這個思想以星火燎原之勢在整個行業裏掀起了熱潮,同時還伴隨着OpenFlow和SDN雞生蛋蛋生雞的爭論。谷歌開始將OpenFlow用於他們全部的數據中心,以及他們全部的WAN網絡,行業同仁也很是欣喜的能在各類公開論文和新聞中獲取信息、吸取養料,而後也看到在一些其餘大型項目合做中開始使用OpenFlow,創新的味道瀰漫在硅谷的上空。負載均衡

「對我而言,OpenFlow是踏上創新階梯的第一步。」 馬老師闡述道。「第一步作到了解耦,這對於SDN初期而言相當重要」。運維

在當時OpenFlow彷佛已經成爲了SDN事實中的標準,各大廠家在作優化,版本在作頻繁更迭。然而這彷佛只是虛假繁榮,P4的出現讓OpenFlow顯得無所適從,馬老師解釋道:工具

「OpenFlow太過於僵硬,爲了找到匹配的包頭,你必須設法充分描述,再調用接口,靈活性不好。P4帶來的靈活性不只能夠改變轉發面的屬性,還能夠改變控制器調用的接口。P4 Runtime的出現使OpenFlow也能夠成爲其屬性之一。.P4的文件讓任何轉發面的屬性都變成一個應用程序」。

當筆者問及OpenFlow是否已經完成其使命時,「在某些狀況下是的」教授謹慎地回答。

但這並不表明OpenFlow毫無用武之地,「很是簡單的網絡,不會發生很大變化」 很適合使用OpenFlow,「日本的一些大型基礎設施中,部分功能需求不高的項目就應用了OpenFlow。」

與其說完成了使命,倒不如說是完成了進化,任何一個技術都不是萬金油,P4在選擇上給了咱們顛覆,這是質的飛躍,何須糾結它仍是不是它呢。

從Cloud到萬物互聯,網絡進化的上下求索

自SDN誕生之初,雲就一直是網絡創新的練兵場。虛擬化技術的優化和成熟推進了雲計算的發展,虛擬化的環境也爲雲服務商優化基礎設施配置提供了便利,網絡優化也來的更從容甚至激進。以Google、Facebook、Amazon爲表明的企業也開始了持續的網絡基礎架構的迭代優化之路,全球的運營商也試圖經過SDN降本增效而且多加些行業存在價值,固然還有一些諸如熱氣球計劃、無人機計劃等開腦洞的通訊創新,雖然和SDN不必定有關,但其格局值得敬佩。

馬老師也坦言,「近些年,不少創新發生在雲中,包括咱們的合做夥伴UCloud,在容量方面有不少的需求,在可視化和測量方面也有訴求。」

「像UCloud這樣的雲計算公司是不少中國優秀雲公司的縮影,我看到它在不斷壯大,有工程師的地方就有創新。從SDN硬件卸載到P4到使用P4完成IPv6至IPv4的NAT轉換,創新如此充滿意義。這同時也給產業鏈上的公司很大的動力,不管是Barefoot這類芯片廠商仍是設備上都是很大鼓舞。」

圖片來自UCloud TIC大會

當談及雲公司和運營商對網絡的需求時,馬老師發表了下面的觀點。

「通常而言,雲公司最關心帶寬,擁有相對簡單的功能和協議,他們須要一切都是可靠的。」

用戶的增加和業務的膨脹使雲的規模逐漸龐大,其業務特徵也變得複雜,諸如虛擬化支持、多業務承載、資源靈活調度。

「他們對負載均衡,防火牆,一個尋址到另外一個尋址的轉換,多播到單播的轉換,從舊世界到新世界或者從物理世界到虛擬世界的轉換都有着巨大的需求。」

從這個角度看雲更像是一個轉換設備。不管從節省成本仍是節約帶寬來說,可編程的網絡設備具備更大的價值,「一樣使用硬件,但更便宜,更快,行爲更可控」。

「對於電信公司而言,種類繁多的用戶,使得電信公司長期須要支持更多的特性和協議。不管是帶寬和高性能都是他們所關心的。」

業務和客戶的複雜度,直接致使了網絡的高度複雜。「隨着時間的推移,新客戶須要新特性,他們須要回收資源以期複用給新特性。」

在此時,若是設備可編程,將能夠利用全部資源來開發新特性,爲新客戶服務。電信公司有不少需求,可編程的設備讓這些想象一切都變得簡單。

科技發展,突飛猛進。5G、物聯網、工業互聯網,不管是雲仍是邊緣,這些不一樣類型的網絡都有着不一樣的需求,不一樣的速度,不一樣類型的特性,不一樣的協議,都有不一樣的計費、測量、封裝要求,他們在全部的環境中都是不一樣的,因此這些不一樣類型的網絡,意味着須要新的設備。

「此時一個能適用於不一樣場景需求的可編程硬件會讓事情變得簡單,無需爲每個場景設計專用的芯片。」可編程的網絡硬件的確爲網絡的創新提供了很好的方向和技術支撐,做爲筆者也對馬老師倡導的可編程網絡方式充滿了期待。

關於開源,筆者圍繞開源進展、P4與ONF合併和P4的應用場景向馬老師進行了探討。

開源和可編程,可否奏響網絡變革的主旋律?

在過去的幾年咱們看到了層出不窮的控制面開源項目,但他們彷佛都發展緩慢。

「我認爲將來幾年網絡、互聯網和整個世界的變化很小。一個是控制平面將更開放更開源,網絡做爲基礎設施。任何一家公司開發的控制平面都不會即刻獲益。諸如Stratum、Sonic,諸如ODL、ONOS,他們因不一樣時期需求而產生,在將來仍將繼續下去,還有很長的路要走。」 馬老師確定的說。

「在15到20年內,世界上全部大型網絡都將由開源控制平面控制。我認爲這是不可避免的。」

彷佛如今有一種聲音是白盒不如黑盒,有太多性能問題須要解決,並且白盒並不比黑盒售價低,還有高昂的研發成本,這是不少用戶在質疑的問題。

「如今咱們知道你能夠構建具備相同功率,相同成本,相同性能和固定功能的轉發平面。然而固定功能轉發平面沒有將來,未來,全部轉發平面都是可編程的。」

「轉發平面、控制平面的開源,讓網絡能夠一直向下編程。咱們將以多種方式看到互聯網的變化。由於它主要是爲了使其更可靠,使其更安全,並容許不一樣的公司彼此造成不一樣的模式,這對互聯網來講是一個很是重要的進步。」

「當你擁有從上到下的軟件時,這意味着你可使用全部軟件工程實踐來正式測試和驗證,甚至能夠正確地進行預測。之前永遠不可能實現這一點。由於以前,許多功能都隱藏在Verilog中,代碼在硬件中運行。咱們不知道那裏到底發生了什麼。」 如今這些功能均可經過P4語言描述,馬老師已經用事實踐行了他的觀點。

「你能夠衡量您在網絡中看到的內容,你能夠反饋它,在將來10年內,咱們會在網絡中「看到更緊密的循環控制,其中有測量,驗證,改變其行爲以確保一切正常運行。」

P4 + ONF = ?

2011年馬老師與加州大學伯克利分校的Scott Shenker老師聯合業界知名公司創立了ONF(開放網絡基金會),旨在加速SDN落地。P4語言是在2013年左右開始建立的,而且自那時起它一直在增加,彙集開發人員、研究人員,在幾年內成長爲擁有百餘名成員的P4社區。2019年4月9日,開放網絡基金會(ONF)宣佈已完成與P4.org的合併,並將主持全部P4活動和工做組

「P4目前仍是個小型組織,但咱們意識到若是成爲一個更大的組織將會受益良多,聯合ONF天然而然成爲了好選擇,後者有很是規範的組織模式,他與Linux很類似,採用相似的治理模式」。

「做爲ONF的成員,這意味着電信運營商能夠開始參與P4,而不只僅是擁有這些部件。」
雲計算已經成爲了將來的基礎設施,從公開的一些數據咱們不難看出,大多數P4開發和應用案例都是針對雲的。

「如今咱們期待在下一階段,電信公司也將有所增加。 這一樣也符合了全球電信公司軟硬件解耦的訴求。開放網絡基礎設施ONF正好是其中心,ONOS,CORD以及它全部的開源項目,都將與P4有很好的組合。」 馬老師闡述了對運營商的期待。

「 ONF的ONOS項目做爲控制面,南向接口用P4-Runtime,加上修改過的P4模型。」 P4與電信行業的合做彷佛水到渠成。在現有豐滿的開源生態中,咱們看到了大量的網絡開源項目,在生態中佔據不一樣的位置。仔細觀察P4-Runtime的架構,你會發現它在整個P4生態中相當重要。

「P4-runtime的關鍵之處在於它容許您使用P4做爲語言來表達行爲。這使其成爲轉發平面和控制平面之間的紐帶。」 咱們也期待P4&ONF合做後將來在電信公司的更多應用。

UCloud & P4,標杆案例

在訪談中馬老師屢次絕不吝嗇地對UCloud這位合做夥伴表達讚賞,「 UCloud是很棒的合做夥伴,他們進行了不少出色的工做 」,咱們也在這裏給你們分享兩個標杆案例。

雲計算業務的猛增給基礎設施帶來了壓力,隨着網絡帶寬從10G向25G、100G的演進,通用服務器須要經過更強力的CPU才能達到線速,隨之帶來的是高昂的投入成本。特別是單Core的主頻越高,價格越貴,且主頻增長之間和價格增長是非線性關係。網絡IO計算與存儲軟件自己的計算對CPU構成了爭搶。SDN硬件卸載方案呼之欲出,排除了VXLAN VTEP和OpenFlow1.3交換機方案後,在與P4社區及Barefoot公司的溝通下,UCloud經過運行於Tofino芯片的P4程序,取代了以前運行於200臺x86服務器之上的負載均衡工做,並且是線速處理,這在雲領域數一數二。

對於IPv6轉換服務,UCloud使用有狀態的NAT64技術來實現,NAT64是一種經過網絡地址轉換(NAT)形式促成IPv6與IPv4主機間通訊的IPv6轉換機制。NAT64網關須要至少一個IPv4地址和一個包含32位地址空間的IPv6網段來完成IPv4與IPv6協議間的翻譯。其中NAT64 Access使用P4交換機實現,經過NAT64 Access的一致性Hash實現高可用。同時在NAT64 Access對CPS進行限速,實現DDoS防禦。相較於業界的其餘方案P4無疑表明了更高效、更穩定的轉發性能。

傳道授業的再思考,給學習者的建議

做爲斯坦福大學教授,馬老師向本科生、碩士生和博士生教授網絡技術。在談及教育時,馬老師開始口若懸河。

「咱們花了不少時間思考咱們要如何教導下一代網絡如何改變。」

由於若是你看看今天大學裏大多數網絡課程的教學方式大都是從一本書開始,列出全部協議,包括IPv四、IPv6,以及全部不一樣類型的協議,「這就像一碗湯,豐富但雜亂無章。」

但咱們看問題的方式的確是這樣的嗎?若是你想一想網絡工程師,或將來的網絡軟件開發人員,「從軟件的角度,他們不會說,我須要實現這個協議,他們會說我對個人網絡作了什麼行爲,讓我寫一個程序來描述這種行爲。」 最後的結果可能與現有協議類似,也有可能創造新的協議。若是軟件不錯,驗證工具也不錯,這樣他們就能夠進入書中沒講的新天地。

「所以,如今咱們須要弄清楚如何教學生首先思考他們想要的行爲,並給他們編程技能,讓他們可以作到這一點,咱們須要創造這樣的環境。」

圖片來自stanford.edu

在世界各地,想要學習編程、網絡和計算機科學的學生人數都在大幅增加,不管是中國仍是北美。在斯坦福,咱們看到計算機科學專業的學生人數在過去的7年裏增加了5%,增加很快。如今全世界都是這樣。

「緣由是編程變得如此強大。你能夠實實在在地改變世界,咱們天天都能看到它所創造的技術類型。」

全世界每一年大約有100萬個新的軟件開發工做崗位,然而,咱們每一年只產生大約50萬個新項目,這爲高薪提供了可能。開源社區的建立,相比於傳統網絡的封閉,不管是學習仍是推進行業發展,提供了更好的交流方式。

「開放的環境,更容易交流,更容易產生新的創意」。

通常每個領域必然有那麼幾個的先驅人物,但Nick McKeown的傳奇性不只僅是學術界也不只僅是學術產業,我看到的是一位理想主義者,對網絡的將來充滿無盡的想象。他同時更是一位遊戲顛覆者,不管教學仍是研究,不管是學術仍是產業,他的思想一直在進化,用超乎尋常的思考和實踐推進整個行業的變革。

相關文章
相關標籤/搜索