當SDN 遇到物聯網結果會怎么樣?
工業物聯網(Industrial Internet of Things,簡稱 IIoT)預示著一股新的現代化浪潮,在許多行業,客戶和內部利益相關者要求在生產力、管理、安全和靈活性方面取得更多的進展。但是,IIoT的部署仍然面臨相當大的阻力,主要是那些人工管理的基礎設施,切這些基礎設施大多不安全。 Fog 計算提供了一個創新的解決辦法,通過在信息技術工具集框架內提供安全的技術基礎設施,從而解決這些挑戰。
圖1 | 典型工廠的布局
圖1顯示了一個典型的工廠,服務和工作負載更多地以IT為中心(比如說,工廠數據中心) ,并隨著它們向下層移動,逐漸變得以OT為中心(比如說,工廠機器)。軟件定義的資源分配和管理正在Fog計算范式中獲得了推動力,因為它使工廠運營者能夠更好地適應未來的需求。從網絡的角度來看,這將轉化為使用軟件定義的網絡(SDN)來實現整個工廠的虛擬網絡功能(VNF)。
圖2 | SDN 內部組件
圖2展示了典型 SDN 解決方案的一個視圖,并包括以下組件。
- SDN應用程序
- SDN NBI允許SDN應用程序與 SDN控制器通信
- SDN控制器
- SDN控制數據平面接口(CDPI)允許 SDN控制器與 SDN 數據路徑的對話
- SDN 數據路徑
- 這個方案的策略管理和性能監控
在以IT為中心的環境中,使用了很多的開源(和一些封閉的)解決方案來實現上述每一個組件。 其中比較突出的包括 OpenStack,VMware NSX,Cisco 數字網絡架構等。
然而,IIoT 環境在 SDN 生態系統中引入了一些約束條件,需要重新設計一些SDN組件。
- 惡劣的操作環境導致了大部分的無風扇計算系統。這些無風扇設計嚴重削減了可用的計算量,主要是因為他們的可用溫控受到限制。雖然新的處理器設計一直提高低功耗的性能,但在可預見的未來,IIoT將滯后于(有時相當顯著)在一個典型的數據中心。
- 與數據中心環境不同,在一個典型的工廠中計算是稀疏的,通常不是普遍可達的(見圖1)。 這引入了 SDN組件的擴展問題。
- 客戶業務邏輯對于可用計算的微弱數量而言,需要重新考慮如何實現這些 SDN 組件(并且它們的相互連接)
- 在一個典型的工廠中(特別是底層)缺乏一個有效的界限,這意味著這些 SDN 組件需要特別注意它們的可用性和彈性。 這樣的考慮,從計算上來說更加糟糕。
考慮一個簡單的基于虛擬網絡功能(VNF)的解決方案,其中包括:
- 自學習橋接器
- 連接到上述橋接器的多個虛擬機(或容器)
- 接到上述橋接器的一個或多個機器或傳感器
- 防火墻,以限制上述通訊端點之間的數據流
- 運營商管理防火墻的一些方法
圖3 | VNF實現的示例拓撲
表1提供了 VNF 解決方案映射到 SDN 組件的方式,以及如何實現(內核空間與用戶空間)。
表1 | Linux 工具與 OVS 的比較
表2顯示了使用(a) Linux 工具(使用 Linux 橋和 Linux 防火墻)和(b) OVS 處理各種流量類型的方式。
表2 | Linux 工具與 OVS 的穩態比較
由于整個解決方案都是在軟件中實現的,因此在選擇與IIoT部署有關的任何選項時必須列舉設計方面的因素:
- 控制器和 CDPI之間的通信是軟件交換(要么搭配到相同的計算機上,要么穿過工廠的網絡) ,從而消耗CPU
- 控制器本身消耗CPU
- OVS解決方案涉及到由CDPI代理和控制器(兩者都在用戶空間中實現)處理的雙關(例如,異常和慢路徑協議)流量。 這與 Linux工具的解決方案相反,在Linux解決方案中,這種流量完全是在內核內處理的。 因此,OVS解決方案會在每個數據包的基礎上發生上下文交換(內核和用戶空間之間)的開銷。 如果存在網絡干擾(比如因端點錯誤導致的流量洪流,預期的流量爆發,導致STP重新計算等等) ,這些上下文轉換會變得相當嚴重。
一般來說,在 IIoT 環境中的 SDN 部署需要考慮到以下因素:
CPU核心計數很重要。在CPU核心方面,VNF需要在本地擴展。 此外,可用的 CPU 核心數量越大,越容易將VNF釘到特定的核心,從而提供更大的性能和彈性。 一般來說,這不僅提高了 VNF 的可用性,還提高了客戶業務邏輯的可用性。
單線程性能很重要。由于在IIoT環境中的擴展困難,VN 必須具有處理網絡工作負載爆發的能力。由于典型的VNF是單線程的,高的單線程性能將導致更好性能的SDN解決方案。
溫控范圍很重要。由于IIo 環境通常采用無風扇設計,所以一個有效的SDN解決方案要求 CPU 核心和單線程性能具有低功耗的特性。
VNF的卸載問題。雖然考慮快速路徑卸載,如DPDK和 IOVisor,這些卸載仍然是以 IT 為中心的工作負載。例如,Intel 的 DPDK 需要為 DPDK 處理保留一些 CPU 核心。 這不符合在這些IIoT環境中的核心計數。需要卸載的不僅僅是一個通用的快速路徑,而是卸載整個VNF。這并不意味著IIoT環境需要接受專用路由器和交換機。相反,卸載需要包括可重構的FPGA。每個VNF IP都可以優化用于 IIoT 環境,并且可以在工廠中使用的 FPGA 上的閃存。這不僅可以卸載VNF功能,而且也減輕了VNF的緩慢路徑(和其他控制平面)方面,從而減輕了處理網絡的IIoT計算。
軟件堆棧很重要。一個以IT為中心的SDN軟件棧缺乏在 IIoT 環境中運行所需的優化。 這種環境需要使用一個特定的軟件棧,每個組件都經過了微調,以便在這些要求很高的環境中使用。 例如,與 Linux 橋相比,OVS 將產生上下文切換成本(內核空間快速路徑和用戶空間緩慢路徑之間)。
Fog計算是工業自動化的下一個重大飛躍,并且被多個工業垂直領域所接受,不僅可以使設備現代化,還可以使大規模自動化基礎設施的流程和可管理性工具集進行現代化。 NFV是Fog計算的一個重要方面,SDN或許成為在IIoT環境中實現NFV的實際手段。
References
- Fog Networking: An Overview on Research Opportunities, Mung Chiang. http://www.princeton.edu/~chiangm/FogResearchOverview.pdf.
- Fog Computing Overview Video https://vimeo.com/228299847
- OpenFog Consortium Website https://www.openfogconsortium.org/
- Fog Computing and Its Role in the Internet of Things, Flavio Bonomi, Rodolfo Milito, Jiang Zhu, Sateesh Addepalli https://www.nebbiolo.tech/wp-content/uploads/fog-computing-and-its-role-in-the-internet-of-things- white-paper.pdf.
- Fog computing as enabler for the Industrial Internet of Things, Wilfried Steiner, Stefan Poledna. https://www.springerprofessional.de/en/fog-computing-as-enabler-for-the-industrial-internet-of- things/11002362.
- Fog for 5G and IoT, Mung Chiang (Editor), Bharath Balasubramanian (Editor), Flavio Bonomi (Editor). https://www.wiley.com/en-us/Fog+for+5G+and+IoT-p-9781119187134.
- Software-defined networking, Wikipedia. https://en.wikipedia.org/wiki/Software-defined_networking.
【本文來自51CTO專欄作者“老曹”的原創文章,作者微信公眾號:喔家ArchiSelf,id:wrieless-com】