Overview

Mpd 3.18 User Manual : Introduction : Overview
Previous: Introduction
Next: Mpd Layers

## 1.1. Overview

Mpd is a netgraph(4) based implementation of the multi-link PPP protocol for FreeBSD. It is designed to be both fast and flexible. It handles configuration and negotiation in user land, while routing all data packets strictly in the kernel. It supports several of the numerous PPP sub-protocols and extensions, such as:

- Multi-link PPP capability
- PAP, CHAP, and MS-CHAP authentication
- RADIUS authentication and accounting
- DES and MPPE encryption
- Stac*, and MPPC* compression
- Point-to-Point Tunnelling Protocol (PPTP)

Mpd also includes many additional features:

- Dial-on-demand with idle timeout
- Multiple active connections running simultaneously
- Dynamic demand based link management (also known as ``rubber bandwidth'')
- Powerful chat scripting language for asynchronous serial ports
- Pre-tested chat scripts for automatic configuration of several common modems and ISDN terminal adapters
- Support for the Netgraph kernel networking system
- Support for tunnelling PPP over TCP, UDP, and PPTP
- Clean device-type independent design
- Comprehensive logging

Mpd supports the following device types:

- Modem. The modem device type supports asychronous serial connections, including modems, ISDN terminal adapters, and null-modem connections. Mpd includes a fully event-driven scripting language for modem identification, setup, manual server login, etc.
- Netgraph. Netgraph is highly modular kernel networking system, supporting synchronous serial connections, Cisco HDLC, Frame Relay, and other protocols. Mpd supports running PPP over any netgraph connection.
- TCP. Mpd can tunnel PPP frames over a TCP connection. Frames are encoded in the same was as asychronous serial connections.
- UDP. Mpd can tunnel PPP frames over a UDP connection. Each frame is encapsulated in a UDP datagram packet.
- PPTP. Mpd can connect over the Internet using the Point-to-Point Tunnelling Protocol (PPTP). This protocol is supported by the popular Microsoft Dial-Up Networking client.
- PPPoE. Mpd can connect over an Ethernet port using the PPP-over-Ethernet (PPPoE) protocol.

Mpd was originally developed at Whistle Communications, Inc. for use in the Whistle InterJet. It is based on the original `iij-ppp` user-mode PPP code, though it has pretty much been completely rewritten since then. Mpd is now hosted on sourceforge.net MPD Project Page.

* These protocols require source files that are proprietary and/or export-controlled and cannot be included in the normal distribution. For MPPC, you need proprietary compression from Hi/Fn (formerly Stac).

Mpd 3.18 User Manual : Introduction : Overview
Previous: Introduction
Next: Mpd Layers