Eu uso ifconfig -a
listar as informações detalhadas do bridge0:
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 index 7
eflags=41000000<ECN_ENABLE,FASTLN_ON>
options=63<RXCSUM,TXCSUM,TSO4,TSO6>
ether 82:13:08:b0:ec:c0
Configuration:
id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
ipfilter disabled flags 0x0
member: en1 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 5 priority 0 path cost 0
hostfilter 0 hw: 0:0:0:0:0:0 ip: 0.0.0.0
member: en2 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 6 priority 0 path cost 0
hostfilter 0 hw: 0:0:0:0:0:0 ip: 0.0.0.0
nd6 options=201<PERFORMNUD,DAD>
media: <unknown type>
status: inactive
state availability: 0 (true)
qosmarking enabled: yes mode: none
low power mode: disabled
multi layer packet logging (mpklog): disabled
routermode4: disabled
routermode6: disabled
Eu tenho várias perguntas sobre as informações detalhadas.
qual é o
ether 82:13:08:b0:ec:c0
significado? é um endereço MAC? como sabemos, uma porta Ethernet deve ter um. mas por que o bridge0 tem um? é se refere a uma porta Ethernet dele, mas qual?são os membros
en1
en2
estão ligados em bridge0?
ou existe algum link para apresentá-lo?
EDIT-01
Se o en1 e o en2 estiverem anexados na bridge0, acho que a bridge0 deve ter mais dois endereços MAC de cada. é o hw: 0:0:0:0:0:0
?
e estou familiarizado com o Switch, o endereço MAC está em uma porta Ethernet, mas ether 82:13:08:b0:ec:c0
não em uma porta Ethernet.
Sim, esse é um endereço MAC. Uma interface de ponte funciona como uma interface ethernet virtual, portanto, precisa das mesmas características que uma.
Sim. (Observo que a ferramenta que você está usando não é realmente apropriada para lidar com detalhes de beidges e foi preterida).
Primeiro, o dispositivo
bridge0
representa simultaneamente duas coisas: a ponte L2 real e uma porta Ethernet virtual que conecta o próprio sistema operacional host a essa ponte.Portas de bridge/switch individuais geralmente não têm seus próprios endereços MAC, mas os dispositivos conectados a elas têm. Portanto, neste caso,
82:13:08:b0:ec:c0
é o endereço MAC do sistema operacional host conectado à ponte. Se bridge0 tivesse um endereço IP, o SO enviaria os pacotes IP usando esse endereço MAC.Mas observe também que mesmo quando as pontes/switches não precisam falar IP, eles ainda não são dispositivos completamente passivos na rede: eles geralmente usam STP (Spanning Tree Protocol) para interagir com outras pontes na rede para evitar loops, então é claro que cada ponte que fala STP precisa de seu próprio endereço MAC para os pacotes STP. (A subseção "Configuration:" da sua saída ifconfig consiste inteiramente em parâmetros relacionados ao STP; o 'id' está em branco porque o STP está desabilitado.)
O mesmo
82:13:08:b0:ec:c0
acontece com o endereço MAC da ponte quando ela fala STP. (Switches "empresariais" mais avançados também podem falar LLDP, 802.1X e vários outros protocolos de camada de link que exigem que o switch tenha seu próprio endereço MAC.) ponte através de uma porta interna (isso é verdade mesmo em switches Ethernet físicos; eles têm a chamada "porta CPU").Parece pela sua saída que você está executando o macOS ou pelo menos algum sistema operacional semelhante ao BSD. Se for esse o caso, não se importe muito com os comentários sobre "ifconfig estar obsoleto" - embora sejam muito verdadeiros no Linux (onde as ferramentas 'ip' e 'bridge' são preferidas), nada disso se aplica aos BSDs.
Uma Bridge é um dispositivo de Camada 2, portanto, trata de todo o seu tráfego enviando e recebendo quadros endereçados por endereço MAC. você está correto, o endereço Ethernet é um MAC.
Uma ponte conecta um ou mais segmentos de rede e é bem provável que ela esteja conectando o segmento de rede conectado a en1 com o segmento conectado a en2. não podemos dizer com certeza com base no ifconfig.
você pode encontrar mais informações sobre pontes e como controlá-las aqui: https://goyalankit.com/blog/linux-bridge