What's the difference between a switch, a router, and a modem?
Routers: these devices connect different networks, operating at Layer 3 (the network layer) of the OSI model. They maintain routing tables which map IP addresses (more correctly, IP prefixes) to an outgoing interface. Note that an interface may contain one or more ports (See below).
Switches: these maintain forwarding tables which map MAC addresses to physical ports, operating at Layer 2 (the data link layer) of the OSI model. This is not necessarily a one-to-one mapping; many MAC addresses can be bound to the same physical port. This is the case where you have multi-layer switched networks (think a Netgear or Belkin switch plugged into your office or university network), or a hub connected to a switch port.
Hubs: these are essentially multi-port signal repeaters, operating at Layer 1 (the phyiscal layer) of the OSI model. They can be either unpowered (simply providing a physical connection for the existing signal to propagate along), or powered, where they actually regenerate and/or amplify the signal they receive. The point to note here is that hubs are a single collision domain. A collision domain represents a set of devices all connected to the same physical transmission medium, such that only one of them can transmit at any given time (ignoring multiplexing technologies like wavelength division multiplexing, frequency-division multiplexing, time-division multiplexing, etc etc.).
In practice, hubs are found less and less in today's data networks, as they have poor performance (as only one user can transmit at a time) and poor security (anyone connected to the same hub can hear everything all other users transmit and receive).
Modems: MOdulator-DEModulator. Responsible for establishing a digital channel over an analogue medium, most commonly the telephone network. Modems again operate at Layer 2 (the data link layer), but use different protocols than Ethernet to communicate. They then offer protocols such as PPP to the network layer, to allow IP traffic to flow over their links.
Hmm... For get a good understanding you will need an understanding about OSI model. But I will try to explain them as simple as possible.
Basically any networked transmission is going through the indicated path. In simpler words the data you sent is converted into electrical signals to transmit over physical link.
The bottom layer just has an idea about electrical signal not about any bits or bytes. The layer 2, Data link layer has an awareness about MAC addresses. When we are coming to layer 3 - Network layer we have some more high level approach, it can process IP addresses as well.
When we are talking about a router, router is a Layer 3 device, that can work with IPs. It can take decisions based on IPs. as an example route a packet based on IP or filter packets.
But Switch is just only a Layer 2 device. I just worries only on Physical addresses. (MAC addresses) and all the data communication is done using MACs.
Oskar Duveborn has given a more straight forward answer on that..
Directly addressing your comment the router works with IP addresses while switch works with MAC addresses. I have no good idea about the internal architecture of a modem. Sorry buddy :(
This short article has explained some of the visible differences between the device types. It may be useful to you.
I really like Chathurangas answer ^^
But here's an attempt at using layman's terms, which will skew reality and leave important bits out:
Put together with the OSI layer diagram, this could be enhanced a lot I guess... this could be the Serverfault version of that famous Stack Overflow question that seemed ridiculously simple on the surface, but spawned a lot of highly detailed answers.
Layer 2 Switch - forwards ethernet frames between switches on a local campus. in addition some switches support static and default routing.
Layer 3 Switch - forwards packets between VLANs and subnets on local campus network. Supports static, default and dynamic routing.
Router - forwards packets between subnets across a WAN and between routers and switches.
Cable / DSL Modem - translate between Ethernet interface at a desktop or router and Cable (DOCSIS) / DSL broadband signaling.