本文轉載自:http://blog.csdn.net/freezgw1985/article/details/16873677
個人覺得對很適合對SDN的入門級的概念性理解,先暫時copy一下,等研究深入之后,再慢慢補充自己的東西。
1. 何為SDN
1) 為什么需要一個全新的網絡架構,比如SDN?
在傳統的架構中,交換機和路由器不得不在操作6000種分布式協議的控制下實施整個網絡的智能。這就意味着,即使只有一個網元增加了一種新的協議,也需要所有其他網元做出相應的結構變更。事實上,在網絡中增加一種新的協議往往需要數年時間,才能最終完成標准化到實際部署的過程。
SDN使得網絡可編程化,這就使得網絡在滿足用戶的需求方面更加靈活。
2)SDN的架構是怎么樣的?
SDN將控制功能從網絡交換設備中分離出來,將其移入到邏輯上獨立的控制環境------網絡控制系統中。該系統可以在通用的服務器上運行,任何用戶可以隨時,直接進行控制功能編程。控制功能不再局限於路由器中。控制系統提供一組API,用戶可以通過API對控制系統進行監控、管理、維護。
補充基本概念:
(1) 控制平面:是數據網絡中做出轉發決定的元素,如路由協議,選路策略以及網絡設備上運行這些協議的軟硬件資源等。
其決定包括往那條路徑上轉發,是否要啟用多條路徑轉發同一個數據流等。
(2) 數據平面是指定控制平面轉發決定的部分,包括數據封裝解封裝技術,網絡協議的告訴轉發芯片等。
2. SDN的好處
1) SDN加快了新業務引入的速度。網絡運營商可以通過可控的軟件部署相關的功能,而不必像以前那樣等待某個設備提供商在專有設備上添加相應的方案;
2)SDN降低了網絡的運營費用。消除了應用和特定網絡的細節----比如,端口和IP關聯,使得無需花費時間和金錢配置網絡設備;
3)SDN有助於實現網絡虛擬化。長期以來通過命令行接口進行人工配置,一直在阻礙網絡向虛擬化邁進。
4) SDN讓網絡乃至所有IT系統更好地以業務目標位導向。增加軟件模塊來增加SDN功能。
5) 簡化網絡部署。
3. openflow在SDN中扮演的角色是什么?
openflow是SDN的三大關鍵要素之一。
SDN的第一關鍵要素是轉發和控制分離,這使得網絡交換機轉發變得更加簡單,高效;同時,控制變成可網絡操作系統中一個相對集中的邏輯功能。
第二大關鍵要是是openflow協議,它向交換機傳送轉發表,交換機依此轉發報文。這種做法與傳統網絡完全不同。在傳統網絡中,交換機和路由器需要自己決定報文的轉發路徑,照成成本增加,性能降低。
第三個關鍵要素是具有一致性的,全系統范圍的網絡操作系統可編程接口,他能讓網絡實現真正意義上的可編程或者軟件定義網絡。
openflow協議不是必須的,可以通過其他途徑,只需要將流量表信息傳遞給交換機。
4. 網絡設備基於流的工作模式
為了保證轉發數據的效率,大部分網絡設備都是基於流轉發的。以全新的FTP為例:
(1) FTP業務的第一個數據表抵達交換機時路由協議或二層選路協議計算出這個數據包的出端口,並將結果存入交換機的TCAM(三元內容可尋址內存,也就是記錄着從哪里可以到哪里去)。
(2) 當交換機的數據平面收到數據包時,它將數據包的地址信息(也就是“從哪里來”信息)與TCAM比對,如果能查到一直的表項,交換機根據查詢結果(也就是“去哪兒”信息)進行轉發。
注意:在整個過程中,交換機控制控制平面只需對每個流的第一個數據包進行路由計算(交換機控制平面做的工作),並且將結果寫入TCAM,后續的判定通過查找TCAM。好處是大大提高了轉發效率。
5. SDN Controller的工作模式
SDN也就基於flow工作,SDN Controller的主要工作是建立和管理維護交換機上flow table。那么與傳統的工作有何不同?SDN有兩種工作模式:
(1)主動模式:
SDN Controller將Flow table信息一次性下發到數據平面所在的交換機,數據平面收到的包如果找不到對應Flow table就丟棄。當然SDN Controller主動更新數據平面的flow table內容。
這種模式的好處是數據平面在處理數據包時幾乎沒有等待控制器處理時間,大大縮短轉發時延。壞處是對數據平面Flow table的容量有很高的要求。
(2) 被動模式:
在數據平面收到新的數據包時,控制平面才會將相關flowtable信息下發。