Modems are devices used to access internet in a dial up internet connection. The word "Modem" is actually Derived from 2 terms, Modulator and Demodulator. The primary function of a modem is made up of two processes. One is to convert data from digital computer signals to analog signals to send over a phone line and other one is to convert analog signals into digital data when it is received through phone line. The process in which digital computer signals are converted to analog signals is called modulation. The process in which analog signals are converted back into digital is called demodulation.
The primary function of the modem seems very simple when you read the description given above. However, the actual process is much more intricate. It is divided into some smaller functions as explained below.
The process begins when the computer transmits data to modem to send over internet. However, there is a significant gap between ability of data transfer between computer and modem. Computers are capable of transmitting information to modems at a faster rate then the modems are able to the same over a phone line. Hence, modems use technique called Data Compression. Modems collect bits of information together and compresses then before transmitting them over a phone line. The modem then group bits together and applies compression algorithms to them. The data is compressed and sent over to the phone line. This allows the transmission of large number of bits of data at the same time.
The modem also takes responsibility to maintain the integrity of the data sent through dialup connection. This function is called Error Correction. This function helps modems to authenticate that the information sent has remained intact during the transfer. In error correction, modems break up the data into small packets called frames. These frames of information are then transmitted after adding a checksum to each of these frames. The receiving modem checks whether the checksum matches the information sent. If the checksum does not match then the entire frame is resent. This ensures that the only the valid data is transferred and integrity of the data is preserved.
The final task is to ensure that the flow of the data transferred over internet is maintained consistently. It is possible that the modem at the sending end is much faster then the modem at the receiving end. Here, another function called the Flow Control comes into play. To maintain the rate of data transfer, if the sending modem is capable of sending data much faster than the receiving modem then the flow control at receiving modem allows the receiving modem to tell the sending modem to pause while it catches up. The flow control can be either software or hardware flow control. With software flow control, the modem sends a certain character that signals pause when it is time to halt. When it is ready to resume, it sends a different character. Hardware flow control uses wires in the modem cable. Overall, the Hardware flow control is faster and much more reliable than software flow control.
Overall, these three functions makes up most of the internal working of a modem and help modem to transfer data over the dial up connection in an efficient and reliable way.