Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 4273|Svar: 0

[Källa] Kan nätverkskortet också virtualiseras? Detaljerad förklaring av nätverkskortsvirtualiseringsteknologin Macvlan

[Kopiera länk]
Publicerad på 2022-11-19 11:01:57 | | | |
01 Introduktion till Macvlan

Den föregående artikeln handlade om flera typer av virtuella Linux-nätverksenheter: tap/tun, veth-pair, bridge, de är i princip nätverksvirtualiseringslösningar som tillhandahålls av Linux-system, och macvlan är också en av dem, för att vara exakt, detta är en nätverkskortsvirtualiseringslösning. För att MacVlan-teknologin kanEtt fysiskt nätverkskort omvandlas i princip till flera virtuella nätverkskort, vilket motsvarar det fysiska nätverkskortet som utför tekniken med flera skuggkloner, från en till många.

02 Hur MacVLAN fungerar

macvlan är en ny funktion som stöds av Linux-kärnan, stödda versioner inkluderar v3.9-3.19 och 4.0+, och 4.0+ rekommenderas för den mer stabila versionen. Den finns vanligtvis i form av kärnmoduler, och vi kan bedöma om det nuvarande systemet stöder den på följande sätt:

Om det första kommandot ger ett fel, eller det andra kommandot inte returneras, betyder det att det nuvarande systemet inte stöder MacVLAN och kärnan behöver uppgraderas.

Macvlans-teknologin låter lite som VLAN, men deras implementeringsmekanism är helt annorlunda. MacVLAN-subgränssnittet är helt oberoende av det ursprungliga huvudgränssnittet och kan konfigureras separat med MAC-adress och IP-adress, medan VLAN-subgränssnittet och huvudgränssnittet delar samma MAC-adress. VLAN används för att dela upp broadcastdomäner, medan macvlans delar samma broadcastdomän.

Genom olika subgränssnitt kan MacVLAN också uppnå trafikisolering. MacVLAN avgör vilket virtuellt nätverkskort paketet behöver skickas till baserat på MAC-adressen för paketets destination, och sedan överlämnar det virtuella nätverkskortet paketet till protokollstacken i det övre lagret för bearbetning.


03 Fyra moden

Beroende på kommunikationsläget mellan MacVLAN-subgränssnitt finns det fyra nätverkslägen för MACVLAN:

  • Privat läge
  • VEPA (Virtual Ethernet Port Aggregator) läge
  • Bryggläge
  • Passthru-läge


Som standard används VEPA-läge.

3.1 Privat

I detta läge är subgränssnitten under samma primära gränssnitt isolerade från varandra och kan inte kommunicera. Även om den omdirigeras från en extern fysisk strömbrytare kommer den skoningslöst att kasseras.




3.2 Vepa

I detta läge måste trafiken mellan subgränssnitt ledas till en extern switch som stödjer 802.1Qbg/VPEA (antingen fysisk eller virtuell), vidarebefordras genom den externa switchen och sedan tillbaka.

Observera: Funktionen 802.1Qbg/VPEA innebär helt enkelt att switchen måste stödja hårnålsfunktionen, det vill säga datapaketet kan tas emot från ett gränssnitt och sedan kastas tillbaka.



3.3-bron

I detta läge simuleras Linux-bryggans funktionalitet, men det bättre med bryggan är att MAC-adressen för varje gränssnitt är känd och inte behöver läras in. Därför kan subgränssnitten i detta läge kommunicera direkt.



3.4 Passthu

Detta läge tillåter endast ett enda subgränssnitt att ansluta till huvudgränssnittet och måste ställas in på promiskuöst läge, vilket vanligtvis används för att brygga subgränssnitt och skapa VLAN-subgränssnitt.



3.5 Mactap

En annan teknik liknande MacVLAN är MacTap. Till skillnad från macvlan tar mactap emot paketet och överlämnar det till protokollstacken, men till en tapX-fil, genom vilken den slutför direkt kommunikation med användaren.



04 Träning

På Linux är kommandot för att skapa en macvlan följande:

Generellt sett är det meningslöst att använda macVLAN ensamt, och det är oftast en kombination av virtuella maskiner och containrar för att bygga ett nätverk. Låt oss använda namnrymden för att se hur Linux använder macvlan.

Den experimentella topologin är följande:




I mitt system, med interface enp0s8 som exempel, skapade jag två macvlan-subgränssnitt (med bridge mode), konfigurerade IP:n och hängde upp den i två namnrymder för att testa anslutningen.

Not: IP-adressen för enp0s8 är 192.168.56.110/24, och IP-adressen till det konfigurerade subgränssnittet måste också komma från samma CIDR-segment.

Efter två subgränssnitt, pinga den:


Du kan se att det kan pingas, men om du ändrar ovanstående läge till ett annat läge fungerar det inte, så jag lämnar detta till alla att experimentera (standardläget är vepa-läge).

Dessutom är MacVLAN i Docker en viktigare nätverksmodell för korsvärdar, vilket kommer att diskuteras i nästa artikel.

05 Sammanfattning

MACVLAN är en nätverkskortsvirtualiseringsteknologi som kan virtualisera ett nätverkskort till flera nätverkskort.

De fyra kommunikationslägena i MacVLAN, det vanligaste är Bridge.

Tänk på det:

Likheter och skillnader mellan Macvlan Bridge och Bridge
Det finns en liknande teknik där flera virtuella nätverkskort delar samma MAC-adress men har oberoende IP-adresser.


Ursprunglig adress:Inloggningen med hyperlänken är synlig.




Föregående:Praktisk funktion: Använd BundleTransformer för att ersätta System.Web.Optimization
Nästa:Docker använder Macvlan för att sätta en oberoende IP-adress för containrar
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com