竹の子エンジニア

30代から目指すエンジニアの日記

【備忘録】NFVとは?(ネットワーク)

どうもこんばんわ。
最近話題になっているのかわからないのですが、
急にNFV使ってみようよとわけのわからないお達しがあったのですが、
NFVってそもそも何やねん。ってところから調べてみました。
以下に記述しますが、各所間違えているかと思いますのでご了承ください。

とはいえ、ホントNFVっ何ですかね...
ナチュラルファイナルヴァイオレンスの略ですか?
夫が自然にファイナルヴァイオレンスをするようになった
奥さんが悩むときに使うんですかね。

ホント、ファイナルヴァイオレンスする夫なんて最低だな!!

NFVとは。

さて、本題のNFVとは何か。

以下Google先生の回答

NFV(Network Function Virtualization)は
欧州電気通信標準化機構(ETSI:ヨーロッパの電気通信全般に関わる標準化組織)が
提唱する取り組みで、専用のアプライアンス機器で提供されていたネットワーク機器を
IAサーバ上の仮想マシンで動作する、仮想アプライアンスに置き換えようというものです。

仮にETSIが悪の秘密結社だとすると、ETSIが仮想アプライアンスに置き換えるのだって
全世界に触れ込んでいるイメージでなんでしょうかね。

うん。適当な話はこの辺にしときます。
そもそもアプライアンスってなんだ。

アプライアンスとは、器具、装置、設備、電器、家電製品などの意味を持つ英単語。
ITの分野でアプライアンスという場合は、情報機器や通信機器、
コンピュータ応用製品のうち、特定の機能や用途に特化した専用機器などの
ことを表すことが多い。
様々な機能を持ち複数の用途に使える汎用製品に対し、アプライアンス製品は
機能や用途を絞り込んで不要な部品や要素などを削減しているため、安価で
高い性能を実現し、導入や管理が簡単な製品が多い。
特にネットワーク機器やサーバ製品などで提供されることが多く、
ストレージ(ファイルサーバ)や通信暗号化(SSL/TLSなど)、プロキシ、
キャッシュサーバ、ファイアウォール、ロードバランサ、データベースなどの
製品分野でアプライアンス型の製品がよく提供される。

サーバ機能を提供する機器は「アプライアンスサーバ」とも呼ばれる。
ちなみに、“appliance”の英語の原義では家電製品(home appliance)を
表すことが多いため、近年では大手電機メーカーの白物家電部門の
名称などに「アプライアンス」の名を冠する事例が増えている。

(引用:IT用語辞典 e-Words)


アプライアンスについてわかったところで、本題のNFVについての
記事は以下になります。

ネットワーク機能の仮想化を実現する「NFV」を徹底解説(ビジネスネットワーク.jp)


記事を見る限り、簡単に言うと現場に置かれている
ルーターやスイッチなどのネットワークをサーバー上で動かし、
仮想化するといった試みになり、運用管理なども楽にするぞ!!
といったイメージででしょうか。

ところでNFVについては、SDNというキーワードが関わっており、
SDNについてはOpenFlowというキーワードが関わってくるようです。

SDN(Software-Defined Networking)とは?

SDNとは、ソフトウェアによって仮想的なネットワーク環境を作る技術や
コンセプトのこと。
SDNの定義はネットワークの仮想化と制御の2つ。
従来のネットワークは、基本的には構成を変更しないものだったが、
SDNを導入するとソフトウェア制御によって容易かつ速やかに
ネットワーク構成を変更できる。

参考:[5分で絶対に分かるSDN](http://www.atmarkit.co.jp/ait/articles/1308/02/news006_3.html)

OpenFlowとは

OpenFlowとは、ソフトウェアによってネットワークの構成を行うための
新しい技術標準です。
OpenFlowは、経路制御を司る「OpenFlowコントローラ」、
データ転送機能を備える「OpenFlowスイッチ」、
そしてコントローラとスイッチがコミュニケーションをするための
「OpenFlowプロトコル」からなります。

OpenFlowに対応したOpenFlowスイッチを備えたデータセンターなら、
OpenFlowコントローラからスイッチ群を制御するだけで、
VLANもルーティングもファイアウォールもロードバランサもすべて望みどおりに
構成することができます。
コントローラがAPIを備えていれば、メニューから選ぶだけで簡単に
ネットワーク構築できるなどプログラミングによりネットワークが
自動化できる機能となります。

要はOpenFlowによってネットワーク構成がプログラミングできちゃうって
イメージですかね?
そしてSDNはOpenFlow技術を取り入れたコンセプトである、
みたいな感じなのかな。

参考:[5分で絶対に分かるOpenFlow](http://www.atmarkit.co.jp/ait/articles/1112/12/news117.html)


それはそれとして、NFVとSDNの違いがよくわからない...。
NFVは実装方法で、SDNはコンセプトって理解になるんでしょうかね。。

いまいちNFVとSDN(OpenFlow)の違いはわかりませんが、
NFVのメリットは何になるのかというと、
サーバー仮想化と同様に、いままではルータやスイッチなど別々の
ハードウェアが必要でしたが、すべてハードウェアと仮想ソフトウェアで
構成可能となり、管理が簡単になるってイメージでしょうか。
仮想化により設備や投資コストが軽減されることも期待できるかも
ってところのようです。

また、OpenFlowについてはプログラミングによりネットワークが
自動化できると記載しましたが、そのプログラミングについて記載があるのは
以下の記事になります。

SDNとOpenFlowについても、個人的にわかりやすく書かれております。
TremaでSDNを手のひらに(1):SDNの基本動作とアジャイルな開発が可能なSDN実装、「Trema」 (1/2) - @IT

ここでTremaという言語がRubyに対応しているようで、
勉強していたRubyが微妙に役立ちそうで歓喜しています。(笑)

一応NFVについてですが、以上となります。
また機会があれば触れていきたいと思います。