3 4

Lesson 3: SLIP and PPP

The Serial Line Internet Protocol (SLIP) and the Point-to-Point Protocol (PPP) are also data-link layer protocols, but they are very different from Ethernet and Token Ring. SLIP and PPP, which are part of the TCP/IP protocol suite, are not designed to connect systems to a LAN that uses a shared network medium. Instead, they connect one system to another using a dedicated connection, such as a telephone line. For this reason, they are called end-to-end protocols. Because the medium isn't shared, there is no need for a MAC mechanism, and because there are only two systems involved, there is no need to address the packets. The result is that these protocols are far simpler than Ethernet and Token Ring protocols. SLIP and PPP also do not include physical layer specifications; they operate strictly at the data-link layer. The physical layer is provided by another standard, such as the RS-232 specification, which defines the nature of the serial port that you use to connect a modem to your computer.


After this lesson, you will be able to

Estimated lesson time: 20 minutes


SLIP

SLIP is so simple, it hardly deserves to be called a protocol. It is designed to transmit signals over a serial connection (which in most cases means a modem and a telephone line) and has very low control overhead, meaning that it doesn't add much information to the network layer data that it is transmitting. Compared to the 18 bytes that Ethernet adds to every packet, for example, SLIP adds only 1 byte. Of course, with only 1 byte, SLIP can't provide functions like error detection, network layer protocol identification, security, or anything else.

SLIP works by transmitting an IP datagram received from the network layer and following it with a single framing byte called an End Delimiter (see Figure 5.10). This byte informs the receiving system when it has finished receiving the data portion of the packet. In some cases, the system surrounds the datagram with two End Delimiter fields, which makes it possible for the receiving system to easily ignore any line noise that occurs outside of the frame. Because of its limited capabilities, SLIP is rarely used today, having been replaced by PPP.

Figure 5.10-SLIP uses an End Delimiter to mark the end of each data packet.
Figure 5.10 SLIP uses an End Delimiter to mark the end of each data packet.

PPP

PPP is, in most cases, the protocol you use when you access the Internet by establishing a dial-up connection to an Internet Service Provider (ISP). PPP is more complex than SLIP and is designed to provide a number of services that SLIP lacks. These include the abilility of the systems to exchange IP addresses, carry data generated by multiple network layer protocols (which is called multiplexing), and support different authentication protocols. Still, PPP does all this using only a 5-byte header, larger than SLIP but still less than half the size of the Ethernet frame.

The PPP Frame

The PPP frame is illustrated in Figure 5.11.

Figure 5.11-The PPP frame
Figure 5.11 The PPP frame

It consists of the following fields:

Establishing a PPP Connection

As small as it is, the PPP frame can't possibly provide all of the functions listed earlier. Instead, the protocol performs many of these functions by performing an elaborate connection establishment procedure when the two systems first communicate. This method is more efficient than increasing the size of the PPP header, because there's no need to include this additional information in every packet. For example, it's beneficial for the two communicating systems to know each other's IP addresses, but there's no need to include address fields in every packet header, as in Ethernet, because there are only two computers involved, and they only have to identify themselves once. The same is true for functions like user authentication.

The PPP connection establishment procedure consists of the following phases, which occur before the systems exchange any application data.

  1. Link Dead The two systems begin with no communication, until one of the two initiates a physical layer connection, such as by running a program that causes the modem to dial.
  2. Link Establishment Once the physical layer connection is established, one system generates a PPP frame containing a Link Control Protocol (LCP) Request message. The systems use the LCP to negotiate the parameters they will use during the rest of the PPP session. The message contains a list of options, such as the use of a specific authentication protocol, header compression, network layer protocols, and so on. The receiving system can then acknowledge the use of these options or deny them and propose a list of its own. Eventually, the two systems agree on a list of options they have in common.
  3. Authentication If the two systems have agreed to the use of a particular authentication protocol during the link establishment phase, they then exchange PPP frames containing messages peculiar to that protocol in the Data field. Systems commonly use the Password Authentication Protocol (PAP) or the Challenge Handshake Authentication Protocol (CHAP), but there are other authentication protocols as well.
  4. Link Quality Monitoring If the two systems have negotiated the use of a link quality monitoring protocol during the link establishment phase, the exchange of messages for that protocol occurs here.
  5. Network Layer Protocol Configuration For each of the network layer protocols that the systems have agreed to use, a separate exchange of Network Control Protocol (NCP) messages occurs at this point.
  6. Link Open Once the NCP negotiations are complete, the PPP connection is fully established, and the exchange of packets containing network layer application data can commence.
  7. Link Termination When the two systems have finished communicating, they sever the PPP connection by exchanging LCP termination messages, after which the systems return to the Link Dead state.

Exercise 5.4: PPP Connection Establishment

Place the following steps of the PPP connection establishment process in the correct order.

  1. Link Open
  2. Link Termination
  3. Network Layer Protocol Configuration
  4. Authentication
  5. Link Quality Monitoring
  6. Link Establishment
  7. Link Dead