Меню Закрыть

Семиуровневая модель osi для чайников

Содержание

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

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

Сетевые уровни модели OSI

Физический

Отвечает за физическую передачу данных между устройствами на большие и не очень расстояния. Он описывает виды сигналов и способы их обработки для разных сред передачи: проводов (витой пары и коаксиала), оптического волокна, радиолинии (wi-fi и bluetooth), инфракрасного канала. Единицы данных на этом уровне – биты, преобразованные в электрические импульсы, свет, радиоволны и т.д. Также тут фиксируются типы разъемов, их распиновка.

Устройства, работающие на физическом уровне модели ОСИ (OSI Model): повторители сигнала, концентраторы (хабы). Это наименее «интеллектуальные» устройства, задачей которых является усиление сигнала или его разветвление без какого-либо анализа и модификации.

Канальный

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

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

Также тут впервые всплывает понятие адреса. Здесь – это MAC (англ. Media Access Control) адрес – шестибайтовый идентификатор сетевого устройства, необходимый для указания в кадрах в качестве получателя и отправителя при передаче данных в рамках одного локального сегмента.

Устройства: сетевой мост (bridge), коммутатор. Их преимущественное отличие от «нижних» устройств – ведение таблиц MAC адресов по своим портам и рассылка/фильтрация трафика уже только по необходимым направлениям.

Сетевой

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

Единица передаваемой информации – пакеты. Адресация узлов и сетей производится присвоением им 4-байтовых номеров – IP (англ. Internet Protocol) адресов, иерархически организованных, и позволяющих гибко настраивать взаимную логическую видимость сегментов сетей.

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

Транспортный

Транспортировка в этом случае подразумевается логическая (так как за физическую отвечает 1 ступень стека): установление соединения с противоположным узлом на соответствующем уровне, подтверждение доставки полученных данных, контроль их качества. Так работает протокол TCP (англ. Transmission Control Protocol). Передаваемая порция информации – блок или сегмент.

Для передачи же потоковых массивов (датаграмм) используется протокол UDP (англ. User Datagram Protocol).

Адрес – десятичный номер виртуального программного порта конкретной рабочей станции или сервера.

Сеансовый

Управляет процессом передачи в терминах пользовательского доступа. Ограничивает время соединения (сессии) одного узла с другим, контролирует права доступа, синхронизирует начало, конец обмена.

Представительский

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

Прикладной

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

Пример работы сетевой модели

Рассмотрим на живом примере принцип работы стека протоколов. Пусть пользователь компьютера шлет в мессенджере фотографию другу с подписью. Спускаемся по уровням модели:

Состояние отпатрулирована

Сетевая модель OSI — сетевая модель стека (магазина) сетевых протоколов OSI/ISO. Посредством данной модели различные сетевые устройства могут взаимодействовать друг с другом. Модель определяет различные уровни взаимодействия систем. Каждый уровень выполняет определённые функции при таком взаимодействии.

Содержание

Уровни модели OSI [ править | править код ]

Модель OSI
Уровень (layer) Тип данных (PDU [1] ) Функции Примеры
Host
layers
7. Прикладной (application) Данные Доступ к сетевым службам HTTP, FTP, POP3, WebSocket
6. Представления (presentation) Представление и шифрование данных ASCII, EBCDIC
5. Сеансовый (session) Управление сеансом связи RPC, PAP, L2TP
4. Транспортный (transport) Сегменты

Прямая связь между конечными пунктами и надёжность TCP, UDP, SCTP, PORTS Media [2]
layers
3. Сетевой (network) Пакеты (packet) Определение маршрута и логическая адресация IPv4, IPv6, IPsec, AppleTalk 2. Канальный (data link) Биты (bit)/
Кадры (frame) Физическая адресация PPP, IEEE 802.22, Ethernet, DSL, ARP, сетевая карта. 1. Физический (physical) Биты (bit) Работа со средой передачи, сигналами и двоичными данными USB, кабель («витая пара», коаксиальный, оптоволоконный), радиоканал

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

  • тип передающей среды (медный кабель, оптоволокно, радиоэфир и др.),
  • тип модуляции сигнала,
  • сигнальные уровни логических дискретных состояний (нули и единицы).
Читайте также:  Dji phantom 4 pro камера

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

Каждому уровню с некоторой долей условности соответствует свой операнд — логически неделимый элемент данных, которым на отдельном уровне можно оперировать в рамках модели и используемых протоколов: на физическом уровне мельчайшая единица — бит, на канальном уровне информация объединена в кадры, на сетевом — в пакеты (датаграммы), на транспортном — в сегменты. Любой фрагмент данных, логически объединённых для передачи — кадр, пакет, датаграмма — считается сообщением. Именно сообщения в общем виде являются операндами сеансового, представления и прикладного уровней.

