Физическая модель сети. Что такое семиуровневая модель OSI – зачем нужна и как работает

Рассмотрим в данной статье назначение уровней эталонной модели osi, с подробным описанием каждого из семи уровней модели.

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

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

Многоуровневый подход:

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

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

Эталонная Модель Взаимосвязи Открытых Систем (семиуровневая модель osi) введена в 1977 г.

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

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

Взаимодействие между уровнями организовано следующим образом:

  • по вертикали - внутри отдельно взятой ЭВМ и только с соседними уровнями.
  • по горизонтали - организовано логическое взаимодействие - с таким же уровнем другого компьютера на другом конце канала связи (то есть сетевой уровень на одном компьютере взаимодействует с сетевым уровнем на другом компьютере).

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

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

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

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

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

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

Функции физического уровеня

  • на этом уровне стандартизируются типы разъемов и назначение контактов;
  • определяется, каким образом представляются "0" и "1";
  • интерфейс между сетевым носителем и сетевым устройством (передает электрические или оптические сигналы в кабель или радиоэфир, принимает их и преобразует в биты данных);
  • функции физического уровня реализуются во всех устройствах, подключенных к сети;
  • оборудование, работающее на физическом уровне: концентраторы;
  • Примеры сетевых интерфейсов, относящихся к физическому уровню: RS-232C, RJ-11, RJ-45, разъемы AUI, ВNС .

Функции канального уровня

  • нулевые и единичные биты Физического уровня организуются в кадры - "frame". Кадр является порцией данных, которая имеет независимое логическое значение;
  • организация доступа к среде передачи;
  • обработка ошибок передачи данных;
  • определяет структуру связей между узлами и способы их адресации;
  • оборудование, работающее на канальном уровне: коммутаторы, мосты;
  • примеры протоколов, относящихся к канальному уровню: Ethernet , Token Ring , FDDI, Bluetooth , Wi-Fi , Wi-Max, X.25, FrameRelay, ATM.

Для ЛВС канальный уровень разбивается на два подуровня:

  • LLC (LogicalLinkControl) –отвечает за установление канала связи и за безошибочную посылку и прием сообщений данных;
  • MAC (MediaAccessControl) – обеспечивает совместный доступ сетевых адаптеров к физическому уровню, определение границ кадров, распознавание адресов назначения (например, доступ к общей шине).

Функции сетевого уровня

  • Выполняет функции:
    • определения пути передачи данных;
    • определения кратчайшего маршрута;
    • отслеживания неполадок и заторов в сети.
  • Решает задачи:
    • передача сообщений по связям с нестандартной структурой;
    • согласование разных технологий;
    • упрощение адресации в крупных сетях;
    • создание барьеров на пути нежелательного трафика между сетями.
  • Оборудование, работающее на сетевом уровне: маршрутизатор.
  • Виды протоколов сетевого уровня:
    • сетевые протоколы (продвижение пакетов через сеть: , ICMP);
    • протоколы маршрутизации: RIP, OSPF;
    • протоколы разрешения адресов (ARP).

Функции транспортного уровня модели osi

  • обеспечивает приложениям (или прикладному и сеансовому уровням) передачу данных с требуемой степенью надежности, компенсирует недостатки надёжности более низких уровней;
  • мультиплексирование и демультиплексирование т.е. сбора и разборка пакетов;
  • протоколы предназначены для взаимодействия типа «точка-точка»;
  • начиная с данного уровня, протоколы реализуются программными средствами конечных узлов сети - компонентами их сетевых ОС;
  • примеры: протоколы TCP , UDP .

Функции сеансового уровня

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

Функции представительного уровня

  • отвечает за преобразование протоколов и кодирование/декодирование данных. Запросы приложений, полученные с уровня приложений, преобразует в формат для передачи по сети, а полученные из сети данные преобразует в формат, понятный приложениям;
  • возможно осуществление:
  • сжатия/распаковки или кодирования/декодирования данных;
  • перенаправления запросов другому сетевому ресурсу, если они не могут быть обработаны локально.
  • пример: протокол SSL (обеспечивает секретных обмен сообщениями для протоколов прикладного уровня TCP/IP).

