Многоуровневый принцип построения сети

ГЛАВА 2. Стек протоколов сети пакетной коммутации X.25. Шифрование информации в сети пакетной коммутации

Многоуровневый принцип построения сети

Организация взаимодействия между устройствами в сети является сложной задачей. Как известно, для решения сложных задач используется универсальный прием – декомпозиция, то есть разбиение одной сложной задачи на несколько более простых задач-модулей. Процедура декомпозиции включает в себя четкое определение функций каждого модуля, решающего отдельную задачу, а также определение функций интерфейсов, связывающих каждый модуль. В результате достигается логическое упрощение задачи, а, кроме того, появляется возможность безошибочной модификации отдельных модулей без изменения остальной части системы, замена модулей.

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

· все множество функциональных модулей разбивают на уровни;

· уровни организуют в виде вертикального стека, то есть они взаимодействуют на основе строгой иерархии;

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

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

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

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

Уровень n узла сети (одной машины), поддерживает связь с уровнем n другого узла сети. Правила и соглашения, используемые в данном общении, называются протоколом уровня n. По сути, протокол является договоренностью общающихся сторон о том, как должно происходить общение.

Протокол — это набор формализованных правил, процедур, спецификаций, определенный формат и способ передачи данных.
Обычно протокол обеспечивает взаимодействие между процессами, находящимися на одном иерархическом уровне, но в разных оконечных и транзитных пунктах сети. Элементы данных, пересылаемых на одном иерархическом уровне, называются элементами данных протокола блока данных PDU (Protocol Data Unit).

На рис. 2.1. показана пятиуровневая сеть. Объекты различных узлов сети включают

соответствующие уровни. Они виртуально (логически) общаются при помощи протоколов. В действительности, данные не пересылаются с уровня n одной машины на уровень n другой машины. Вместо этого, каждый уровень машины-отправителя, начиная с верхнего, передает данные и управление уровню, лежащему ниже, пока не будет достигнут самый нижний уровень. Такие сообщения называются служебными элементами данных SDU (Service Data Unit). Ниже первого уровня находится физический носитель, по которому и производится обмен информацией. На приемной стороне пересылаемый блок данных последовательно проходит уровни машины-получателя снизу вверх. Каждый уровень выполняет свою группу функций, необходимых для приема данных.

Между каждой парой смежных уровней интерфейс. Это аппаратно-программные средства, а также совокупность правил, которые обеспечивают взаимодействие смежных уровней.

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

Набор уровней и протоколов называется архитектурой сети. Спецификация архитектуры должна содержать достаточно информации для написания программного обеспечения или создания аппаратуры для каждого уровня так, чтобы они корректно выполняли требования протокола. Детали реализации не являются частями архитектуры и практически не приводятся в документах международных организаций по стандартизации. Чтобы проще понять суть многоуровневого общения, можно воспользоваться следующей аналогией (рис. 2.2).


Рис. 2.2. Пример многоуровневого общения

Представим, что существуют два абонента Боб и Алиса (уровень 3), один из них говорит на английском языке, а другой – на французском. Поскольку нет общего языка, на котором они могут общаться непосредственно, каждый из них использует переводчика (одноранговые процессы уровня 2). Каждый из переводчиков, в свою очередь, нанимает секретаря (одноранговые процессы уровня 1). Боб желает сказать своему собеседнику «Я люблю Вас». Для этого он передает сообщение на английском языке по интерфейсу 2/3 (интерфейс, находящийся между вторым и третьим уровнем) своему переводчику. Переводчики договорились общаться на нейтральном языке – русском. Таким образом, сообщение преобразуется к виду «Я люблю Вас». Выбор языка является протоколом второго уровня и осуществляется одноранговыми процессами уровня 2. Затем переводчик отдает сообщение секретарю для передачи, например, по факсу (протокол первого уровня). Когда сообщение получено другим секретарем, оно переводится на французский язык и через интерфейс 2/3 передается абоненту Алисе. Заметим, что каждый протокол полностью независим, поскольку интерфейсы одинаковы с каждой стороны. Переводчики могут переключиться с русского языка, скажем, на финский, при условии, что оба будут согласны. При этом в интерфейсах второго уровня с первым или с третьим уровнем ничего не изменится. Подобным образом секретари могут сменить факс на электронную почту или телефон, не затрагивая (и даже не информируя) другие уровни. Каждое изменение касается только обмена информацией на своем уровне. Эта информация не будет передаваться на более высокий уровень.

Рассмотрим технический пример: как обеспечить общение для верхнего уровня пятиуровневой сети (рис. 2.3). Сообщение данных M создается приложением, работающим на уровне 5, и передается уровню 4 для передачи. Кроме Уровень 4 добавляет к сообщению заголовок (З4), например, для идентификации номера сообщения, и передает результат уровню 3. Во многих сетях сообщения (данные), передаваемые на уровне 4, не ограничиваются по размеру, однако почти всегда подобные ограничения накладываются на протокол третьего уровня. Соответственно, уровень 3 должен разбить входящее сообщение на более мелкие единицы – пакеты данных, предваряя каждый пакет заголовками уровня 3 – З31(для М1) и З32 (для М2). В данном примере сообщение М разбивается на две части М1 и М2. Заголовок З31 и З32 включают управляющую информацию, например, последовательные номера, позволяющие уровню 4 принимающей машины доставить сообщения своему приложению в правильном порядке, если на нижних уровнях не произойдет нарушение этой последовательности. На некоторых уровнях заголовки также включают в себя размеры пересылаемых блоков данных, время пребывания в сети и другие управляющие поля.

Уровень 3 решает, какую из выходных линий использовать, то есть определяет направление дальнейшей передачи, и передает пакеты уровню 2.


Рис. 2.3. Пример пятиуровневой сети

Вставить на рисунке канал связи между отправителем А и получателем Б!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Здесь рассматривается разделение нагрузки, когда часть сообщения М передается по одному каналу, а другая часть по другому каналу. Уровень 2 добавляет не только заголовки З21 и З22 к каждому пакету, но также и концевики К21 и К22 – завершители пакета. Заголовки и концевики уровни 2 служат для обнаружения искаженных в канале пакетов и повтора их с буфера. Пакеты уровня 2 передаются уровню 1 для физической передачи по каналу связи. На приемной машине сообщение передается по уровням вверх, при этом заголовки убираются на каждом уровне по мере продвижения сообщения. Заголовки нижних уровней более высоким уровням не передаются.

Необходимо понять соотношение между виртуальным и реальным общением и разницу между протоколом и интерфейсом. Одноранговые процессы уровня 4, например, воспринимают свое общение горизонтальным, использующим протокол 4-го уровня. У каждого из них имеется процедура с названием вроде «Передать на противоположную сторону» или «Принять от противоположной стороны». На самом деле эти процедуры общаются не друг с другом, а с нижними уровнями при помощи интерфейсов 3/4. Абстракция одноранговых процессов является ключевой для проектирования сетей. С её помощью чрезвычайно трудно выполнимая задача разработки целой сети может быть разбита на несколько меньших, и вполне разрешимых проблем.

Приведенный выше пример относится к надежной службе на основе установления соединения между пользователями. В следующем разделе рассмотрим примеры предоставления услуг с установлением и без установления соединения, надежные и ненадежные.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: