Модели взаимодействия открытых систем в японии. Эталонная модель взаимодействия открытых систем (OSI)

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

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

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

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

Функции уровней модели ISO/OSI

ФИЗИЧЕСКИЙ УРОВЕНЬ. Этот уровень имеет дело с передачей битов по коаксиальному кабелю, витой паре или оптике.

Характеристики физических сред передачи данных: полоса пропускания, помехозащищенность, волновое сопротивление и другие.

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

КАНАЛЬНЫЙ УРОВЕНЬ. На физическом уровне просто пересылаются биты. При этом не учитывается, что физическая среда передачи может быть занята. Поэтому одной из задач канального уровня является проверка доступности среды передачи . Другой задачей канального уровня является реализация механизмов обнаружения и коррекции ошибок . Для этого на канальном уровне биты группируются в наборы , называемые кадрами.



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

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

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

СЕТЕВОЙ УРОВЕНЬ. Этот уровень служит для образования единой транспортной системы , объединяющей несколько сетей с различными принципами передачи информации между конечными узлами.

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

Главная задача сетевого уровня – выбор наилучшего маршрута . Зависит от: времени передачи данных по этому маршруту, пропускной способности каналов связи, интенсивности трафика, надежности передачи.

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

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

ТРАНСПОРТНЫЙ УРОВЕНЬ. Работа транспортного уровня заключается в том, чтобы обеспечить приложениям или верхним уровням стека - прикладному и сеансовому - передачу данных с той степенью надежности , которая им требуется. Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное - способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов.

СЕАНСОВЫЙ УРОВЕНЬ. Сеансовый уровень обеспечивает управление диалогом для того, чтобы фиксировать, какая из сторон является активной в настоящий момент, а также предоставляет средства синхронизации. Последние позволяют вставлять контрольные точки в длинные передачи, чтобы в случае отказа можно было вернуться назад к последней контрольной точке, вместо того, чтобы начинать все с начала. На практике немногие приложения используют сеансовый уровень, и он редко реализуется.

УРОВЕНЬ ПРЕДСТАВЛЕНИЯ. Этот уровень обеспечивает гарантию того, что информация, передаваемая прикладным уровнем, будет понятна прикладному уровню в другой системе. При необходимости уровень представления выполняет преобразование форматов данных в некоторый общий формат представления, а на приеме, соответственно, выполняет обратное преобразование. Таким образом, прикладные уровни могут преодолеть, например, синтаксические различия в представлении данных. На этом уровне может выполняться шифрование и дешифрование данных, благодаря которому секретность обмена данными обеспечивается сразу для всех прикладных сервисов.

ПРИКЛАДНОЙ УРОВЕНЬ. Прикладной уровень - это в действительности просто набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые Web-страницы, а также организуют свою совместную работу, например, с помощью протокола электронной почты. Единица данных, которой оперирует прикладной уровень, обычно называется сообщением (message) .

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

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

Современный Интернет основан на использовании протоколов TCP/IP. TCP/IP - это не один сетевой протокол, а два протокола, лежащих на разных уровнях. Протокол TCP- протокол транспортного уровня. Он управляет тем. как происходит передача информации. Протокол IP - адресный. Он принадлежит сетевому уровню и определяет, куда происходит передача.

Согласно протоколу TCP, отправляемые данные «нарезаются» на небольшие пакеты, после чего каждый пакет маркируется таким образом, чтобы в нем были данные, необходимые для правильной сборки документа на компьютере получателя. Два компьютера, связанные между собой одним физическим соединением, могут поддерживать одновременно несколько ТСР-соединений точно также как два сервера могут одновременно по одной линии связи передавать друг другу в обе стороны множество TCP-пакетов от многочисленных клиентов.

Суть протокола - IP (Internet Protocol) состоит в том, что у каждого участника Всемирной сети должен быть свой уникальный адрес (IP-адрес). Без этого нельзя говорить о точной доставке TCP-пакетов на нужное рабочее место. Этот адрес выражается очень просто - четырьмя байтами, например: 195.38.46.11. Структура IP-адреса организована так, что каждый компьютер, через который проходит какой-либо TCP-пакет, может по этим четырем числам определить, кому из ближайших «соседей» надо переслать пакет, чтобы он оказался «ближе» к получателю. В результате конечного числа перебросок ТСР-пакет достигает адресата. В расчет принимаются условия связи и пропускная способность линии. Решением вопросов, что считать «ближе», а что «дальше», занимаются специальные средства - маршрутизаторы Роль маршрутизатора в сети может выполнять как специализированный компьютер, так и специальная программа, работающая на узловом сервере сети.

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

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

