Самый простой способ определения и реализации протокола состоит в том, чтобы использовать компилятор протоколов типа rpcgen. Для создания протокола нужно идентифицировать имена сервисных процедур и типы данных возвращаемых аргументов и параметров. Компилятор протокола читает определения и автоматически создает коды для сервера и клиента. rpcgen использует собственный язык (язык RPC или RPCL), который очень похож на язык директив препроцессора. rpcgen реализован в виде автономного компилятора, который работает со специальными файлами, обозначенными расширением .x.
Для обработки файла RPCL необходимо выполнить:
rpcprog_clnt.c - процедуры клиента
rpcprog_svc.c - процедуры сервера
rpcprog_xdr.c - фильтры XDR
rpcprog.h - файл заголовка, необходимый для XDR фильтров.
Внешнее представление данных (XDR - eXternal Data Representation) - абстракция данных, необходимая для машинно-независимой связи. Клиент и сервер могут быть машинами различных типов.