Point-to-Point Protocol daemon(PPPD) is thedaemon that implementsPoint-to-Point Protocol (PPP). PPP is used to manage network connections between two nodes onUnix-like operating systems. It is configured usingcommand-line arguments andconfiguration files.
While it has initially been used to manage onlydial-up access, it is also used to managebroadband connections such asDSL, ifPoint-to-Point Protocol over Ethernet (PPPoE) orPoint-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:
- Looped link detection: PPP detects looped links usingmagic numbers. When PPPD sends PPP LCP messages, these messages include a magic number. If a line is looped, the node receives an LCP message with its own magic number, instead of getting a message with the peer's magic number.
- Automatic self configuration: UsingLink Control Protocol it has to negotiate protocol features like Address-and-Control-Field-Compression (ACFC), escaped characters, and the compression, encryption (likeMPPE) and authentication methods to use.
- Access control and authentication: Using protocols likeChallenge-handshake authentication protocol (CHAP) orPassword authentication protocol (PAP) it has to provide and check authentication data.
- Layer 3 configuration: If usingInternet Protocol Control Protocol (IPCP), it will negotiate or determineIP parameters such as theIP addresses, themaximum transmission unit, andname server addresses. Some versions may also supportInternetwork Packet Exchange Control Protocol (IPXCP) andAppleTalk Control Protocol (ATCP) for routingIPX orAppleTalk over the link.
- After negotiation is complete, it has to set up the required network interfaces and routes, so that the connection is run by thekernel.
pppd terminates a PPP link when:
- too many frames with invalidframe 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 handlingDial-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
[edit]- kppp – A kdeGUIfrontend for pppd.
- gnome-ppp – A (discontinued) gnomeGUIfrontend forWvDial, 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.[1]
- WvDial – ACLI tool which is used formodem initialisation before starting pppd.