Для передачи файлов в Интернете используется специальный прикладной протокол FTP (File Transfer Protocol). Соответственно, чтобы получить из Интернета файл, необходимо:

Иметь на компьютере программу, являющуюся клиентом FTP (FTP-клиент);

Установить связь с сервером, предоставляющим услуги FTP (FTP-сервером).

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

Управление процессом передачи и обработки данных в сети, требует стандартизации следующих процедур:

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

Указанные задачи решаются с помощью системы протоколов и стандартов, определяющих процедуры взаимодействия элементов сети при установлении связи и передаче данных. Протокол - это набор правил и методов взаимодействия объектов вычислитель­ной сети.
Необходимость стандартизации протоколов важна для понимания сетями друг друга при их взаимодействии.
Протоколы для сетей - то же самое, что язык для людей. Говоря на разных язы­ках, люди могут не понимать друг друга, - также и сети, использующие разные протоколы. От эффективности протоколов, их надежности, простоты зависит то, насколько эффективна и удобна вообще работа человека в сети.
Международной организацией по стандартизации (ISO) разработана система стандартных протоколов, получившая название модели взаимодействия открытых систем (OSI), часто называемая также эталонной семиуровневой логической моделью открытых систем.
Открытая система - система, доступная для взаимодействия с другими система­ми в соответствии с принятыми стандартами.
Эта система протоколов базируется на разделении всех процедур взаимодействия на отдельные мелкие уровни, для каждого из которых легче создать стандартные алгоритмы их по­строения.
Модель OSI представляет собой самые общие рекомендации для построения стан­дартов совместимых сетевых программных продуктов, она же служит базой для производителей при разработке совместимого сетевого оборудования. В настоящее время модель взаимодействия открытых систем является наиболее популярной сетевой архитектурной моделью.
В общем случае сеть должна иметь 7 функциональных уровней (табл. 1.1).

Таблица 1.1. Уровни модели OSI

Уровень OSI

Назначение

Примеры протоколов

7 Прикладной

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

Х.400, NCR HTTP, SMTP, FTP, FTAM, SAP, DNS, Telnet и т. д.

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

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

5 Сеансовый

Обеспечивает средства, необходимые сетевым объектам для организации, синхронизации и административного управления обменом данных между ними

X.225, RPC, NetBEUI и т. д.

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

Обеспечивает надежную, экономичную и «прозрачную» передачу данных между взаимодействующими объектами сеансового уровня

Х.224, TCP, UDP, NSP, SPX, SPP, RH и т. д.

3 Сетевой

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

X.25, X.75, IP, IPX, IDP, TH, DNA-4 и т. д.

2 Канальный

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

LAP-B, HDLC, SNAP, SDLC, IEEE 802.2 и т.д.

1 Физический

Формирует физическую среду передачи данных, устанавливает соединения объектов сети с этой средой

Ethernet, Arcnet, Token Ring, IEEE 802.3, 5

Прикладной уровень (application) - управляет запуском программ пользователя, их выполнением, вводом-выводом данных, управлением терминалами, административным управ­лением сетью. На этом уровне обеспечивается предоставление пользователям раз­личных услуг, связанных с запуском его программ. На этом уровне функционируют технологии, являющиеся как бы надстройкой над передачей данных.
Уровень представления (presentation) - интерпретация и преобразование пере­даваемых в сети данных к виду, удобному для прикладных процессов. На практике многие функции этого уровня задействованы на прикладном уровне, поэтому про­токолы уровня представлений не получили развития и во многих сетях практи­чески не используются.
Сеансовый уровень (session) - организация и проведение сеансов связи между прикладными процессами (инициализация и поддержание сеанса между абонен­тами сети, управление очередностью и режимами передачи данных). Многие функции этого уровня в части установле­ния соединения и поддержания упорядоченного обмена данными на практике реализуются на транспортном уровне, поэтому протоколы сеансового уровня име­ют ограниченное применение.
Транспортный уровень (transport) - управление сегментированием данных и транспорти­ровкой данных от источника к потребителю (т.е. обмен управляющей информацией и установление между абонентами логического канала, обеспечение качества пе­редачи данных). Протоколы транспортного уровня развиты очень широко и интенсивно используются на практике. Большое внимание на этом уровне уделено контролю достоверности передаваемой информации.
Сетевой уровень (network) - управление логическим каналом передачи данных в сети (адресация и маршрутизация данных). Каждый пользователь сети обязательно использует протоколы этого уровня и имеет свой уникальный сетевой адрес, используемый протоколами сетевого уровня. На этом уровне выполняется структуризация данных - разбивка их на пакеты и присвое­ние пакетам сетевых адресов.
Канальный уровень (data-link) - формирование и управление физическим ка­налом передачи данных между объектами сетевого уровня (установление, поддер­жание и разъединение логических каналов), обеспечение “прозрачности” физических соединений, контроля и исправления ошибок передачи.
Физический уровень (physical) - установление, поддержание и расторжение со­единений с физическим каналом сети. Управление выполняется на уров­не битов цифровых (импульсы, их амплитуда, форма) и аналоговых (амплитуда, частота, фаза непрерывного сигнала).

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

