■プロジェクト名
Open VNF Service Infrastracture
■プロジェクト期間
2018年4月~2019年5月
■ プロジェクト背景
サーバ仮想化技術が普及し、企業がサーバ仮想化技術をビジネスに活用することはもはや当たり前になりつつある。
一方でネットワーク仮想化技術も普及が進みつつあり、ネットワークオペレータを中心に以下のような期待が高まっている。
・オペレーションの自動化による迅速なサービスの提供、またオペレーションコストの削減
・ネットワーク機器を汎用サーバに置き換えることにより機器コストの削減
沖縄オープンラボでは、仮想化されたネットワーク機能を動かす基盤をVNF基盤(VNFはVirtualized Network Function の略)と呼び、オープンソースを用いてVNF基盤を構築する活動に取り組んでいる。
この取組の先駆けとして、前年のONOS/CORD検証プロジェクトの中でCORDをVNF基盤として活用できるかどうか検討を行った。結果として、プロジェクトで求められるVNF基盤と、CORDが今後目指していく方向性が異なることがわかったため、ONOS/CORDプロジェクトの中でVNF基盤を実現することはせず、他のオープンソースを調査していくことになった。
■プロジェクト概要
このプロジェクトは、オープンソースを活用してVNF基盤を構築することを目的に発足した。このプロジェクトでは以下の活動に取り組む。
・アーキテクチャ検討
・VNF基盤全体のアーキテクチャを構成要素毎に分解し、各要素に必要な機能を明らかにする。
・PoC 構築
・オープンソースを用いてVNF基盤を構築する。
・基盤提供
・VNF基盤を会員に提供する。
■成果イメージ
プロジェクトで構築したVNF基盤は、OOL会員企業に開放し、自由に使える環境にする。
会員企業のユーザは、VNF基盤上でVNFを動かす検証に利用するだけでなく、ネットワーク上の付加機能をそれぞれのプロジェクトで活用することで、それぞれの活動をより効率よく進めることができるようになることが期待できる。
同時に、多くのユーザに使ってもらいフィードバックを受けることで、より良いVNF基盤のアーキテクチャを模索していく。
■アーキテクチャ検討
VNF基盤を構築するにあたり、VNF基盤の物理ネットワーク構成を検討した。
検討されたネットワークは大きく分けて以下の4つの要素で構成される
ユーザのネットワークを終端する部分
ユーザやトラフィックの種類に応じてタグを付与して、適切なVNFに転送する機能を持つ。
インターネットに接続する部分
BGP等で外部のルータと接続する機能を持つ。
物理サーバ上に構築されるオーバーレイネットワーク
各物理サーバ上のVNF間を接続するためのオーバーレイネットワークを提供する。
物理サーバやルータを物理的に接続するアンダーレイネットワーク
スケールアウト可能な Leaf-Spine Fabric で構築する。
本プロジェクトでは、仮想化基盤上でどのように Service Function Chaining (SFC) を実現するかに注力したため、上記の構成を簡略化した構成でVNF基盤を構築した。
■ PoC構築
・仮想化基盤構築
VNF基盤を構成する仮想化基盤を OpenStack と Tacker を用いて構築する。
Tacker は ETSI MANO アーキテクチャにおける NFVO と VNFM の機能を提供する。
TOSCA と呼ばれるテンプレートを用いて OpenStack の VM、ネットワーク等のリソースの作成・管理を行うことができる。
例えば、VNF Descriptor と呼ばれる以下のテンプレートでVMとネットワークが作成できる。(一部抜粋)
VDU1:
type: tosca.nodes.nfv.VDU.Tacker
capabilities:
nfv_compute:
properties:
num_cpus: 1
mem_size: 512 MB
disk_size: 1 GB
VL1:
type: tosca.nodes.nfv.VL
properties:
network_name: net_mgmt
vendor: Tacker
CP1:
type: tosca.nodes.nfv.CP.Tacker
properties:
management: true
anti_spoofing_protection: false
requirements:
- virtualLink:
node: VL1
- virtualBinding:
node: VDU1
このテンプレートでは、VDU1で定義されたVMを1つデプロイしてVL1で定義されたネットワークに接続している。
上記のように、ネットワークやVMの配置をテンプレートで管理できることが強みと言える。
・Service Function Chaining の実現
VNF基盤上に設置したVNFにトラフィックを通すには、何らかの方法でVNF基盤に入ってくるトラフィックを各VNFに曲げる機構が必要になる。本プロジェクトでは、Service Function Chaining (SFC) を実現するために、OpenStack Neutron の関連プロジェクトである networking-sfc を利用し、networking backend には Open vSwitch mechanism driver を利用した。
また、ここでも Tacker を利用している。
Tacker の一機能として提供される VNF Forwarding Graph (VNFFG) は、前述の networking-sfc を内部的に利用して、SFC を制御する機能を提供する。VNF Descriptor を用いて VNF をデプロイする時と同様に、VNF Forwarding Graph Descriptor と呼ばれる TOSCA テンプレートを用いて SFC を記述することができる。
以下に、TOSCA テンプレートの一部を抜粋する。
Forwarding_path1:
type: tosca.nodes.nfv.FP.TackerV2
description: demo chain
properties:
id: 51
policy:
type: ACL
criteria:
- name: block_icmp
classifier:
network_src_port_id: 654eaf96-3737-4b72-9dd7-445a26dfc2ee
ip_proto: 1
path:
- forwarder: IDS
capability: CP2
- forwarder: openwrt
capability: CP4
このテンプレートでは、policyで定義されたネットワークがpathで定義されたVNFを通ることになる。
VNFFGを活用した結果として、1コマンドでSFCの作成が可能になった。SFCをテンプレートで管理できるため、SFCの運用がより容易になることが期待できる。
・まとめ
PoC 構築の結果として、OpenStack と Tacker を利用することで以下のことができることがわかった。
VNF Descriptor を利用した VNF、ネットワークのデプロイ
VNF Forwarding Graph を利用した SFC の制御
以上の機能を用いることで、ユーザがオンデマンドにVNFをデプロイして、通信に利用できる環境を提供することができる。
■ 基盤提供
本プロジェクトで構築したVNF基盤はOOLテストベッドに組み込み、OOL会員に開放する。
会員企業のユーザは、VNF基盤上でVNFを動かす検証に利用するだけでなく、ネットワーク上の付加機能をそれぞれのプロジェクトで活用することで、それぞれの活動をより効率よく進めることができるようになることが期待できる。
■ 成果報告・対外発表
Okinawa Open Days 2018
日 時:2018年12月3日(月)〜2018年12月6日(木)
場 所:沖縄県市町村自治会館(那覇市)
資料はこちら
平成30年度 沖縄オープンラボラトリ活動報告会
日 時:2019年2月6日(水)
場 所:沖縄県市町村自治会館(那覇市)
資料はこちら
オープンソースカンファレンス2019 Okinawa
日 時:2019年4月20日(土)
場 所:沖縄県市町村自治会館(那覇市)
ブース展示を実施
■ 参考文献
OpenStack Tacker
VNF Descriptor Template Guide
VNF Forwarding Graph
■ プロジェクト参加企業
NTTコミュニケーションズ, イイガ, NEC, オキット, 日商エレクトロニクス