仮想ネットワークインターフェイス

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動

仮想ネットワークインターフェイス(かそうネットワークインターフェイス、英語: virtual network interface: VIF)は、ネットワークインターフェイスの抽象的な仮想化表現である。実際のネットワークインターフェイスコントローラ(NIC)に直接対応する場合と、そうでない場合がある。

OSレベルの仮想化[編集]

オペレーティングシステム(OS)のカーネルでは、メモリ上に仮想ネットワークインターフェイスのテーブルを保持するのが一般的である。これにより、関連する物理インタフェースとは独立して、または直接的な物理インタフェースであるか、または例えばトンネルまたはブリッジインタフェースであるかに関係なく、システムがネットワークインターフェイスの情報を格納し、動作させることが可能となる。また、単一の無定形の(容量やパフォーマンスが不明な)「インターネット」を想定するよりも、細かい方法でネットワーク接続に関するシステムのプロセスが相互作用することも可能となる。

W・リチャード・スティーヴンスは、著書「TCP/IP Illustrated英語版」の第2巻で、マルチキャストルーティングに関する話題の中でカーネルの仮想インターフェーステーブルについて触れている。例えば、マルチキャストルータは、物理インターフェイス上とトンネルによるインターフェイス上とで異なる動作をすることができる(例えば、物理インターフェイスのメンバシップ情報を収集するだけでよい)。従って、仮想インターフェイスは、物理インターフェイスを直接表すかどうかなど、いくつかの情報をユーザーに明らかにする必要がある[1]

いくつかのシステムでは、ユーザ空間アプリケーションが抽象的なネットワークインタフェース接続を参照することを可能にすることに加えて、指定された帯域幅制限とキューイングモデルによって抽象的なインタフェースに階層的に細分することにより、プロセスが所定の物理インタフェースの共有を(本来のOSの振る舞いを超えて)より良く調整することを可能にすることができる。これは、例えばそれが逸脱しないような階層の限定された枝を継承することによって、プロセスの制限を意味することができる。

ネットワーク抽象化のこの余分な層は、しばしば不必要であり、わずかな性能上の不利益をもたらす可能性がある。しかし、パフォーマンスのボトルネックを回避するために、実際には最適化のためにカーネルをバイパスするためにも、抽象化レイヤーを使用することも可能である[2]

アプリケーションレベルの仮想化[編集]

VIFという用語は、アプリケーションがネットワークインタフェースを仮想化または抽象化するときにも使用される。ほとんどのソフトウェアは、ネットワークインタフェースの詳細に関わる必要はなく、また、OSを通じて抽象化がすでに利用可能な場合もあるので、この使用法はまれである。

関連項目[編集]

出典[編集]

  1. ^ W. Richard Stevens; Gary R. Wright (1995), TCP/IP Illustrated, Volume 2: The Implementation, Addison-Wesley, pp. 401–434, ISBN 0-201-63354-X 
  2. ^ Jin-Soo Kim; Kangho Kim; Sung-In Jung (2001), “Building a high-performance communication layer over virtual interface architecture on Linux clusters”, Proceedings of the 15th international conference on Supercomputing (ACM): 335–347, doi:10.1145/377792.377858, http://portal.acm.org/citation.cfm?id=377858 2009年2月9日閲覧。 

外部リンク[編集]