Суть сети – это соединение разного оборудования, а значит, проблема совместимости является одной из наиболее острых. Эту проблему решают стандарты взаимодействия открытых систем.
Каждая открытая система предназначена для выполнения двух задач – обработки данных и передачи данных. Поэтому она состоит из двух частей (рис. 2.1). Первая из них – прикладные процессы, предназначена для обработки данных и в первую очередь для нужд пользователей. Вторая часть – область взаимодействия, которая обеспечивает передачу данных между прикладными процессами, расположенными в различных системах.
Рис. 2.1. Структура открытой системы.
В компьютерных сетях идеологической основой стандартизации является многоуровневый подход к разработке средств сетевого взаимодействия. Именно на основе этого подхода была разработана стандартная семиуровневая модель взаимодействия открытых систем.
Многоуровневый подход заключается в следующем. Все множество модулей разбивают на уровни. Уровни образуют иерархию, то есть имеются вышележащие и нижележащие уровни. Множество модулей, составляющих каждый уровень, сформировано таким образом, что для выполнения своих задач они обращаются с запросами только к модулям непосредственно примыкающего нижележащего уровня. С другой стороны, результаты работы всех модулей, принадлежащих некоторому уровню, могут быть переданы только модулям соседнего вышележащего уровня. Такая иерархическая декомпозиция задачи предполагает четкое определение функции каждого уровня и интерфейсов между уровнями. Интерфейс определяет набор функций, которые нижележащий уровень предоставляет вышележащему.
Сетевые компоненты, лежащие на одном уровне, но в разных узлах, обмениваются информацией в соответствии с некоторым протоколом. Протокол – protocol – набор правил, которым следуют компьютеры и программы при обмене информацией. Существует масса различных протоколов, которые управляют всеми аспектами связи и передачи данных – от аппаратного до прикладного уровня, но все они сходны в том, что задают правила, делающие связь возможной.
Модули, реализующие протоколы соседних уровней и находящиеся в одном узле, также взаимодействуют друг с другом в соответствии с четко определенными правилами и с помощью стандартизованных форматов сообщений. Эти правила принято называть интерфейсом. Интерфейс определяет набор сервисов, предоставляемый данным уровнем соседнему уровню.
Иерархически организованный набор протоколов, достаточный для организации взаимодействия узлов в сети, называется стеком коммуникационных протоколов.