Hub is commonly used to connect segments of a LAN (Local Area Network). A hub contains multiple ports. When a packet arrives at one port, it is copied to the other ports so that all segments of the LAN can see all packets. Hub acts as a common connection point for devices in a network.
A switch operates at the data link layer (layer 2) and sometimes the network layer (layer 3) of the OSI (Open Systems Interconnection) Reference Model and therefore support any packet protocol. LANs that use switches to join segments are called switched LANs or, in the case of Ethernet networks, switched Ethernet LANs. In networks, the switch is the device that filters and forwards packets between LAN segments.
A router is connected to at least two networks, commonly two LANs or WANs (Wide Area Networks) or a LAN and its ISP.s (Internet Service Provider.s) network. The router is generally located at gateways, the places where two or more networks connect. Using headers and forwarding tables, router determines the best path to forward the packets. In addition, router uses protocols such as ICMP (Internet Control Message Protocol) to communicate with each other and configures the best route between any two hosts. In a word, router forwards data packets along with networks.