Главная страница
Навигация по странице:

  • Модель

  • Физический уровень

  • Сетевой уровень

  • Компьютерные сети. Принц, техн, прот 1-303. Книга переведена на английский, испанский, китайский и португальский языки


    Скачать 5.49 Mb.
    НазваниеКнига переведена на английский, испанский, китайский и португальский языки
    Дата26.10.2022
    Размер5.49 Mb.
    Формат файлаdoc
    Имя файлаКомпьютерные сети. Принц, техн, прот 1-303.doc
    ТипКнига
    #754706
    страница13 из 42
    1   ...   9   10   11   12   13   14   15   16   ...   42
    взаимодействия открытых систем (Open System Interconnection, OSI). Эта модель сыграла значительную роль в развитии компьютерных сетей.

    Общая характеристика модели OSI

    К концу 70-х годов в мире уже существовало большое количество фирменных стеков коммуникационных протоколов - таких, например, как DECnet, TCP/IP и IBM SNA. Подобное разнообразие средств межсетевого взаимодействия вывело на первый план проблему несовместимости устройств, использующих разные протоколы. Одним из путей разрешения этой проблемы в то время виделся всеобщий переход на единый, общий для всех систем стек протоколов, созданный с учетом недостатков уже существующих стеков. Такой академический подход к созданию нового стека начался с разработки модели OSI, длившейся с 1977 по 1984 год. Назначение модели OSI состоит в обобщенном представлении функций средств сетевого взаимодействия, способного служить своего рода универсальным языком сетевых специалистов.

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

    В модели OSI средства взаимодействия делятся на семь уровней:

    • прикладной (application layer);

    • представления (presentation layer);

    • сеансовый (session layer);

    • транспортный (transport layer);

    • сетевой (network layer);

    • канальный (data link layer);

    • физический (physical layer).

    Именно поэтому модель OSI называют также семиуровневой моделью. Каждый уровень связан со вполне определенным аспектом взаимодействия сетевых устройств.

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

    Приложения могут реализовывать собственные протоколы взаимодействия, используя для этих целей многоуровневую совокупность системных средств. Именно для этого в распоряжение программистов предоставляется прикладной программный интерфейс (Application Program Interface, API). В соответствии с моделью OSI приложение может обращаться с запросами только к самому верхнему уровню – прикладному, однако на практике многие стеки коммуникационных протоколов предоставляют возможность программистам напрямую обращаться к сервисам или службам нижележащих уровней.

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

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

    Для иллюстрации логической структуры модели OSI рассмотрим взаимодействие двух приложений, А и В, выполняющихся на компьютерах 1 и 2 соответственно (рис. 4.6). Пусть, например, приложение А собирает данные, на основе которых приложение В генерирует отчет. Совместная работа этих двух приложений обеспечивается за счет обмена сообщениями согласно протоколу, разработанному для них прикладными программистами. Протокольные сообщения отражают логику работы приложения, они могут быть самыми разнообразными, например: «Данные для отчета N готовы», «Несовпадение типа данных» и т. п.

    Разработчики приложений Ан В решили, что протокольные сообщения будут передаваться по сети в виде файлов. Пусть, например, приложение А посылает сообщение «Данные для отчета N готовы» приложению В. Для этого оно, используя интерфейс API, выполняет запрос к системным средствам прикладного уровня модели OS1 (в нашем примере к сетевой файловой системе) с просьбой передать файл с этим сообщением на удаленный компьютер 2. В ходе выполнения запроса приложения А клиент и сервер файловой системы в соответствии со своим протоколом обмениваются собственной последовательностью команд – протокольных сообщений. В поле данных одной из таких команд клиента файловой системы упаковано сообщение приложения А, а в заголовке (на рис. 4.6 заголовок прикладного уровня 7) – служебная информация для сервера файловой системы. Чтобы это сообщение прикладного уровня было доставлено по назначению, необходимо решить еще ряд задач, ответственность за которые несут нижележащие уровни средств сетевого взаимодействия. Следующим уровнем является уровень представления. Протокольный модуль прикладного уровня посредством межуровневого интерфейса передает ему свое сообщение, а также запрос на выполнение тех или иных услуг, предоставляемых этим уровнем. Средства уровня представления выполняют требуемые действия (например, перекодировку информации) и формируют свое сообщение, добавляя к полученному сообщению собственную служебную информацию (на рис. 4.6 заголовок уровня представления 6).

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

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

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

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

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

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


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

    Физический уровень

    Физический уровень модели OSI имеет дело с передачей потока битов по физическим каналам связи, таким как коаксиальный кабель, витая пара, оптоволоконный кабель или беспроводная линия связи.

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

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

    Канальный уровень

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

    установление логического соединения между взаимодействующими узлами;

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

    В сетях, построенных на основе разделяемой среды, физический уровень выполняет еще одну функцию – проверяет доступность разделяемой среды. Эту функцию иногда выделяют в отдельный подуровень управления доступом к среде (Medium Access Control, MAC). Протокол канального уровня обычно работает в пределах сети, являющейся одной из частей более крупной составной сети, объединенной протоколами сетевого уровня. Адреса, с которыми работает протокол канального уровня, используются для доставки кадров только в пределах этой сети, а для перемещения пакетов между сетями применяются адреса уже следующего, сетевого уровня.

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

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

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

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

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

    Сетевой уровень

    Сетевой уровень служит для образования единой транспортной системы, объединяющей несколько сетей и называемой составной сетью, или интернетомXV.

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

    На рис. 4.7 показано несколько сетей, каждая из которых использует собственную технологию канального уровня: Ethernet, FDDI, Token Ring, ATM, Frame Relay. На базе этих технологий любая из указанных сетей может связывать между собой любых пользователей, но только в пределах своей сети, и не способна обеспечить передачу данных в другую сеть. Причина такого положения вещей очевидна и кроется в существенных отличиях одной технологии от другой. Даже наиболее близкие технологии LAN Ethernet, FDDI, Token Ringимеющие одну и ту же систему адресации (М АС-адреса), отличаются друг от друга форматом используемых кадров и логикой работы протоколов. Еще больше отличий между технологиями LAN и WAN.

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

    Функции сетевого уровня реализуются:

    • группой протоколов;

    • специальными устройствами – маршрутизаторами.


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

    Итак, чтобы связать сети, показанные на рис. 4.7, необходимо соединить все эти сети маршрутизаторами и установить протокольные модули сетевого уровня на все конечные узлы пользователей, которые хотели бы связываться через составную сеть (рис. 4.8).

    Данные, которые необходимо передать через составную сеть, поступают на сетевой уровень от вышележащего транспортного уровня. Эти данные снабжаются заголовком сетевого уровня. Данные вместе с заголовком образуют
    1   ...   9   10   11   12   13   14   15   16   ...   42


    написать администратору сайта