Asynchronous Point-to-Point Protocol subsystem

The Asynchronous Point-to-Point Protocol (PPP) subsystem provides an alternative to SLIP.

PPP provides a standard method for transporting multiprotocol datagrams over point-to-point media. PPP is comprised of three main layers:

  1. A method for encapsulating multiprotocol datagrams. PPP supports the TCP/IP network layer protocols.
  2. A Link Control Protocol (LCP) for establishing, configuring, and testing the data-link connection. PPP implements this through streams kernel extensions.
  3. A family of Network Control Protocols (NCPs) for establishing and configuring different network layer protocols. PPP supports Internet Protocol Control Protocol (IPCP/IPv6CP) for negotiating a TCP/IP connection.

This implementation of PPP supports the following Request for Comments (RFCs):

  • RFC 1661, The Point-to-Point Protocol, LCP
  • RFC 1332, The PPP Internet Protocol Control Protocol (IPCP)
  • RFC 1662, PPP in HDLC-like Framing
  • RFC 1334, PPP Authentication Protocols
  • RFC 1990, PPP Multilink
  • RFC 2472, IP Version 6 over PPP

PPP differentiates between client and server. This operating system can act as both a client and a server. The distinction is made to simplify configuration. PPP servers tend to allocate a pool of IP/IPv6CP addresses among the connections that are being made. There is some correlation between the media devices. This implementation of PPP breaks this correlation. All server PPP connections are allocated on a first-available basis. This facilitates the separation of PPP from the media. The attachment process must request to be linked to the proper type of link.