为什么bridge0有一个以太网端口地址?它指的是什么?

为什么bridge0有一个以太网端口地址?它指的是什么?

我使用ifconfig -a列出 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

我对详细信息有几个疑问。

  1. 这是什么ether 82:13:08:b0:ec:c0意思?它是 MAC 地址吗?我们知道以太网端口应该有一个。但是为什么 bridge0 有一个?它是指它的一个以太网端口吗?但是是哪一个呢?

  2. 成员是否en1 en2连接在 bridge0 上?

或者有介绍它的链接吗?


编辑-01

如果 en1 和 en2 连接在 bridge0 上,我认为 bridge0 应该各有两个 MAC 地址。是吗hw: 0:0:0:0:0:0

而且我熟悉的Switch,MAC地址是在以太网端口上,但ether 82:13:08:b0:ec:c0不要插入以太网端口。

答案1

ether 82:13:08:b0:ec:c0 是什么意思?它是 MAC 地址吗?我们知道以太网端口应该有一个。但是为什么 bridge0 有一个?它是指它的以太网端口吗?但是是哪一个呢?

首先,该设备bridge0同时代表两件事:实际的 L2 桥接器和连接主机操作系统本身到那座桥。

单个桥接器/交换机端口通常没有自己的 MAC 地址,但连接到它们的设备有。因此,在这种情况下,82:13:08:b0:ec:c0是连接到桥接器的主机操作系统的 MAC 地址。如果 bridge0 有 IP 地址,操作系统将使用该 MAC 地址发送 IP 数据包。

但还要注意,即使网桥/交换机不需要使用 IP,它们仍然不是网络上完全被动的设备:它们通常使用 STP(生成树协议)与网络上的其他网桥交互以避免循环,因此每个使用 STP 的网桥当然都需要自己的 MAC 地址来发送 STP 数据包。(ifconfig 输出的“配置:”子部分完全由与 STP 相关的参数组成;“id”为空白,因为 STP 已禁用。)

当网桥使用 STP 时,它的 MAC 地址也是如此82:13:08:b0:ec:c0。(更高级的“企业”交换机可能还会使用 LLDP、802.1X 和各种其他链路层协议,这些协议要求交换机具有自己的 MAC 地址。)尽管从技术上讲,这是网桥的主机操作系统执行的操作 - 通过内部端口连接到网桥(即使在物理以太网交换机上也是如此;它们具有所谓的“CPU 端口”)。


从输出来看,你运行的是 macOS,或者至少是某种类似 BSD 的操作系统。如果是这样,不要太在意“ifconfig 已经过时”的评论——虽然这些评论非常正确在 Linux 上(其中‘ip’和‘bridge’工具是首选),它们都不适用于 BSD。

答案2

  1. 是的,这是 MAC 地址。桥接接口的作用类似于虚拟以太网接口,因此需要具有与虚拟以太网接口相同的特性。

  2. 是的。(我注意到你使用的工具并不真正适合处理桥梁的细节,并且已被弃用)。

答案3

网桥是第 2 层设备,因此它通过发送和接收由 MAC 地址寻址的帧来处理其所有流量。您说得对,以太网地址就是 MAC。

网桥将一个或多个网段连接在一起,它很可能将连接到 en1 的网段与连接到 en2 的网段连接起来。我们无法根据 ifconfig 来确定。

您可以在这里找到有关桥梁及其控制方法的更多信息:https://goyalankit.com/blog/linux-bridge

相关内容