Este protocolo consta de dos demonios que se están ejecutando continuamente tanto en el servidor NFS como en los clientes NFS para poder saber que procesos están bloqueados y cuales tienen los bloqueos.
Al compartir esta estructura con el protocolo NFS, esto supuso que se especificara una nueva versión de NLM.
Este demonio se implementa como un conjunto de subprocesos del kernel (similar al servidor NFS).
Cuando una aplicación desea obtener un bloqueo en un archivo local, envía su solicitud al kernel utilizando las subrutinas lockf, fcntl o flock.
Sin embargo, si una aplicación en un cliente NFS realiza una solicitud de bloqueo para un archivo remoto, el cliente NLM genera una llamada a procedimiento remoto (RPC) al servidor para manejar la solicitud.
Para usar esta variable tiene que ser añadida al archivo /etc/environment con el siguiente formato: Aquí podemos ver que los paquetes UDP enviados por el cliente tienen un puerto de origen en el rango 4000 - 5000, y las conexiones TCP tienen un puerto de origen en el rango 7000 - 8000.