Very few modern computers or computer-based devices (which includes cell phones, iPods,
and automobile computers, to name just a few possibilities) operate independently. Instead,
they are tied to other computers directly, by modem, or through a network connection of
some sort. The computers may be located physically close to each other, or they may be
separated, even by thousands of miles. To work together, computers must have means to
communicate with each other. The communication component requires both hardware
and software to achieve this goal. Additional hardware components physically connect
computers together into multiprocessing systems, or clusters, or networks, or, via telephone,
satellite, or microwave, to computers at other remote locations. A communication channel
provides the connection between computers. The channel may be a wire cable, a fiber-optic
cable, a telephone line, or a wireless technology, such as infrared light, cellular phone, or
radio-based technology such as Wi-Fi or Bluetooth. Special I/O hardware, consisting of a
device such as a modem or network interface card (NIC) within the computer, serves as an
interface between the computer and the communication channel. There may be additional
hardware within the channel itself.
The communication component also requires additional software within the operating
system of each computer to make it possible for each computer to understand what the
other computers that they are connected with are saying. This software establishes the
connections, controls the flow of data, and directs the data to the proper applications
for use.