DeepEdit!

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

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Семь уровней модели OSI

Каждый из уровней OSI отвечает за выполнение определенных действий по подготовке информации к передаче по сети. Эти семь уровней иногда называют стеком протоколов (protocol stack), поскольку каждый из них основан на предыдущем. Уровни могут взаимодействовать только со своими непосредственными соседями по стеку. Предоставление услуг вышележащему и доступ к нижележащему уровню осуществляются через четко
определенные интерфейсы.
Самый нижний уровень относится к физическому оборудованию и имеет дело с электрическими сигналами, тогда как самый верхний обеспечивает взаимодействие с прикладными программами. Обычно говорят, что модель OSI определяет последовательные уровни абстракции,
поскольку каждый следующий уровень все дальше отходит от физического оборудования и все более ориентируется на конечного пользователя. В таблице 1.3 перечислены все семь уровней и даны их краткие описания. Уровни пронумерованы, чтобы на них было проще ссылаться в дальнейшем.
Теперь, когда у вас есть общее представление о каждом уровне, рассмотрим их немного подробнее. Независимо от того, в каком порядке рассматривать эти уровни — начиная с седьмого или с первого, их функции остаются одинаковыми. Поскольку вам и вашим пользователям чаще всего приходится взаимодействовать с прикладным уровнем, начнем именно с него.
Уровень 7: прикладной
Прикладной уровень обеспечивает приложениям доступ к сети и обслуживает пользователей. Именно здесь располагается код прикладных программ и сетевых операционных систем. Приложения могут быть самыми разнообразными - для буферизации печати, работы с электронной почтой (например, Microsoft Outlook или Outlook Express), передачи файлов, доступа к базам данных (SQJL*Net или Net8, взаимодействующие с базой данных Oracle) или ведения бухгалтерского учета. Некоторые из них — например, те, что предназначены для передачи файлов,— хотя и работают на прикладном уровне, но в действительности выполняют функции более низкого уровня. Их можно сравнить с менеджером, который самостоятельно вводит данные в таблицы, поскольку работа должна быть выполнена, а рядом нет никого, кому можно было бы поручить это дело.
Этот уровень позволяет совместно использовать принтеры и файлы, а также работать со службами каталогов — например службой именования доменов, о которой говорилось ранее. Каждое приложение, работающее в сети, использует определенные протоколы прикладного уровня. Например, приложение для работы с электронной почтой реализует спецификацию обработки сообщений Х.400, а служба каталогов — спецификацию Х.500. Многие из этих протоколов, скажем, Systems Application Architecture (SAA) фирмы IBM, появились относительно недавно. Протоколы и стандарты, используемые Oracle, будут рассмотрены в главе 2.
Уровень 6: представления данных
Если бы вы читали этот текст с экрана компьютера, то заголовок раздела был бы выделен полужирным шрифтом. Теперь предположим, что вы видите на экране мигающие символы, или формы для ввода данных, или графики. Во всех случаях вы взаимодействуете с уровнем представления данных.
Основная задача уровня представления данных — обеспечить правильное форматирование информации, чтобы конечный продукт выглядел так, как это было задумано программистом. На этом уровне "живут" графические форматы и наборы символов. В большинстве современных компьютеров используется американский стандартный код для обмена информацией (American Standard Code for Information Interchange, ASCII), хотя в некоторых (в частности, мэйнфреймах IBM) все еще применяется расширенный двоично-кодированный десятичный код информационного обмена (Extended Binary Coded Decimal Interchange Code, EBCDIC). Код ASCII позволяет представить до 256 символов с помощью 7 или 8 битов. В коде EBCDIC всегда используются 8 битов, представляющих те же 256 символов. Однако в ASCII буква а нижнего регистра кодируется десятичным числом 97, а в EBD1C — числом 129. Есть разница, не правда ли? Примером протокола, в котором реализованы функции уровня представления данных, является протокол передачи гипертекста (Hypertext Transfer Protocol, HTTP), используемый для форматирования
информации на Web-сайтах. Именно уровень представления данных отвечает за согласование форматов, используемых разными компьютерами. Помимо этого, в его обязанности входит шифрование и сжатие данных, а также управление выводом на принтеры, плоттеры и другие периферийные устройства.
Уровень 5: сеансовый
Предположим, что на наших компьютерах установлена служба моментальной доставки сообщений, и я хочу начать с вами диалог. Как мне это сделать? Разумеется, сначала я должна привлечь ваше внимание. Возможно, перед отправкой сообщения мне потребуется ввести пароль. После установления соединения мы будем общаться до тех пор, пока один из нас не решит прекратить диалог. Этот сценарий предполагает, что в нашем распоряжении есть механизм, обеспечивающий бесперебойное ведение диалога.
Сеансовый уровень позволяет устанавливать сеансы связи между двумя сторонами, известными под названием прикладных сущностей (application entity, AE). Установив соединение, сеансовый уровень решает все вопросы, связанные с безопасностью, а затем контролирует и синхронизирует потоки данных, определяя, кто, когда и в течение какого времени должен вести передачу. После завершения диалога он должен обеспечить успешное разъединение сторон. Кроме того, сеансовый уровень отвечает за распознавание имен, регистрацию, администрирование и тому подобные функции.
Примером протокола сеансового уровня является расширенный пользовательский интерфейс NetBIOS (NetBIOS Extended User Interface, NetBEUI), используемый в сетях Microsoft. (NetBIOS — это интерфейс прикладного программирования, позволяющий приложениям запрашивать сеансовые соединения.) Однако NetBIOS, как и другой аналогичный протокол, Named Pipes, часто выполняет функции и сеансового, и транспортного уровней. Похоже, что не существует такого протокола, который можно было бы отнести исключительно к сеансовому уровню.
Уровень 4: транспортный
Транспортный уровень во многом дублирует расположенный ниже сетевой уровень, однако в отличие от него действует локально. Если сеть станет недоступна, транспортный уровень будет искать другой маршрут, по которому можно послать данные. Он может хранить данные, пока соединение не будет восстановлено. Именно транспортный уровень обеспечивает контроль за тем, чтобы данные были приняты полностью и в правильной последовательности. Этот уровень "вскрывает" каждый пакет, чтобы убедиться в отсутствии искажений.
При передаче между более высокими уровнями массивы данных сохраняют ту длину, которую они имели в момент создания. Когда дело доходит до транспортного уровня, данные разбиваются на пакеты одинакового размера с учетом требований сетевого уровня. Приняв все пакеты, транспортный уровень собирает из них исходный массив информации. Чтобы можно было восстановить правильную последовательность пакетов в случае их неупорядоченного прибытия, уровень нумерует каждый из них. Еще одна задача этого уровня — информирование компьютера-отправителя о безошибочном приеме сообщения.
В процессе передачи принимающий компьютер использует для упорядочения сообщения временную область хранения, называемую кадра (frame buffer). Если этот буфер заполняется, транспортный уровень принимающей машины уведомляет передающую машину о необходимости приостановить передачу. В тех случаях, когда используется мультиплексирование сообщений или сеансов, контроль за выполнением этих операций также осуществляется транспортным уровнем. Транспортный уровень выступает в качестве посредника между вышележащими уровнями, ориентированными на использование в приложениях, и нижележащими уровнями, связанными с сетью и сетевым оборудованием.
Теперь предположим, что необходимо установить связь по сети между двумя разнородными компьютерами. Как это сделать наиболее эффективно? Проблема решается путем использования сразу нескольких транспортных протоколов на одной машине. Одним из них является протокол управления передачей (TCP), о котором говорилось выше. Он входит в состав стека протоколов TCP/IP, реализованного многими компаниями. Два других транспортных протокола, применяемых на PC,— это NetBIOS, о котором было сказано выше, и протокол последовательного обмена пакетами (Sequenced Packet Exchange, SPX) фирмы Novell.
Уровень 3: сетевой
Сетевой уровень выполняет следующие функции:
Обеспечивает маршрутизацию и адресацию сообщений внутри сетей и между сетями.
Выбирает физический маршрут передачи данных, исходя из состояния сети, приоритета пакета и других факторов.
Гарантирует надежность доставки вышележащим уровням.
Освобождает вышележащие уровни от необходимости что-либо знать о фактических технологиях передачи и маршрутизации.
На сетевом уровне определяется маршрут отправки сообщения. При необходимости кадр передается маршрутизатору. Если размер кадра превышает максимальную единицу передачи данных (maximum transmission unit, MTU) на принимающей стороне, то кадр разбивается на более мелкие фрагменты. За их сборку отвечает сетевой уровень принимающей стороны.
Среди перечисленных выше задач сетевого уровня упоминалась адресация сообщений. Остановимся на этом более подробно. В детстве у меня была подруга по имени Лорена. По какой-то непонятной причине мама стала называла ее Питсаритц. Это прозвище прилипло к ней, и на протяжении всей учебы в школе Лорена была известна как Питси. Даже учителя называли ее именно так. Мой сын Марк ненавидит свое второе имя (которое я не привожу здесь по этическим соображениям), поэтому никогда не использует его.
Какое отношение все это имеет к сетям и адресации, спросите вы? Судите сами. У каждого из нас есть как минимум фамилия и имя, записанные в свидетельстве о рождении. Кроме того, человека могут называть по имени и отчеству, например на работе, или использовать прозвище в кругу друзей. Каждый компьютер имеет физический адрес, который записан, или "прошит", в его сетевой плате. Этот так называемый МАС-адрес (Media Access Control доступом к среде).
Как правило, компьютер имеет один или несколько логических адресов. Прежде всего ему присваивается IP-адрес (в точечной десятичной записи), о котором я говорила при описании одноранговых сетей. Одновременно с этим компьютер может иметь Web-адрес в формате URL. IP- и URL-адреса являются логическими. Сетевой уровень должен разрешать логические сетевые адреса в физические. Необходимая для этого информация содержится в специальном файле, который присутствует в каждой системе.
Среди протоколов, работающих на сетевом уровне, можно назвать протокол межсетевого взаимодействия (IP), а также протокол Х.25, используемый в одноименной сети с коммутацией пакетов.
Уровень 2: канальный
Когда-то давно я увлекалась мозаикой. Чтобы сделать мозаичную картину, берутся небольшие кусочки материалов разной формы, художественно раскладываются и склеиваются. Подобно этому, канальный уровень берет символы из потока, предоставляемого физическим уровнем, и составляет из них сообщения. Затем сообщение проверяется и передается следующему, сетевому уровню.
Канальный уровень отвечает за установление соединений между узлами сети и передачу кадров средствами физического уровня. Этот уровень может получать от принимающего компьютера подтверждение приема и при необходимости повторно передавать кадры, которые были искажены. Как правило, функции канального уровня реализует специальная интегральная схема сетевого адаптера.
К протоколам, используемым на этом уровне, относятся высокоуровневый протокол управления каналом (High-Level Data Link Control, HDLC), протоколы двоичной синхронной передачи и так называемые усовершенствованные процедуры управления передачей данных (Advanced Data Communications Control Procedures, ADCCP).
Уровень 1: физический
Итак, мы достигли самого нижнего уровня модели OSI. Как следует из названия, этот уровень имеет дело с физическим оборудованием. Через него общаются с внешним миром все остальные рассмотренные нами уровни. На физическом уровне между компьютерами пересылаются потоки нулей (0) и единиц (1). На этом уровне определяются характеристики электрических сигналов. К нему же относятся кабели (коаксиальные, витая пара, волоконно-оптические), разъемы и контакты. Например, существуют спецификации, в которых описано:
Количество и назначение контактов в разъемах
Типы и разновидности кабелей, используемых для соединения оборудования
Способы соединения кабелей с сетевыми адаптерами
Помимо работы с оборудованием, физический уровень управляет кодированием и декодированием битовых потоков, а также их синхронизацией.
Из спецификаций, описывающих этот уровень, особо выделяются три: спецификация сетей Ethernet (IEEE 802.3) и спецификация сетей Token Ring (IEEE 802.5), разработанные Институтом инженеров по электротехнике и электронике (Institute of Electrical and Electronic Engineers, IEEE), а также стандарт последовательной связи RS-232-C, относящийся к модемным коммуникациям и разработанный Ассоциацией электронной промышленности (Electronic Industries Association, EIA). Стандарт RS-232-C, в частности, определяет назначение контактов в разъемах и уровни напряжений, представляющие 0 и 1. Европейский международный стандарт V.24 очень похож на RS-232-C.
 


Специальные цены на торшеры BLITZ - blitz торшер.







jAntivirus