Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 4273|Antwort: 0

[Quelle] Kann die Netzwerkkarte auch virtualisiert werden? Detaillierte Erklärung der Netzwerkkartenvirtualisierungstechnologie Macvlan

[Link kopieren]
Veröffentlicht am 19.11.2022 11:01:57 | | | |
01 Einführung in Macvlan

Der vorherige Artikel behandelte mehrere Arten von Linux-virtuellen Netzwerkgeräten: Tap/Tun, Veth-Pair, Bridge. Sie sind im Wesentlichen Netzwerkvirtualisierungslösungen, die von Linux-Systemen bereitgestellt werden, und MacVLAN ist genauer gesagt eine Lösung zur Netzwerkkartenvirtualisierung. Weil MacVlan-Technologie es kann.Eine physische Netzwerkkarte wird virtuell in mehrere virtuelle Netzwerkkarten umgewandelt, was der physischen Netzwerkkarte entspricht, die die Technik mehrerer Schattenklone von einem bis zu vielen durchführt.

02 Wie MacVLAN funktioniert

macvlan ist eine neue Funktion, die vom Linux-Kernel unterstützt wird; unterstützte Versionen umfassen v3.9-3.19 und 4.0+, und 4.0+ wird für die stabilere Version empfohlen. Sie existiert im Allgemeinen in Form von Kernel-Modulen, und wir können beurteilen, ob das aktuelle System sie unterstützt, auf folgende Weise:

Wenn der erste Befehl einen Fehler gibt oder der zweite Befehl nicht zurückkehrt, bedeutet das, dass das aktuelle System MacVLAN nicht unterstützt und der Kernel aufgerüstet werden muss.

MacVlan-Technologie klingt ein wenig wie VLAN, aber ihr Implementierungsmechanismus ist völlig anders. Die macVLAN-Subschnittstelle ist völlig unabhängig von der ursprünglichen Hauptschnittstelle und kann separat mit MAC-Adresse und IP-Adresse konfiguriert werden, während die VLAN-Unterschnittstelle und die Hauptschnittstelle dieselbe MAC-Adresse teilen. VLANs werden verwendet, um Broadcast-Domänen zu trennen, während MacVLANS dieselbe Broadcast-Domain teilen.

Über verschiedene Unterschnittstellen kann MacVLAN auch Verkehrsisolation erreichen. MacVLAN bestimmt, an welche virtuelle Netzwerkkarte das Paket übergeben werden muss, basierend auf der MAC-Adresse des Ziels des Pakets, und dann übergibt die virtuelle Netzwerkkarte das Paket zur Verarbeitung an den oberen Protokollstapel.


03 Vier Modi

Je nach Kommunikationsmodus zwischen MacVLAN-Subschnittstellen gibt es vier Netzwerkmodi für MACVLAN:

  • Privatmodus
  • VEPA (Virtual Ethernet Port Aggregator) Modus
  • Brückenmodus
  • Passthru-Modus


Standardmäßig wird der VEPA-Modus verwendet.

3.1 Private

In diesem Modus sind die Unterschnittstellen unter derselben primären Schnittstelle voneinander isoliert und können nicht kommunizieren. Selbst wenn er von einem externen physischen Schalter umgeleitet wird, wird er gnadenlos verworfen.




3.2 Vepa

In diesem Modus muss der Datenverkehr zwischen Unterschnittstellen an einen externen Switch geleitet werden, der 802.1Qbg/VPEA (physisch oder virtuell) unterstützt, über den externen Switch weitergeleitet und dann zurück.

Hinweis: Die 802.1Qbg/VPEA-Funktion bedeutet einfach, dass der Schalter die Haarnadelfunktion unterstützen muss, das heißt, das Datenpaket kann von einer Schnittstelle empfangen und dann zurückgeworfen werden.



3.3 Brücke

In diesem Modus wird die Funktionalität der Linux-Bridge simuliert, aber das Gute an der Bridge ist, dass die MAC-Adresse jeder Schnittstelle bekannt ist und nicht gelernt werden muss. Daher können in diesem Modus die Unterschnittstellen direkt kommunizieren.



3.4 passthru

Dieser Modus erlaubt nur eine einzige Unterschnittstelle, sich mit der Hauptschnittstelle zu verbinden, und muss auf den promiskuitiven Modus gestellt werden, der üblicherweise zum Überbrücken von Unterschnittstellen und zur Erstellung von VLAN-Unterschnittstellen verwendet wird.



3.5 Mactap

Eine weitere ähnliche Technologie wie MacVLAN ist MacTap. Im Gegensatz zu macvlan empfängt mactap das Paket und übergibt es an den Protokollstack, jedoch an eine tapX-Datei, über die die direkte Kommunikation mit dem Benutzer abgeschlossen wird.



04 Praxis

Unter Linux lautet der Befehl zum Erstellen eines MacVLAN wie folgt:

Im Allgemeinen ist die Nutzung von macVLAN allein sinnlos, und es ist meist eine Kombination aus VMs und Containern, um ein Netzwerk aufzubauen. Lass uns den Namespace nutzen, um zu sehen, wie Linux Macvlan verwendet.

Die experimentelle Topologie ist wie folgt:




In meinem System habe ich, zum Beispiel mit der Schnittstelle ENP0s8, zwei Macvlan-Subinterfaces (im Bridge-Modus) erstellt, die IP konfiguriert und sie in zwei Namespaces aufgehängt, um die Verbindung zu testen.

Hinweis: Die IP-Adresse von enp0s8 ist 192.168.56.110/24, und die IP-Adresse der konfigurierten Unterschnittstelle muss ebenfalls aus demselben CIDR-Segment stammen.

Nach zwei Unterschnittstellen pingen Sie es:


Man sieht, dass es gepingt werden kann, aber wenn man den oben genannten Modus auf einen anderen Modus wechselt, funktioniert es nicht, also überlasse ich es allen zum Ausprobieren (standardmäßig ist der VEPA-Modus).

Außerdem ist MacVLAN in Docker ein wichtigeres Cross-Host-Netzwerkmodell, das im nächsten Artikel behandelt wird.

05 Zusammenfassung

MACVLAN ist eine Netzwerkkartenvirtualisierungstechnologie, die eine Netzwerkkarte auf mehrere Netzwerkkarten virtualisieren kann.

Die vier Kommunikationsmodi von MacVLAN, wobei der gebräuchlichste Modus Bridge ist.

Denk darüber nach:

Ähnlichkeiten und Unterschiede zwischen Macvlan Bridge und Bridge
Es gibt eine ähnliche Technologie, bei der mehrere virtuelle Netzwerkkarten dieselbe MAC-Adresse teilen, aber unabhängige IP-Adressen besitzen.


Ursprüngliche Adresse:Der Hyperlink-Login ist sichtbar.




Vorhergehend:Praktischer Betrieb: Verwenden Sie BundleTransformer als Ersatz für System.Web.Optimization
Nächster:Docker verwendet Macvlan, um eine unabhängige IP-Adresse für Container festzulegen
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com