ppp(7)
NAME
ppp, ipd, ipdptp, ipdcm − STREAMS modules and drivers for the Point-to-Point Protocol
AVAILABILITY
SUNWpppk
DESCRIPTION
ppp is a STREAMS module which implements the Point to Point Protocol (PPP). PPP is a datalink protocol which provides a method for transmitting datagrams over serial point-to-point links. PPP allows for various options to be negotiated between the two hosts of a point-to-point link; these options provide things such as peer authentication, header compression, link quality monitoring, maximum receive unit, and mapping of control characters. The PPP specifications are described in RFC 1331 The Point-to-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-to-Point Links and RFC 1332 The PPP Internet Protocol Control Protocol (IPCP).
The pseudo device drivers /dev/ipd, /dev/ipdptp, and /dev/ipdcm form the IP-dialup layer. This layer provides IP network interfaces for dialup (connect on demand) point-to-point links. The ipd and ipdptp devices are the IP-dialup network interfaces. The ipd device provides a point-to-multipoint interface, and the ipdptp device provides a point-to-point interface. The ipdcm device supplies an interface between the ipd or ipdptp device and a link manager.
The ppp module and IP-dialup layer work together to provide IP connectivity over serial point-to-point links. A "link manager" daemon (e.g., aspppd(1M)), is responsible for setting up and tearing down these dialup connections. Connections are established when an IP packet needs to be sent to the remote host, or the remote host has indicated a desire to establish a PPP connection.
Operation
When a host sends a packet which is bound for the remote host of the IP-dialup interface, the IP network layer routes the packet to the proper interface. If the point-to-point link is not currently established, the ipdcm driver sends a message to the link manager to establish a dialup connection to the remote host. The link manager dials the remote host and establishes an open communications channel. Once communication with the remote host is established, the link manager pushes the ppp module onto the serial device. The ppp module negotiates with the remote host on which options (such as peer authentication, link quality monitoring, header compression, maximum receive unit, and control character mapping), will be used for the link. When both hosts have agreed on a set of options, the link manager links the serial device with the ppp module underneath the ipd or ipdptp device that is providing the IP interface to the remote host. At this point, the dialup IP network connection has been established, and IP packets can be sent between the two hosts.
Similarly, a remote host may initiate a connection by contacting the port monitor running on the serial port. In this case, the link manager receives the request and proceeds to open the communication channel, pushes the ppp module, and links the serial device and ppp module beneath the ipd or ipdptp device which is providing the IP-dialup interface.
Once a dialup connection is established, packets routed to the associated IP-dialup interface are sent down to the connected ppp module. The ppp module performs compression (e.g., IP header and data link header), control character mapping, calculates an error check sequence, puts a PPP header on the packet and sends it to the serial device for transmission.
The serial device sends received bytes to the ppp module. The ppp module collects these bytes into packets, performs error checking, decompression (e.g., IP header and data link header), and unmapping of control characters. The PPP header is removed and the packet is sent up to through the IP-dialup interface for processing by the IP network layer.
SEE ALSO
Sun Microsystems — Last change: 16 Aug 1993