VLAN サブインターフェイスが複数ある場合、サーバーはどのようにフレームを識別しますか?

VLAN サブインターフェイスが複数ある場合、サーバーはどのようにフレームを識別しますか?

Linux で VLAN サブインターフェイスを作成すると、親インターフェイスと同じ MAC アドレスが得られます。たとえば、同じMACを取得するには、ip link add link eth0 name eth0.333 type vlan id 333このコマンドを使用します。サーバーがVLANタグに基づいて受信したフレームを識別するのは正しいですか?または、VLANタグが欠落している場合、スイッチのフレームはそれ自体で送信されますか?eth0.333eth0eth0

ベストアンサー1

デフォルトの動作は、802.1qフィールドと同じ802.1qフィールドを持つパケットのみを許可するインターフェイスを追加することです。vlan idこれは特定のインターフェイスのパケットです。

非常に簡単な方法、Macアドレスは親アドレスと同じであるため、パケットはphyインターフェイスに渡され、カーネルによって処理され、ソースmacアドレスフィールドの後に続く802.1qタグフィールドを取得します。このフィールドは次のように識別されます。0x8100 エーテル型。最後の12ビットはVLAN IDを定義します。

ここに画像の説明を入力してください。

イーサネットフレームにタグが付けられ、VLAN インターフェイスに転送されます。両方のインターフェイスでtcpdumpを使用し、IPアドレスをpingしてそれを再確認できますeth0.333。以下でのみ出力を表示できますeth0

# tcpdump -ni eth0 vlan 333
# tcpdump -ni eth0.333 vlan 333

逆方向トラフィック方向のデフォルトの動作は表示と通過です(設定可能)。

親Macアドレスとは異なるMacアドレスで仮想インターフェイスを作成するには、macvlaniputils2オプションを使用する必要があります。スイッチにはいくつかのMAC固有の制限があり、新しく作成されたこのインターフェイスからのトラフィックをブロックできます。

はい、そうです。タグがない場合、トラフィックは物理インターフェイスに移動します。構成によって、パケットを許可するかどうかが定義されます。

おすすめ記事