В начале 80-х годов предложен стандарт взаимодействия открытых систем, названный ISO/OSI. Была предложена семиуровневая модель организации взаимодействия компьютеров со средой передачей данных.
Перечислим уровни модели OSI:
Физический. Это уровень, который выходит на конкретную физическую среду. Средой может быть “витая пара”, оптоволокно, коаксиальный кабель и т.д., каждая такая среда определяет свои правила общения с ней.
Канальный. Это уровень, на котором формализуются правила передачи данных через каналы. То есть, если физический уровень — уровень управления средой (кабелем, радиоканалом), то канальный уровень связан уже с передачей данных по этому каналу.
Сетевой. Он управляет сетью, связью в сети между машинами, здесь решается проблема адресации и маршрутизации данных.
Транспортный. Этот уровень называют иногда уровнем логического канала. Соответственно, здесь решаются проблемы управлением передачи данных и связанные с этим задачи: локализации и обработки ошибок, и непосредственно передачи данных.
Сеансовый. Обеспечивает взаимодействие программ, понятно, что машины сами по себе не взаимодействуют друг с другом — это делают программы. При этом решаются проблемы синхронизации передачи данных, подтверждение/установка паролей и т.д.
Представительский. На этом уровне решается проблема с представлением данных, ибо разные системы имеют разные способы представления данных.
Прикладной. Здесь на прикладном уровне решаются проблемы стандартизации взаимодействия с прикладными системами.
Было предложено использовать такую семиуровневую модель для стандартизации взаимодействия систем(сейчас практически на все среды передачи данных такие стандарты разработаны). Считается, что в каждой из вычислительных систем, функционирующих в сети, существует набор уровней сетевого взаимодействия, соответствующего такой семиуровневой модели. Гарантировано, что существуют подряд идущие уровни снизу вверх. То есть если есть сеансовый уровень, то гарантировано есть все нижестоящие, если есть сетевой уровень, то есть и канальный и физический.
Взаимодействие осуществляется между параллельными уровнями. То есть каждый уровень может общаться только с таким же на другой машине. Правило взаимодействия систем на одноименных уровняхназывается протоколомпередачи данных.
Итак, протокол– это совокупность определений (соглашений, правил), регламентирующих формат и процедуры обмена информацией между двумя или несколькими независимыми устройствами или процессами.
Одноименные уровни напрямую друг с другом оперировать не могут. Они функционируют через нижние уровни. Каждый уровень модели может непосредственно взаимодействовать только с соседнимиуровнями. Правила взаимодействий между соседними уровняминазываются интерфейсом.
Модель ISO/OSI требует жесткой стандартизации всех уровней, интерфейсов, протоколов. Если эти стандарты есть, то мы можем просто менять содержимое уровней (например, имея стандарты на вилки и розетки, мы можем включать в электрическую сеть абсолютно разные приборы).