Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 4273|Antwoord: 0

[Bron] Kan de netwerkkaart ook gevirtualiseerd worden? Gedetailleerde uitleg van netwerkkaartvirtualisatietechnologie Macvlan

[Link kopiëren]
Geplaatst op 19-11-2022 11:01:57 | | | |
01 Inleiding tot Macvlan

Het vorige artikel sprak over verschillende soorten Linux virtuele netwerkapparaten: tap/tun, veth-pair, bridge, het zijn in wezen netwerkvirtualisatieoplossingen die door Linux-systemen worden geleverd, en macvlan is er ook een van; om precies te zijn, dit is een netwerkkaartvirtualisatieoplossing. Omdat MacVlan-technologie dat wel kanEen fysiek netwerkkort wordt virtueel omgezet in meerdere virtuele netwerkkaarten, wat gelijkstaat aan de fysieke netwerkkaart die de techniek uitvoert van meerdere schaduwklonen, van één naar veel.

02 Hoe MacVLAN werkt

macvlan is een nieuwe functie die wordt ondersteund door de Linux-kernel; ondersteunde versies zijn onder andere v3.9-3.19 en 4.0+, en 4.0+ wordt aanbevolen voor de stabielere versie. Het bestaat meestal in de vorm van kernelmodules, en we kunnen beoordelen of het huidige systeem het ondersteunt op de volgende manieren:

Als het eerste commando een foutmelding geeft of het tweede commando niet terugkeert, betekent dit dat het huidige systeem MacVLAN niet ondersteunt en de kernel moet worden geüpgraded.

MacVLAN-technologie klinkt een beetje als VLAN, maar hun implementatiemechanisme is totaal anders. De macVLAN-subinterface is volledig onafhankelijk van de oorspronkelijke hoofdinterface en kan afzonderlijk worden geconfigureerd met MAC-adres en IP-adres, terwijl de VLAN-subinterface en de hoofdinterface hetzelfde MAC-adres delen. VLANs worden gebruikt om broadcastdomeinen te verdelen, terwijl macvlans hetzelfde broadcastdomein delen.

Via verschillende subinterfaces kan MacVLAN ook verkeersisolatie bereiken. MacVLAN bepaalt aan welke virtuele NIC het pakket moet worden overgedragen op basis van het MAC-adres van de bestemming van het pakket, waarna de virtuele NIC het pakket overdraagt aan de bovenste laag protocolstack voor verwerking.


03 Vier modi

Afhankelijk van de communicatiemodus tussen MacVLAN-subinterfaces zijn er vier netwerkmodi voor MACVLAN:

  • Privémodus
  • VEPA (Virtual Ethernet Port Aggregator) modus
  • Brugmodus
  • Passthru-modus


Standaard wordt de VEPA-modus gebruikt.

3.1 Privé

In deze modus zijn de sub-interfaces onder dezelfde primaire interface van elkaar geïsoleerd en kunnen ze niet communiceren. Zelfs als het wordt omgeleid van een externe fysieke schakelaar, wordt het genadeloos weggegooid.




3.2 vepa

In deze modus moet het verkeer tussen sub-interfaces worden doorgestuurd naar een externe switch die 802.1Qbg/VPEA ondersteunt (fysiek of virtueel), via de externe switch worden doorgestuurd en vervolgens terug.

Opmerking: De 802.1Qbg/VPEA-functie betekent simpelweg dat de schakelaar de haarspeldfunctie moet ondersteunen, dat wil zeggen dat het datapakket van een interface kan worden ontvangen en vervolgens teruggegooid kan worden.



3.3 Brug

In deze modus wordt de functionaliteit van de Linux-brug gesimuleerd, maar het beste aan de brug is dat het MAC-adres van elke interface bekend is en niet geleerd hoeft te worden. Daarom kunnen de sub-interfaces in deze modus direct communiceren.



3.4 passthru

Deze modus laat slechts één subinterface verbinding maken met de hoofdinterface en moet worden ingesteld op promiscue modus, die doorgaans wordt gebruikt voor het bruggen van subinterfaces en het creëren van VLAN-subinterfaces.



3.5 Mactap

Een andere technologie die vergelijkbaar is met MacVLAN is MacTap. In tegenstelling tot macvlan ontvangt mactap het pakket en geeft het over aan de protocolstack, maar dan aan een tapX-bestand, waarmee directe communicatie met de gebruiker wordt voltooid.



04 Praktijk

Op Linux is het commando om een macvlan aan te maken als volgt:

Over het algemeen is het gebruik van macVLAN alleen zinloos, en het is meestal een combinatie van VM's en containers om een netwerk te bouwen. Laten we namespace gebruiken om te zien hoe Linux Macvlan gebruikt.

De experimentele topologie is als volgt:




In mijn systeem, met interface enp0s8 als voorbeeld, heb ik twee macvlan-subinterfaces gemaakt (met bridge-modus), het IP geconfigureerd en het in twee namespaces opgehangen om de connectiviteit te testen.

Opmerking: Het IP-adres van enp0s8 is 192.168.56.110/24, en het IP-adres van de geconfigureerde subinterface moet ook van hetzelfde CIDR-segment afkomstig zijn.

Na twee sub-interfaces, ping je het:


Je ziet dat het gepingd kan worden, maar als je bovenstaande modus naar een andere modus zet, werkt het niet, dus laat ik dit aan iedereen over om te experimenteren (de standaard is vepa-modus).

Daarnaast is MacVLAN in Docker een belangrijker cross-host netwerkmodel, dat in het volgende artikel besproken zal worden.

05 Samenvatting

MACVLAN is een netwerkkaartvirtualisatietechnologie die een netwerkkaart kan virtualiseren naar meerdere netwerkkaarten.

De vier communicatiemodi van MacVLAN hebben de meest voorkomende modus Bridge.

Denk er eens over na:

Overeenkomsten en verschillen tussen Macvlan Bridge en Bridge
Er is een vergelijkbare technologie waarbij meerdere virtuele netwerkkaarten hetzelfde MAC-adres delen, maar onafhankelijke IP-adressen hebben.


Origineel adres:De hyperlink-login is zichtbaar.




Vorig:Praktische werking: Gebruik BundleTransformer ter vervanging van System.Web.Optimization
Volgend:Docker gebruikt Macvlan om een onafhankelijk IP-adres voor containers in te stellen
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com