Средства каждого уровня отрабатывают протокол своего уровня и интерфейсы с со­седними уровнями.
Указанные уровни управления можно по разным признакам объединять в группы:
- уровни 1, 2 и частично 3 реализуются в большей части за счет аппаратных средств; верхние уровни с 4 по 7 и частично 3 обеспечиваются программными средствами;

Уровни 1 и 2 ответственны за физические соединения; уровни 3-6 заняты орга­низацией передачи, передачей и преобразованием информации в понятную для абонентской аппаратуры форму; уровень 7 обеспечивает выполнение приклад­ных программ пользователя.

  • 3. Технологии передачи данных. Ethernet, Token Ring, ISDN, X.25, Frame Relay.
  • 4. Устройства межсетевого интерфейса: повторители, мосты, маршрутизаторы, шлюзы. Методы коммутации и маршрутизации. Способы повышения производительности сети
  • 5 .Одноранговые и серверные сети: сравнительная характеристика. Основные виды специализированных серверов.
  • 6. Технологическая основа сети Интернет. Система адресации (IP-адреса, доменные имена, система DNS). Основные протоколы общения в сети.
  • 7. Базовые пользовательские технологии работы в сети Интернет. WWW, FTP, TELNET, E-MAIL. Поиск информации в сети Интернет.
  • 9. Базы данных: данные, модель данных, база данных, система управления базами данных, информационная система. Модели данных. Реляционная модель данных.
  • 12. Проектирование информационных систем. Структура и модели жизненного цикла.
  • 13. Моделирование и представление структуры предприятия. Диаграммы IDEF0.
  • 14. Моделирование и представление потоков данных. DFD-диаграммы.
  • 16. Экспертные системы (ЭС): понятие, назначение, архитектура, отличительные особенности. Классификация ЭС. Этапы разработки ЭС.
  • 17. Базы знаний экспертных систем. Методы представления знаний: логические модели, продукционные правила, фреймы, семантические сети.
  • 18 Знания. Виды знаний. Методы извлечения знаний: коммуникативные, текстологические.
  • 19 Языки программирования, их характеристики (Пролог, Delphi, C++).
  • 20. Языки программирования, их характеристики (PHP, Perl, JavaScript).
  • 21. Цели, задачи, принципы и основные направления обеспечения информационной безопасности Российской Федерации. Правовая, организационная, инженерно-техническая защита информации.
  • 22. Электронные издания: понятие, состав. Классификация ЭИ. Регистрация ЭИ.
  • 23. Информационные ресурсы: понятие, состав. Государственные информационные ресурсы.
  • 24. Операционная система персонального компьютера как средство управления ресурсами (на примере изучаемой ОС). Структура и компоненты ОС.
  • 25. Вредоносное программное обеспечение: классификации, методы обнаружения и удаления.
  • 26 Структура web-приложений. Протокол HTTP. Cookie. Функции web-приложения. Протокол CGI.
  • 27 Обеспечение надежности работы ИС. Транзакции. OLTP-системы.
  • 28. Эргономические цели и показатели качества программного продукта.
  • 31.Информационный менеджмент: понятие и основные функции.
  • 33 Стандартизация в области программного обеспечения. Стандарты документирования программных средств.
  • 34. Оценка качественных и количественных характеристик информационных систем. Модели оценки характеристик надежности программного и информационного обеспечения. Основные понятия, показатели и методы обеспечения надежности информационных систем.
  • 36.Особенности выполнения инновационных программ в сфере информатизации (характеристика информационной политики в сфере информатизации, принципы формирования проекта и внедрения ИС, управление проектами информатизации).

