Модель ISO/OSI
Международная Организация по Стандартам (International Standards Organization, ISO) разработала модель,
которая четко определяет различные уровни взаимодействия систем, дает им стандартные имена и указывает,
какую работу должен делать каждый уровень. Эта модель называется моделью взаимодействия открытых
систем (Open System Interconnection, OSI) или моделью ISO/OSI.
В модели OSI взаимодействие делится на семь уровней или слоев. Каждый уровень имеет дело
с одним определенным аспектом взаимодействия. Таким образом, проблема взаимодействия декомпозирована
на 7 частных проблем, каждая из которых может быть решена независимо от других. Каждый уровень поддерживает
интерфейсы с выше- и нижележащими уровнями.
Модель OSI описывает только системные средства взаимодействия, не касаясь приложений конечных пользователей.
Приложения реализуют свои собственные протоколы взаимодействия, обращаясь к системным средствам. Следует
иметь в виду, что приложение может взять на себя функции некоторых верхних уровней модели OSI, в таком случае,
при необходимости межсетевого обмена оно обращается напрямую к системным средствам, выполняющим функции
оставшихся нижних уровней модели OSI.
Приложение конечного пользователя может использовать системные средства взаимодействия не только для организации
диалога с другим приложением, выполняющимся на другой машине, но и просто для получения услуг того или иного
сетевого сервиса, например, доступа к удаленным файлам, получение почты или печати на разделяемом принтере.
Итак, пусть приложение обращается с запросом к прикладному уровню, например к файловому сервису. На основании
этого запроса программное обеспечение прикладного уровня формирует сообщение стандартного формата, в которое
помещает служебную информацию (заголовок) и, возможно, передаваемые данные. Затем это сообщение направляется
представительному уровню. Представительный уровень добавляет к сообщению свой заголовок и передает результат
вниз сеансовому уровню, который в свою очередь добавляет свой заголовок и т.д. Некоторые реализации протоколов
предусматривают наличие в сообщении не только заголовка, но и концевика. Наконец, сообщение достигает самого
низкого, физического уровня, который действительно передает его по линиям связи.
Когда сообщение по сети поступает на другую машину, оно последовательно перемещается вверх с уровня на уровень.
Каждый уровень анализирует, обрабатывает и удаляет заголовок своего уровня, выполняет соответствующие данному
уровню функции и передает сообщение вышележащему уровню.
Кроме термина "сообщение" (message) существуют и другие названия, используемые сетевыми специалистами для обозначения
единицы обмена данными. В стандартах ISO для протоколов любого уровня используется такой термин как "протокольный блок
данных" - Protocol Data Unit (PDU). Кроме этого, часто используются названия кадр (frame), пакет (packet), дейтаграмма (datagram).