Функции прикладного уровня модели osi

  • является набором разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, организуют совместную работу;
  • обеспечивает взаимодействие сети и пользователя;
  • разрешает приложениям пользователя иметь доступ к сетевым службам, таким как обработчик запросов к базам данных, доступ к файлам, пересылке электронной почты;
  • отвечает за передачу служебной информации;
  • предоставляет приложениям информацию об ошибках;
  • пример: HTTP, POP3, SNMP, FTP.

Сетезависимые и сетенезависимые уровни семиуровневой модели osi

По своим функциональным возможностям семь уровней модели OSI можно отнести к одной из двух групп:

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

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

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

В эталонной модели OSI вводятся два понятия: протокол и интерфейс .

Протокол – это набор правил, на основе которых взаимодействуют уровни различных открытых систем.

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

Протокол определяет правила взаимодействия модулей одного уровня в разных узлах, а интерфейс – модулей соседних уровней в одном узле.

Всего существует семь уровней эталонной модели OSI. Стоит отметить, что в реальных стеках используется меньше уровней. Например, в популярном TCP/IP используется всего четыре уровня. Почему так? Объясним чуть позже. А сейчас рассмотрим каждый из семи уровней в отдельности.

Уровни модели OSI:

  • Физический уровень. Определяет вид среды передачи данных, физические и электрические характеристики интерфейсов, вид сигнала. Этот уровень имеет дело с битами информации. Примеры протоколов физического уровня: Ethernet, ISDN, Wi-Fi.
  • Канальный уровень. Отвечает за доступ к среде передачи, исправление ошибок, надежную передачу данных. На приеме полученные с физического уровня данные упаковываются в кадры после чего проверяется их целостность. Если ошибок нет, то данные передаются на сетевой уровень. Если ошибки есть, то кадр отбрасывается и формируется запрос на повторную передачу. Канальный уровень подразделяется на два подуровня: MAC (Media Access Control) и LLC (Locical Link Control). MAC регулирует доступ к разделяемой физической среде. LLC обеспечивает обслуживание сетевого уровня. На канальном уровне работают коммутаторы. Примеры протоколов: Ethernet, PPP.
  • Сетевой уровень. Его основными задачами являются маршрутизация – определение оптимального пути передачи данных, логическая адресация узлов. Кроме того, на этот уровень могут быть возложены задачи по поиску неполадок в сети (протокол ICMP). Сетевой уровень работает с пакетами. Примеры протоколов: IP, ICMP, IGMP, BGP, OSPF).
  • Транспортный уровень. Предназначен для доставки данных без ошибок, потерь и дублирования в той последовательности, как они были переданы. Выполняет сквозной контроль передачи данных от отправителя до получателя. Примеры протоколов: TCP, UDP.
  • Сеансовый уровень. Управляет созданием/поддержанием/завершением сеанса связи. Примеры протоколов: L2TP, RTCP.
  • Представительский уровень. Осуществляет преобразование данных в нужную форму, шифрование/кодирование, сжатие.
  • Прикладной уровень. Осуществляет взаимодействие между пользователем и сетью. Взаимодействует с приложениями на стороне клиента. Примеры протоколов: HTTP, FTP, Telnet, SSH, SNMP.

После знакомства со эталонной моделью, рассмотрим стек протоколов TCP/IP.

В модели TCP/IP определено четыре уровня. Как видно из рисунка выше – один уровень TCP/IP может соответствовать нескольким уровням модели OSI.

