Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Olifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
Скачиваний:
2378
Добавлен:
21.03.2016
Размер:
23.36 Mб
Скачать

ГЛАВА 4 Архитектура и стандартизация сетей

Архитектура подразумевает представление сети в виде системы элементов, каждый т которых

выполняет определенную частную функцию, при этом все элементы вместе согласованно решают общую задачу взаимодействия компьютеров. Другими словами, архитектура сети отражает деком­ позицию общей задачи взаимодействия компьютеров на отдельные подзадачи, которые должны решаться отдельными элементами сети. Одним из важных элементов архитектуры сети является коммуникационный протокол —формализованный набор правил взаимодействия узлов сети.

Прорывом в стандартизации архитектуры компьютерной сети стала разработка модели взаимодей­ ствия открытых систем (Open System Interconnection, OSI), которая в начале 80-х годов обобщила накопленный ктому времени опыт. Модель OSI является международным стандартом и определяет способ декомпозиции задачи взаимодействия «по вертикали», поручая эту задачу коммуникаци­ онным протоколам семи уровней. Уровни образуют иерархию, известную как стек протоколов, где каждый вышестоящий уровень использует нижестоящий в качестве удобного инструмента для решения своих задач.

Существующие сегодня (или существовавшие еще недавно) стеки протоколов в целом отражают архитектуру модели OSI. Однако в каждом стеке протоколов имеются свои особенности и отличия от архитектуры OSI. Так, наиболее популярный стек TCP/IP состоит из четырехуровней. Стандартная архитектура компьютерной сети определяет также распределение протоколов между элементами сети — конечными узлами (компьютерами) и промежуточными узлами (коммутаторами и маршру­ тизаторами). Промежуточные узлы выполняют только транспортные функции стека протоколов, передавая трафик между конечными узлами. Конечные узлы поддерживают весь стек протоколов, предоставляя информационные услуги, например веб-сервис. Такое распределение функций озна­ чает смещение «интеллекта» сети на ее периферию.

Декомпозиция задачи сетевого взаимодействия

109

Декомпозиция задачи сетевого взаимодействия

Организация взаимодействия между устройствами сети является сложной задачей. Для решения сложных задач используется известный универсальный прием —декомпозиция, то есть разбиение одной сложной задачи на несколько более простых задач-модулей. Де­ композиция состоит в четком определении функций каждого модуля, а также порядка их взаимодействия (то есть межмодульных интерфейсов). При таком подходе каждый модуль можно рассматривать как «черный ящик», абстрагируясь от его внутренних механизмов и концентрируя внимание на способе взаимодействия этих модулей. В результате такого логического упрощения задачи появляется возможность независимого тестирования, раз­ работки и модификации модулей. Так, любой из показанных на рис. 4.1 модулей может быть переписан заново. Пусть, например, это будет модуль Л, и если при этом разработчики сохранят без изменения межмодульные связи (в данном случае интерфейсы А-В и Л-С), то это не потребует никаких изменений в остальных модулях.

Рис. 4.1. Пример декомпозиции задачи

Многоуровневый подход

Еще более эффективной концепцией, развивающей идею декомпозиции, является много­ уровневый подход. После представления исходной задачи в виде множества модулей эти модули группируют и упорядочивают по уровням, образующим иерархию. В соответствии с принципом иерархии для каждого промежуточного уровня можно указать непосредствен­ но примыкающие к нему соседние вышележащий и нижележащий уровни (рис. 4.2).

Рис. 4.2. Многоуровневый подход —создание иерархии задач

110

Глава 4. Архитектура и стандартизация сетей

С одной стороны, группа модулей, составляющих каждый уровень, для решения своих задач должна обращаться с запросами только к модулям соседнего нижележащего уров­ ня. С другой стороны, результаты работы каждого из модулей, отнесенных к некоторому уровню, могут быть переданы только модулям соседнего вышележащего уровня. Такая иерархическая декомпозиция задачи предполагает четкое определение функций и интер­ фейсов не только отдельных модулей, но и каждого уровня.

Межуровневый интерфейс, называемый также интерфейсом услуг, определяет набор функций, которые нижележащий уровень предоставляет вышележащему (рис. 4.3).

К уровню к+2

К уровню к -1 Рис. 4.3. Концепция многоуровневого взаимодействия

Такой подход дает возможность проводить разработку, тестирование и модификацию от­ дельного уровня независимо от других уровней. Иерархическая декомпозиция позволяет, двигаясь от более низкого уровня к более высокому, переходить ко все более и более аб­ страктному, а значит, более простому представлению исходной задачи.

ПРИМЕР

Рассмотрим задачу считывания логической записи из файла, расположенного на локальном диске. Ее (очень упрощенно) можно представить в виде следующей иерархии частных за­ дач.

1.Поискпосимвольномуименифайлаегохарактеристик, необходимыхдля доступакданным: информации офизическомрасположении файла на диске,размер и др.

Поскольку функции этого уровня связаны только с просмотром каталогов, представления о файловой системе на этом уровне чрезвычайно абстрактны: файловая система имеет вид графа, в узлах которого находятся каталоги, а листьями являются файлы. Никакие детали физической и логической организации данных на диске данный уровень не интересуют.

