Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Судаков / Лекции / lec4_protokoli.ppt
Скачиваний:
37
Добавлен:
20.03.2015
Размер:
450.56 Кб
Скачать

Общие принципы взаимодействия программных средств.

Протоколы

Судаков А.А.

“Параллельные и распределенные вычисления” Лекция 4

План

Взаимодействие программ для распределенных и параллельных вычислений

Протоколы

Работа с удаленными ресурсами

Особенности технологий для распределенных вычислений

Взаимодействие программ

На одной машине - совместно используемые ресурсы (память, файлы)

На разных машинах - обмен сообщениями

Проблема взаимодействия

Разные программы могут хранить данные в разном формате

Разные компиляторы могут генерировать структуры данных в разных форматах

Разные аппаратные платформы могут иметь разный формат представления данных

Разные средства взаимодействия могут передавать данные по-своему

Примеры

Формат даты в одной программе YY-MM- DD

Формат даты в другой программе DD-MM- YY

Если одна программа запишет 02-02-12

То в другой программе вместо 12 февраля 2002 года будет 2 февраля 2012 года

Разный порядок байтов

 

Int

 

байт4 байт3 байт2

байт1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

старший

 

младший

 

Intel представляет как

 

байт1 байт2 байт3

байт4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

HP представляет как

байт4 байт3 байт2 байт1

 

 

 

 

 

Если на Intel сохранить число 1, то на HP прочитается как 16 миллионов

Протоколы

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

Протоколы взаимодействия между программами по сети

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

Протоколы передачи информации по физическим линиям

Основная идея

Вопрос: Как просто сделать, чтобы две разные программы могли в взаимодействовать между собой?

Ответ: Добавить новый программный уровень, который скрывает детали взаимодействия. Тогда программы должны уметь только взаимодействовать с этим уровнем

программа1

 

программа2

 

 

 

 

Уровень взаимодействия, который скрывает от программ всю сложность

Основной подход к реализации протоколов

Инкапсуляция – информация одного протокола становится данными другого протокола

Сериализация – сложные структуры данных представляются в виде потока байтов

Модель OSI

Машина 1

Прикладных программ

Представления данных

Сеансовый

Транспортный

сетевой

Канальный

физический

Машина 2

Прикладных программ

Представления данных

Сеансовый

Транспортный

сетевой

Канальный

физический

Соседние файлы в папке Лекции