专访Nick McKeown:网络领域的游戏颠覆者
如果要找到一個過去10年在網絡領域最熱的詞匯,那么非SDN(軟件定義網絡)莫屬。在過去的十年間無論是學術機構還是標準組織,無論是電信巨擘還是互聯網大廠都成其擁躉。
然而幾乎每一件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無疑代表了更高效、更穩定的轉發性能。
傳道授業的再思考,給學習者的建議
作為斯坦福大學教授,馬老師向本科生、碩士生和博士生教授網絡技術。在談及教育時,馬老師開始滔滔不絕。
“我們花了很多時間思考我們要如何教導下一代網絡如何改變。”
因為如果你看看今天大學里大多數網絡課程的教學方式大都是從一本書開始,列出所有協議,包括IPv4、IPv6,以及所有不同類型的協議,“這就像一碗湯,豐富但雜亂無章。”
但我們看問題的方式的確是這樣的嗎?如果你想想網絡工程師,或未來的網絡軟件開發人員,“從軟件的角度,他們不會說,我需要實現這個協議,他們會說我對我的網絡做了什么行為,讓我寫一個程序來描述這種行為。”?最后的結果可能與現有協議相似,也有可能創造新的協議。如果軟件不錯,驗證工具也不錯,這樣他們就可以進入書中沒講的新天地。
“因此,現在我們需要弄清楚如何教學生首先思考他們想要的行為,并給他們編程技能,讓他們能夠做到這一點,我們需要創造這樣的環境。”
圖片來自stanford.edu
在世界各地,想要學習編程、網絡和計算機科學的學生人數都在大幅增長,無論是中國還是北美。在斯坦福,我們看到計算機科學專業的學生人數在過去的7年里增長了5%,增長很快。現在全世界都是這樣。
“原因是編程變得如此強大。你可以實實在在地改變世界,我們每天都能看到它所創造的技術類型。”
全世界每年大約有100萬個新的軟件開發工作崗位,然而,我們每年只產生大約50萬個新項目,這為高薪提供了可能。開源社區的創建,相比于傳統網絡的封閉,無論是學習還是推動行業發展,提供了更好的交流方式。
“開放的環境,更容易交流,更容易產生新的創意”。
一般每一個領域必然有那么幾個的先驅人物,但Nick McKeown的傳奇性不僅僅是學術界也不僅僅是學術產業,我看到的是一位理想主義者,對網絡的未來充滿無盡的想象。他同時更是一位游戲顛覆者,無論教學還是研究,無論是學術還是產業,他的思想一直在進化,用超乎尋常的思考和實踐推動整個行業的變革。
總結
以上是生活随笔為你收集整理的专访Nick McKeown:网络领域的游戏颠覆者的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 巧学五笔打字-----1小时可学会,不用
- 下一篇: 计算机简史:从分布式到中心化的博弈螺旋