Уровни модели TCP/IP:

  • Уровень сетевых интерфейсов. Соответствует двум нижним уровням модели OSI: канальному и физическому. Исходя из этого, понятно, что данный уровень определяет характеристики среды передачи (витая пара, оптическое волокно, радиоэфир), вид сигнала, способ кодирования, доступ к среде передачи, исправление ошибок, физическую адресацию (MAC-адреса). В модели TCP/IP на этом уровне работает протокол Ethrnet и его производные (Fast Ethernet, Gigabit Ethernet).
  • Уровень межсетевого взаимодействия. Соответствует сетевому уровню модели OSI. Берет на себя все его функции: маршрутизацию, логическую адресация (IP-адреса). На данном уровне работает протокол IP.
  • Транспортный уровень. Соответствует транспортному уровню модели OSI. Отвечает за доставку пакетов от источника до получателя. На данному уровне задействуется два протокола: TCP и UDP. TCP является более надежным, чем UDP за счет создания предварительного соединения, запросов на повторную передачу при возникновении ошибок. Однако, в то же время, TCP более медленный, чем UDP.
  • Прикладной уровень. Его главная задача – взаимодействие с приложениями и процессами на хостах. Примеры протоколов: HTTP, FTP, POP3, SNMP, NTP, DNS, DHCP.

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

Рассмотрим на конкретном примере. Пусть мы хотим попасть с компьютера на сайт. Для этого наш компьютер должен подготовить http-запрос на получение ресурсов веб-сервера, на котором хранится нужная нам страница сайта. На прикладном уровне к данным (Data) браузера добавляется HTTP-заголовок. Далее на транспортном уровне к нашему пакету прибавляется TCP-заголовок, содержащий номера портов отправителя и получателя (80 порт – для HTTP). На сетевом уровне формируется IP-заголовок, содержащий IP-адреса отправителя и получателя. Непосредственно перед передачей, на канальном уровне добавляется Ethrnet-заголовок, который содержит физические (MAC-адреса) отправителя и получателя. После всех этих процедур пакет в виде битов информации передается по сети. На приеме происходит обратная процедура. Web-сервер на каждом уровне будет проверять соответствующий заголовок. Если проверка прошла удачно, то заголовок отбрасывается и пакет переходит на верхний уровень. В противном случае весь пакет отбрасывается.

В утилите sudo, используемой для организации выполнения команд от имени других пользователей, выявлена уязвимость (CVE-2019-18634), которая позволяет повысить свои привилегии в системе. Проблема […]

Выпуск WordPress 5.3 улучшает и расширяет представленный в WordPress 5.0 редактор блоков новым блоком, более интуитивным взаимодействием и улучшенной доступностью. Новые функции в редакторе […]