Основной задачей, решаемой при создании компьютерных сетей, является обеспечение совместимости оборудования по электрическим и механическим характеристикам и обеспечение совместимости информационного обеспечения (программ и данных) по системе кодирования и формату данных. Решение этой задачи относится к области стандартизации. Одним из примеров решения данной задачи является так называемая модель взаимосвязи открытых систем OSI (Model of Open System Interconnections).

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

Уровни модели OSI (в направлении снизу вверх) и их общие функции можно рассмотреть следующим образом:

Рассмотрим, как в модели SI происходит обмен данными между пользователями, находящимися на разных континентах.

1. На прикладном уровне с помощью специальных приложений пользователь создает документ (сообщение, рисунок и т. п.).

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

3. На сеансовом уровне компьютер пользователя взаимодействует с локальной или глобальной сетью. Протоколы этого уровня проверяют права пользователя на «выход в эфир» и передают документ к протоколам транспортного уровня.

4. На транспортном уровне документ преобразуется в ту форму, в которой положено передавать данные в используемой сети. Например, он может нарезаться на небольшие пакеты стандартного размера.

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

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

7. Реальная передача данных происходит на физическом уровне. Здесь нет ни документов, ни пакетов, ни даже байтов - только биты, то есть, элементарные единицы представления данных. Восстановление документа из них произойдет постепенно, при переходе с нижнего на верхний уровень на компьютер клиента.


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

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

Разные уровни протоколов сервера и клиента не взаимодействуют друг с другом напрямую, но они взаимодействуют через физический уровень. Постепенно переходя с верхнего уровня на нижний, данные непрерывно преобразуются, «обрастают» дополнительными данными, которые анализируются протоколами соответствующих уровней на сопредельной стороне. Это создает эффект виртуального взаимодействия уровней между собой.

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

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

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

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

Ниже в таблице приводится аналогия между уровнями модели OSI и операциями служб пересылки обычной почты.

В процессе передачи данных от одного компьютера к другому можно выделить ряд различных задач. Сетевая операционная система при выполнении этих задач строго следует определенному набору процедур (определенным правилам). Эти процедуры называются протоколами. Они регламентируют каждую сетевую операцию: устанавливают порядок связи между компьютерами, порядок передачи данных, порядок обработки ошибок, порядок окончания сеанса связи и т.д. Стандартные протоколы позволяют программному и аппаратному обеспечению разных производителей нормально взаимодействовать. Существует два основных набора стандартов для этих целей: эталонная модель OSI и стандарты IEEE Project 802.

Международной организацией по стандартизации (International Standards Organization - ISO) была разработана эталонная модель взаимосвязи открытых систем (Open System Interconnection - OSI).

Примечание. Система, взаимодействующая с другими системами в соответствии с принятыми стандартами, называется открытой системой.

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

Прикладной уровень (7-й). На этом уровне пользователь с помощью прикладного программного обеспечения создает документ (сообщение, рисунок и т. д.). Услуги, которые обеспечивает прикладной уровень, поддерживают приложения пользователя. На этом уровне используют протоколы HTTP, FTP, SMTP.

Уровень представления данных (6-й). На компьютерах могут использоваться различные ОС (UNIX, OS/2, Windows и т.д.). Каждая из них имеет свою файловую систему, свои форматы хранения и обработки данных. Задача уровня представления данных заключается в том, чтобы при передаче данных преобразовать их в формат, который может использоваться и на другом компьютере. Этот уровень управляет также сжатием передаваемых данных.

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

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

Сетевой уровень (3-й). Сетевой уровень определяет маршрут движения данных в сети. Он отвечает за адресацию сообщений и осуществляет перевод логических адресов в физические. На этом уровне каждый пакет данных получает точный адрес, по которому он должен быть доставлен независимо от прочих пакетов. Сетевой уровень позволяет объединять разнородные сети, использующие разные протоколы передачи данных. Примеры используемых протоколов: IP и IPX.

