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

Один из лучших способов представить, как протоколы взаимодействуют в наборе, — рассмотреть взаимодействие в виде стека. Стек протоколов показывает, как в наборе реализованы отдельные протоколы. Протоколы рассматриваются с точки зрения уровней, причём каждый более высокий уровень обслуживания зависит от функций, определённых протоколами, которые показаны на более нижних уровнях. Нижние уровни стека относятся к перемещению данных по сети и предоставлению услуг верхним уровням, которые отвечают за наполнение пересылаемых сообщений. Судя по рисунку, мы можем использовать уровни для описания примера индивидуального общения. На нижнем, физическом уровне, есть два человека, каждый из которых может произнести слова вслух, используя голос. На втором уровне, уровне правил, достигнута договорённость общаться на разговорном языке. На верхнем уровне, уровне содержания, приведены фактически произносимые слова. В этом состоит содержание сообщения.

Если бы мы оказались свидетелями этого разговора, то фактически мы бы не увидели этих разбросанных в пространстве уровней. Использование уровней — это модель, которая даёт возможность эффективно разбить сложную задачу на части и описать принципы их работы.