If you are reading this article on your computer at home, it probably arrived via modem.

In this edition of HowStuffWorks, we'll show you how a modem brings you Web pages. We'll start with the original 300-baud modems and progress all the way through to the ADSL configurations!

(Note: If you are unfamiliar with bits, bytes and the ASCII character codes, reading How Bits and Bytes Work will help make this article much clearer.)

Let's get started with a short recap of how the modem came to be.

The Origin of Modems
The word "modem" is a contraction of the words modulator-demodulator. A modem is typically used to send digital data over a phone line.

The sending modem modulates the data into a signal that is compatible with the phone line, and the receiving modem demodulates the signal back into digital data. Wireless modems convert digital data into radio signals and back.

Modems came into existence in the 1960s as a way to allow terminals to connect to computers over the phone lines. A typical arrangement is shown below:

 


 

In a configuration like this, a dumb terminal at an off-site office or store could "dial in" to a large, central computer. The 1960s were the age of time-shared computers, so a business would often buy computer time from a time-share facility and connect to it via a 300-bit-per-second (bps) modem.

A dumb terminal is simply a keyboard and a screen. A very common dumb terminal at the time was called the DEC VT-100, and it became a standard of the day (now memorialized in terminal emulators worldwide). The VT-100 could display 25 lines of 80 characters each. When the user typed a character on the terminal, the modem sent the ASCII code for the character to the computer. The computer then sent the character back to the computer so it would appear on the screen.

When personal computers started appearing in the late 1970s, bulletin board systems (BBS) became the rage. A person would set up a computer with a modem or two and some BBS software, and other people would dial in to connect to the bulletin board. The users would run terminal emulators on their computers to emulate a dumb terminal.

People got along at 300 bps for quite a while. The reason this speed was tolerable was because 300 bps represents about 30 characters per second, which is a lot more characters per second than a person can type or read. Once people started transferring large programs and images to and from bulletin board systems, however, 300 bps became intolerable. Modem speeds went through a series of steps at approximately two-year intervals:

  • 300 bps - 1960s through 1983 or so
  • 1200 bps - Gained popularity in 1984 and 1985
  • 2400 bps
  • 9600 bps - First appeared in late 1990 and early 1991
  • 19.2 kilobits per second (Kbps)
  • 28.8 Kbps
  • 33.6 Kbps
  • 56 Kbps - Became the standard in 1998
  • ADSL, with theoretical maximum of up to 8 megabits per second (Mbps) - Gained popularity in 1999

(Check out How DSL Works and How Cable Modems Work for more information on the progression of modem technology and current speeds.)

300-bps Modems
We'll use 300-bps modems as a starting point because they are extremely easy to understand. A 300-bps modem is a device that uses frequency shift keying (FSK) to transmit digital information over a telephone line. In frequency shift keying, a different tone (frequency) is used for the different bits (see How Guitars Work for a discussion of tones and frequencies).

When a terminal's modem dials a computer's modem, the terminal's modem is called the originate modem. It transmits a 1,070-hertz tone for a 0 and a 1,270-hertz tone for a 1. The computer's modem is called the answer modem, and it transmits a 2,025-hertz tone for a 0 and a 2,225-hertz tone for a 1. Because the originate and answer modems transmit different tones, they can use the line simultaneously. This is known as full-duplex operation. Modems that can transmit in only one direction at a time are known as half-duplex modems, and they are rare.

Let's say that two 300-bps modems are connected, and the user at the terminal types the letter "a." The ASCII code for this letter is 97 decimal or 01100001 binary (see How Bits and Bytes Work for details on binary). A device inside the terminal called a UART (universal asynchronous receiver/transmitter) converts the byte into its bits and sends them out one at a time through the terminal's RS-232 port (also known as a serial port). The terminal's modem is connected to the RS-232 port, so it receives the bits one at a time and its job is to send them over the phone line.

Faster Modems
In order to create faster modems, modem designers had to use techniques far more sophisticated than frequency-shift keying. First they moved to phase-shift keying (PSK), and then quadrature amplitude modulation (QAM). These techniques allow an incredible amount of information to be crammed into the 3,000 hertz of bandwidth available on a normal voice-grade phone line. 56K modems, which actually connect at something like 48 Kbps on anything but absolutely perfect lines, are about the limit of these techniques (see the links at the end of this article for more information).

Here's a look inside a typical 56K modem:

 


 

All of these high-speed modems incorporate a concept of gradual degradation, meaning they can test the phone line and fall back to slower speeds if the line cannot handle the modem's fastest speed.

The next step in the evolution of the modem was asymmetric digital subscriber line (ADSL) modems. The word asymmetric is used because these modems send data faster in one direction than they do in another. An ADSL modem takes advantage of the fact that any normal home, apartment or office has a dedicated copper wire running between it and phone company's nearest mux or central office. This dedicated copper wire can carry far more data than the 3,000-hertz signal needed for your phone's voice channel. If both the phone company's central office and your house are equipped with an ADSL modem on your line, then the section of copper wire between your house and the phone company can act as a purely digital high-speed transmission channel. The capacity is something like 1 million bits per second (Mbps) between the home and the phone company (upstream) and 8 Mbps between the phone company and the home (downstream) under ideal conditions. The same line can transmit both a phone conversation and the digital data.

The approach an ADSL modem takes is very simple in principle. The phone line's bandwidth between 24,000 hertz and 1,100,000 hertz is divided into 4,000-hertz bands, and a virtual modem is assigned to each band. Each of these 249 virtual modems tests its band and does the best it can with the slice of bandwidth it is allocated. The aggregate of the 249 virtual modems is the total speed of the pipe.

(For information on the latest DSL technology, see How DSL Works.)

Point-to-Point Protocol
Today, no one uses dumb terminals or terminal emulators to connect to an individual computer. Instead, we use our modems to connect to an Internet service provider (ISP), and the ISP connects us into the Internet. The Internet lets us connect to any machine in the world (see How Web Servers and the Internet Work for details). Because of the relationship between your computer, the ISP and the Internet, it is no longer appropriate to send individual characters. Instead, your modem is routing TCP/IP packets between you and your ISP.

The standard technique for routing these packets through your modem is called the Point-to-Point Protocol (PPP). The basic idea is simple -- your computer's TCP/IP stack forms its TCP/IP datagrams normally, but then the datagrams are handed to the modem for transmission. The ISP receives each datagram and routes it appropriately onto the Internet. The same process occurs to get data from the ISP to your computer. See this page for additional information on PPP.