ppp -- Point-to-Point Protocol (PPP) and driver


The Point-to-Point Protocol (PPP) is a method for transmitting datagrams over point-to-point serial links. This implementation of PPP is compliant with RFC 1332 (Internet Protocol Control Protocol (IPCP)), RFC 1333 (Link Quality Monitoring (LQM)), RFC 1334, (PPP Authentication Protocols), RFC 1548, (Point-to-Point Protocol (PPP)), RFC 1618 (PPP over ISDN), RFC 1962 (Compression Control Protocol (CCP)), and RFC 1990 (Multilink Protocol (MP)). PPP is not specific to IP like SLIP, but the current implementation only supports transmission of IP datagrams over serial links.

This implementation permits the use of an asynchronous driver that can perform the packetization and framing required by PPP to send data over a smart third-party serial port device. Such a driver offloads this processing from PPP onto the hardware. Third-party drivers and modules are specified by a push option specified for a link (physical device) definition in the PPP configuration (see ppptalk(1M)). The PPP daemon configures the PPP stack with the named drivers and modules by pushing them in the specified order onto the STREAMS stack below the PPP Control Driver (PCID). The pop option may be used to remove drivers and modules. If push or pop options are not specified for a device, the PPP daemon configures the default PPP stack for its type.

PPP stack architecture

The PPP daemon is responsible for building the PPP stack, placing calls, negotiating protocols such as the Link Control Protocol (LCP) and Network Control Protocols (NCP), implementing bandwidth control, and communicating with administration utilities such as ppptalk(1M). The daemon does not handle data communication between the Network Layer and the PPP driver after PPP negotiations have completed and a link has been established. Because the daemon is multithreaded, only one process is needed to handle administration of all PPP interfaces.

The PPP Control Driver (PCID) acts as a communications tunnel between the PPP daemon, the PPP driver and the lower part of the PPP stack. It is used to construct the PPP stack interface to the DLPI modules for synchronous and asynchronous ISDN connections, to the STREAMS tty and serial drivers for asynchronous serial connections, and to third-party framing drivers for asynchronous serial connections over ``intelligent'' serial interfaces.

The PPP STREAMS driver consists of multiplexer, multilink and compression modules. Many of the functions that the PPP driver performed in previous releases, such as authentication, and link and network control, are now performed by the PPP daemon.




hosts(4tcp), ifconfig(1Mtcp), filter(4), pppattach(1M), pppauth(7), pppsh(1M), pppstatus(1M), ppptalk(1M), slink(1Mtcp), strcf(4tcp), streamio(7)

RFC 1144, RFC 1332, RFC 1334, RFC 1471, RFC 1473, RFC 1548

© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004