К базовым сетевым технологиям относятся физический и канальный уровни.

Прикладной уровень [ править | править код ]

Прикладной уровень (уровень приложений; англ. application layer ) — верхний уровень модели, обеспечивающий взаимодействие пользовательских приложений с сетью:

  • позволяет приложениям использовать сетевые службы:
  • удалённый доступ к файлам и базам данных,
  • пересылка электронной почты;
  • отвечает за передачу служебной информации;
  • предоставляет приложениям информацию об ошибках;
  • формирует запросы к уровню представления.
  • Уровень представления [ править | править код ]

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

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

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

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

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

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

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

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

    Сеансовый уровень [ править | править код ]

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

    Транспортный уровень [ править | править код ]

    Транспортный уровень (англ. transport layer ) модели предназначен для обеспечения надёжной передачи данных от отправителя к получателю. При этом уровень надёжности может варьироваться в широких пределах. Существует множество классов протоколов транспортного уровня, начиная от протоколов, предоставляющих только основные транспортные функции (например, функции передачи данных без подтверждения приёма), и заканчивая протоколами, которые гарантируют доставку в пункт назначения нескольких пакетов данных в надлежащей последовательности, мультиплексируют несколько потоков данных, обеспечивают механизм управления потоками данных и гарантируют достоверность принятых данных. Например, UDP ограничивается контролем целостности данных в рамках одной датаграммы и не исключает возможности потери пакета целиком или дублирования пакетов, нарушение порядка получения пакетов данных; TCP обеспечивает надёжную непрерывную передачу данных, исключающую потерю данных или нарушение порядка их поступления или дублирования, может перераспределять данные, разбивая большие порции данных на фрагменты и наоборот, склеивая фрагменты в один пакет.

    Читайте также:  Процессор intel core i5 6300hq

    Сетевой уровень [ править | править код ]

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

    Протоколы сетевого уровня маршрутизируют данные от источника к получателю. Работающие на этом уровне устройства (маршрутизаторы) условно называют устройствами третьего уровня (по номеру уровня в модели OSI).

    Протоколы сетевого уровня: IP/IPv4/IPv6 (Internet Protocol), IPX (Internetwork Packet Exchange, протокол межсетевого обмена), X.25 (частично этот протокол реализован на уровне 2), CLNP (сетевой протокол без организации соединений), IPsec (Internet Protocol Security). Протоколы маршрутизации — RIP (Routing Information Protocol), OSPF (Open Shortest Path First).

    Канальный уровень [ править | править код ]

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

    Спецификация IEEE 802 разделяет этот уровень на два подуровня: MAC (англ. media access control ) регулирует доступ к разделяемой физической среде, LLC (англ. logical link control ) обеспечивает обслуживание сетевого уровня.

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

    При разработке стеков протоколов на этом уровне решаются задачи помехоустойчивого кодирования. К таким способам кодирования относится код Хемминга, блочное кодирование, код Рида-Соломона.

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

    Физический уровень [ править | править код ]

    Физический уровень (англ. physical layer ) — нижний уровень модели, который определяет метод передачи данных, представленных в двоичном виде, от одного устройства (компьютера) к другому. Составлением таких методов занимаются разные организации, в том числе: Институт инженеров по электротехнике и электронике, Альянс электронной промышленности, Европейский институт телекоммуникационных стандартов и другие. Осуществляют передачу электрических или оптических сигналов в кабель или в радиоэфир и, соответственно, их приём и преобразование в биты данных в соответствии с методами кодирования цифровых сигналов.

    На этом уровне также работают концентраторы, повторители сигнала и медиаконвертеры.

    Функции физического уровня реализуются на всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом. К физическому уровню относятся физические, электрические и механические интерфейсы между двумя системами. Физический уровень определяет такие виды сред передачи данных как оптоволокно, витая пара, коаксиальный кабель, спутниковый канал передач данных и т. п. Стандартными типами сетевых интерфейсов, относящимися к физическому уровню, являются: V.35, RS-232, RS-485, RJ-11, RJ-45, разъёмы AUI и BNC.

    При разработке стеков протоколов на этом уровне решаются задачи синхронизации и линейного кодирования. К таким способам кодирования относится код NRZ, код RZ, MLT-3, PAM5, Манчестер II.

    Соответствие модели OSI и других моделей сетевого взаимодействия [ править | править код ]

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

    Семейство TCP/IP [ править | править код ]

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

    Семейство IPX/SPX [ править | править код ]

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

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

    Критика [ править | править код ]

    В конце 90-х годов семиуровневая модель OSI критиковалась отдельными авторами. В частности, в книге «UNIX. Руководство системного администратора» Эви Немет (англ. Evi Nemeth ) писала:

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

    И вот, когда протоколы ISO были наконец реализованы, выявился целый ряд проблем:

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

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

    Что такое модель OSI

    Чтобы понять как работает сама сеть необходимо в первую очередь знать Эталонную Модель Взаимодействия OSI (Open System Interconnected). Модель состоит из 7 уровней. Каждый уровень описывает определенные действия и протоколы, которые необходимы для корректного функционирования сети. Таким образом, мы можем создать различные сетевые устройства, которые будут выполнять работу (следовать сетевому протоколу) конкретного уровня модели OSI, не заботясь о том, что происходит на других уровнях. Иными словами, одно устройство будет кодировать и преобразовывать передаваемые данные в нужный формат, а другое — будет передавать эти же данные по сети.
    Кроме того, такой “раздельный” подход модели позволяет оборудованию разных производителей взаимодействовать друг с другом.

    Читайте также:  Как добавиться в друзья вконтакте

    Чтобы лучше понять такой подход рассмотрим простой пример. У каждого имеется компьютер. Чтобы пользоваться интернетом в первую очередь необходимо иметь сетевую карту (которая по умолчанию уже стоит на всех PC/ноутбуках), а также модем, который по кабелю подключен к провайдеру.
    Так вот, компьютер выполняет одни действия, например показ изображений, видео, печатание текста.
    Сетевая карта выполняет другие действия — подключение к модему и передачу данных.
    А модем выполняет свои действия — взаимодействие с провайдером.

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

    Почему не создать универсальное устройство, которое будет работать на всех уровнях?

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

    Однако существуют устройства, которые поддерживают функции нескольких уровней OSI.

    Так как же выглядит модель OSI?

    Структура модели OSI

    Вот как выглядит модель

    Прикладной уровень — описывает пользовательские программы/приложения, которые в большинстве случаев взаимодействуют с пользователем. Например, сетевая игра World Of Tanks, Skype работают на прикладном уровне. Они предоставляют пользователю удобный интерфейс, с помощью которого он общается по сети с другими участниками.

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

    Сеансовый уровень — на этом уровне устанавливается и поддерживается диалог с другим компьютером или сервером.

    Транспортный уровень — здесь обеспечивается надежное взаимодействие твоего компьютера с другим компьютером. Если по каким-то причинам связь кратковременно оборвется или уменьшится скорость передачи данных, то этот уровень обеспечит нормальное функционирование и восстановление диалога с удаленным узлом. Кроме того, с помощью транспортного уровня обеспечивается многокальная связь с различными удаленными устройствами. Например, играя в тот же World Of Tanks ты сможешь просматривать почту на mail.ru, а также общаться по Skype. Все 3 приложения работают на прикладном уровне и именно транспортный уровень позволяет одновременную работу всех трех приложений.

    Сетевой уровень — на этом уровне происходит поиск оптимального маршрута (маршрутизация) к удаленному устройству на основе его сетевого адреса — IP адреса. Зная адрес удаленного узла сетевой уровень найдет получателя среди множества других в бесконечном пространстве сети Internet.

    Канальный уровень — на этом уровне обеспечивается взаимодействие 2-х разных сетевых устройств друг с другом. Например, твой компьютер подключен к модему, модем же подключается к сетевому оборудованию провайдера. Компьютер общается с модемом, используя один “язык” (технологию), в то время, как модем общается с провайдером на другом “языке”. Чтобы преобразовать данные в такой язык, понятный противоположному узлу и используется канальный уровень.

    Зачем создавать столько разных технологий взаимодействий на канальном уровне? Не проще ли создать одну технологию и подключить компьютер к провайдеру напрямую?

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

    Физический уровень — это уровень представляет собой среду распространения сигнала. В качестве среды передачи может выступать электрический и оптический кабели, радио и спутниковые антенны. На этом уровне и происходит преобразование сигнала в соответствующую форму для передачи по физической среде.
    На первый взгляд все выглядит сложно, поэтому рассмотрим работу модели на примере общения 2-х пользователей по Skype

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

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

    То же самое происходит, когда Катя передает данные Алисе.

    Предлагаю рассмотреть весь процесс на представленной ниже анимации:

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

    Рекомендуем к прочтению

    Добавить комментарий

    Ваш адрес email не будет опубликован.