Загрузка...

Эталонная модель OSI


В начале 80-х годов ряд международных организаций по стандартизации — ISO, ITU-T и некоторые другие — разработали модель, которая сыграла значительную роль в развитии сетей. Эта модель называется моделью взаимодействия открытых систем (Open System Interconnection, OSI) или моделью OSI. Модель OSI определя¬ет различные уровни взаимодействия систем, дает им стандартные имена и указы¬вает, какие функции должен выполнять каждый уровень. Модель OSI была разработана на основании большого опыта, полученного при создании компьютер¬ных сетей, в основном глобальных, в 70-е годы. Полное описание этой модели занимает более 1000 страниц текста.

В модели OSI (рис.7.) средства взаимодействия делятся на семь уровней: прикладной, представительный, сеансовый, транспортный, сетевой, канальный и физический. Каждый уровень имеет дело с одним определенным аспектом взаимо¬действия сетевых устройств.

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

Следует также иметь в виду, что приложение может взять на себя функции некоторых верхних уровней модели OSI. Например, некоторые СУБД имеют встро¬енные средства удаленного доступа к файлам. В этом случае приложение, выпол¬няя доступ к удаленным ресурсам, не использует системную файловую службу; оно обходит верхние уровни модели OSI и обращается напрямую к системным средствам, ответственным за транспортировку сообщений по сети, которые распо¬лагаются на нижних уровнях модели OSI.

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

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

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

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

В модели OSI различаются два основных типа протоколов. В протоколах с ус¬тановлением соединения (connection-oriented) перед обменом данными отправитель и получатель должны сначала установить соединение и, возможно, выбрать неко¬торые параметры протокола, которые они будут использовать при обмене данны¬ми. После завершения диалога они должны разорвать это соединение. Телефон — это пример взаимодействия, основанного на установлении соединения.

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

Загрузка...