Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 4273|Resposta: 0

[Fonte] A placa de rede também pode ser virtualizada? Explicação detalhada da tecnologia de virtualização de placas de rede Macvlan

[Copiar link]
Publicado em 19/11/2022 11:01:57 | | | |
01 Introdução ao Macvlan

O artigo anterior falou sobre vários tipos de dispositivos de rede virtual Linux: tap/tun, veth-pair, bridge, que são essencialmente soluções de virtualização de rede fornecidas por sistemas Linux, e o macvlan também é uma delas, para ser preciso, esta é uma solução de virtualização de placa de rede. Porque a tecnologia MacVlan podeUma NIC física é virtualmente transformada em múltiplas NICs virtuais, que é equivalente à placa de rede física que executa a técnica de múltiplos clones de sombra, de um a muitos.

02 Como funciona a MacVLAN

MacVLAN é um recurso novo suportado pelo kernel Linux, versões suportadas incluem v3.9-3.19 e 4.0+, e 4.0+ é recomendada para a versão mais estável. Geralmente existe na forma de módulos do kernel, e podemos julgar se o sistema atual o suporta das seguintes formas:

Se o primeiro comando der um erro, ou o segundo comando não retornar, significa que o sistema atual não suporta MacVLAN e o kernel precisa ser atualizado.

A tecnologia MacVLAN parece um pouco com VLAN, mas o mecanismo de implementação deles é completamente diferente. A subinterface macVLAN é completamente independente da interface principal original e pode ser configurada separadamente com endereço MAC e endereço IP, enquanto a subinterface VLAN e a interface principal compartilham o mesmo endereço MAC. VLANs são usadas para dividir domínios de broadcast, enquanto macvlans compartilham o mesmo domínio de broadcast.

Por meio de diferentes subinterfaces, a MacVLAN também pode alcançar isolamento de tráfego. O MacVLAN determinará para qual NIC virtual o pacote deve ser entregue com base no endereço MAC do destino do pacote, e então a NIC virtual passará o pacote para a pilha de protocolos da camada superior para processamento.


03 Quatro modos

Dependendo do modo de comunicação entre as subinterfaces MacVLAN, existem quatro modos de rede para MACVLAN:

  • Modo privado
  • Modo VEPA (Agregador de Portas Ethernet Virtual)
  • Modo bridge
  • Modo passthru


Por padrão, o modo VEPA é utilizado.

3.1 Privado

Nesse modo, as subinterfaces sob a mesma interface primária estão isoladas umas das outras e não podem se comunicar. Mesmo que seja desviado de um interruptor físico externo, será descartado sem piedade.




3.2 Vepa

Nesse modo, o tráfego entre subinterfaces precisa ser direcionado para um switch externo que suporte 802.1Qbg/VPEA (físico ou virtual), encaminhado pelo switch externo e depois de volta.

Nota: A função 802.1Qbg/VPEA simplesmente significa que o switch deve suportar a função hairpin, ou seja, o pacote de dados pode ser recebido de uma interface e depois devolvido.



3.3 Ponte

Nesse modo, a funcionalidade da ponte Linux é simulada, mas o melhor da ponte é que o endereço MAC de cada interface é conhecido e não precisa ser aprendido. Portanto, nesse modo, as sub-interfaces podem se comunicar diretamente.



3.4 Passthru

Esse modo permite que apenas uma única subinterface se conecte à interface principal, e deve ser configurado para modo promíscuo, geralmente usado para fazer pontes entre subinterfaces e criar subinterfaces VLAN.



3.5 Mactap

Outra tecnologia semelhante ao MacVLAN é o MacTap. Diferente do macvlan, o mactap recebe o pacote e o entrega para a pilha de protocolos, mas para um arquivo tapX, por meio do qual completa a comunicação direta com o usuário.



04 Prática

No Linux, o comando para criar uma macvlan é o seguinte:

Em geral, usar apenas macVLAN é inútil, e geralmente é uma combinação de VMs e containers para construir uma rede. Vamos usar o namespace para ver como o Linux usa macvlan.

A topologia experimental é a seguinte:




No meu sistema, usando a interface enp0s8 como exemplo, criei duas subinterfaces macvlan (usando o modo bridge), configurei o IP e o juntei em dois namespaces para testar a conectividade.

Nota: O endereço IP do enp0s8 é 192.168.56.110/24, e o endereço IP da subinterface configurada também deve ser do mesmo segmento CIDR.

Após duas subinterfaces, faça ping nele:


Você pode ver que pode ser pingado, mas se você mudar o modo acima para outro, não vai funcionar, então vou deixar para todos experimentarem (o padrão é o modo vepa).

Além disso, no Docker, o MacVLAN é um modelo de rede cross-host mais importante, que será discutido no próximo artigo.

05 Resumo

MACVLAN é uma tecnologia de virtualização de placas de rede que pode virtualizar uma placa de rede em múltiplas placas de rede.

Os quatro modos de comunicação do MacVLAN, sendo o modo mais comum o Bridge.

Pense bem:

Semelhanças e diferenças entre a Ponte Macvlan e a Ponte
Existe uma tecnologia semelhante em que múltiplas placas de rede virtuais compartilham o mesmo endereço MAC, mas possuem endereços IP independentes.


Endereço original:O login do hiperlink está visível.




Anterior:Operação Prática: Use o BundleTransformer para substituir System.Web.Optimization
Próximo:O Docker usa Macvlan para definir um endereço IP independente para contêineres
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com