In many years ago, we can easily distinguish the difference of router and switch, because basically router is used to be as the gateway between different network, and accomplish the protocol change, while switch is basically used to be partition different network segement, and accomplish the data exchange at the layer 2. However now the switch becomes more and more intelligent, and it has intergrated many routing protocol, and totally can be working pretty well on layer 3. Now it is much more harder for common people to distinguish the discrepancy between router and switch. However we still can know some minor different points related two device. Router can offer much more wider routing protocol than switch and much more emphasize on the interoperability on different kinds of network. The switch will be much more emphasize on the performance on switch speed and capacity etc. The layer 3 switch has much more apllication on campus network, however router is used to be the component of internet besides campus network. By now there is no big different points between two devices from hardware or software point of view.