A bridge looks at the destination of the frame before sending, if the destination address is not on the other side of the bridge it will not transmit the data across. This helps break up one large broadcast domain into 2 by using one bridge device.
A switch has multiple ports in which each port is its own collision domain, a switch will determine the source and destination of the incoming data and switch it to the port it needs to go to. Switch ports can be broken into many separate broadcast domains using vlans. A switch is more efficient in today's large networks.
A bridge make its decision in software (done by the Main Processor) and a switch make is decision in hardware.
When we say anything is done in the hardware it means that it's not done by the Main Processor.
A bridge has one instance of spanning tree.. switch as mulitple instance of Spanning Tree.
Bridge Supports only one VLAN
Switch Supports multiple VLAN - one spanning tree per-Vlan.
Bridge...Design to connect multiple network
Switch...Design to connect End devices
2 Major difference:
1 -> Every port of bridge is connected to a shared common memory And port sends data to each other through that memory only. so it will be a bottle neck.just like a hub & spoke topology. where hub is common memory & spokes are port. Where as in switches every port is connected to every other port on switch creating a mesh topology and every port is also connected to the ASIC.
2-> Bridges are software based where as switches are hardware based. for example: bridge functionality works like Windows running over a pc where as switches like BIOS runs on a pc.