【儀器儀表商情網(wǎng) 解決方案】眾所周知,SDN軟件定義網(wǎng)絡,核心思想就是所謂的“轉(zhuǎn)發(fā)、控制分離”,正所謂一談SDN必談“轉(zhuǎn)發(fā)、控制”,一傳十十傳百,口口相傳。當我們這些產(chǎn)品經(jīng)理到客戶現(xiàn)場交流SDN時,或許客戶也能娓娓道來“轉(zhuǎn)發(fā)、控制、分離”。
SDN,也許你能想到這些:
歸結(jié)起來是這樣幾大特征:
Controller控制器集中控制:集中式/分布式控制器無非是把原本網(wǎng)絡設備從孤立的單點做了橫向的擴張,將所有SDN化的網(wǎng)絡設備統(tǒng)一被控制。
標準協(xié)議接口化:控制器與SDN設備之間的南向協(xié)議的標準化以及控制器北向API接口的標準化都是強調(diào)了SDN畢竟還是處理“網(wǎng)絡”的工作,應用的事SDN“甭管”。
通用硬件:這里和NFV(Network Function Virtualization,網(wǎng)絡功能虛擬化)沒有關系。這里的SDN通用硬件指的是帶有SDN處理芯片的網(wǎng)絡設備或者是能實現(xiàn)SDN功能的網(wǎng)絡設備。
把SDN抽象出來看,其實包括了這樣五個部分:
SDN網(wǎng)絡設備:網(wǎng)絡設備(硬件網(wǎng)絡設備或x86里面的軟件網(wǎng)絡設備)+SDN能力(可以是SDN芯片或開啟SDN功能)
SDN控制器:能處理SDN功能的控制器,可以是軟件方式或軟件嵌入硬件的方式。
SDN APP:這更像是我們熟悉的網(wǎng)絡上層功能,
南向控制協(xié)議:這里場景的控制協(xié)議是Openflow,但絕非僅僅Openflow。可以實現(xiàn)控制功能的協(xié)議其實很多。
北向API:此API的主要作用在于提供SDN控制器及其以下部分(南向控制協(xié)議、網(wǎng)絡設備)能夠作為網(wǎng)絡驅(qū)動供上層應用調(diào)用。
SDN抽象的模型
通常情況下,啟用SDN的交換機可以分成兩種模式:純SDN交換機和混雜模式交換機。
Openflow標準定義了控制器與交換機之間的交互協(xié)議,以及一組交換機操作。這個控制器—交換機協(xié)議運行在安全傳輸層協(xié)議(TLS)或無保護TCP連接之上。Openflow使用TCP端口6633或6653。
每個流表中每個流條目包括三個部分:
(1) 匹配match—使用ingress port,packet header以及前一個flow table傳遞過來的metadata;
(2) 計數(shù)counter---對匹配成功的包進行計數(shù);
(3) 操作instruction—修改action set或者流水線處理
交換機針對SDN有一個比較重要的消息類型:Packet-In,主要針對未知數(shù)據(jù)流無法命中流表的時候,作上送控制器的操作。
同樣,SDN控制器也有一個比較重要的消息類型:Packet-Out,主要針對下游SDN被管理設備,用于控制器指定從交換機的特定端口發(fā)送數(shù)據(jù)包,或者用于轉(zhuǎn)發(fā)通過Packet-in消息接收到的數(shù)據(jù)包。Packet-Out報文中包含明確的Action動作。