TCP/IP runs over a wide variety of physical media. The media can be Ethernet cables, as in your local Ethernet, or telephone circuits, as in a wide area network. In the first half of this chapter, we used ifconfig to configure a local Ethernet interface. In this section, we use other commands to configure a network interface to use a telephone circuit.
Almost all data communication takes place via serial interfaces. A serial interface is just an interface that sends the data as a series of bits over a single wire, as opposed to a parallel interface that sends the data bits in parallel over several wires simultaneously. This description of a serial interface would fit almost any communications interface (including Ethernet itself), but the term is usually applied to an interface that connects to a telephone circuit via a modem or similar device. Likewise, a telephone circuit is often called a serial line.
In the TCP/IP world, serial lines are used to create wide area networks (WANs). Unfortunately, TCP/IP has not always had a standard physical layer protocol for serial lines. Because of the lack of a standard, network designers were forced to use a single brand of routers within their WANs to ensure successful physical layer communication. The growth of TCP/IP WANs led to a strong interest in standardizing serial-line communications to provide vendor independence.
Other forces that increased interest in serial line communications were the advent of small affordable systems that run TCP/IP and the advent of high-speed, dial-up modems that provide "reasonable" TCP/IP performance. When the ARPANET was formed, computers were very expensive and dial-up modems were very slow. At that time, if you could afford a computer, you could afford a leased telephone line. In recent years, however, it has become possible to own a UNIX system at home. In this new environment, there is an increasing demand for services that allow TCP/IP access over low-cost, dial-up serial lines.
These two forces - the need for standardized wide area communications and the need for dial-up TCP/IP access - have led to the creation of two serial-line protocols: Serial Line IP (SLIP) and Point-to-Point Protocol (PPP). 
Serial Line IP was created first. It is a minimal protocol that allows isolated hosts to link via TCP/IP over the telephone network. The SLIP protocol defines a simple mechanism for framing datagrams for transmission across serial lines. SLIP sends the datagram across the serial line as a series of bytes, and it uses special characters to mark when a series of bytes should be grouped together as a datagram. SLIP defines two special characters for this purpose:
SLIP is described in RFC 1055, A Nonstandard for Transmission of IP Datagrams Over Serial Lines: SLIP . As the name of the RFC makes clear, SLIP is not an Internet standard. The RFC does not propose a standard; it documents an existing protocol. The RFC identifies the deficiencies in SLIP, which fall into two categories:
To address SLIP's weaknesses, Point-to-Point Protocol (PPP) was developed as an Internet standard. At this writing, there are several RFCs that document Point-to-Point Protocol.  Two key documents are: RFC 1548, The Point-to-Point Protocol (PPP) , and RFC 1172, The Point-to-Point Protocol (PPP) Initial Configuration Options .
PPP addresses the weaknesses of SLIP with a three-layered protocol:
Point-to-Point Protocol (PPP) is the best TCP/IP serial protocol. PPP is preferred because it is an Internet standard, which ensures interoperability between systems from a wide variety of vendors. It has more features than SLIP, and is more robust. These benefits make PPP the best choice as a non-proprietary protocol for connecting routers over serial lines and for connecting in remote computers via dial-up lines.
However, sometimes your choice is limited. SLIP was the first widely available serial protocol for IP, and some older dial-up servers support SLIP only. PPP and SLIP do not interoperate; they are completely different protocols. So if your terminal servers only have SLIP, the remote hosts that connect through these servers must also have SLIP. Because of its installed base, SLIP will continue to be used for the foreseeable future.
So which protocol should you use? When you are designing a new serial-line service, use PPP. However, you may be forced to also support SLIP. SLIP is sometimes the only serial protocol available for a specific piece of hardware. Simply put, use PPP where you can and SLIP where you must.
Linux systems include both SLIP and PPP. However, on some other UNIX systems such as Solaris, PPP is included and SLIP is not. The only time you should consider using SLIP is when it comes as part of the operating system. Avoid downloading SLIP source code and porting it on to your system. Use PPP instead. If you have old terminal servers that support only SLIP and new computers that support only PPP, it's time to upgrade the old terminal server.