AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 973473
Accepted
x-yuri
x-yuri
Asked: 2019-07-01 11:14:08 +0800 CST2019-07-01 11:14:08 +0800 CST 2019-07-01 11:14:08 +0800 CST

O que é uma ponte Linux em termos de uma ponte física?

  • 772

Geralmente, uma ponte de rede é um dispositivo L2 que conecta vários segmentos de rede em um. Ele não possui IPs e basicamente apenas envia quadros para todos os segmentos, exceto aquele do qual foi recebido (ou mais inteligente).

Mas com uma ponte Linux você obtém uma interface com um endereço IP. Considere o seguinte diagrama com dockercontêineres:


(fonte: docker.com )

Neste caso, as interfaces de que estou falando são docker0e my_bridge.

Em seguida, você usa vethpares para conectar contêineres a uma ponte. Uma extremidade de um vethpar é representada por uma interface com um endereço IP que você pode ver em um contêiner. A outra extremidade não tem endereço IP, pertence ao namespace de rede do host. E você pode ver master docker0ou algo próximo a ele na ip asaída. Pode-se pensar nessa extremidade de um par como um conector que você conecta na porta de uma ponte.

Além disso, posso ver a 172.17.0.0/16 dev docker0 ...regra na tabela de roteamento do host, que possibilita o envio de pacotes do host para um contêiner.

Mas também posso enviar pacotes de um contêiner para a eth0interface do host. Que está em uma sub-rede diferente. E não consigo ver ao lado da interface master docker0do host na saída. O que provavelmente não faria sentido de qualquer maneira, já que uma ponte não pode conectar diferentes sub-redes. Portanto, esta parte (e a do parágrafo anterior) provavelmente não pode ser considerada parte da ponte. Em vez disso, como um comportamento extra que vem com uma ponte Linux.eth0ip a

Além disso, quando envio pacotes de um contêiner para outro, posso vê-los no namespace de rede do host (o host os iptablesprocessa).

Não importa o quanto eu tente, não consigo imaginar um diagrama com uma ponte Linux que eu não possa escolher. Quanto ao diagrama acima, parece que a ponte conecta diferentes sub-redes, o que uma ponte física não pode realizar.

Eu provavelmente prefiro colocar a ponte entre my_bridgee vethpares. Mas então deve-se admitir que você conecta as extremidades dos vethpares em my_bridge, não na ponte. E isso com uma ponte vem a capacidade de enviar pacotes do host para um contêiner e de um contêiner para a eth0interface do host.

Portanto, parece que uma ponte Linux é uma ponte de rede com algumas reviravoltas extras. E você não pode facilmente descrevê-lo em um diagrama sem introduzir imprecisões, pode? Eu estava errado sobre alguma coisa acima?

docker
  • 1 1 respostas
  • 370 Views

1 respostas

  • Voted
  1. Best Answer
    Michael Hampton
    2019-07-01T20:34:55+08:002019-07-01T20:34:55+08:00

    Você descreveu e sua imagem mostra o roteamento entre duas pontes e uma interface física que não faz parte de uma ponte. Entre as muitas outras coisas que o Linux faz é o roteamento da camada 3, e é isso que está acontecendo quando os pacotes fluem entre as pontes e a interface física que não faz parte de nenhuma ponte.

    • 4

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve