Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 4273|Svar: 0

[Kilde] Kan netværkskortet også virtualiseres? Detaljeret forklaring af netværkskort-virtualiseringsteknologi Macvlan

[Kopier link]
Opslået på 19/11/2022 11.01.57 | | | |
01 Introduktion til Macvlan

Den forrige artikel omtalte flere typer virtuelle Linux-netværksenheder: tap/tun, veth-pair, bridge, de er i bund og grund netværksvirtualiseringsløsninger leveret af Linux-systemer, og macvlan er også en af dem, for at være præcis, dette er en netværkskort-virtualiseringsløsning. Fordi MacVlan-teknologi kanEt fysisk netværkskort omdannes virtuelt til flere virtuelle netværkskort, hvilket svarer til, at det fysiske netværkskort udfører teknikken med flere skyggekloner, fra én til mange.

02 Hvordan MacVLAN fungerer

macvlan er en ny funktion, der understøttes af Linux-kernen, understøttede versioner inkluderer v3.9-3.19 og 4.0+, og 4.0+ anbefales til den mere stabile version. Den findes generelt i form af kernemoduler, og vi kan vurdere, om det nuværende system understøtter den på følgende måder:

Hvis den første kommando giver en fejl, eller den anden kommando ikke returneres, betyder det, at det nuværende system ikke understøtter MacVLAN, og kernen skal opgraderes.

MacVLAN-teknologien lyder lidt som VLAN, men deres implementeringsmekanisme er helt anderledes. MacVLAN-subinterfacet er fuldstændig uafhængigt af det oprindelige hovedinterface og kan konfigureres separat med MAC-adresse og IP-adresse, mens VLAN-subinterfacet og hovedinterfacet deler samme MAC-adresse. VLANs bruges til at opdele broadcast-domæner, mens macvlans deler det samme broadcast-domæne.

Gennem forskellige sub-interfaces kan MacVLAN også opnå trafikisolation. MacVLAN vil afgøre, hvilket virtuelt NIC pakken skal overdrages til baseret på MAC-adressen på pakkens destination, og derefter vil det virtuelle NIC overdrage pakken til det øverste protokolstakk til behandling.


03 Fire tilstande

Afhængigt af kommunikationstilstanden mellem MacVLAN-subinterfaces findes der fire netværkstilstande for MACVLAN:

  • Privat tilstand
  • VEPA (Virtual Ethernet Port Aggregator) tilstand
  • Bro-tilstand
  • Passthru-tilstand


Som standard bruges VEPA-tilstand.

3.1 privat

I denne tilstand er undergrænsefladerne under samme primære grænseflade isoleret fra hinanden og kan ikke kommunikere. Selv hvis den bliver omdirigeret fra en ekstern fysisk kontakt, vil den nådesløst blive kasseret.




3.2 Vepa

I denne tilstand skal trafikken mellem undergrænseflader dirigeres til en ekstern switch, der understøtter 802.1Qbg/VPEA (enten fysisk eller virtuel), videresendes gennem den eksterne switch og derefter tilbage.

Bemærk: 802.1Qbg/VPEA-funktionen betyder blot, at switchen skal understøtte hårnålsfunktionen, det vil sige, at datapakken kan modtages fra et interface og derefter kastes tilbage.



3.3 Bro

I denne tilstand simuleres funktionaliteten af Linux-broen, men det bedre ved broen er, at MAC-adressen for hvert interface er kendt og ikke behøver at læres. Derfor kan sub-grænsefladerne i denne tilstand kommunikere direkte.



3.4 Passthu

Denne tilstand tillader kun én undergrænseflade at forbinde til hovedgrænsefladen og skal sættes til promiskuøs tilstand, som generelt bruges til at bygge bro mellem undergrænseflader og skabe VLAN-undergrænseflader.



3.5 Mactap

En anden teknologi, der ligner MacVLAN, er MacTap. I modsætning til macvlan modtager mactap pakken og overdrager den til protokolstakken, men til en tapX-fil, hvorigennem den fuldfører direkte kommunikation med brugeren.



04 Praksis

På Linux er kommandoen til at oprette en macvlan som følger:

Generelt er det meningsløst at bruge macVLAN alene, og det er som regel en kombination af VM'er og containere for at bygge et netværk. Lad os bruge navnerum til at se, hvordan Linux bruger macvlan.

Den eksperimentelle topologi er som følger:




I mit system, med interface enp0s8 som eksempel, oprettede jeg to macvlan-subinterfaces (ved brug af bridge mode), konfigurerede IP'en og hængte den op i to navnerum for at teste forbindelsen.

Bemærk: IP-adressen til enp0s8 er 192.168.56.110/24, og IP-adressen på det konfigurerede subinterface skal også være fra samme CIDR-segment.

Efter to undergrænseflader, ping den:


Du kan se, at det kan pinges, men hvis du ændrer ovenstående tilstand til en anden, virker det ikke, så jeg overlader det til alle at eksperimentere (standarden er vepa-tilstand).

Derudover er MacVLAN i Docker en vigtigere cross-host netværksmodel, som vil blive diskuteret i næste artikel.

05 Resumé

MACVLAN er en netværkskort-virtualiseringsteknologi, der kan virtualisere et netværkskort til flere netværkskort.

De fire kommunikationstilstande i MacVLAN har den mest almindelige tilstand som Bridge.

Tænk over det:

Ligheder og forskelle mellem Macvlan Bridge og Bridge
Der findes en lignende teknologi, hvor flere virtuelle netværkskort deler samme MAC-adresse, men har uafhængige IP-adresser.


Original adresse:Hyperlink-login er synlig.




Tidligere:Praktisk drift: Brug BundleTransformer til at erstatte System.Web.Optimization
Næste:Docker bruger Macvlan til at sætte en uafhængig IP-adresse for containere
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com