Уровень передачи данных (2-й). Уровень передачи данных (или канальный уровень, или уровень соединения) обеспечивает прием пакетов данных, поступающих с сетевого уровня; подготовку данных к передаче по каналам связи; генерацию стартового сигнала для передачи данных; проверку получаемых данных и исправление ошибок; генерацию сигнала для перевода канала передачи в пассивное состояние при окончании передачи. Эти функции выполняет сетевая карта или модем. Используемые протоколы: HDLC, X.25/3.

Физический уровень (1-й). Его основная задача - управление аппаратурой передачи данных. Этот уровень получает данные от канального уровня и преобразует их в электрические или оптические сигналы. На этом уровне происходит реальная передача данных. Физический уровень устанавливает длительность каждого бита и способ их преобразования в электрические или оптические импульсы, передаваемые по сетевому кабелю. Данные здесь передаются в виде определенных сигналов. Восстановление документа из них произойдет постепенно, при передаче с нижнего на верхний уровень на компьютере получателя. Используемые протоколы: Х-21.

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

Два нижних уровня модели OSI относятся к оборудованию (например, к сетевой плате) и кабелю. Для оборудования и кабелю, которые используется на этих уровнях, были разработаны специальные стандарты IEEE Project 802. Это набор стандартов для физических компонентов сети, которые используются на физическом и канальном уровнях модели OSI.

Понятие «открытая система»

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

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

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

Для реальных систем полная открытость является недостижимым идеалом. Как правило, даже в системах, называемых открытыми, этому определению соответствуют лишь некоторые части, поддерживающие внешние интерфейсы. Например, открытость семейства операционных систем Unix заключается, кроме всего прочего, в наличии стандартизованного программного интерфейса между ядром и приложениями, что позволяет легко переносить приложения из среды одной версии Unix в среду другой версии. Еще одним примером частичной открытости является применение в достаточно закрытой операционной системе Novell NetWare открытого интерфейса Open Driver Interface (ODI) для включения в систему драйверов сетевых адаптеров независимых производителей. Чем больше открытых спецификаций использовано при разработке системы, тем более открытой она является.

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

Если две сети построены с соблюдением принципов открытости, то это дает следующие преимущества:

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

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

    возможность легкого сопряжения одной сети с другой;

    простота освоения и обслуживания сети.

Ярким примером открытой системы является международная сеть Internet. Эта сеть развивалась в полном соответствии с требованиями, предъявляемыми к открытым системам. В разработке ее стандартов принимали участие тысячи специалистов-пользователей этой сети из различных университетов, научных организаций и фирм-производителей вычислительной аппаратуры и программного обеспечения, работающих в разных странах. Само название стандартов, определяющих работу сети Internet - Request For Comments (RFC), что можно перевести как «запрос на комментарии», - показывает гласный и открытый характер принимаемых стандартов. В результате сеть Internet сумела объединить в себе самое разнообразное оборудование и программное обеспечение огромного числа сетей, разбросанных по всему миру.

Модель OSI

Международная Организация по Стандартам (International Standards Organization, ISO) разработала модель, которая четко определяет различные уровни взаимодействия систем, дает им стандартные имена и указывает, какую работу должен делать каждый уровень. Эта модель называется моделью взаимодействия открытых систем (Open System Interconnection, OSI) или моделью ISO/OSI.

В модели OSI взаимодействие делится на семь уровней или слоев (рис. 1.1). Каждый уровень имеет дело с одним определенным аспектом взаимодействия. Таким образом, проблема взаимодействия декомпозирована на 7 частных проблем, каждая из которых может быть решена независимо от других. Каждый уровень поддерживает интерфейсы с выше- и нижележащими уровнями.

Рис. 1.1. Модель взаимодействия открытых систем ISO/OSI

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

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

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

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

Кроме термина "сообщение" (message) существуют и другие названия, используемые сетевыми специалистами для обозначения единицы обмена данными. В стандартах ISO для протоколов любого уровня используется такой термин как "протокольный блок данных" - Protocol Data Unit (PDU). Кроме этого, часто используются названия кадр (frame), пакет (packet), дейтаграмма (datagram).

Функции уровней модели ISO/OSI

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

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