После девяти месяцев разработки доступен мультимедиа-пакет FFmpeg 4.2, включающий набор приложений и коллекцию библиотек для операций над различными мультимедиа-форматами (запись, преобразование и […]

  • Новые функции в Linux Mint 19.2 Cinnamon

    Linux Mint 19.2 является выпуском с долгосрочной поддержкой, который будет поддерживаться до 2023 года. Он поставляется с обновленным программным обеспечением и содержит доработки и множество новых […]

  • Вышел дистрибутив Linux Mint 19.2

    Представлен релиз дистрибутива Linux Mint 19.2, второго обновления ветки Linux Mint 19.x, формируемой на пакетной базе Ubuntu 18.04 LTS и поддерживаемой до 2023 года. Дистрибутив полностью совместим […]

  • Доступны новые сервисные релизы BIND, которые содержат исправления ошибок и улучшения функций. Новые выпуски могут быть скачано со страницы загрузок на сайте разработчика: […]

    Exim — агент передачи сообщений (MTA), разработанный в Кембриджском университете для использования в системах Unix, подключенных к Интернету. Он находится в свободном доступе в соответствии с […]

    После почти двух лет разработки представлен релиз ZFS on Linux 0.8.0, реализации файловой системы ZFS, оформленной в виде модуля для ядра Linux. Работа модуля проверена с ядрами Linux c 2.6.32 по […]

    Комитет IETF (Internet Engineering Task Force), занимающийся развитием протоколов и архитектуры интернета, завершил формирование RFC для протокола ACME (Automatic Certificate Management Environment) […]

    Некоммерческий удостоверяющий центр Let’s Encrypt, контролируемый сообществом и предоставляющий сертификаты безвозмездно всем желающим, подвёл итоги прошедшего года и рассказал о планах на 2019 год. […]

    Модель Open Systems Interconnection (OSI) – это скелет, фундамент и база всех сетевых сущностей. Модель определяет сетевые протоколы, распределяя их на 7 логических уровней. Важно отметить, что в любом процессе, управление сетевой передачей переходит от уровня к уровню, последовательно подключая протоколы на каждом из уровней.

    Видео: модель OSI за 7 минут

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

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


    #01: Физический (physical) уровень

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

    Среди технологий, которые живут на первом уровне, можно выделить самый основной стандарт - Ethernet. Он есть сейчас в каждом доме.

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

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

    #02: Канальный (data Link) уровень

    Представьте, мы получили физический сигнал с первого уровня – физического. Это набор напряжений разной амплитуды, волн или радиочастот. При получении, на втором уровне проверяются и исправляются ошибки передачи. На втором уровне мы оперируем понятием «фрейм», или как еще говорят «кадр». Тут появляются первые идентификаторы – MAC – адреса. Они состоят из 48 бит и выглядят примерно так: 00:16:52:00:1f:03.

    Канальный уровень сложный. Поэтому, его условно говоря делят на два подуровня: управление логическим каналом (LLC, Logical Link Control) и управление доступом к среде (MAC, Media Access Control).

    На этом уровне обитают такие устройства как коммутаторы и мосты. Кстати! Стандарт Ethernet тоже тут. Он уютно расположился на первом и втором (1 и 2) уровнях модели OSI.

    #03: Сетевой (network) уровень

    Идем вверх! Сетевой уровень вводит термин «маршрутизация» и, соответственно, IP – адрес. Кстати, для преобразования IP – адресов в MAC – адреса и обратно используется протокол ARP .

    Именно на этом уровне происходит маршрутизация трафика, как таковая. Если мы хотим попасть на сайт сайт , то мы отправляем , получаем ответ в виде IP – адреса и подставляем его в пакет. Да – да, если на втором уровне мы используем термин фрейм/кадр, как мы говорили ранее, то здесь мы используем пакет.

    Из устройств здесь живет его величество маршрутизатор:)

    Процесс, когда данные передаются с верхних уровней на нижние называется инкапсуляцией данных, а когда наоборот, наверх, с первого, физического к седьмому, то этот процесс называется декапсуляцией данных
    #04: Транспортный (transport) уровень

    Транспортный уровень, как можно понять из названия, обеспечивает передачу данных по сети. Здесь две основных рок – звезды – TCP и UDP. Разница в том, что различный транспорт применяется для разной категории трафика. Принцип такой:

    • Трафик чувствителен к потерям - нет проблем, TCP (Transmission Control Protocol)! Он обеспечивает контроль за передачей данных;
    • Немного потеряем – не страшно - по факту, сейчас, когда вы читаете эту статью, пару пакетов могло и потеряться. Но это не чувствуется для вас, как для пользователя. UDP (User Datagram Protocol) вам подойдет. А если бы это была телефония? Потеря пакетов там критична, так как голос в реальном времени начнет попросту «квакать»;
    #05: Сеансовый (session) уровень

    Попросите любого сетевого инженера объяснить вам сеансовый уровень. Ему будет трудно это сделать, инфа 100%. Дело в том, что в повседневной работе, сетевой инженер взаимодействует с первыми четырьмя уровнями – физическим, канальным, сетевым и транспортным. Остальные, или так называемые «верхние» уровни относятся больше к работе разработчиков софта:) Но мы попробуем!

    Сеансовый уровень занимается тем, что управляет соединениями, или попросту говоря, сессиями. Он их разрывает. Помните мем про «НЕ БЫЛО НИ ЕДИНОГО РАЗРЫВА »? Мы помним. Так вот, это пятый уровень постарался:)

    #06 Уровень представления (presentation)

    На шестом уровне творится преобразование форматов сообщений, такое как кодирование или сжатие. Тут живут JPEG и GIF, например. Так же уровень ответственен за передачу потока на четвертый (транспортный уровень).

    #07 Уровень приложения (application)

    На седьмом этаже, на самой верхушке айсберга, обитает уровень приложений! Тут находятся сетевые службы, которые позволяют нам, как конечным пользователям, серфить просторы интернета. Гляньте, по какому протоколу у вас открыта наша база знаний? Правильно, HTTPS. Этот парень с седьмого этажа. Еще тут живут простой HTTP, FTP и SMTP.

    Полезна ли Вам эта статья?

    Пожалуйста, расскажите почему?

    Нам жаль, что статья не была полезна для вас:(Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

    Разработка которого не была связана с моделью OSI.

    Уровни модели OSI

    Модель состоит из 7-ми уровней, расположенных друг над другом. Уровни взаимодействуют друг с другом (по «вертикали») посредством интерфейсов, и могут взаимодействовать с параллельным уровнем другой системы (по «горизонтали») с помощью протоколов. Каждый уровень может взаимодействовать только со своими соседями и выполнять отведённые только ему функции. Подробнее можно посмотреть на рисунке.

    Модель OSI
    Тип данных Уровень Функции
    Данные 7. Прикладной уровень Доступ к сетевым службам
    6. Уровень представления Представление и кодирование данных
    5. Сеансовый уровень Управление сеансом связи
    Сегменты 4. Транспортный Прямая связь между конечными пунктами и надежность
    Пакеты 3. Сетевой Определение маршрута и логическая адресация
    Кадры 2. Канальный Физическая адресация
    Биты 1. Физический уровень Работа со средой передачи, сигналами и двоичными данными

    Прикладной (Приложений) уровень (англ. Application layer )

    Верхний уровень модели, обеспечивает взаимодействие пользовательских приложений с сетью. Этот уровень позволяет приложениям использовать сетевые службы, такие как удалённый доступ к файлам и базам данных, пересылка электронной почты. Также отвечает за передачу служебной информации, предоставляет приложениям информацию об ошибках и формирует запросы к уровню представления . Пример: HTTP , POP3 , SMTP , FTP , XMPP , OSCAR , BitTorrent , MODBUS, SIP

    Представительский (Уровень представления) (англ. Presentation layer )

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

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

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

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

    Стандарты уровня представлений также определяют способы представления графических изображений. Для этих целей может использоваться формат PICT - формат изображений, применяемый для передачи графики QuickDraw между программами для компьютеров Macintosh и PowerPC. Другим форматом представлений является тэгированный формат файлов изображений TIFF , который обычно используется для растровых изображений с высоким разрешением. Следующим стандартом уровня представлений, который может использоваться для графических изображений, является стандарт, разработанный Объединенной экспертной группой по фотографии (Joint Photographic Expert Group); в повседневном пользовании этот стандарт называют просто JPEG .

    Существует другая группа стандартов уровня представлений, которая определяет представление звука и кинофрагментов. Сюда входят интерфейс электронных музыкальных инструментов MIDI (Musical Instrument Digital Interface) для цифрового представления музыки, разработанный Экспертной группой по кинематографии стандарт MPEG , используемый для сжатия и кодирования видеороликов на компакт-дисках, хранения в оцифрованном виде и передачи со скоростями до 1,5 Мбит/с, и QuickTime - стандарт, описывающий звуковые и видео элементы для программ, выполняемых на компьютерах Macintosh и PowerPC.

    Сеансовый уровень (англ. Session layer )

    5-й уровень модели отвечает за поддержание сеанса связи, позволяя приложениям взаимодействовать между собой длительное время. Уровень управляет созданием/завершением сеанса, обменом информацией, синхронизацией задач, определением права на передачу данных и поддержанием сеанса в периоды неактивности приложений. Синхронизация передачи обеспечивается помещением в поток данных контрольных точек, начиная с которых возобновляется процесс при нарушении взаимодействия.

    Транспортный уровень (англ. Transport layer )

    4-й уровень модели предназначен для доставки данных без ошибок, потерь и дублирования в той последовательности, как они были переданы. При этом не важно, какие данные передаются, откуда и куда, то есть он предоставляет сам механизм передачи. Блоки данных он разделяет на фрагменты, размер которых зависит от протокола, короткие объединяет в один, а длинные разбивает. Пример: TCP , UDP .

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

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

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

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

    Сетевой уровень (англ. Network layer )

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

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

    Канальный уровень (англ. Data Link layer )

    Этот уровень предназначен для обеспечения взаимодействия сетей на физическом уровне и контроля за ошибками, которые могут возникнуть. Полученные с физического уровня данные он упаковывает во фреймы , проверяет на целостность, если нужно исправляет ошибки (посылает повторный запрос поврежденного кадра) и отправляет на сетевой уровень. Канальный уровень может взаимодействовать с одним или несколькими физическими уровнями, контролируя и управляя этим взаимодействием. Спецификация IEEE 802 разделяет этот уровень на 2 подуровня - MAC (Media Access Control) регулирует доступ к разделяемой физической среде, LLC (Logical Link Control) обеспечивает обслуживание сетевого уровня.

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

    Физический уровень (англ. Physical layer )

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

    Модель OSI и реальные протоколы

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

    Основная недоработка OSI - непродуманный транспортный уровень. На нём OSI позволяет осуществлять обмен данными между приложениями (вводя понятие порта - идентификатора приложения), однако, возможность обмена простыми датаграммами (по типу UDP) в OSI не предусмотрена - транспортный уровень должен образовывать соединения, обеспечивать доставку, управлять потоком и т. п. (по типу TCP). Реальные же протоколы реализуют такую возможность.

    Семейство TCP/IP

    Семейство TCP/IP имеет три транспортных протокола: TCP, полностью соответствующий OSI, обеспечивающий проверку получения данных, UDP, отвечающий транспортному уровню только наличием порта, обеспечивающий обмен датаграммами между приложениями, не гарантирующий получения данных и SCTP , разработанный для устранения некоторых недостатков TCP и в который добавлены некоторые новшества. (В семействе TCP/IP есть ещё около двухсот протоколов, самым известным из которых является служебный протокол ICMP , используемый для внутренних нужд обеспечения работы; остальные также не являются транспортными протоколами.)

    Семейство IPX/SPX

    В семействе IPX/SPX порты (называемые «сокеты» или «гнёзда») появляются в протоколе сетевого уровня IPX, обеспечивая обмен датаграммами между приложениями (операционная система резервирует часть сокетов для себя). Протокол SPX, в свою очередь, дополняет IPX всеми остальными возможностями транспортного уровня в полном соответствии с OSI.

    В качестве адреса хоста IPX использует идентификатор, образованный из четырёхбайтного номера сети (назначаемого маршрутизаторами) и MAC-адреса сетевого адаптера.

    Модель DOD

    Стек протоколов TCP/IP, использующий упрощённую четырёхуровневую модель OSI.

    Адресация в IPv6

    Адреса назначения и источника в IPv6 имеют длину 128 бит или 16 байт. Версия 6 обобщает специальные типы адресов версии 4 в следующих типах адресов:

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

    Как и в версии IPv4, адреса в версии IPv6 делятся на классы, в зависимости от значения нескольких старших бит адреса.

    Большая часть классов зарезервирована для будущего применения. Наиболее интересным для практического использования является класс, предназначенный для провайдеров услуг Internet, названный Provider-Assigned Unicast .

    Адрес этого класса имеет следующую структуру:

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

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

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

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

    Для обеспечения совместимости со схемой адресации версии IPv4, в версии IPv6 имеется класс адресов, имеющих 0000 0000 в старших битах адреса. Младшие 4 байта адреса этого класса должны содержать адрес IPv4. Маршрутизаторы, поддерживающие обе версии адресов, должны обеспечивать трансляцию при передаче пакета из сети, поддерживающей адресацию IPv4, в сеть, поддерживающую адресацию IPv6, и наоборот.

    Критика

    Семиуровневая модель OSI критиковалась некоторыми специалистами. В частности в классической книге «UNIX. Руководство системного администратора» Эви Немет и другие пишут:

    … Пока комитеты ISO спорили о своих стандартах, за их спиной менялась вся концепция организации сетей и по всему миру внедрялся протокол TCP/IP. …

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

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