Протоколы, действующие на разных уровнях модели OSI, часто называют стеком протоколов (protocol stack). На включенном в сеть компьютере протоколы работают совместно, обеспечивая выполнение всех функций, необходимых конкретному приложению. Лишних услуг протоколы, вообще говоря, не предоставляют. Если, например, конкретная функция закреплена за протоколом одного уровня, протоколы других уровней точно такую же функцию не выполняют. Протоколы соседних уровней стека обслуживают друг друга в зависимости от направления передачи данных. В системе-отправителе данные генерируются приложением в верхней части стека протоколов и постепенно пробираются с уровня на уровень вниз (рис. 1.1). Каждый протокол выполняет некий сервис для протокола, работающего уров-
нем ниже. В нижней части стека протоколов находится сетевая среда, по которой информацияпередается на другой компьютер сети.
Когда данные достигают целевого компьютера, он выполняет те же действия, что и компьютер-отправитель, но в обратном порядке. Данные проходят по уровням к приложению-получателю, причем каждый протокол предоставляет аналогичный сервис протоколу более высокого уровня. Например, если протокол на третьем уровне компьютера-отправителя отвечает за кодирование данных, тот же самый протокол на третьем уровне системы-получателя отвечает за их расшифровку. Таким образом, протоколы на различных уровнях системы-отправителя связаны с аналогичными протоколами, работающими на том же уровне системы-получателя (рис. 1.2).