Прикладной уровень
Представительный уровень
Сеансовый уровень
Сетевой уровень
Транспортный уровень
Канальный уровень
Физический уровень
Общая характеристика модели OSI
Протокол. Интерфейс. Стек протоколов
Многоуровневый подход и декомпозиция задачи сетевого взаимодействия
Сейчас мы начнем изучение первого вопроса.
Организация взаимодействия между устройствами сети является сложной задачей. Как известно, для решения сложных задач используется универсальный прием – декомпозиция, то есть разбиение одной задачи на несколько задач-модулей. Декомпозиция состоит в четком определении функций каждого модуля, а также порядка их взаимодействия (интерфейсов). В результате достигается логическое упрощение задачи, а, кроме того, появляется возможность модификации отдельных модулей без изменения остальной части системы. При декомпозиции часто используют многоуровневый подход. Он заключается в следующем:
|
|
· все множество модулей, решающих частные задачи, разбивают на группы и упорядочивают по уровням, образующим иерархию;
· в соответствии с принципом иерархии для каждого промежуточного уровня можно указать непосредственно примыкающие к нему соседние вышележащий и нижележащий уровни;
· группа модулей, составляющих каждый уровень, должна быть сформирована таким образом, чтобы все модули этой группы для выполнения своих задач обращались с запросами только к модулям соседнего нижележащего уровня;
· с другой стороны, результаты работы всех модулей, отнесенных к некоторому уровню, могут быть переданы только модулям соседнего вышележащего уровня.
Рис. 1. Многоуровневый подход – создание иерархии задач
Такая иерархическая декомпозиция задачи предполагает четкое определение функции каждого уровня и интерфейсов между уровнями. Интерфейс определяет набор функций, которые нижележащий уровень предоставляет вышележащему. В результате иерархической декомпозиции достигается относительная независимость уровней, а значит, возможность их автономной разработки и модификации.Средства решения задачи организации сетевого взаимодействия, конечно, тоже могут быть представлены в виде иерархически организованного множества модулей. Например, модулям нижнего уровня можно поручить вопросы, связанные с надежной передачей информации между двумя соседними узлами, а модулям следующего, более высокого, уровня – транспортировку сообщений в пределах всей сети. Очевидно, что последняя задача – организация связи двух любых, не обязательно соседних, узлов – является более общей и поэтому ее можно решить посредством многократных обращений к нижележащему уровню.