標題: 在OpenStack環境下實作NFV系統
Implement an NFV System with OpenStack
作者: 陳勁霖
蔡錫鈞
林一平
Chen, Jin-Lin
Tsai, Shi-Chun
Lin, Yi-Bing
網路工程研究所
關鍵字: 網路功能虛擬化;OpenStack;Tacker;SDN/OpenFlow;網路功能串聯;Network Function Virtualization;OpenStack;Tacker;SDN/OpenFlow;Service Function Chaining
公開日期: 2016
摘要: 隨著網路越來越發達,使用者對服務的需求遽增,傳統的網路架構在雲端資料中心成為了瓶頸,網路服務提供商(Internet service provider, ISP)為了解決問題,提出了網路功能虛擬化(Network Function Virtualization, NFV)技術,其概念是將以往的網路設備虛擬化成軟體(Virtual Network Function, VNF),且能運行在通用伺服器上,讓部署網路服務時,可以更快速、更有彈性,在維運方面也更加簡單,有效降低成本。然而,相關理論與研究持續地發表,卻鮮有公開的NFV系統被提出,使得相關議題難以被驗證與測試,若要深入研究網路功能虛擬化技術,一個完整的NFV系統是必要的。

本論文基於OpenStack雲端作業系統與其子計畫Tacker,實作出一NFV系統。此系統提供網頁介面,管理者與使用者能透過網頁快速部署、管理與設定VNF,減少繁複操作,並提供Auto Scaling的機制,系統會根據VNF狀態而自動增減VNF,維持服務品質。此外,我們也實作了三種VNF,包含防火牆、負載平衡與網頁伺服器等,除了可以用來驗證NFV的系統完整性,也讓系統能提供基本的服務,並透過SDN/OpenFlow實現網路功能串聯(Service Function Chaining, SFC),可以根據用戶的需求串聯各種VNF,讓系統能提供更多樣化的服務。

除了實作出NFV系統之外,我們也開發出能改進此系統效能的演算法。Placement演算法計算出一連串較佳的VNF擺放位置,讓使用者在存取VNF服務時,能降低延遲的時間;Scaling演算法提供更有效率的Auto Scaling機制,根據不同的使用情況來增減VNF的數量。最後,我們建立虛擬的環境對演算法做測試,其實驗結果顯示出Placement演算法根據情況的不同下,能降低約13-45\%存取VNF的延遲時間,而在Scaling演算法實驗的部分,則顯示出此方法能夠有效率地根據VNF的情況對VNF做增減、控制服務的延遲時間,以及彈性使用系統的資源。
As the network technology advances, the related service demands has increased dramatically. The traditional network architecture becomes a bottleneck in data centers. Many Internet Service Providers (ISP) provide network function virtualization (NFV) to resolve this problem. It exploits the virtual network function (VNF), virtualized from physical network devices, to reach the efficacy and flexibility. In addition, while deploying network services, it can be run on universal servers, which are easy to maintain and have lower cost. Although the related idea has been studied for some time, there are very few public NFV systems available to justify the feasibility of NFV. In order to gain a deeper understanding of NFV, it is necessary to construct a complete NFV system.

In this thesis, based on the OpenStack, a cloud operating system, and Tacker, a subproject of OpenStack, we implement an NFV system. Our system provides a web interface simplifying redundant operations such that managers and users can fast deploy, organize and set up VNF. It also provides the auto-scaling mechanism to keep service quality according to VNF status. Besides, we built three types of VNF including firewall, load balancer, and web server for chaining. It can help validate the NFV system, provide the basic services, and then realize service function chaining (SFC) through SDN/OpenFlow. Based on users' demand, the system can provide different services via chaining varieties of VNFs.

In addition to implementing an NFV system, we also developed two algorithms to improve the performance of the system. The placement algorithm determines a better location of a chain, which consists of several VNFs, to lower latency during accessing the chain. The scaling algorithm provides an efficient auto-scaling mechanism to deploy and remove VNFs according to the condition of resources avaliable. We also construct a virtual environment to test our algorithms. The results show that the placement algorithm reduces about 13-45\% latency while accessing VNFs in different scenarios. Our scaling algorithm can efficiently deploy and remove VNFs according to the condition of VNFs, effectively control the latency of VNFs and flexibly utilize the system resources.
URI: http://etd.lib.nctu.edu.tw/cdrfb3/record/nctu/#GT070356506
http://hdl.handle.net/11536/138452
Appears in Collections:Thesis