MAC アドレスの学習を使用すると、1 つの vNIC で複数の MAC アドレスが使用されている環境にネットワーク接続することができます。

たとえば、ESXi ホストで ESXi 仮想マシンが実行されていて、この ESXi 仮想マシン内で複数の仮想マシンが実行されている、ネストされたハイパーバイザー環境などです。MAC アドレスの学習を使用しない場合は、ESXi 仮想マシンの vNIC がセグメント ポートに接続する際に、固定 MAC アドレスのみが含まれます。ESXi 仮想マシン上で稼動する仮想マシンの場合、パケットの送信元 MAC アドレスが異なるため、ネットワークに接続できません。MAC アドレスの学習を使用すると、vSwitch は vNIC から送信される各パケットの送信元 MAC アドレスを検査し、MAC テーブル内の MAC アドレスを学習して、パケットが通過するのを許可します。学習された MAC アドレスが一定期間使用されない場合は、削除されます。

MAC アドレスの学習は、不明なユニキャスト フラッディングもサポートします。通常、ポートが受信したパケットの宛先 MAC アドレスが不明な場合、パケットはドロップされます。不明なユニキャストのフラッドを有効にすると、ポートは、MAC アドレスの学習および不明なユニキャストのフラッドを有効にしているスイッチ上のすべてのポートに、不明なユニキャスト トラフィックをフラッドします。このプロパティはデフォルトで有効になっていますが、有効になるのは MAC アドレスの学習が有効な場合のみです。

学習可能な MAC アドレスの数は設定可能です。ポートあたりの最大数は 4,096 で、これがデフォルトです。また、制限に達したときのポリシーを設定することもできます。次のオプションがあります。
  • ドロップ:不明な送信元 MAC アドレスからのパケットをドロップします。この MAC アドレスへの受信パケットは、不明なユニキャストとして扱われます。ポートは、不明なユニキャストのフラッドが有効になっている場合にのみ、パケットを受信します。
  • 許可:不明な送信元 MAC アドレスは学習されませんが、このアドレスからのパケットは転送されます。この MAC アドレスへの受信パケットは、不明なユニキャストとして扱われます。ポートは、不明なユニキャストのフラッドが有効になっている場合にのみ、パケットを受信します。

vSphere 6.7 以降では、vSphere API を使用して分散仮想ポート グループで MAC アドレスの学習を有効にすることができます。MAC アドレスの学習ポリシーは vSphere Distributed Switch、分散仮想ポート グループ、および分散仮想ポートで構成できます。分散仮想ポート グループに MAC アドレスの学習ポリシーが設定されていない場合は、vSphere Distributed Switch から継承されます。DVport で MAC アドレスの学習ポリシーが有効になっていない場合は、分散仮想ポート グループから継承されます。詳細については、『vSphere Web Services API リファレンス』を参照してください。