The majority of people, not having lines (cable or Ethernet) linked directly to the Internet, must use telephone lines (the most widely used network) to connect to the Internet. The connection is made using a modem
, a device capable of converting digital data from the computer into analogue signals (that can circulate on telephone lines by amplitude or frequency modulation, in the same way as voice when you use the telephone).
Considering that only two computers are communicating and the speed of a telephone line is slow in comparison to that of a local network, it is necessary to use a protocol enabling standard communication between the different machines using a modem, and not overload the telephone line. These protocols are called modem protocols.
The notion of a point to point link
Via a standard telephone line, a maximum of two computers can communicate using a modem, in the same way that it is impossible to call two people simultaneously using the same telephone line. This is thus called a point to point link, i.e. a link between two machines reduced to its most simple expression: there is no need to share the line between several machines, each one speaks and responds in turn.
So, many modem protocols have been developed. The first of them allowed a single transmission of data between two machines, then some of them were equipped with error control and with the growth of the Internet, were equipped with the ability to address machines. In this way, there are now two main modem protocols:
- SLIP: an old protocol, low in controls
- PPP: the most widely used protocol for accessing the Internet via a modem, it authorizes addressing machines
The SLIP protocol
SLIP means Serial Line Internet Protocol. SLIP is the result of the integration of modem protocols prior to the suite of TCP/IP protocols.
It is a simple Internet link protocol conducting neither address or error control, this is the reason that it is quickly becoming obsolete in comparison to PPP.
Data transmission with SLIP is very simple: this protocol sends a frame composed only of data to be sent followed by an end of transmission character (the END character, the ASCII code of which is 192). A SLIP frame looks like this:
|Data to be transmitted
The PPP protocol
PPP means Point to Point Protocol. It is a much more developed protocol than SLIP (which is why it is replacing it), insofar as it transfers additional data, better suited to data transmission over the Internet (the addition of data in a frame is mainly due to the increase in bandwidth).
In reality, PPP is a collection of three protocols:
- a datagram encapsulation protocol
- an LCP, Link Control Protocol, enabling testing and communication configuration
- a collection of NCPs, Network Control Protocols allowing integration control of PPP within the protocols of the upper layers
Data encapsulated in a PPP frame is called a packet. These packets are generally datagrams, but can also be different (hence the specific designation of packet instead of datagram). So, one field of the frame is reserved for the type of protocol to which the packet belongs. A PPP frame looks like this:
|Protocol (1-2 bytes)
||Data to be transmitted
The padding data is used to adapt the length of the frame for certain protocols.
A PPP session (from opening to closure) takes place as follows:
- Upon connection, an LCP packet is sent
- In the event of an authentication request from the server, a packet relating to an authentication protocol may be sent (PAP, Password Authentication Protocol, or CHAP, Challenge Handshake Authentication Protocol or Kerberos)
- Once communication is established, PPP sends configuration information using the NCP protocol
- Datagrams to be sent are transmitted as packets
- Upon disconnection, an LCP packet is sent to end the session
For more information on PPP protocol, please refer to RFC1661 which explains the protocol in detail: