Because a bridge is an ethernet device it needs a MAC address. A linux bridge can originate things like spanning-tree protocol frames, and traffic like that needs an origin MAC address.
A bridge does not require an ip address. There are many situations in which you won't have one. However, in many cases you may have one, such as:
When the bridge is acting as the default gateway for a group of containers or virtual machines (or even physical interfaces). In this case it needs an ip address (because routing happens at the IP layer).
When your "primary" NIC is a member of the bridge, such that the bridge is your connectivity to the outside world. In this case, rather than assigning an ip address to (for example)
eth0, you would assign it to the bridge device instead.
If the bridge is not required for ip routing, then it doesn't need an ip address. Examples of this situation include:
- When the bridge is being used to create a private network of devices with no external connectivity, or with external connectivity provided through a device other than the bridge.