OSI Model

Материал из Викиконспекты
Версия от 19:20, 12 декабря 2016; 95.161.223.1 (обсуждение) (Таблица с уровнями OSI)
Перейти к: навигация, поиск

Сетевая модель OSI

Сетевая модель OSI (англ. open systems interconnection basic reference model) - концептуальная модель, которая обобщает и стандартизирует представление средств сетевого взаимодействия в телекоммуникационных и компьютерных системах, независимо от их внутреннего устройства и используемых технологий. Модель OSI была разработана в 1984 году Международной организацией стандартизации (ISO). Основной целью ее создания был поиск решения проблемы несовместимости устройств, использующих различные коммуникационные протоколы, путем перехода на единый, общий для всех систем стек протоколов.

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

OSI состоит из двух основных частей:

  • абстрактная модель сетевого взаимодействия (семиуровневая модель)
  • набор специализированных протоколов взаимодействия


Концепция семиуровневой модели была описана в работа Чарльза Бахмана. Данная модель подразделяет коммуникационную систему на уровни абстракции (англ. "abstraction layers"). В модели OSI средства взаимодействия делятся на семь уровней: прикладной, представления, сеансовый, транспортный, сетевой, канальный и физический. Каждый уровень:

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


Протоколы связи же решают две задачи: они обеспечивают взаимодействие между сущностями, находящимися на одном и том же уровне абстракции, но на разных хостах и абстрактно описывают функционал, который (N-1)-ый уровень предоставляет (N)-ому, где N - один из 7 уровней модели OSI. В рамках модели, любой протокол может взаимодействовать либо с протоколами своего уровня (горизонтальные взаимодействия), либо с протоколами уровня на единицу выше/ниже своего уровня (вертикальные взаимодействия).

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

Описание уровней модели OSI

Уровень Функции Примеры
7. Прикладной Некоторое высокоуровневое API HTTP, FTP
6. Представительский Представление данных между сетевым сервисом и приложением ASCII, EBCDIC, JPEG
5. Сеансовый Управление сеансами: продолжительный обмен информацией в виде множества передач между нодами RPC, PAP
4. Транспортный Надёжная передача сегментов между двумя нодами в сети TCP, UDP
3. Сетевой Структуризация и управление множеством нод в сети IPv4, IPv6
2. Канальный Надёжная передача датафреймов между двумя нодами соединённых физическим уровнем PPP, IEEE 802.2, Ethernet
1. Физический Передача и приём потока байтов через физическое устройство USB, витая пара

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

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

Прикладной уровень выполняет следующие функции:

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

К числу наиболее распространенных протоколов верхних трех уровней относятся:

  • FTP (File Transfer Protocol) протокол передачи файлов
  • HTTP (HyperText Transfer Protocol)
  • TELNET
  • RDP (Remote Desktop Protocol)

Уровень представления (Presentation layer)

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

Как и прикладной уровень, уровень представления оперирует напрямую сообщениями. Уровень представления выполняет следующие основные функции:

  • Генерация запросов на установление/завершение сеансов взаимодействия прикладных процессов
  • Согласование представления данных между прикладными процессами
  • Конвертация форм представления данных
  • Шифрование данных

Примеры протоколов данного уровня:

  • AFP — Apple Filing Protocol
  • ICA — Independent Computing Architecture
  • LPP — Lightweight Presentation Protocol
  • NCP — NetWare Core Protocol

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

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

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

  • полудуплексной (процессы будут передавать и принимать данные по очереди)
  • дуплексной (процессы будут передавать данные, и принимать их одновременно)


Как 2 уровня над ним, сеансовый уровень использует сообщения в качестве PDU.

Основные функции:

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

Примеры протоколов сеансового уровня:

  • ADSP (AppleTalk Data Stream)
  • ASP (AppleTalk Session)
  • RPC (Remote Procedure Call)
  • PAP (Password Authentication Protocol)

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

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

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

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

Транспортный уровень использует сегменты или датаграммы в качестве основного типа данных.

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

  • TCP (Transmission Control Protocol)
  • UDP (User Datagram Protocol)
  • SCTP (Stream Control Transmission Protocol)

Сетевой уровень (Network layer)

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

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

Сетевой уровень выполняет функции:

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

Наиболее часто на сетевом уровне используются протоколы:

  • IP/IPv4/IPv6 (Internet Protocol) сетевой протокол стека TCP/IP
  • IPX (Internetwork Packet Exchange, протокол межсетевого обмена)
  • AppleTalk

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

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