格局為上,寫程式碼之餘要懂點兒SDN
小引子:十年河東,十年河西
網路界每隔十年八載就會有具有格局性影響的新技術出現,二十多年前是IP與OSI之爭,十多年前是ATM,最近幾年的熱門技術毫無爭議就是SDN。但若論對行業格局影響之深與範圍之廣,還是以目前的SDN為最。
SDN(Software Defined Networks,軟體定義網路)是美國史丹佛大學提出的,它是以OpenFlow為基礎,為建設網路的創新平臺設計的。目前SDN的概念已經被泛化,泛化後的SDN目標大體有:簡化網路操作,提升網路效能,提供網路創新平臺,研究下一代網路技術。SDN不僅是Software Defined Network的縮寫形式,同時也是Software Defined Networking和Software Driven Network的縮寫形式。這“三種”SDN,從應用場景角度可以分為兩類。一類是用於創新網路的場景,基於OpenFlow的Software Defined Network;另一類是為了簡化網路操作、優化網路結構和效能的Software Defined Networking和Software Driven Network。
SDN更像什麼:獨角獸還是鴨子
獨角獸是古代神話傳說中一種頭頂正中長有一支單角的動物。獨角獸的形象在一定程度上反應了許多經驗豐富的網路專業人士對SDN的共同感覺。雖然這種感覺在某些方面是合理的,但SDN這隻獨角獸的確有血有肉,而不僅僅是個傳說。
鴨子是一種極其常見的家禽。鴨子游動時大多數的動作都在水下完成,而這些動作是無法輕易觀察到的。強健的腳掌在水面下滑動著,推動鴨子前進,這與軟體定義網路在很多方面有著相似之處。
SDN的前世今生
從歷史上看,網路配置狀態大致總是靜態的、不變的,並且通常是不讓碰的。通常是要在一臺裝置上手動和基於命令列(CLI)進行配置,網路管理基本靠 “螢幕抓取”或使用Expect指令碼的方式來解決可管理性問題和核心的可擴充套件性問題(剪下和貼上方式)。程式設計介面最高階基本就是XML介面和執行Perl、TK/TCL和Expect。然而,當要對付一個大系統的許多臺路由器、交換機和伺服器時(以及面向的服務要在多個域的不同使用者、許可權和策略中來路由通訊流量時),控制和管理狀態需要以一個操作來應用到全網。一個接一個地對網元的管理根本就不夠靈活和敏捷,也無法支援動態或瞬時資料(配置和狀態無法持久地保持在配置檔案中)的概念。但當SOA原則開始向下改變南向介面,在網路層得到應用並獲得了認可時,新的體系結構伴隨著網路技術的進步,使軟體定義網路得以出現,使用者得以用新的方式來實現網路的力量。
是的,路由器、交換機、伺服器、閘道器等的協議介面確實已有多年曆史了。幾十年來,網際網路中對訂閱使用者、會話和應用程式等相關的動態資料進行程式設計確實存在並得到了廣泛部署。這些協議的伺服器(如Radius、Diameter、PCMM、COPS、3GPP)都可以被視為早期形式的SDN,難道它們不是嗎?現在有點不同的是,SDN體系結構的一個主要功能是:能夠在一個平臺上編寫應用程式,該平臺把從不同來源或資料庫獲得的資料定製化為一個網路範圍的操作。
SDN目前非常熱門,無論是產業界還是學術界都給予了充分關注,儘管SDN脫胎於史丹佛大學提出的OpenFlow, 但實際上SDN目前的發展已經遠遠超越了OpenFlow當初的概念,以谷歌為代表的網際網路行業最先試水,Verizon等電信運營商不甘落後,企業網領域也躍躍欲試。而在國內,百度、騰訊、阿里巴巴等眾多網際網路巨頭企業也多次強調SDN對其未來發展戰略的重要性。
業界會議
2014年5月20日~21日,即將在北京遼寧大廈舉辦的2014全球SDN技術大會將邀請來自全球眾多網際網路應用企業代表及雲端計算專家,圍繞SDN技術在網際網路的應用落地等議題,通過展示其SDN解決方案,現場解讀SDN應用部署及未來發展方向。
熱門圖書推薦
更多資訊請閱讀www.ituring.com.cn/book/1261。
相關文章
- 程式設計師該懂一點兒KPI程式設計師KPI
- EA指令碼編寫要點指令碼
- 程式碼之間為什麼要加空格?
- 程式設計師也得懂點兒理財知識程式設計師
- 為什麼程式設計師要儘量少寫程式碼程式設計師
- JavaScript寫程式碼要規範JavaScript
- 要點提煉| 理解JVM之程式編譯&程式碼優化JVM編譯優化
- 寫讓別人能讀懂的程式碼
- 殭屍程式,孤兒程式,wait,exit,execl等函式使用要點AI函式
- 【面試篇】寒冬求職季之你必須要懂的原生JS(上)面試求職JS
- 為什麼 Python 程式碼要寫得美觀而明確Python
- 正確編寫C++程式碼的10個要點(2-1)C++
- 編寫可移植C/C++程式的要點C++
- 為什麼谷歌要執行嚴格的程式碼編寫規範谷歌
- 【DBA100人】臺楓:DBA不僅要懂運維還得懂程式碼運維
- 每天學點C++知識:複製貼上程式碼千萬要小心C++
- 程式設計女孩兒:誰說女生不適合寫程式碼!程式設計
- 編寫讓別人能夠讀懂的程式碼
- 餘晟:做個懂產品的程式設計師程式設計師
- 錢伯斯:新時代CEO不僅要懂技術 還要寫部落格
- 程式碼的印象派:寫點好程式碼吧
- jQuery之父:每天都寫點程式碼jQuery
- 寫在平臺大戰之後:為什麼我要重寫自己的UIKit?UI
- BIO到NIO原始碼的一些事兒之NIO 上原始碼
- 創新工場王詠剛:為什麼 AI 工程師要懂一點架構?AI工程師架構
- 為什麼說遊戲策劃要懂點美術?看完這篇你就明白了遊戲
- 為什麼我要垂直對齊程式碼
- 為什麼我要豎向對齊程式程式碼
- 何為程式碼質量?——用腦子寫程式碼
- 程式設計師 為什麼要堅持寫部落格程式設計師
- 如何讀懂並寫出裝逼的函式式程式碼函式
- 運維工程師為什麼要懂Python?運維工程師Python
- 我主業不寫程式碼,你就叫我業餘程式設計愛好者?程式設計
- 把“事兒”辦成的4個要點 | 享受工作系列
- Java 程式設計要點之 I/O 流詳解Java程式設計
- 寫點程式碼開心一下
- 上課聽得懂,但是敲不出來程式碼怎麼辦?
- 作為程式設計師為什麼要閱讀原始碼程式設計師原始碼