NTT_SDN

前言


這次有幸參加 NTT 研究所 SDN 研討會,這場研討會是第一屆辦在台灣,直接聽 Ryu 的主要開發者來介紹 Ryu 可以說是機會難得啊!總共有兩場一場在臺北的資策會,另一場則在新竹交大的浩然圖書館。議程的內容分為上午場的 Lagopus/Ryu 介紹 及下午場的 Lagopus/Ryu 研習操作。

另外這次也聽到關於 Lagopus 的介紹,這是一款專門為 OpenFlow 協定所造的 Virtual Switch 目前雖是 Alpha 版本,但對 OpenFlow 協定支援度是目前最高,更利用 Intel DPDK 技術做到快速處理封包的功能。

先來看一段官方的介紹:

Intel® DPDK is a set of libraries and drivers for fast packet processing on x86 platforms. It runs mostly in Linux userland.

Ryu 介紹


LogoSet02

這部分由 Ryu 的 Project lead FUJITA桑 來介紹(常在 Mailing List 上看到他),因為整個議程的時間並不長,並沒有很深入的去詳述一些程式的架構或流程,以及開發應用程式的細節,主要還是以一個較為較一般的介紹,但是我還是希望未來若還有機會能辦第二屆或許可以做更深入的討論。

OpenStack-Integration

另外,我覺得這次的 Ryu 的演講都是專注在與 OpenStack 的整合,包括 SDN 到底在 OpenStack 上扮演什麼樣的角色?以及他們團隊在開發與 OpenStack 上遇到什麼樣的挑戰,例如 Scalability 與 Availability 的問題,諸如此類。

Snort-Integration

但是我其實更關注 Ryu 與 Snort 的整合,這部分其實早在2013的3月 Ryu 就有 Fork 出一個專案是關於 Snort-Integration 但是不知道為什麼後來就沒有更新,連帶的 GitHub 的專案網址就消失了,本次我也有問 FUJITA桑 關於這件事,他說請我聯絡他,他會寄給我專案資料包括 source code 最後我拿到但是這份 source code 我執行後發現他還是停在 Ryu 1.8 版本,已經落後目前的版本許久,且並不支援OpenFlow 1.3

Lagopus 介紹


lagopus

這個介紹是我最期待的一個部分,早在年初的時候就有聽到這個 Lagopus 專案的風聲,一款以軟體實作支援 OpenFlow 協定的虛擬交換器 (Virtual Switch) 其實就很像 Open vSwitch 的專案在支持 OpenFlow 協定所做的事情。
Lagopus 其實是一隻叫做雷鳥的鳥類,他居住在海拔非常高的山上。開發者以一句話來形容他 A bird in cloud 我想這應該是要跟雲端接軌的一個 SDN 專案吧?

Intel DPDK (Data Plane Development Kit)

這款 Virtual Switch 最大的特色如前面所提的,它擁有 Intel DPDK 技術的支援,善用這個技術,可以做到快速處理封包的功能。看到這裡,大家心裡不免有些疑問?是不是需要有特定的硬體支援? 沒錯需要採用 Intel 的 CPU 跟 NIC (網路介面卡),但是在網卡部分也不全然需要 Intel 的。有興趣的朋友可以參考以下支援的硬體清單。

  • Supported CPU: Intel Xeon E5, E3, Core i7, i5, i3, Atom
  • Supported NICs

Lagopus inside Switch

這次除了初步認識 Lagopus 之外,還有試著操作看看這套軟體,當然 NTT 這邊提供了已經裝好 Lagopus 支援 OpenFlow 的 Switch (這台是某一家公司提供的硬體上面已經裝好 Lagopus,未免廣告嫌疑XD 有興趣可以私信給我)目前據我所知僅可以裝在 CentOS 上,未來會支援 Debian/Ubuntu 我使用後發現了一些功能尚為較不完善的地方,例如: 加入或移除 flow entry 僅能以 controller 這邊去操控,不能直接透過 Switch 下指令進行操作,這部分在 OpenvSwitch 可以直接用指令做到。說了這麼多缺點也該來說一下優點,它是目前我看到以軟體實做的 switch 支援 OpenFlow 功能最完善的一款 Vswitch 此外它也是目前效能最高的一款 Vswitch 可以參考稍後的比較圖。

Lagopus-Taiwan-20140805