An Ethernet switch has a similar function to a hub
(see earlier) -- switches are sometimes
called "switching hubs".
The difference is that a switch examines the MAC-level destination
address of every frame it receives, and transfers it directly to
the appropriate port, without other ports being involved in, or
aware of, the communication. Many such transfers can occur
simultaneously, which has the effect of increasing overall "system"
throughput. Typical switches can also do
full-duplex transfers, simultaneously transmitting
and receiving frames.
Note:
A switch builds a table mapping source addresses to ports which
it subsequently uses to make switching decisions. It's obvious that
switches are significantly more complex than simple hubs, and this
is reflected in their price. However, as with all technologies, the
difference is rapidly diminishing.
Philsophical note: it's interesting that switches
essentially remove the possibility of collisions. We should
therefore imagine that network hardware is no longer executing the
CSMA/CD protocol, because a host can send a frame at any time. This
is ony partly true -- collisions can, in fact, still occur, and the
important point is that an Ethernet switch can still
interoperate with older, non-switching hardware.
The retention of the same frame format is an
important aspect of this interoperability.