Декомпозиция задачи сетевого взаимодействия

111

2.Определение считываемой части файла.

Для решения этой задачи необходимо снизить степень абстракции файловой системы. Функции данного уровня оперируют файлом как совокупностью определенным образом связанных физических блоков диска.

3.Считывание данных с диска.

После определения номера физического блока файловая система обращается к системе ввода-вывода для выполнения операции чтения. На этом уровне уже фигурируют такие детали устройства файловой системы, как номера цилиндров, дорожек, секторов.

Среди функций, которые может запросить прикладная программа, обращаясь к верхнему уровню файловой системы, может быть, например, такая:

ПРОЧИТАТЬ гг ЛОГИЧЕСКУЮ з а п и с ь ф а й л а D I R I/ M Y / F I L E. T X T

Верхний уровень не может выполнить этот запрос «только своими силами», определив по символьному имени DIR1/MY/FILE.TXT физический адрес файла, он обращается с запросом к нижележащему уровню:

ПРОЧИТАТЬ

2 2 ЛОГИЧЕСКУЮ

ЗАПИСЬ

ИЗ ФАЙЛА,

ИМЕЮЩЕГО

ФИЗИЧЕСКИЙ АДРЕС

1 7 4

И РАЗМЕР 2 3 5

В ответ на запрос второй уровень определяет, что файл с адресом 174 занимает на диске пять несмежных областей, а искомая запись находится в четвертой области в физическом блоке 345. После этого он обращается к драйверу с запросом о чтении требуемой логической записи.

В соответствии с этой упрощенной схемой взаимодействие уровней файловой системы было однонаправленным —сверху вниз. Однако реальная картина существенно сложнее. Действительно, чтобы определить характеристики файла, верхний уровень должен «рас­ крутить» его символьное имя, то есть последовательно прочитать всю цепочку каталогов, указанную в имени файла. А это значит, что для решения свой задачи он несколько раз обратится к нижележащему уровню, который, в свою очередь, несколько раз «попросит» драйвер считать данные каталогов с диска. И каждый раз результаты будут передаваться снизу вверх.

Задача организации взаимодействия компьютеров в сети тоже может быть представлена в виде иерархически организованного множества модулей. Например, модулям нижнего уровня можно поручить вопросы, связанные с надежной передачей информации между двумя соседними узлами, а модулям следующего, более высокого уровня —транспорти­ ровку сообщений в пределах всей сети. Очевидно, что последняя задача —организация связи двух любых, не обязательно соседних, узлов —является более общей и поэтому ее решение может быть получено путем многократных обращений к нижележащему уровню. Так, организация взаимодействия узлов А и В может быть сведена к поочередному взаи­ модействию пар промежуточных смежных узлов (рис. 4.4).

А

В

Рис. 4.4. Взаимодействие произвольной парыузлов

112

Глава 4. Архитектура и стандартизация сетей

Протокол и стек протоколов

Многоуровневое представление средств сетевого взаимодействия имеет свою специфику, связанную с тем, что в процессе обмена сообщениями участвуют, по меньшей мере, две стороны, то есть в данном случае необходимо организовать согласованную работу двух иерархий аппаратных и программных средств на разных компьютерах. Оба участника сетевого обмена должны принять множество соглашений. Например, они должны согла­ совать уровни и форму электрических сигналов, способ определения размера сообщений, договориться о методах контроля достоверности и т. п. Другими словами, соглашения должны быть приняты на всех уровнях, начиная от самого низкого —уровня передачи битов, и заканчивая самым высоким, реализующим обслуживание пользователей сети.

На рис. 4.5 показана модель взаимодействия двух узлов. С каждой стороны средства взаимодействия представлены четырьмя уровнями. Каждый уровень поддерживает интер­ фейсы двух типов. Во-первых, это интерфейсы услуг с выше- и нижележащим уровнями «своей» иерархии средств. Во-вторых, это интерфейс со средствами взаимодействия другой стороны, расположенными на том же уровне иерархии. Этот тип интерфейса называют протоколом. Таким образом, протокол всегда является одноранговым интерфейсом.

Узел А

Узел В

Интерфейс ЗВ-4В

Интерфейс 2В-ЗВ

Интерфейс 1В-2В

Рис. 4.5. Взаимодействие двух узлов

ПРИМЕЧАНИЕ--------------------------------------------------------------------------------------------------

В сущности, термины «протокол» и «интерфейс» выражают одно и то же понятие — формализованное описание процедуры взаимодействия двух объектов, но традиционно в сетях за ними закрепили разные области действия: протоколы определяют правила взаимодействия модулей одного уровня в разных узлах, а интерфейсы — правила взаимодействия модулей соседних уровней в одном узле.

Иерархически организованный набор протоколов, достаточныйдля организации взаимодействия узлов всети, называется стеком протоколов.

Протоколы нижних уровней часто реализуются комбинацией программных и аппаратных средств, д протоколы верхних уровней, как правило, программными средствами.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]