1.5. Архитектура открытых систем
Архитектура вычислительной сети — описание ее общей модели.
Многообразие производителей вычислительных сетей и сетевых программных продуктов поставило проблему объединения сетей различных архитектур. Для ее решения Международной организацией по стандартизации была разработана эталонная модель взаимодействия открытых систем (Open System Interconnection, OSI). Часто ее называют моделью архитектуры открытых систем.
Модель взаимодействия открытых систем (OSI) служит базой для производителей при разработке совместимого сетевого оборудования. Эта модель не является неким физическим телом, отдельные элементы которого можно осязать. Она устанавливает способы передачи данных по сети, определяет стандартные протоколы, используемые сетевым и программным обеспечением. Модель представляет собой самые общие рекомендации для построения совместимых сетевых программных продуктов. Эти рекомендации должны быть реализованы как в аппаратуре, так и в программных средствах вычислительных сетей.
Модель взаимодействия открытых систем (OSI) определяет процедуры передачи данных между системами, которые «открыты» друг другу благодаря совместному использованию ими единых стандартов, хотя сами системы могут быть созданы на различных технических средствах.
В настоящее время модель взаимодействия открытых систем является наиболее популярной сетевой архитектурной моделью. Она рассматривает общие функции, а не специальные решения, поэтому не все реальные сети абсолютно точно ей следуют. Модель взаимодействия открытых систем состоит из семи уровней (рис. 1.7)
На каждом уровне выполняются определенные сетевые функции. Нижние уровни — 1-й и 2-й — определяют физическую среду передачи данных и сопутствующие задачи (такие как передача битов данных через плату сетевого адаптера и кабель). Самые верхние уровни определяют, каким способом осуществляется доступ приложений к услугам связи. Чем выше уровень, тем более сложную задачу он решает.
Рис. 1.7. Эталонная модель взаимодействия открытых систем
Перед подачей в сеть данные разбиваются на пакеты.
Пакет — это единица информации, передаваемая между устройствами сети как единое целое. На передающей стороне пакет проходит последовательно через все уровни системы сверху вниз. Затем он передается по сетевому кабелю на компьютер-получатель и опять проходит через все уровни в обратном порядке.
7-й уровень — прикладной — обеспечивает поддержку прикладных процессов конечных пользователей. Этот уровень определяет круг прикладных задач, реализуемых в данной вычислительной сети, представляя собой окно для доступа прикладных процессов к сетевым услугам. Он обеспечивает услуги, напрямую поддерживающие приложения пользователя, такие как программное обеспечение для передачи файлов, доступа к базам данных и электронная почта. Нижележащие уровни поддерживают задачи, выполняемые на прикладном уровне. Прикладной уровень управляет общим доступом к сети, потоком данных и обработкой ошибок.
6-й уровень — представительный (уровень представления) — определяет формат, используемый для обмена данными между сетевыми компьютерами. Этот уровень можно назвать переводчиком. На компьютере-отправителе данные, поступившие от прикладного уровня, переводятся в общепонятный промежуточный формат. На компьютере-получателе происходит перевод из промежуточного формата в тот, который используется прикладным уровнем данного компьютера. Представительский уровень отвечает за преобразование протоколов, трансляцию данных, их шифрование, смену или преобразование применяемого набора символов (кодовой таблицы).
5-й уровень — сеансовый — реализует установление и поддержку сеанса связи между двумя абонентами через коммуникационную сеть. Он позволяет производить обмен данными в режиме, определенном прикладной программой, или предоставляет возможность выбора режима обмена. Сеансовый уровень поддерживает и завершает сеанс связи. На этом уровне выполняется управление диалогом между взаимодействующими процессами, т.е. регулируется, какая из сторон осуществляет передачу, когда, как долго и т.д.
4-й уровень — транспортный — обеспечивает дополнительный уровень соединения. Транспортный уровень гарантирует доставку пакетов без ошибок, в той же последовательности, без потерь и дублирования. Он управляет потоком, проверяет ошибки и участвует в решении проблем, связанных с отправкой и получением пакетов.
3-й уровень — сетевой — отвечает за адресацию сообщений и перевод логических адресов в физические адреса. На этом уровне определяется маршрут от компьютера-отправителя к компьютеру-получателю, решаются также такие проблемы, как коммутация пакетов, маршрутизация и перегрузки.
2-й уровень — канальный — реализует процесс передачи информации по информационному каналу. Информационный канал — логический канал, он устанавливается между двумя ЭВМ, соединенными физическим каналом. Канальный уровень обеспечивает управление потоком данных в виде кадров, в которые упаковываются информационные пакеты, обнаруживает ошибки передачи и реализует алгоритм восстановления информации в случае обнаружения сбоев или потерь данных.
1-й уровень — физический — самый нижний в модели. Этот уровень осуществляет передачу неструктурированного потока битов по физической среде (например, по сетевому кабелю). Физический уровень предназначен для передачи битов (нулей и единиц) от одного компьютера к другому. Он отвечает за кодирование данных, гарантируя, что переданная единица будет воспринята именно как единица, а не как ноль. Наконец, физический уровень устанавливает способ перевода бита в соответствующие электрические или оптические импульсы, передаваемые по сетевому кабелю.
При передаче информации от прикладного процесса в сеть происходит ее обработка уровнями модели взаимодействия открытых систем (рис 1.8). Смысл этой обработки заключается в том, что каждый уровень добавляет к информации процесса свой заголовок — служебную информацию, которая необходима для адресации сообщений и для некоторых контрольных функций. Физический уровень заголовка не добавляет. Сообщение, обрамленное заголовками, уходит в коммуникационную сеть и поступает на абонентские ЭВМ вычислительной сети. Каждая абонентская ЭВМ, принявшая сообщение, дешифрирует адреса и определяет, предназначено ли ей данное сообщение. При этом в абонентской ЭВМ происходит обратный процесс — чтение и отсечение заголовков уровнями модели взаимодействия открытых систем. Каждый уровень реагирует только на свой заголовок. Заголовки верхних уровней нижними уровнями не воспринимаются и не изменяются — они «прозрачны » для нижних уровней. Так, перемещаясь по уровням модели OSI, информация, наконец, поступает к процессу, которому она была адресована.
Рис. 1.8. Обработка сообщений уровнями модели ВОС
Каждый уровень модели взаимодействия открытых систем реагирует только на свой заголовок.
На рис. 1.8 показан процесс прохождения данных через уровни модели. Каждый уровень добавляет свой заголовок – З.
В чем же основное достоинство семиуровневой модели OSI?
В процессе развития и совершенствования любой системы возникает потребность изменять ее отдельные компоненты. Иногда это вызывает необходимость изменять и другие компоненты, что существенно усложняет и затрудняет процесс модернизации системы.
Здесь и проявляются преимущества семиуровневой модели. Если между уровнями определены однозначно интерфейсы, то изменение одного из уровней не влечет за собой необходимости внесения изменений в другие уровни. Таким образом, существует относительная независимость уровней друг от друга.
Функции, описываемые уровнями модели, должны быть реализованы либо в аппаратуре, либо в виде программ. Функции физического уровня всегда реализуются в аппаратуре. Это адаптеры, мультиплексоры передачи данных, сетевые платы и т.д. Функции остальных уровней реализуются в виде программных модулей – драйверов.