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

仮想ネットワーク インターフェイス( VNI ) は、ネットワーク インターフェイス コントローラに直接対応するかどうかは関係のない、コンピュータ ネットワーク インターフェイスの抽象的な仮想化表現です。

オペレーティングシステムレベル

オペレーティングシステムカーネルは、仮想ネットワークインターフェースのテーブルをメモリ内に保持するのが一般的です。これにより、システムは、関連する物理インターフェース(あるいは、それが直接接続された物理インターフェースなのか、トンネルやブリッジインターフェースなのか)に関わらず、これらの情報を保存し、操作することができます。また、システム上のプロセスは、単一の(容量やパフォーマンスが不明な)漠然としたインターネットを単純に想定するのではなく、よりきめ細かな方法でネットワーク接続に関するやり取りを行うことができます。

W. Richard Stevens は、著書『TCP/IP Illustrated』第2巻において、マルチキャストルーティングの議論の中でカーネルの仮想インターフェーステーブルに言及しています。例えば、マルチキャストルータは、トンネルを表すインターフェースと物理インターフェースでは動作が異なる場合があります(例えば、物理インターフェースのメンバーシップ情報のみを収集すればよい場合など)。そのため、仮想インターフェースは、物理インターフェースを直接表しているかどうかなど、いくつかの詳細をユーザに開示する必要がある場合があります。[ 1 ]

一部のシステムでは、仮想インターフェースフレームワークによって、ユーザー空間アプリケーションが抽象的なネットワークインターフェース接続を参照できるようになるだけでなく、特定の帯域幅制限とキューイングモデルを持つ抽象インターフェースに物理インターフェースを階層的に分割することで、プロセスが特定の物理インターフェースの共有をより適切に調整できるようになる場合があります(オペレーティングシステムのデフォルトの動作を超えて)。これは、プロセスに制約を与える可能性があり、例えば、そのような階層の限定されたブランチを継承することで、プロセスがそこから逸脱しないようにします。

このネットワーク抽象化の追加レイヤーは多くの場合不要であり、パフォーマンスに若干のペナルティを与える可能性があります。しかし、このような抽象化レイヤーはパフォーマンスのボトルネックを回避するために使用することもでき、最適化のためにカーネルをバイパスすることさえ可能です。[ 2 ]

アプリケーションレベル

VIFという用語は、アプリケーションがネットワークインターフェースを仮想化または抽象化する場合にも適用されます。ほとんどのソフトウェアはネットワークインターフェースの詳細を意識する必要がなく、必要な抽象化はオペレーティングシステムを通じて既に利用可能である可能性があるため、VIFが使用されることは稀です。

参照

参考文献

  1. ^ W. Richard Stevens、Gary R. Wright (1995)、『TCP/IP Illustrated 第2巻:実装』Addison-Wesley、pp.  401–434ISBN 0-201-63354-X
  2. ^ Jin-Soo Kim、Kangho Kim、Sung-In Jung (2001)、「Linuxクラスタ上の仮想インタフェースアーキテクチャによる高性能通信層の構築」、第15回国際スーパーコンピューティング会議論文集、ACM、pp.  335– 347、doi : 10.1145/377792.377858ISBN 158113410X, S2CID  947584 , 2009年2月9日取得