对话RTP作者Ron Frederick: 我非常期待QUIC的发展
內容編輯:Alex
技術審校:劉連響
Ron Frederick
人物對話
#002#
RTP和RTCP是處理所有多媒體傳輸的重要協議,于1996年1 月在RFC 1889中定義。
最近,LiveVideoStack郵件采訪了RTP的作者之一Ron Frederick。在訪談中,他向我們講述了RTP是如何創造出來的,并分享了他對當下流行的WebRTC和QUIC的看法。Ron還回憶了1992~2000年他在施樂PARC工作時的美好時光。
(照片由Ron Frederick本人提供)
對于正在和想要從事計算機工程工作的人,Ron給出了他的建議:不要害怕親自動手。?他認為人們應該不斷去發現現實世界中的問題,并通過編寫代碼來解決它們。
這篇訪談還向我們展示了幾十年前計算機科學家們所做的開創性工作,以及當時互聯網的情況。
下面是LiveVideoStack對Ron Frederick的采訪內容。
計算機情緣
LiveVideoStack:您能簡單介紹一下您自己嗎?
Ron Frederick:好的,我是Ron Frederick,現在住在加利福尼亞硅谷中心的山景城。我在倫斯勒理工學院(RPI,Rensselaer Polytechnic Institute)完成了計算機和系統工程本科學業,并在斯坦福大學獲得了計算機科學的碩士學位。我目前在Broadcom Software從事計算機安全的相關工作,這家公司主要生產保障個人和公司網絡安全的產品。
LiveVideoStack:您是怎么對計算機產生興趣的?又是什么時候決定從事相關工作的?
Ron Frederick:我在很小的時候,就非常喜愛數學。1977年,當Radio Shack推出TRS-80微型計算機時(當時我9歲),我很快迷上了這款產品。我常常在我家附近商場里的Radio Shack商店里一待就是幾個小時,為他們展示的demo編程。幾年以后,我的父母給我買了第一臺Radio Shack的計算機。不久之后,在我12歲的時候,我開始為當地的一家企業設置和運行計算機系統,這也是我第一份獲得薪酬的工作。我在整個高中時期,都在利用業余時間為其他當地企業提供計算機咨詢服務。從那個時候起,我就知道從事計算機相關工作將是我一生的追求。
?施樂時光
LiveVideoStack:從斯坦福大學畢業以后,您為什么會選擇施樂作為您的第一家工作的公司?
Ron Frederick:實際上,在我去斯坦福念研究生的第一個夏天,我就開始了在施樂PARC(Palo Alto Research Center,帕洛阿爾托研究中心)的實習工作,這份工作是當時我在斯坦福的導師推薦我申請的。這次實習經歷真的太棒了!即使在秋天回到學校的時候,我也利用業余時間在施樂工作了一年左右,我那時認定這份工作就是我的夢想工作。我本來打算在斯坦福繼續攻讀博士學位,但我當時從斯坦福大學獲得了碩士學位并能夠有機會以全職身份入職施樂PARC,所以我當即決定加入施樂,因為這家公司一直是我的夢寐所求。
LiveVideoStack:施樂PARC是一家偉大的公司,有無數革命性的發明,這些發明改變了現代人類的生活。1992至2000年期間,您任職于這家公司。那個時候在PARC工作是什么感覺?
Ron Frederick:那是一個了不起的地方!施樂PARC的基本理念之一就是讓其研究人員“生活在未來”。這意味著我們需要基于當前的技術創造出在當時無法以合理成本生產和銷售的產品(也無法將這些產品包裝上令人舒適的設計)。但是我們可以通過這些產品原型清楚地了解到在產品使用方式和新的交互方面,哪些創造是可行的,哪些行不通。
照片來源?
Scientific American September 1991
通過這種方式,在科技方面,我們能做到超前10~15年。舉個例子,早在 1992 年,我們就有了帶有圖形觸摸屏的便攜式聯網手持設備PARCTab和平板電腦PARCPad,要比蘋果2007年推出的iPhone和iPod Touch早了15年,更比2010年推出的iPad早了18年。當然,我們那時的計算機處理能力和網速完全無法同iPod Touch面世時相提并論,但擁有各種圖標(圖標主要用于啟動各種應用程序和許多其他交互應用,如音視頻會議和共享繪圖工具)的主屏幕這一基本概念,在蘋果這些消費產品出現的十幾年以前,就已經存在了。
LiveVideoStack:回望在施樂PARC的那些日子,誰給您印象最深并啟發您最多?
Ron Frederick:我在PARC的那個時期見到了很多了不起的人物,但令我印象最深刻的是Mark Weiser,他當時是PARC計算機科學實驗室的經理(在我剛入職時),在1996年成為了PARC的CTO。遺憾的是,Mark在1999年過世,他沒能看到自己一手幫助創造的技術在消費領域的充分實現。但在我心里,沒有Mark在該領域的早期工作和領導,現在的很多產品都不會被創造出來。1988年,他提出了“普適計算”一詞,用來描述這樣一個世界:個人計算機將被周圍無處不在的計算所取代,計算將與環境融為一體。這正是我們現在所生活的世界。
下面這篇文章很好地介紹了Mark的部分工作:
https://www.lri.fr/~mbl/Stanford/CS477/papers/Weiser-SciAm.pdf
下面是一個關于普適計算的視頻(視頻結尾處,Ron有出鏡):
https://www.timeheart.net/ubiquitous_computing_demo.html
LiveVideoStack:最近我國政府規定996這種工作文化是違法的,您在施樂時每天要長時間工作嗎?施樂公司的工作文化是怎樣的?
Ron Frederick:施樂真的不會強制規定員工在特定時間工作。事實上,很多人為了躲避“早高峰”會晚到公司。他們經常會在公司待到很晚,但大家是因為熱愛自己所做的事才晚下班。人們常常會因為原創想法和技術創新獲得獎勵,而不是他們為了實現這一目標具體工作了多少小時。
LiveVideoStack:您所做的所有工作中,您最滿意的是哪一部分?
Ron Frederick:如果要選一個我最驕傲的項目,那很可能是我的nv(Network Video)工具,這個工具是世界上最早一批可以讓人們通過互聯網傳送和接收視頻的軟件。施樂PARC允許我開源nv的代碼,從而來自世界各地成千上萬的人都可以下載和使用它。NASA曾使用nv直播航天飛船執行任務,并使用了很多年;組織開發RTP的IETF也曾使用nv傳輸會議視頻,方便無法親臨會議的人可以掌握工作最新動態。
去年,我在GitHub上重新發布了原始nv代碼,任何人都可以查看:
https://github.com/ronf/nv
在下面的音頻訪談中,你可以了解到更多關于nv的信息:
https://town.hall.org/radio/Geek/060394_geek_ITR.html
LiveVideoStack:對于年輕一代的計算機工程師,您有什么鼓勵的話想對他們說嗎?
Ron Frederick:我想給從事這一領域工作的人們一個重要建議:不要害怕自己動手,意思是他們應該去解決現實世界中的問題,并寫出解決問題的代碼。學術研究教會你構建事物的基本原則,雖然這很有價值,但從我的經驗來看,你學到的知識大部分來自實際編寫代碼,尤其是那些對現實世界產生影響的代碼,而不僅僅是課堂項目和家庭作業。
?創造RTP
LiveVideoStack:RTP一共有四位作者,Van Jacobson、Steve Casnerand、Henning Schulzrinne和您,你們四位是如何達成合作的?在開發RTP的過程中,有什么事給您留下深刻的印象嗎?
Ron Frederick:我們能成為這一協議的作者,是因為我們四位都曾創建過在互聯網上傳輸實時數據的工具,這些工具能夠傳輸包括音頻、視頻和實時“共享白板”應用程序(這種應用可以讓不同地點的人通過在虛擬白板上繪圖保持同步協作)。創建RTP協議的基本思想是,找到不同數據流之間的共同元素,并標準化這些元素(在使用不同工具的情況下),以便更輕松地執行如同步流或報告流質量(收集數據包丟失和延誤的統計數據)之類的操作。
我們每個人都會寫作和編輯文檔的不同部分,并定期將它們匯總在一起并作為Internet Draft(互聯網草案)發布新版本,供更多感興趣的工作組成員提供反饋。
對我來說,這是我第一次與一個標準組織合作。在整個過程中,我從其他三位作者身上學到了很多東西,他們在這類工作方面已經擁有了豐富的經驗。因為我已經開發出了能傳輸實時數據的工具,所以他們非常歡迎我的意見,也讓我有機會為最終的RFC做出了重要的貢獻。
LiveVideoStack:在創作RTP的過程中,哪部分工作是最具挑戰的?
Ron Frederick:我認為最困難的事情可能是弄清楚如何構建足夠通用的協議,使它適用于我們希望 RTP 支持的不同類型的實時通信。支持音頻和視頻已經是一個挑戰,因為視頻數據往往更“突發”,通常會產生多個具有相同時間戳的數據包,而在這方面音頻通常更流暢。當添加其他類型的數據共享(例如共享白板工具)時,變得更加困難,因為你通常需要某種形式的重傳,以使每個人看到的內容最終保持一致。如果是音頻或視頻,你可能只需使用有限重傳或其他技術,如前向糾錯。但在某些時候,如果所有數據沒有及時到達,你就會放棄并丟棄部分音頻或視頻。
LiveVideoStack:RTP/RTCP 作為WebRTC的基礎協議,進入到絕大多數個人計算機上,這個您當初有預想到嗎?
Ron Frederick:我很高興看到WebRTC采取了一種利用現有標準的方法,而不是從頭開始重新創造。在開發RTP時我們就十分確定,我們想要它支持各種用例,現在WebRTC所做的事情就在這個范圍之內。
早在1996年(WebRTC作為標準要很久之后才出現),我在PARC就做過這方面的工作,當時我利用NPAPI 的插件機制使Web瀏覽器可以支持音頻和視頻。這些音頻和視頻流都是基于RTP/RTCP,其中使用了我當時為nv寫的代碼以及我早些時候寫的網絡音頻代碼。施樂最終將這個項目獨立出來,成立了一家叫Placeware的公司,這家公司后來被微軟收購。
LiveVideoStack:在WebRTC中實現了越來越多的RTP的拓展,您怎么看這個情況?在您設計RTP的時候有考慮過會出現這種情況?您覺得這是一個好的設計嗎?
Ron Frederick:我必須承認我沒有關注 WebRTC的所有細節,所以我并不熟悉 WebRTC 提出的具體 RTP 擴展。RTP 標準的設計考慮到了對擴展的一些支持,但我們當時希望在支持擴展與高效的數據包處理之間取得平衡。因此,擴展支持主要集中在為 RTCP 控制包添加擴展,而不是為 RTP 數據包提供大量擴展支持。RTP 確實允許通過定義應用規范來擴展RTP頭,?但是一個RTP包應該只允許有一個RTP擴展,而且這個RTP擴展的定義必須在當前應用規范內。這樣就提供了一個給RTP攜帶額外信息的方法,避免了通過遍歷多個擴展才能找到實時負載數據的代碼。
LiveVideoStack:QUIC/HTTP3越來越流行, 甚至有人提出讓WebRTC通過QUIC來傳輸,您如何看待RTP 基于QUIC傳輸?RTP OVER QUIC 是一個好主意嗎?
Ron Frederick:QUIC是一個非常有趣的協議,同 TCP相比,它有很多優勢,尤其是傳輸實時數據的時候(QUIC可以使數據包按照任何順序得到處理)。雖然 HTTP/2 增加了在單個 TCP 連接上多路復用多個流的能力,但TCP迫使數據始終要按順序處理,這意味著一個多路復用流上的數據包丟失將阻止其他所有流中的數據處理。QUIC有解決這個問題的潛力,甚至可能會演變為支持不同流的不同重傳策略,這對于音視頻內容來說是非常有利的(因為在出現一定延遲后,到達的數據包將不再有用)。我非常期待看到這項工作的發展!
過去、現在和未來
LiveVideoStack:現在的互聯網和您那時的互聯網最大的不同是什么?您認為接下來在互聯網上的大創新會是什么?
Ron Frederick:現在和那時最明顯的區別是:現在的終端用戶獲得了更多可用帶寬,以及他們手中用來聯網的設備也擁有了更多算力。當我開始在互聯網上傳輸音頻和視頻時,我家里的ISDN連接可以使網速達到“驚人的”112kbps,但當時大多數人只能在28.8 kbps或者更低的網速下使用撥號上網。今天,家用互聯網的速度比當時快了1000 倍以上,并且可用的計算機處理能力更加強大。
另一個很大的不同便是無處不在的WiFi和蜂窩連接,它們可以保持移動設備永久聯網。我們在PARC時就探索過WiFi,當時使用的是我們自己開發的紅外和近場無線電混合技術(這些探索都發生在WiFi發明之前),但那時僅限于在我們自己的大樓中使用。不像現在,人們理所當然地認為,從哪里都可以直接聯網。
不過遺憾的是,當時開發出來的IP組播沒能進入現代互聯網(至少沒有得到大規模應用)。IP組播可以將數據非常有效地一次性發送給多個目標,而無需將數據的多個副本放在指定的網絡鏈接上。其核心思想是,將你與其他目標機器之間的路由器構建成樹狀連接,使數據在所有目標機器之間有效傳輸,但只需在給定鏈接上放置任何數據的單一副本,無論最終有多少目標機器,都會接收到它。復制數據的情況發生在各方路徑偏離的時候,但即便如此,實際上也只有至少擁有一個數據接收器的路徑才能最終獲得那些副本。隨著越來越多的多方視頻會議出現,我認為沒有IP組播的現代互聯網將受到影響,但是現在網絡帶寬也在不斷增長,那么未來我們付出的代價可能只是需要發送多個數據副本。
我真的不確定下一個大創新會是什么,但隨著設備的算力越來越強大,我想我們將很可能看到更多的“本地”處理,如像Siri這樣的語音助手,不用先將數據上傳到云端也能工作,這對于終端用戶隱私來說肯定是件好事。我還認為,在增強現實方面,我們將很可能看到更多突破,尤其是當眼鏡(或者隱形眼鏡!)中的平視顯示器(HUD)變得足夠輕便的時候。
LiveVideoStack:2020年新冠疫情來襲,人們的生活方式發生了很大變化,但是由于人們不得不待在家里使用視頻溝通,使得視頻技術發展迅速。您認為這次的發展對視頻技術創新和增長會是一個機遇嗎?
Ron Frederick:在我看來,疫情毫無疑問大大加速了視頻會議和展示工具的使用,如WebEx和Zoom。隨著人們待在家里的時間比以前多得多,也增加了對互聯網流媒體娛樂的使用。在某些情況下,我認為對很多雇主來說,即使在疫情得到控制之后,遠程辦公也很可能成為一種選擇(因為他們看到員工在遠程辦公的狀態下也很高效)。但這樣一來,一些公司就不會為員工提供辦公場所,所以商業房地產行業可能會受到很大影響。
LiveVideoStack:疫情給您的生活和工作帶來怎樣的改變?您最近在忙些什么?
Ron Frederick:我非常幸運,能夠在疫情期間確保自己的安全,工作也沒有受到疫情帶來的沖擊。當早期封鎖開始時,和許多其他公司一樣,我們公司的員工也一直連續幾個月在家辦公;后來變成一半時間在家,一半時間在公司;現在所有人都在公司辦公了(當然實施了很多安全措施)。
我很幸運,我所做的工作(上文提到的網絡安全工作)一直都很重要,并且我能夠利用我們現在在這里討論的技術來讓我的工作保持高效。
在業余時間,我也在研究一些開源項目。第一個就是創建在Python異步框架之上的SSH client/server——AsyncSSH。
你可以在https://asyncssh.readthedocs.io/en/latest/?或者GitHub?上https://github.com/ronf/asyncssh?查看更多相關信息。
同時,為了學習更多現代網絡標準方面的知識,以及重溫1992年我在施樂PARC時所寫的一個游戲,我在去年創建了一個基于瀏覽器的經典“太空大戰”版本,其中主要使用了WebSockets 和 WebRTC。
你可以在
https://github.com/ronf/webrtc-spacewar查看更多相關信息。
這個游戲的最初版本是為了說明如何在沒有中心服務器的情況下,通過多個客戶端使用IP組播來共享它們的游戲信息。新版本沿襲了這一基本概念,所有的游戲邏輯都在客戶端和一個服務器中,服務器只負責下載游戲,并允許各個客戶端發現彼此。如果可以,客戶端將嘗試使用 WebRTC 直接連接到彼此,如果連接WebRTC失敗,則回退到使用簡單的 WebSocket 中繼進行該通信。
LiveVideoStack:最后一個重要問題,如果您有機會和一位計算機科學家對話,您最想和誰對話?您想跟這位計算機科學家談些什么?
Ron Frederick:我想我會選Alan Kay, 他也曾在施樂PARC工作過,但在我入職前就離開了。我有一件上面印有他語錄的T恤,是我后來在Symantec時獲得的,我非常喜歡上面那句話:“預測未來最好的方法就是創造它(The best way to predict the future is to invent it)?!?他在1968年就構思了Dynabook(平板電腦的前身),那個時候連個人計算機還不存在!他還被認為是現代計算機圖形用戶界面的架構師和面向對象編程的發明者。
我很想聽聽他對現代移動設備的看法,以及現代設備與他最初設想相比有哪些優劣之處。在技術發展的過程中,我們做對了什么,以及現在還缺少什么。
感謝劉連響老師提供RTP相關問題線索。
延伸閱讀:
《RTP誕生記》
掃描圖中二維碼或點擊閱讀原文
了解大會更多信息
喜歡我們的內容就點個“在看”吧!
總結
以上是生活随笔為你收集整理的对话RTP作者Ron Frederick: 我非常期待QUIC的发展的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何解决和异地女朋友一起看电影的需求?(
- 下一篇: 华为云网络覆盖全球2500+站点,打造高