Примером протокола физического уровня может служить спецификация 10Base-T технологии Ethernet, которая определяет в качестве используемого кабеля неэкранированную витую пару категории 3 с волновым сопротивлением 100 Ом, разъем RJ-45, максимальную длину физического сегмента 100 метров, манчестерский код для представления данных на кабеле, и другие характеристики среды и электрических сигналов.

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

В протоколах канального уровня, используемых в локальных сетях, заложена определенная структура связей между компьютерами и способы их адресации. Хотя канальный уровень и обеспечивает доставку кадра между любыми двумя узлами локальной сети, он это делает только в сети с совершенно определенной топологией связей, именно той топологией, для которой он был разработан. К таким типовым топологиям, поддерживаемым протоколами канального уровня локальных сетей, относятся общая шина, кольцо и звезда. Примерами протоколов канального уровня являются протоколы Ethernet, Token Ring, FDDI, 100VG-AnyLAN.

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

В глобальных сетях, которые редко обладают регулярной топологией, канальный уровень обеспечивает обмен сообщениями между двумя соседними компьютерами, соединенными индивидуальной линией связи. Примерами протоколов "точка - точка" (как часто называют такие протоколы) могут служить широко распространенные протоколы PPP и LAP-B.

Сетевой уровень. Этот уровень служит для образования единой транспортной системы, объединяющей несколько сетей с различными принципами передачи информации между конечными узлами. Рассмотрим функции сетевого уровня на примере локальных сетей. Протокол канального уровня локальных сетей обеспечивает доставку данных между любыми узлами только в сети с соответствующейтиповой топологией . Это очень жесткое ограничение, которое не позволяет строить сети с развитой структурой, например, сети, объединяющие несколько сетей предприятия в единую сеть, или высоконадежные сети, в которых существуют избыточные связи между узлами. Для того, чтобы, с одной стороны, сохранить простоту процедур передачи данных для типовых топологий, а с другой стороны, допустить использование произвольных топологий, используется дополнительный сетевой уровень. На этом уровне вводится понятие "сеть". В данном случае под сетью понимается совокупность компьютеров, соединенных между собой в соответствии с одной из стандартных типовых топологий и использующих для передачи данных один из протоколов канального уровня, определенный для этой топологии.

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

Сообщения сетевого уровня принято называтьпакетами (packets) . При организации доставки пакетов на сетевом уровне используется понятие"номер сети" . В этом случае адрес получателя состоит из номера сети и номера компьютера в этой сети.

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

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

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

Примерами протоколов сетевого уровня являются протокол межсетевого взаимодействия IP стека TCP/IP и протокол межсетевого обмена пакетами IPX стека Novell.

Транспортный уровень. На пути от отправителя к получателю пакеты могут быть искажены или утеряны. Хотя некоторые приложения имеют собственные средства обработки ошибок, существуют и такие, которые предпочитают сразу иметь дело с надежным соединением. Работа транспортного уровня заключается в том, чтобы обеспечить приложениям или верхним уровням стека - прикладному и сеансовому - передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное - способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов.

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

Как правило, все протоколы, начиная с транспортного уровня и выше, реализуются программными средствами конечных узлов сети - компонентами их сетевых операционных систем. В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell.

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

Уровень представления. Этот уровень обеспечивает гарантию того, что информация, передаваемая прикладным уровнем, будет понятна прикладному уровню в другой системе. При необходимости уровень представления выполняет преобразование форматов данных в некоторый общий формат представления, а на приеме, соответственно, выполняет обратное преобразование. Таким образом, прикладные уровни могут преодолеть, например, синтаксические различия в представлении данных. На этом уровне может выполняться шифрование и дешифрование данных, благодаря которому секретность обмена данными обеспечивается сразу для всех прикладных сервисов. Примером протокола, работающего на уровне представления, является протокол Secure Socket Layer (SSL), который обеспечивает секретный обмен сообщениями для протоколов прикладного уровня стека TCP/IP.

Прикладной уровень. Прикладной уровень - это в действительности просто набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые Web-страницы, а также организуют свою совместную работу, например, с помощью протокола электронной почты. Единица данных, которой оперирует прикладной уровень, обычно называется сообщением (message) .

Существует очень большое разнообразие протоколов прикладного уровня. Приведем в качестве примеров хотя бы несколько наиболее распространенных реализаций файловых сервисов: NCP в операционной системе Novell NetWare, SMB в Microsoft Windows NT, NFS, FTP и TFTP, входящие в стек TCP/IP.

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