01 macvlan の紹介 前回の記事では、tap/tun、veth-pair、bridge といったいくつかの Linux 仮想ネットワーク デバイスについて説明しました。これらは本質的に、Linux システムによって提供されるネットワーク仮想化ソリューションです。今日お話しする macvlan もその 1 つです。より正確に言えば、ネットワーク カード仮想化ソリューションです。 macvlan テクノロジは、物理ネットワーク カードを複数の仮想ネットワーク カードに仮想化できるため、物理ネットワーク カードが複数のシャドウ クローンのテクニックを実行し、1 つから複数に変わるのと同等です。
02 macvlanの仕組み macvlan は Linux カーネルでサポートされている新しい機能です。サポートされているバージョンは v3.9-3.19 および 4.0+ です。より安定したバージョンとして 4.0 以上が推奨されます。通常はカーネル モジュールの形式で存在します。現在のシステムがそれをサポートしているかどうかは、次の方法で確認できます。
最初のコマンドがエラーを報告するか、2 番目のコマンドが返されない場合は、現在のシステムが macvlan をサポートしておらず、カーネルをアップグレードする必要があることを意味します。 macvlan テクノロジーは VLAN に少し似ていますが、実装メカニズムはまったく異なります。 macvlan サブインターフェイスは元のメインインターフェイスから完全に独立しており、個別の MAC アドレスと IP アドレスで設定できますが、VLAN サブインターフェイスとメインインターフェイスは同じ MAC アドレスを共有します。 VLAN はブロードキャスト ドメインを分割するために使用され、macvlan は同じブロードキャスト ドメインを共有します。 macvlan は、異なるサブインターフェースを通じてトラフィックを分離することもできます。 macvlan は、受信したパケットの宛先 MAC アドレスに基づいて、パケットをどの仮想ネットワーク カードに渡すかを決定し、仮想ネットワーク カードはパケットを上位レベルのプロトコル スタックに渡して処理します。 03 4つのモード macvlan サブインターフェース間の通信モードに応じて、macvlan には 4 つのネットワーク モードがあります。
デフォルトモードは vepa です。 3.1 プライベート このモードでは、同じメイン インターフェイスの下にあるサブ インターフェイスは互いに分離されており、通信できません。トラフィックが外部の物理スイッチから送信された場合でも、容赦なく破棄されます。 3.2 ベパ このモードでは、サブインターフェイス間の通信トラフィックは、802.1Qbg/VPEA 機能 (物理または仮想) をサポートする外部スイッチに送信され、外部スイッチによって転送された後、ループバックされる必要があります。 注: 802.1Qbg/VPEA 機能は、スイッチがヘアピン機能をサポートする必要があることを意味します。ヘアピン機能は、データ パケットがインターフェイスから受信された後に返される可能性があることを意味します。 3.3 ブリッジ このモードでは、Linux ブリッジの機能がシミュレートされますが、ブリッジに比べて 1 つの利点は、各インターフェースの MAC アドレスが既知であり、学習する必要がないことです。したがって、このモードでは、サブインターフェースは相互に直接通信できます。 3.4 パススルー このモードでは、メイン インターフェイスに接続できるサブ インターフェイスは 1 つだけであり、プロミスキャス モードに設定する必要があります。これは通常、サブインターフェイスのブリッジングと VLAN サブインターフェイスの作成に使用されます。 3.5 マカタップ macvlan に似た別のテクノロジーは mactap です。 macvlan とは異なり、mactap はパケットを受信した後、それをプロトコル スタックに渡すのではなく、tapX ファイルに渡し、このファイルを使用してユーザー状態との直接通信を完了します。 04 実践 Linux システムでは、macvlan を作成するためのコマンド形式は次のとおりです。
通常、macvlan を単独で使用しても意味がなく、VM やコンテナと組み合わせてネットワークを構築するのが一般的です。次に、名前空間を使用して、Linux が macvlan をどのように使用するかを確認します。 実験トポロジーは次のとおりです。 私のシステムでは、インターフェイス enp0s8 を例に、2 つの macvlan サブインターフェイス (ブリッジ モードを使用) を作成し、IP を設定して 2 つの名前空間に接続し、接続をテストします。
注: enp0s8 の IP は 192.168.56.110/24 であり、設定されたサブインターフェイス IP も同じネットワーク セグメント内にある必要があります。 その後、2 つのサブインターフェースを ping します。
ご覧のとおり、ping は成功しています。上記モードを他のモードに変更すると動作しなくなります。これについては皆さんの実験にお任せします (デフォルトは vepa モードです)。 また、docker では macvlan が比較的重要なホスト間ネットワーク モデルであり、これについては次の記事で説明します。 05 結論 macvlan は、1 つのネットワーク カードから複数のネットワーク カードを仮想化できるネットワーク カード仮想化テクノロジです。 macvlan には 4 つの通信モードがあり、一般的に使用されるモードはブリッジです。 次のことを考慮してください。
この記事はWeChatの公開アカウント「Linux Cloud Computing Network(ID: cloud_dev)」から転載したものです。パブリックアカウントは主に、Linux、クラウド コンピューティング、ネットワークにおけるテクノロジの共有に重点を置いています。以下のQRコードからフォローできます。この記事を転載する場合は、Linux Cloud Computing Network のパブリック アカウントにお問い合わせください。 |
<<: QingCloud、さらなるパフォーマンス向上を実現したプロフェッショナル向け強化ホスト「National Good Cloud」をリリース
>>: SAP Concur、中国に研究開発センターを設立、インテリジェントな経費管理で中国企業の海外進出を支援
Youku のビデオ コンテンツの質はかなり良いので、私はずっと Youku を支持してきました。さ...
Weibo は以前ほど人気がなくなったとはいえ、Weibo マーケティングの価値を無視することは...
Cloudcone は毎年恒例のクリスマス プロモーションを開始しました。今回のプロモーションには、...
[[206013]]蒸気機関、発電機、コンピュータの発明からインターネットの普及に至るまで、科学技術...
SEO 担当者として、私は長い間 SEO 業界に関する記事を一切公開していないことに最近気づきました...
ルクセンブルクの VPS の推奨事項、ルクセンブルクの VPS のレンタル、ルクセンブルクの VPS...
第4回決済ライセンス発行から1か月余り後、中国人民銀行は先日、非金融機関向けに第5回「決済業務ライセ...
Putty ソフトウェアを使用して Windows 上の Linux サーバーに接続してログインする...
今日、こんな文章を見ました。「コンテンツ マーケティングを行う人は、優れたストーリーテラーでなければ...
データキャリアとコンピューティングパワーの配分は根本的な変化を遂げている動画や写真は強力な情報伝達能...
Godaddy は 5 月 1 日にこの割引コードをリリースしました。興味のある友人は試してみてくだ...
「北斗七星が南東を指し、夏の始まりです。」すべてのものがピーク成長期に入り、人々の消費意欲は徐々に熱...
競争で優位に立つために、組織は常に、運用効率と経済効率を最大化しながら、スピードと俊敏性をもってイノ...
Baidu の最適化の 2 つの重要な方法は、コンテンツの更新と外部リンクの増加であることは誰もが知...
はじめに: 小売業者の販売判断は、一般的には自身の販売経験から来ています。販売傾向グラフに基づいて直...