Многоуровневый подход. Протокол. Интерфейс. Стек протоколов
Автор работы: Пользователь скрыл имя, 24 Мая 2013 в 23:17, лекция
Описание работы
Организация взаимодействия между устройствами в сети является сложной задачей. Как известно, для решения сложных задач используется универсальный прием - декомпозиция, то есть разбиение одной сложной задачи на несколько более простых задач-модулей (рис. 1.20). Процедура декомпозиции включает в себя четкое определение функций каждого модуля, решающего отдельную задачу, и интерфейсов между ними. В результате достигается логическое упрощение задачи, а кроме того, появляется возможность модификации отдельных модулей без изменения остальной части системы.
Файлы: 1 файл
Информационные сети и коммуникации .docx
— 165.07 Кб (Скачать файл)
Книги:
- Олифер – Информационные сети.
- Сергиенко А.Б. – Цифровая обработка сигналов
Открытая система.
Многоуровневый подход. Протокол. Интерфейс. Стек протоколов.
Организация взаимодействия между
устройствами в сети является сложной
задачей. Как известно, для решения
сложных задач используется универсальный
прием - декомпозиция, то есть разбиение
одной сложной задачи на несколько
более простых задач-модулей (рис.
1.20). Процедура декомпозиции включает
в себя четкое определение функций
каждого модуля, решающего отдельную
задачу, и интерфейсов между ними.
В результате достигается логическое
упрощение задачи, а кроме того,
появляется возможность модификации
отдельных модулей без
Рис. 1.20. Пример декомпозиции задачи
При декомпозиции часто используют
многоуровневый подход. Он заключается
в следующем. Все множество модулей
разбивают на уровни. Уровни образуют
иерархию, то есть имеются вышележащие
и нижележащие уровни (рис. 1.21). Множество
модулей, составляющих каждый уровень,
сформировано таким образом, что
для выполнения своих задач они
обращаются с запросами только к
модулям непосредственно
Рис. 1.21. Многоуровневый подход - создание иерархии задач
Средства сетевого взаимодействия,
конечно, тоже могут быть представлены
в виде иерархически организованного
множества модулей. При этом модули
нижнего уровня могут, например, решать
все вопросы, связанные с надежной
передачей электрических
Многоуровневый подход к описанию
и реализации функций системы
применяется не только в отношении
сетевых средств. Такая модель функционирования
используется, например, в локальных
файловых системах, когда поступивший
запрос на доступ к файлу последовательно
обрабатывается несколькими программными
уровнями (рис. 1.22). Запрос вначале анализируется
верхним уровнем, на котором осуществляется
последовательный разбор составного символьного
имени файла и определение
уникального идентификатора файла.
Следующий уровень находит по
уникальному имени все основные
характеристики файла: адрес, атрибуты
доступа и т. п. Затем на более
низком уровне осуществляется проверка
прав доступа к этому файлу, а
далее, после расчета координат
области файла, содержащей требуемые
данные, выполняется физический обмен
с внешним устройством с
Рис. 1.22. Многоуровневая модель файловой системы
Многоуровневое представление средств сетевого взаимодействия имеет свою специфику, связанную с тем, что в процессе обмена сообщениями участвуют две машины, то есть в данном случае необходимо организовать согласованную работу двух «иерархий». При передаче сообщений оба участника сетевого обмена должны принять множество соглашений. Например, они должны согласовать уровни и форму электрических сигналов, способ определения длины сообщений, договориться о методах контроля достоверности и т. п. Другими словами, соглашения должны быть приняты для всех уровней, начиная от самого низкого - уровня передачи битов - до самого высокого, реализующего сервис для пользователей сети.
На рис. 1.23 показана модель взаимодействия двух узлов. С каждой стороны средства взаимодействия представлены четырьмя уровнями. Процедура взаимодействия этих двух узлов может быть описана в виде набора правил взаимодействия каждой пары соответствующих уровней обеих участвующих сторон. Формализованные правила, определяющие последовательность и формат сообщений, которыми обмениваются сетевые компоненты, лежащие на одном уровне, но в разных узлах, называются протоколом.
Рис. 1.23. Взаимодействие двух узлов
Модули, реализующие протоколы соседних уровней и находящиеся в одном узле, также взаимодействуют друг с другом в соответствии с четко определенными правилами и с помощью стандартизованных форматов сообщений. Эти правила принято называть интерфейсом. Интерфейс определяет набор сервисов, предоставляемый данным уровнем соседнему уровню. В сущности, протокол и интерфейс выражают одно и то же понятие, но традиционно в сетях за ними закрепили разные области действия: протоколы определяют правила взаимодействия модулей одного уровня в разных узлах, а интерфейсы - модулей соседних уровней в одном узле.
Средства каждого уровня должны отрабатывать, во-первых, свой собственный протокол, а во-вторых, интерфейсы с соседними уровнями.
Иерархически организованный набор протоколов, достаточный для организации взаимодействия узлов в сети, называется стеком коммуникационных протоколов.
Коммуникационные протоколы
Программный модуль, реализующий некоторый протокол, часто для краткости также называют «протоколом». При этом соотношение между протоколом - формально определенной процедурой и протоколом - программным модулем, реализующим эту процедуру, аналогично соотношению между алгоритмом решения некоторой задачи и программой, решающей эту задачу.
Понятно, что один и тот же алгоритм может быть запрограммирован с разной степенью эффективности. Точно так же и протокол может иметь несколько программных реализации. Именно поэтому при сравнении протоколов следует учитывать не только логику их работы, но и качество программных решений. Более того, на эффективность взаимодействия устройств в сети влияет качество всей совокупности протоколов, составляющих стек, в частности, насколько рационально распределены функции между протоколами разных уровней и насколько хорошо определены интерфейсы между ними.
Протоколы реализуются не только компьютерами,
но и другими сетевыми устройствами
- концентраторами, мостами, коммутаторами,
маршрутизаторами и т. д. Действительно,
в общем случае связь компьютеров
в сети осуществляется не напрямую,
а через различные
Модель OSI
Из того, что протокол является соглашением, принятым двумя взаимодействующими объектами, в данном случае двумя работающими в сети компьютерами, совсем не следует, что он обязательно является стандартным. Но на практике при реализации сетей стремятся использовать стандартные протоколы. Это могут быть фирменные, национальные или международные стандарты.
В начале 80-х годов ряд международных организаций по стандартизации - ISO, ITU-T и некоторые другие - разработали модель, которая сыграла значительную роль в развитии сетей. Эта модель называется моделью взаимодействия открытых систем (Open System Interconnection, OSI) или моделью OSI. Модель OSI определяет различные уровни взаимодействия систем, дает им стандартные имена и указывает, какие функции должен выполнять каждый уровень. Модель OSI была разработана на основании большого опыта, полученного при создании компьютерных сетей, в основном глобальных, в 70-е годы. Полное описание этой модели занимает более 1000 страниц текста.
В модели OSI (рис. 1.25) средства взаимодействия делятся на семь уровней: прикладной, представительный, сеансовый, транспортный, сетевой, канальный и физический. Каждый уровень имеет дело с одним определенным аспектом взаимодействия сетевых устройств.
Рис. 1.25. Модель взаимодействия открытых систем ISO/OSI
Модель OSI описывает только системные
средства взаимодействия, реализуемые
операционной системой, системными утилитами,
системными аппаратными средствами.
Модель не включает средства взаимодействия
приложений конечных пользователей. Свои
собственные протоколы
Следует также иметь в виду, что
приложение может взять на себя функции
некоторых верхних уровней
Итак, пусть приложение обращается
с запросом к прикладному уровню,
например к файловой службе. На основании
этого запроса программное
После формирования сообщения прикладной
уровень направляет его вниз по стеку
представительному уровню. Протокол
представительного уровня на основании
информации, полученной из заголовка
прикладного уровня, выполняет требуемые
действия и добавляет к сообщению
собственную служебную
Рис. 1.26. Вложенность сообщений различных уровней
Когда сообщение по сети поступает на машину - адресат, оно принимается ее физическим уровнем и последовательно перемещается вверх с уровня на уровень. Каждый уровень анализирует и обрабатывает заголовок своего уровня, выполняя соответствующие данному уровню функции, а затем удаляет этот заголовок и передает сообщение вышележащему уровню.
Наряду с термином сообщение (message) существуют и другие термины, применяемые сетевыми специалистами для обозначения единиц данных в процедурах обмена. В стандартах ISO для обозначения единиц данных, с которыми имеют дело протоколы разных уровней, используется общее название протокольный блок данных (Protocol Data Unit, PDU). Для обозначения блоков данных определенных уровней-часто используются специальные названия: кадр (frame), пакет (packet), дейтаграмма (datagram), сегмент (segment).
В модели OSI различаются два основных типа протоколов. В протоколах с установлением соединения (connection-oriented) перед обменом данными отправитель и получатель должны сначала установить соединение и, возможно, выбрать некоторые параметры протокола, которые они будут использовать при обмене данными. После завершения диалога они должны разорвать это соединение. Телефон - это пример взаимодействия, основанного на установлении соединения.
Вторая группа протоколов - протоколы без предварительного
установления соединения (connectionless).
Такие протоколы называются также дейтаграммными протокола
1.3.3. Уровни модели OSI
Физический уровень
Физический уровень (Physical layer) имеет дело с передачей битов по физическим каналам связи, таким, например, как коаксиальный кабель, витая пара, оптоволоконный кабель или цифровой территориальный канал. К этому уровню имеют отношение характеристики физических сред передачи данных, такие как полоса пропускания, помехозащищенность, волновое сопротивление и другие. На этом же уровне определяются характеристики электрических сигналов, передающих дискретную информацию, например, крутизна фронтов импульсов, уровни напряжения или тока передаваемого сигнала, тип кодирования, скорость передачи сигналов. Кроме этого, здесь стандартизуются типы разъемов и назначение каждого контакта.
Функции физического уровня реализуются
во всех устройствах, подключенных к
сети. Со стороны компьютера функции
физического уровня выполняются
сетевым адаптером или