如何去研究SDN&OpenFlow?

看到一篇值得記下來的文章,原文來自於知乎,網址:http://www.zhihu.com/question/21834316,作者:

楊澤衛

對任何人來講,時間纔是最大的財富,每個人都應該把自己的時間投入到最有意義、最有影響的地方去。經過多年的學習、思考和實踐,我認定這樣一個規律:技術的發展不是均勻的,而是以浪潮的形式出現。每一個人都應該看清楚浪潮,趕上浪潮,如此,便不枉此生。
--《浪潮之巔》吳軍

記得在孟巖的《一個“技術文化人”的片段感悟》中讀到:程序員的進階之道是“擡頭看路,埋頭趕路”。也許SDN的擡頭看路已經相對清楚,更加需要的是埋頭趕路。在開始之前請先看看
怎樣閱讀論文(臺灣彭明輝)(強烈推薦),因爲後面需要閱讀大量的SDN papers,幾乎每一個課程開始都會提到:How to read a paper


0.斯坦福SDN提出者Nick McKeown教授歷年來的演講非常重要Learning by evolution,在開始階段往往容易忽視,等到後面遇到問題的時候才發現真的可以溫故而知新。2008年的Why Can't I Innovate in My Wiring Closet?,2009年的Software Defined Networks,2010年的How should the Internet evolve?,2011年的How SDN will shape networking,2012年的Making SDNs Work,2014年的Software Defined Networks and the maturing of the Internet(伯克利版本,另有ETH版本,內容稍有不同)Nick對OpenFlow&SDN一路過來的認識變化非常之重要,開始自己也覺得這部分內容地球人(當然包括我,自詡看了很多遍)都知道,但是後續遇到問題時才發現自己有多麼可笑


1.普林斯頓的Jennifer Rexford教授,已經代替Scott進入ONF常委,美女教授跟SDN淵源不淺,05年的RCP4D這兩篇論文,後者直接啓發了OpenFlow的誕生,08年OpenFlowNOX的paper作者之一,11年的Frenetic和Pyretic嘗試設計SDN編程語言及庫,課程鏈接:COS-597E Software defined Networking Fall 2013,個人理解是從CS的角度嘗試分析SDN,加深理解SDN的首選。Jennifer的學生Minlan Yu(個人認爲網絡領域值得尊敬的年輕華人,博士論文評價較高)在UCLA的課程:CSCI694b, Software-defined Networking,沒有課程ppt,論文比較齊全


2.哥倫比亞大學Li Erran Li的課程:COMS E6998-10 Fall 2014 Software Defined Networking,內容編排清晰明確,有完整的課程ppt和reading paper,包括SDN概述、基礎概念、可擴展性、編程語言、Verification、Update、數據面設計、虛擬化、TM、安全、無線網絡、Middlebox與NFV、存儲,SDN入門課程的首選。13年的課程:COMS E6998-8 Software Defined Networking,與14年內容有微調,之前是home network


3.喬治亞理工大學Nick Feamster(Jennifer博士後)的課程:CS 4270/8803 Fall 2014 SDN Lab,實驗課安排的非常清晰推薦學習。13年的課程:CS 8001: SDN Seminar,內容安排很全面細緻,對應於Coursera上的開放課程:Coursera.org。非常積極且開放的一位教授,他的課程全部有視頻放在youtube上。另外他的高級網絡課程,非常完整,涉及網絡的方方面面,全是視頻,真實的課堂教學:CS 6250:Graduate Computer Networks,裏面有SDN相關內容


4.蘇黎世聯邦理工學院的課程: Advanced Topics in Communication Networks HS 2014: Software-Defined Networking,其中關於SDN Switch和FPGA部分的內容個人關注比較多,還有Cisco的SDN介紹,Nick在這裏做了2014年的演講,對SDN的理解比較到位,值得一看,2013年的課程:HS2013


5.其他課程:
網絡基礎知識是SDN入門首先要掌握的: 雲計算和數據中心是理解SDN的基礎:
如果用來做實驗和學習NOS,我相對推崇Ryu SDN Framework,一個是python'語言的易用性,另一個是日本人的嚴謹,支持OpenStack插件;如果是工程實踐,那就是OpenDayLight社區貢獻代碼了,唯一的擔心是被巨頭控制,變得不Open。另外開源ONOS非常值得關注和期待。

如果要了解SDN的初創公司,在知乎問題國內外SDN初創公司有哪些?中有介紹;如果要了解SDN的技術書籍,在知乎問題SDN技術書籍有哪些?中有介紹;

如果要了解SDN方面的papers,在知乎問題推薦軟件定義網絡sdn研究重要論文?中有詳細羅列,從SDN overview、Forwarding Abstraction、NOS Basics、Programming language、Data Plane、Verification of Network、Testing and Debugging、Network Update、Use case等方面的論文。

如果要了解OpenFlow DataPlane的設計,首先就是Glen Gibb的博士論文:Reconfigurable hardware for software defined networks,ETH課程中有關SDN交換機和基於FPGA的OFS內容都非常值得看,P4POFIntel-ONP以及Broadcom的OF-DPA都值得關注。業界NPU和Chip廠商的SDN策略,非常好的資料是Linley Group研究機構的Data Center Conference 2014Processor Conference 2013Processor Conference 2014

其他內容:

中文入門資料:
從產業角度看SDN,適合從業者和研究人員快速瞭解SDN的現狀,內容非常豐富,真的只需要看這一本中文書就夠了:《深度解析SDN:利益、戰略、技術、實踐》張衛峯

從技術角度看SDN,適合有一定基礎的從業者和研究人員瞭解SDN的技術框架,內容全面,可以先讀這本中文書:《軟件定義網絡核心原理與應用實踐》

從OpenFlow協議流程角度看SDN,詳細解讀OpenFlow協議和工作流程,中譯本(免費電子書)軟件定義網絡OpenFlow和VxLAN
------------------------分割線-------------------------------
第一步:SDN的history,這裏主要指的是學術界的研究情況:

第二步:what is SDN/OpenFlow,要回答這個問題,需要從兩個方面理解:

一方面是創始人的理解:

另一方面是ONF的標準文檔:

要理解OpenFlow是一種“General Forwarding Abstraction”,Martin在2008年這篇論文:Rethinking Packet Forwarding Hardware值得精讀,也是後續進行dataplane設計的一個綱領。

第三步,Learn SDN the Hard Way?
如果能堅持認認真真走完前三步,那就海闊天空了,從自己熟悉的領域切入即可,不斷補充需要的基礎知識即可,比如我一直在補充雲計算、數據中心、DCN和Distributed Systems,尤其是CS軟件部分,專注即可:The World Needs More Builders and Fewer Talkers
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章