Модель взаимодействия открытых систем



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

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

Основными составляющими частями открытой системы являются следующие четыре компонента:

а) прикладной объект;

б) прикладной процесс;

в) соединение;

г) физическая среда передачи сигналов.

Термин «соединение» имеет обобщенный смысл. Это может быть связь между процессорами в системе, связи в структурах данных, управление ресурсами с инициализацией прикладных процессов и т.п.

Из этого следует, что модель этой системы не только обозначает взаимосвязи между системами, но и имеет отношение к связи элементов системы как объектов распределенной среды.

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

Международная организация по стандартам ISO разработала модель архитектуры (взаимосвязи) OSI (Open System Interconnection) – эталонную модель взаимодействия открытых систем, которая определяет стандарты соединения и взаимодействия элементов ВС и сетей. Модель OSI представлена на рисунке.

 

Рисунок - Модель OSI (иерархия протоколов)

 

ЭВМOCCOSI – это проект стандарта сетевого и межсетевого взаимодействия, определяющий семь уровней взаимодействия компонентов сети (физический, командный, сетевой, транспортный, сеансовый, уровень представления данных и прикладной). Для каждого уровня разрабатывается один или несколько протоколов, которые обеспечивают сетевое взаимодействие широкого класса устройств.

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

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

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

Каждый из семи уровней должен обладать следующими свойствами:

1. Возможностью выполнения определенных логических функций;

2. Набором объектов одного типа;

3. Способностью выполнять набор услуг для расположенного над ним (по иерархии) уровня.

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

Протоколы взаимодействия объектов внутри уровня не определены стандартом модели OSI. Модель дает лишь рекомендации относительного того, как целесообразнее построить протоколы определенного уровня. Если рассмотреть подробнее логические связи между уровнями в модели OSI, то можно выделить следующие закономерности:

1. нижние три уровня (1-3) являются сетезависимыми и определяют протоколы, связанные с сетью передачи данных, используемой для связи компьютеров друг с другом;

2. верхние три уровня (5-7): сеансовый, уровень представления и прикладной уровень ориентированы на приложения и содержат протоколы, которые позволяют двум прикладным процессам взаимодействовать друг с другом. промежуточный транспортный уровень соединяет эти две группы уровней, обеспечивая транспортировку сообщений между уровнями.

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

 


15. Алгоритм взаимодействия объектов компьютерной сети

 

Рассмотрим взаимодействующие стороны в компьютерной сети: сервер и клиент - рабочая станция которых хочет подключиться и работать с ним. изначально есть только два ключа открытый и закрытый ключи сервера (ОКС и ЗКС), причем ОКС известен всем и передается клиенту при его обращении к серверу, вшитым в Java - апплет. Инициализатором соединения выступает клиент. Он получает доступ к серверу через любую глобальную сеть, с которой он работает. При проектировании системы важно учесть, что задача обеспечения безопасности важнее для клиента. Сам сервер не регистрирует клиента и обеспечивает анонимность клиентов. При инициализации соединения необходимо установить канал обмена данными между ними, т.е. сделать невозможным подсоединения к нему другого пользователя для перехвата сообщений адресованного легальному пользователю. Поэтому целесообразно повторять процедуру «рукопожатия» («handshake») через определенные временные интервалы.

На основе предположения, что ЗКС и ОКС уже известны, причем ОКС известен всем, и ЗКС только серверу, формируется следующий алгоритм:

1. Клиент посылает серверу запрос на соединение.

2. Сервер запускает приложение, передавая запросившей станции Java – апплет, содержащий ОКС.

3. Клиент генерирует открытый и закрытый ключи работы с сервером.

4. Клиент генерирует ключ сессии (КС) – симметричный ключ шифрования сообщений.

5. Клиент передает серверу компоненты:

· открытый ключ клиента (ОКК);

· ключ сессии (КС).

Случайное сообщение х, зашифрованное открытым ключом сервера (ОКС) по алгоритму RSA.

6. Сервер обрабатывает сообщение и посылает в ответ сообщение х, зашифрованное КС (симметричное шифрование), зашифрованное ОКК (алгоритм RSA), подписанное ЗКС (RSA). Если мы получим опять х, то это значит, что: сообщение пришло от сервера (подпись - ЗКС) сервер принял наш ОКК (и зашифровал нашим ключом) сервер принял КС (зашифровал этим ключом сообщение).

7. Клиент принимает это сообщение, проверяет подпись и дешифрует полученный текст. После этого канал готов к работе с защитой.

8. Обе стороны начинают обмен сообщениями, которые подписывают закрытыми ключами отправителя (ЗКС алгоритм RSA) и шифруется КС.

Схема данного алгоритма приведена на рисунке 1.


Рисунок 1 – Схема алгоритма установления соединения.


Дата добавления: 2018-04-15; просмотров: 425; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!