Строго говоря, NFR — это нечто большее, чем система выявления подозрительной сетевой активности. Правильнее рассматривать ее как компонент сетевого управления, одним из аспектов которого является борьба с нарушениями политики безопасности (равно как и со сбоями и отказами оборудования и программного обеспечения).

Один или несколько сетевых сенсоров (packet suckers в терминологии NFR) поставляют данные решателю, который эти данные фильтрует, реассемблирует потоки, при обнаружении нарушений реагирует на них, а также передает информацию поддерживающему сервису для сохранения с последующей статистической обработкой и обслуживанием запросов. Поддерживающий сервис может также просматривать переданную ему информацию на предмет выявления сигнатур злоумышленных действий.

Для всех стыков определены программные интерфейсы, так что возможна, например, смена или добавление сенсора или поддерживающего сервиса. Разделение поддерживающего сервиса от сбора и первичного анализа регистрационной информации позволяет распределять нагрузку, чтобы сложная обработка не тормозила процессы, от которых требуется работа в реальном масштабе времени.

Ядром NFR является решатель, а основой решателя — язык описания фильтров, который называется N. Это универсальный язык программирования, содержащий переменные с областями видимости, списочные типы данных, управляющие структуры, процедуры. Кроме того, в N есть специфические типы данных такие, как IP-адрес. Под значения разного рода счетчиков отводится по 64 разряда, что освобождает от проблем переполнения даже в больших сетях.