A network switch is a networking hardware device that connects devices on a computer network by using packet switching to receive and forward data to the destination device. It learns the MAC addresses of connected devices and forwards traffic only to the relevant ports, unlike a hub which floods traffic to all ports. Common network topologies include bus, star, ring and mesh configurations which connect devices in different patterns and have advantages and disadvantages for scalability and fault tolerance.