Point-to-Point Protocol daemon

{{Infobox Software

| name = Paul's PPP

| logo =

| screenshot =

| caption =

| author = Paul Mackerras, based on earlier work by Drew Perkins, Brad Clements, Karl Fox, Greg Christy, and Brad Parker

| developer =

| released =

| latest release version = 2.5.0

| latest release date = {{Release date and age|2023|04|04}}

| latest preview version =

| latest preview date =

| operating system = Linux, Solaris

| platform =

| language =

| genre = Internet

| license = BSD-like licenses. Not all of them apply to all parts of pppd

| website = {{URL|https://ppp.samba.org}}

| repo = {{URL|https://github.com/ppp-project/ppp}}

}}

Point-to-Point Protocol daemon (PPPD) is the daemon that implements Point-to-Point Protocol (PPP). PPP is used to manage network connections between two nodes on Unix-like operating systems. It is configured using command-line arguments and configuration files.

While it has initially been used to manage only dial-up access, it is also used to manage broadband connections such as DSL, if Point-to-Point Protocol over Ethernet (PPPoE) or Point-to-Point Protocol over ATM (PPPoA) is used.

The role of pppd is managing PPP session establishment and session termination.

During session establishment, pppd has the role of:

pppd terminates a PPP link when:

  • too many frames with invalid frame check sequence (FCS) field have been received
  • the link is considered "idle" (if configured)
  • another program or the peer requests link termination.

Some newer versions of pppd are also capable of handling Dial-on-demand routing, where pppd sets up a virtual network, captures the packages it receives and establishes a PPP connection and forwards the captured and not-yet transmitted packages over the link.

Frontends and configurators

  • kppp – A kde GUI frontend for pppd.
  • gnome-ppp – A (discontinued) gnome GUI frontend for WvDial, which in turns depends on pppd.
  • pppconfig – It uses the standard ppp configuration files and sets ppp up so that the standard pon and poff commands (to connect and disconnect) and plog (to list the log) can be used to control ppp. It includes modem detection.{{cite web|url=http://man.he.net/man8/pppconfig |title=pppconfig(8) }}
  • WvDial – A CLI tool which is used for modem initialisation before starting pppd.

References

  • Manual page: pppd(8) (man pppd in a Unix terminal or [http://ppp.samba.org/pppd.html pppd man page at ppp.samba.org]).

Further reading

  • [http://tldp.org/HOWTO/PPP-HOWTO/ Linux PPP HOWTO]
  • [http://www.faqs.org/faqs/linux/faq/part5/ FAQ about ppp configuration]
  • [https://help.ubuntu.com/community/DialupModemHowto/SetUpDialer#head-0769b0061bf81bfba710118540bd86223e815761 Use of pon, poff and plog]
  • [http://www.cisco.com/warp/public/471/debug_ppp_negotiation.html Understanding debug ppp negotiation Output]
  • [http://ppp.samba.org/pppd.html pppd(8)]: Point-to-Point Protocol Daemon