一般來說,每一個領域必然有那么幾個的先驅人物,而Nick教授就是網絡領域尤其是SDN領域的先驅。但Nick教授的傳奇性不僅僅是因為他在學術界的巨大貢獻,更因為他在學術產業化方面近乎傳奇的表現。接下來就來介紹一下Nick McKeown教授及其帶領的團隊The McKeown Group在SDN領域的傳奇之路。前幾天用了一下netFPGA,偶然得知netFPGA竟然也是Nick教授課題組推出的,出于好奇,仔細研究了一下SDN及NickMcKeown教授。也發現某些型號的netFPGA如NetFPGA-1G-CML不能很好的支持6802同步。
今天小編要給大家介紹的是一位SDN領域的傳奇人物——Nick McKeown。
Nick McKeown,斯坦福大學教授、博士生導師,美國國家工程院院士,美國藝術與科學學院、英國皇家工程院院士、開放網絡實驗室(Open Networking Lab)創始人之一,Clean Slate項目主任,曾獲得英國計算機學會Lovelace Medal獎,IEEE Kobayashi計算機與通訊獎,ACM Sigcomm終身成就獎和IEEE Rice通訊理論獎,同時還有ETH榮譽博士學位。一大長串各種在學術界和研究界的頭銜,令人目不暇接。
netFPGA、SDN和Nick McKeown教授。
A good choice make a man
Nick教授與網絡的不解之緣始于上世紀80年代的HP實驗室,在惠普實驗室他首次接受了網絡領域的科研工作,一位網絡領域大牛的種子自此種下。雖然當時他本人的意愿是從事AI的研究或計算機系統架構領域,但惠普實驗室讓Nick投身于互聯網路由器架構領域。自此以后,Nick McKeown一直站立在網絡架構領域的浪潮之巔。
對于一名十分熱愛工程學的研究者而言,當Nick McKeown發現英國的網絡技術氛圍已經不能滿足他的需求,特別是當加利福尼亞的激情與其噴涌而出的技術行業在他的工作中一覽無遺時,美國無疑看上去對他是一個更好、更具吸引力的選擇。
于是Nick McKeown果斷選擇到加州大學的伯克利分校進行學術碩士生涯的研究,之后他博士的工作轉向了計算機網絡領域,其課題的官方名稱是 “Scheduling Cells in an Input-Queued Cell Switch”,但Nick McKeown解釋說它真正做的事情是考慮如何盡可能地提升路由器和交換機的速度。該課題始于他在攻讀碩士時所上的課程, Nick McKeown和他的三位同學一起發明了“世界上最快的路由器”,該系統的速度比其他的方案快了近十倍,他們稱之為“Bay Bridge”并將其應用到了思科的GSR路由器中,GSR最終也成為了一款思科的旗艦路由器。
即便在SDN興起之前,Nick McKeown也是當之無愧的網絡路由交換領域的潮流引領者。從HP的實驗室,到斯坦福大學,再到打造思科GSR系列路由器旗艦產品,Nick McKeown持之以恒專注在網絡創新技術研究并以絕對的技術實力站立在網絡架構領域的第一梯隊。
Nick McKeown與SDN的不解之緣
SDN起源于斯坦福大學Nick McKeown教授團隊的Clean Slate項目,最初的SDN方面的學術貢獻幾乎由Nick McKeown所在的斯坦福大學包攬全局。Nick McKeown帶領的博士Martin Casado(業界稱他為SDN之父)在2006年在RCP和4D論文基礎上,提出了一個邏輯上集中控制的企業安全解決方案SANE,打開了集中控制解決安全問題的大門。一年后Casado博士在SANE基礎上實現了面向企業網管理的Ethane項目, 這是SDN架構和OpenFlow的前身。
2008年,Nick McKeown、Scott Shenker、Larry Peterson和普林斯頓大學的Jennifer Rexford教授等一起發表了介紹OpenFlow的論文[N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford, S. Shenker, and J. Turner, “OpenFlow: enabling innovation in campus networks,” SIGCOMM Comput. Commun. Rev., vol. 38,no. 2, pp. 69–74, Mar. 2008.],標志著OpenFlow的誕生。同年,The McKeown Group發布了第一個開源SDN控制器NOX-Classic,也實現了基于開放創新平臺NetFPGA的OpenFlow交換機【J. Naous, D. Erickson, G. A. Covington, G. Appenzeller, and N. McKeown, “Implementing an OpenFlow switch on the netfpga platform,” in Proceedings of the 4th ACM/IEEE Symposium on Architectures for Networking and Communications Systems, ser. ANCS ’08.】,而NetFPGA也是Nick教授他們發明的。2010年Nick的團隊發布了Mininet。迄今為止,Nick團隊發布的這些軟件依然被業界廣泛使用。
2011年Nick McKeown以及Scott Shenker創立了ONF(開放網絡基金會),同時與和Scott Shenker、Larry Peterson創建了ON.Lab的前身——開放網絡研究中心ONRC,隨后與Guru Parulkar和Scott Shenker創建了開放網絡實驗室(ON.Lab)。這兩大組織的成立,成功地將SDN推到前臺,并獲得業界的廣泛關注,為推動SDN被業界廣泛采用奠定了基礎。
由Nick教授帶領下的斯坦福大學的團隊,不僅在SDN創立初期在學術界起到了重大的推廣作用,在開源開放組織中也發揮了重要作用,Nick教授總是能敏銳地捕捉到業界發展的方向,把握業界的脈搏。
Nick McKeown的創業史
硅谷濃烈的創業氛圍影響著斯坦福大學的Nick McKeown教授,作為一個在學術界和產業界都游刃有余的科學家,Nick McKeown曾經創業過若干公司,引領網絡技術變革潮流,推動創新技術商業化。
SDN概念興起之前
1997年,他和Anders Swahn一同創辦了Abrizio公司,該公司于1999年被PMC-Sierra收購,股票價值4億美元。2003年他和Sundar Iyer共同創辦了Nemo Systems公司并擔任CEO,并且在2005年,該公司被思科以1250萬美元的現金收購。
SDN概念興起之后
Nick McKeown、Scott Shenker和Martin Casado成立了Nicira,并且在2012年被VMware以12.6億美元的高價收購,開啟了SDN創業的大時代。2013年,又聯合創立了數據平面可編程的芯片公司Barefoot Networks。由普林斯頓大學的Jennifer Rexford和斯坦福大學的Nick McKeown兩位教授主導并創立的可編程語言P4,打開了網絡領域的另一扇門。而在2013年成立的Barefoot Networks正是開發可編程芯片的公司,該公司推出的Tofino芯片是目前市面上最快的芯片,吞吐量達到6.5 Tb/s且已經向業界提供產品。
僅僅數年之間,硅谷誕生了數十家SDN初創公司,其中與Nick McKeown有直接或間接關系的有其博士Guido等創辦的Big Switch,他帶領的另外四位博士生創辦了Forward Networks,值得一提的是Nick McKeown的博士學生Glen等則創辦的Barefoot Networks,Nick教授在該公司擔任首席科學家和合伙人的職位。將SDN發展史上的大事件整理如下圖所示,曲線上方是推動SDN發展的開源組織和業界廠商,以及產業界的標志性事件。曲線下方是支撐SDN逐步成熟的關鍵技術,主要是SDN學術界的研究成果。這兩部分內容組成了一部完整的SDN演進史。我們可以從中找到許多和The McKeown Group相關的信息。
任何技術的創新發展離不開持之以恒的關注與貢獻,Nick教授帶領的團隊正在SDN的大潮中發揮愈發重要的作用。我們可以看到幾乎處處能見到Nick教授的身影,不僅僅是在學術領域,更在產業界。他的團隊和他的合作單位幾乎創造出了一個新的學術研究領域,然后又在這個新領域創立了很多新公司,成功將知識產權產業化,轉化為商業運作,其商業嗅覺堪稱一絕。所以筆者認為Nick教授團隊的在SDN的發展之路的表現堪稱傳奇。
netFPGA開發板上實現6802同步遇到的問題
前幾天對TTE網絡進行調試時,發現NetFPGA-1G-CML在特定情形下,傳輸時延會在最小接近10us,最大接近20us之間變動,導致TTE網絡完全不能正常實現6802同步,而其它開發板的傳輸時延基本保持在1us左右,時延抖動很小。以下是我們的調試場景和分析。
硬件平臺
NetFPGA-1G-CML:有4個千兆RGMII接口,使用RTL8211E-VL以太網接口控制芯片;
ZYNQ706開發板:有4個千兆RGMII接口,使用FMC拓展板接口;
以及作為端系統的黑金的A7 PCIe開發板,帶有兩個千兆網口。
1、發現問題
調試場景1
使用兩塊A7作為端系統,用一塊NetFPGA-1G-CML作為TTE交換機;第一塊A7的端口1連接TTE交換機,端口2連接Wireshark,用來抓取端系統所發送的數據幀;第二塊A7的端口1連接TTE交換機,端口2連接TTE網絡監測軟件,用來監測TTE網絡的網絡運行狀況。連接拓撲圖如下:
調試現象(兩個端系統不能正常同步):
端系統和交換機不能同步,用Wireshark軟件進行抓包,發現端系統一直向交換機發送CS同步幀,而交換機一直沒有回復CA同步幀;我們多次改變交換機和端系統的端口連接拓撲,仍然不能正常同步。
調試場景2
使用一塊A7作為端系統,用一塊NetFPGA-1G-CML作為TTE交換機;端系統的端口1連接TTE交換機,端口2連接Wireshark,用來抓取端系統所發送的數據幀。拓撲圖如下:
調試現象(單個端系統能夠正常同步):
端系統和交換機正常同步,用Wireshark軟件進行抓包,發現端系統與交換機正常收發PCF同步幀、TT業務數據幀、ET業務數據幀(分為RC數據幀和BE數據幀);換另一塊A7連接交換機,也正常同步。
調試場景3
使用兩塊A7作為端系統,用一塊ZYNQ706作為TTE交換機;第一塊A7的端口1連接TTE交換機,端口2連接Wireshark,用來抓取端系統所發送的數據幀;第二塊A7的端口1連接TTE交換機,端口2連接TTE網絡監測軟件,用來監測TTE網絡的網絡運行狀況。拓撲圖如下:
調試現象(同步正常):
端系統和交換機正常同步,用Wireshark軟件進行抓包,發現端系統與交換機正常收發PCF同步幀、TT業務數據幀、ET業務數據幀(分為RC數據幀和BE數據幀);TTE網絡監測軟件監測到TTE網絡正常運行。
問題分析:
場景2和場景3的現象基本可以驗證TTE交換機代碼能正常運行。初步懷疑NetFPGA-1G-CML上的RTL8211E-VL以太網接口控制芯片可能存在問題,所以我們用TestCenter分別測試了NetFPGA-1G-CML、ZYNQ706的接口時延,測試場景和測試結果如下。
接口時延測試場景1
用內部邏輯連接NetFPGA-1G-CML的端口1和端口2,用TestCenter的端口1和端口2分別連接NetFPGA-1G-CML的端口1和端口2,打流,然后查看時延以及抖動。拓撲圖如下:
測試現象如下:
現象分析:最小時延和最大時延均比較小,時延抖動較小。
接口時延測試場景2
用內部邏輯連接ZYNQ706的端口1和端口2,再用TestCenter的端口1和端口2分別連接ZYNQ706的端口1和端口2,打流,然后查看時延以及抖動。拓撲圖如下:
測試現象:
現象分析:最小時延和最大時延均比較小,時延抖動較小。
接口時延測試場景3
用內部邏輯分別連接NetFPGA-1G-CML的端口1和端口2,端口3和端口4,用網線連接NetFPGA-1G-CML的端口2和端口3,再用TestCenter的端口1和端口2分別連接NetFPGA-1G-CML的端口1和端口4,打流,查看時延以及抖動。
測試現象:
現象分析:最小時延和最大時延均比較大,且兩者差值比較大,時延抖動較大。
接口時延測試場景4
用內部邏輯分別連接ZYNQ706的端口1和端口2,端口3和端口4,用網線連接ZYNQ706的端口2和端口3,再用TestCenter的端口1和端口2分別連接ZYNQ706的端口1和端口4,打流,查看時延以及抖動。
測試現象:
現象分析:最小時延比較小,最大時延比較大,但是平均時延接近最小時延,說明數據幀的傳輸時延基本和最小時延相近,時延抖動比較小,端口正常工作。
接下來我們查看RTL8211E-VL以太網接口控制芯片手冊,通過MDIO程序對PHY的寄存器進行查看與配置。讀取0號寄存器的值為0X1140,查詢PHY手冊顯示其值的含義為自適應全雙工狀態,與其他PHY芯片的默認工作狀態類似。
我們又通過MDIO程序配置PHY芯片,并采用如下拓撲圖進行測試:
測試現象:
初步結論:
RTL8211E-VL以太網控制芯片在1000M全雙工工作模式下,可能存在時延較大,時延抖動過大的現象,這可能會影響到TTE網絡的正常工作。
2、分析問題
為何netFPGA四個網口單個能夠實現6802同步,如果同時用兩個或兩個以上網口的時候時延和抖動都會發生很大變化而導致無法實現6802同步呢?懷著這樣的疑問,我們查閱了一下netFPGA四個網口的原理圖,發現四個PHY芯片的時鐘都連到了同一個晶振上,會是這樣的原因嗎?
后來,我們使用了netFPGA上的FMC擴展槽,接到了自己設計的四端口擴展板上,利用擴展板上的四個千兆網口,再進行同步就可以正常工作了。
擴展板上的四個網口對應的四個PHY芯片都有獨立的晶振時鐘:
不過,還是那個問題,多個RJ45接口對應的PHY芯片是否有獨立時鐘,會影響傳輸時延和抖動嗎?希望大家留言討論。
啟發
以前總聽說netFPGA,但從未用過。這次用了一下,感覺不過如此。并且,這樣的板子包括板子上的硬件軟件等一切(也包括最新的10G接口的netFPGA),暫且不提國內諸多知名的研究網絡的團隊,目前筆者所在的課題組就完全具備非常成熟和完善的實力去實現和替換。但問題在于,為什么老美的斯坦福大學就能提出netFPGA這樣的開源設計方法和理念?又或者SDN為何不是國內某個大學的實驗室提出的?為何Nick McKeown教授就能兼顧學術和產業化推廣,并且都很成功?這些都是值得思考和學習的。
看了一下Nick McKeown教授的個人主頁,作為SDN的鼻祖,文章也不是很多。令人佩服的是,作為一個產業化和學術都很成功的教授,個人主頁上竟然同時還有很多教學相關的內容,還開發出了讓全世界都能使用的netFPGA平臺。這才是一個真正厲害的教授。
或許國內還是停留在跟的階段,TTE/TSN火了,大家都來做TTE/TSN,所有的文章都要跟這些概念掛上勾;AI火了,就把所有的文章里都添加上AI算法;似曾相識,上個世紀九十年代,ATM火爆的時候,甚至連很多做無線的文章里都能跟ATM扯上關系。
不過,隨著國家各方面改革的不斷推進,相信以后在國內強大的市場需求推動作用下,未來引領世界先進網絡技術的重擔必定會落在咱們中國人的肩上。加油!
-
互聯網
+關注
關注
54文章
11149瀏覽量
103246 -
計算機
+關注
關注
19文章
7489瀏覽量
87875
原文標題:SDN先驅Nick教授以及netFPGA無法完美實現6802時間同步
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論