作者簡介:鄭敏先,任職于諾云信息系統(tǒng)(上海)有限公司,擔(dān)任售前工程師。從事SDN、白盒交換機(jī)和云計算相關(guān)產(chǎn)品的推廣工作。
Openflow
Openflow 1.0 規(guī)范于2009年發(fā)布后被芯片廠商當(dāng)成新生事物來看待,芯片廠商并沒有立即開發(fā)面向Openflow的全新芯片。因為Openflow太超前的理論和現(xiàn)實存在巨大的鴻溝:Openflow 和傳統(tǒng)的交換機(jī)芯片架構(gòu)存在根本性差異,廠商如果100%遵從該規(guī)范的話,單從技術(shù)上來看難度就很大。此外打造一顆全新的產(chǎn)品在芯片行業(yè)是極大的資金和時間付出。而且就算兩三年后造了出來,有沒有客戶為其買單也是疑問。仔細(xì)掂量之后,主流交換機(jī)芯片廠商對Openflow 并不感冒,處于觀望狀態(tài)。
TTP/NDM
ONF 在這種情況下成立了專門的工作組,思考如何以最低的代價開發(fā)出支持Openflow的交換芯片,即使是“縮水版”的Openflow芯片也行。在這樣的前提下,ONF最終提出了TTP/NDM方案。
NDM(可協(xié)商的數(shù)據(jù)轉(zhuǎn)發(fā)模型)其實是一個框架,允許廠商基于實際的應(yīng)用需求和現(xiàn)有的芯片架構(gòu)來定義不同的轉(zhuǎn)發(fā)模型。TTP是NDM的一個具體模型。
雖然按TTP方案實現(xiàn)的是“縮水版”的Openflow芯片,但實際上大部分的場景并不會把Openflow的全部匹配域都用上,流表級數(shù)也不會有大幾十級,縮水版的芯片基本可以滿足這些場景。如下圖所示,“ * ”代表沒有用到的匹配域:
由于實現(xiàn)Openflow功能芯片是基于已有的芯片,推出速度會很快,成本和普通交換機(jī)相當(dāng),交換芯片廠商就很樂意了。下圖就是某芯片廠商利用其已有芯片的實現(xiàn)多級流表的一個示例:
OF-DPA
交換芯片大廠博通(Broadcom)按照TTP 實現(xiàn)Openflow功能的方案就是OF-DPA(Openflow Data Plane Abstraction)。它是一個應(yīng)用軟件組件。實現(xiàn)了 Openflow與Broadcom SDK間適配層的功能。OF-DPA在博通交換芯片上擴(kuò)展性的支持了Openflow 1.3協(xié)議。博通遵循TTP方案將其傳統(tǒng)的ASIC架構(gòu)映射到Openflow的流水線(Pipeline),即由OF-DPA做了一個轉(zhuǎn)換(映射)來實現(xiàn)Openflow功能。
OF-DPA目前有三個版本:
OF-DPA 1.0
基于OpenFlow 1.3.1
2014.2正式發(fā)布
OF-DPA 2.0
基于OpenFlow 1.3.4
2014.11正式發(fā)布
比 OF-DPA 1.0增加一些電信運營商網(wǎng)絡(luò)功能,如MPLS-TP、OAM、保護(hù)切換等。
OF-DPA 3.0
博通官方尚未正式發(fā)布 OF-DPA 3.0,但是ONF社區(qū)的子項目如Atrium/Trellis/CORD 等已經(jīng)用上它的Beta版本即EA (Early Access) 版本:
OF-DPA軟件包目前分為兩塊:
OEM和ODM版本的開發(fā)包(ODP,OEM & ODM Development Package),是按照博通SLA協(xié)議進(jìn)行分發(fā)的完整源代碼包。
社區(qū)版本開發(fā)包(CDP,Community Development Package ),它其實就是一個公開的API庫,用于應(yīng)用程序開發(fā)。文末提供其GitHub鏈接。
小結(jié):
筆者認(rèn)為成熟的SDN硬件設(shè)備(如SDN交換機(jī))應(yīng)當(dāng)至少擁有這三大屬性:可編程性、自動化和跨廠商的互操作性。
ONF 提出的Openflow 提供了轉(zhuǎn)發(fā)平面的可編程能力;ONF旗下子項目 Trellis 提供了Openflow交換機(jī)的自動化部署和管理功能;
ONF提出的TTP 為Openflow 交換機(jī)的快速推出、不同廠商的Openflow交換機(jī)實現(xiàn)的互操作性提供了一個可行方案。
SDN的未來
P4 是由提出Openflow 的同一批創(chuàng)新者們(Nick McKeown等)提出的。他們認(rèn)為P4是Openflow的繼承者,可以真正實現(xiàn)無與倫比的靈活性。
P4起初只能被Barefoot 的Tofino芯片支持,但隨著可移植交換架構(gòu)PSA (Portable Switch Architecture)的提出,從理論上講其它廠商的芯片也能夠提供“縮水版”的P4功能。
PSA之于P4就相當(dāng)于TTP/NDM之于Openflow 。
來源:SDNLAB