Las características principales del ppp de FreeBSD hacen de este programa una herramienta útil, flexible y tremendamente potente para conexiones entre sistemas, ya sea a través de Internet, conexiones directas, túneles, callback, etc.
Las características que destacan en ppp son:
Interface interactivo de usuario: Usando el modo comando, el usuario puede introducir comandos facilmente para establecer la conexión con el sistema remoto, comprobar el estado de la conexión, características del remoto, etc y cerrar la conexión. Para myor seguridad, todas las funciones se pueden proteger mediante password.
Soporte de marcado automático y manual: El modo interactivo tiene el mandato "term" que permite "hablar" directamente con el módem. Cuando el módem se conecta al remoto y comienza la negociación PPP, ppp lo detecta y cambia a modo "packet" automáticamente. Una se conoce la secuencia correcta de conexión para el remoto, se puede escribir un "chat script" que defina el procedimiento de marcado y login necesarios siendo ejecutado de manera automática.
Soporte de conexiones bajo demanda: Usando el modo -auto, ppp actuará como un demonio, esperando a que llegue un paquete a enviar a través del módem para realizar la conexión. También existen los modos -ddial (direct-dial) y -dedicated para conexiones a tiempo completo o semi dedicadas.
Soporte de callback cliente: ppp puede usar tanto el protocolo de callback estándar LCP como el protocolo MCCP (Microsoft Callback Control Protocol).
Soporte de enmascaramiento de paquetes: también conocido como enmascaramiento IP, permite que los computadores en una red privada y no registrada puedan acceder a Internet. La máquina que ejecuta el ppp actúa como gateway encargándose de enmascarar los paquetes salientes y desenmascarar los paquetes entrantes.
Soporte de conexiones ppp en segundo plano : trabajando en segundo plano (background), si ppp establece la conexión satisfactoriamente, funcionará como un demonio. En caso contrario, abandona la ejecución con un error. Esto permite la creación de scripts que ejecuten ciertos mandatos sólo si la conexión se establece satisfactoriamente.
Soporte de conexiones ppp en modo servidor : en modo directo (-direct), ppp actúa como servidor, aceptando conexiones ppp en la entrada/salida estándar.
Soporte de autentificación PAP y CHAP : Con PAP o CHAP es posible evitar el uso del procedimiento habitual de autentificación en Unix (login), y usar en su lugar el propio protocolo ppp. Si el remoto solicita autentificación CHAP de Microsoft y ppp ha sido compilado con soporte de librerías DES, se generará una respuesta MD4/DES apropiada.
Soporte de Proxy ARP: cuando se configura ppp como servidor, se le puede indicar que haga proxy arp en la conexión.
Soporte de filtrado de paquetes (firewall) : el usuario puede definir cuatro tipos de filtros: el filtro in para paquetes entrantes, el filtro out para paquetes salientes, el filtro dial para definir los paquetes que pueden iniciar una conexión y el filtro alive para definir los paquetes que reinician el contador de timeout de la conexión.
Soporte de bpf en el driver tunnel: el usuario puede usar tcpdump para revisar el flujo de paquetes sobre la conexión ppp.
Soporte de TCP sobre PPP : si el dispositivo de conexión es especificado como host:port, ppp abrirá una conexión TCP para el transporte de datos, en lugar de usar un dispositivo serie convencional.
Soporte de extensiones IPCP de Microsoft : posibilidad de negociación de los servidores de nombres DNS y WINS usando la pila PPP de Microsoft.
Soporte de Multilink-PPP: es posible configurar ppp para establecer más de una conexión física combinando el ancho de banda de todas las conexiones para un mejor rendimiento.