Протоколы которые работают на прикладном уровне osi. Как работает модель OSI

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


Рис. 5.1.

Взаимодействие узлов локальных сетей происходит на основе протоколов канального уровня. Передача данных в локальных сетях происходит на сравнительно короткие расстояния (внутри зданий или между близко расположенными зданиями), но с высокой скоростью (10 Мбит/с - 100 Гбит/с). Расстояние и скорость передачи данных определяется аппаратурой соответствующих стандартов.

Международным институтом инженеров по электротехнике и радиоэлектронике (Institute of Electrical and Electronics Engineers - IEEE ) было разработано семейство стандартов 802.х, которое регламентирует функционирование канального и физического уровней семиуровневой модели ISO/OSI . Ряд этих протоколов являются общими для всех технологий, например стандарт 802.2, другие протоколы (например, 802.3, 802.3u, 802.5) определяют особенности технологий локальных сетей.

Подуровень LLC реализуется программными средствами . На подуровне LLC существует несколько процедур, которые позволяют устанавливать или не устанавливать связь перед передачей кадров, содержащих данные, восстанавливать или не восстанавливать кадры при их потере или обнаружении ошибок. Подуровень LLC реализует связь с протоколами сетевого уровня , обычно с протоколом IP . Связь с сетевым уровнем и определение логических процедур передачи кадров по сети реализует протокол 802.2. Протокол 802.1 дает общие определения локальных вычислительных сетей, связь с моделью ISO/OSI . Существуют также модификации этого протокола.

Подуровень МАС определяет особенности доступа к физической среде при использовании различных технологий локальных сетей. Каждой технологии МАС-уровня (каждому протоколу: 802.3, 802.3u, 802.3zи др.) соответствует несколько вариантов спецификаций (протоколов) физического уровня ( рис. 5.1). Спецификация технологии МАС-уровня - определяет среду физического уровня и основные параметры передачи данных ( скорость передачи , вид среды, узкополосная или широкополосная).

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

  • заголовка ,
  • поля данных , где размещен пакет,
  • концевика .

На приемной стороне реализуется обратный процесс декапсуляции, когда из кадра извлекается пакет.

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

Концевик содержит поле контрольной суммы ( Frame Check Sequence - FCS ), которая вычисляется при передаче кадра с использованием циклического кода CRC . На приемной стороне контрольная сумма кадра вычисляется вновь и сравнивается с принятой. Если они совпадают, то считают, что кадр передан без ошибок. При расхождении значений FCS кадр отбрасывается и требуется его повторная передача.

При передаче по сети кадр последовательно проходит целый ряд соединений, характеризующихся разной физической средой. Например, при передаче данных с Узла А на Узел В ( рис. 5.2) данные последовательно проходят через: соединение Ethernet между Узлом А и маршрутизатором А (медь, неэкранированная витая пара ), соединение между маршрутизаторами А и В (волоконно-оптический кабель ), медный кабель последовательного соединения " точка-точка " между маршрутизатором В и беспроводной точкой доступа WAP , беспроводное соединение ( радиоканал ) между WAP и конечным Узлом В. Поэтому для каждого соединения формируется свой кадр специфического формата.


Рис. 5.2.

Пакет, подготовленный Узлом А, инкапсулируется в кадр локальной сети, который передается в маршрутизатор А. Маршрутизатор декапсулирует пакет из принятого кадра, определяет на какой выходной интерфейс передать пакет, затем формирует новый кадр для передачи по оптической среде. Маршрутизатор В декапсулирует пакет из принятого кадра, определяет на какой выходной интерфейс передать пакет, затем формирует новый кадр для передачи по медной среде последовательного соединения " точка-точка ". Беспроводная точка доступа WAP , в свою очередь , формирует свой кадр для передачи данных по радиоканалу на конечный Узел В.

При создании сетей используются различные логические топологии, которые определяют, как узлы общаются через среду, как обеспечивается управление доступом к среде. Наиболее известные логические топологии: " точка-точка " ( point-to-point ), множественного доступа (multiaccess), широковещательная ( broadcast ) и маркерная ( token passing ).

Совместное использование среды несколькими устройствами реализуется на основе двух основных методов:

  • метод конкурентного (недетерминированого) доступа (Contention-based Access), когда все узлы сети равноправны, очередность передачи данных не организована. Для передачи данный узел должен прослушать среду, если она свободна, то можно передать информацию. При этом могут возникнуть конфликты (коллизии ), когда два (или более) узла одновременно начинают передачу данных;
  • метод контролируемого (детерминированного) доступа (Controlled Access), который обеспечивает узлам очередность доступа к среде для передачи данных.

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

Переданную в сеть информацию может получить любой компьютер , у которого адрес сетевого адаптера NIC совпадает с МАС-адресом назначения передаваемого кадра, или все компьютеры сети при широковещательной передаче. Однако передавать информацию в любой момент времени может только один узел. Прежде чем начать передачу, узел должен убедиться, что общая шина свободна, для чего узел прослушивает среду.

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

Подобный метод недетерминированного (ассоциативного) доступа к среде получил название множественного доступа к среде с контролем несущей и обнаружением коллизий ( Carrier Sence Multiply Access

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

Уважающий себя системный администратор должен хорошо разбираться в сетевых терминах

В переводе с английского - базовая эталонная модель взаимодействия открытых систем. Точнее, сетевая модель стека сетевых протоколов OSI/ISO. Введена в 1984 году в качестве концептуальной основы, разделившей процесс отправки данных во всемирной паутине на семь несложных этапов. Она не является самой популярной, так как затянулась разработка спецификации OSI. Стек протоколов TCP/IP выгоднее и считается основной используемой моделью. Впрочем, у вас есть огромный шанс столкнуться с моделью OSI на должности системного администратора или в IT-сфере.

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

Спросите, какая же в этом польза для вас? Знание многоуровневой модели даст вам возможность свободного общения с сотрудниками IT-компаний, обсуждение сетевых неполадок уже не будет гнетущей скукой. А когда вы научитесь понимать, на каком этапе произошёл сбой, сможете легко находить причины и значительно сокращать диапазон своей работы.

Уровни OSI

Модель содержит в себе семь упрощённых этапов:

  • Физический.
  • Канальный.
  • Сетевой.
  • Транспортный.
  • Сеансовый.
  • Представительский.
  • Прикладной.

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

Перейдём к непосредственному знакомству с уровнями.

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

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

Функции физического этапа осуществляются абсолютно на каждом устройстве, подключённом к сети. Например, сетевой адаптер реализовывает эти функции со стороны компьютера. Вы могли уже столкнуться с протоколами первого шага: RS -232, DSL и 10Base-T, определяющими физические характеристики канала связи.

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

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

Канальный этап делает возможным передачу информации, благодаря специальной структуре связей. В частности, через протоколы канального уровня работают шины, мосты, коммутаторы. В спецификации второго шага входят: Ethernet, Token Ring и PPP. Функции канального этапа в компьютере исполняют сетевые адаптеры и драйверы к ним.

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

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

Если объяснить по-другому, то третий шаг обрабатывает интернет-протокол и исполняет функцию маршрутизатора: поиск наилучшего пути для информации. Маршрутизатор - устройство, собирающее данные о структуре межсетевых соединений и передающее пакеты в сеть назначения (транзитные передачи - хопы). Если вы сталкиваетесь с ошибкой в IP-адресе, то это проблема, возникшая на сетевом уровне. Протоколы третьего этапа разбиваются на сетевые, маршрутизации или разрешения адресов: ICMP, IPSec, ARP и BGP.

Транспортный уровень

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

Как выбрать класс услуг транспортного этапа? Когда качество каналов транспортировки связи высокое, адекватным выбором окажется облегчённый сервис. Если каналы связи в самом начале работают небезопасно, целесообразно прибегнуть к развитому сервису, который обеспечит максимальные возможности для поиска и решения проблем (контроль поставки данных, тайм-ауты доставки). Спецификации четвёртого этапа: TCP и UDP стека TCP/IP, SPX стека Novell.

Объединение первых четырёх уровней называется транспортной подсистемой. Она сполна предоставляет выбранный уровень качества.

Сеансовый уровень

Пятый этап помогает в регулировании диалогов. Нельзя, чтобы собеседники прерывали друг друга или говорили синхронно. Сеансовый уровень запоминает активную сторону в конкретный момент и синхронизирует информацию, согласуя и поддерживая соединения между устройствами. Его функции позволяют возвратиться к контрольной точке во время длинной пересылки и не начинать всё заново. Также на пятом этапе можно прекратить соединение, когда завершается обмен информацией. Спецификации сеансового уровня: NetBIOS.

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

Шестой этап участвует в трансформации данных в универсальный распознаваемый формат без изменения содержания. Так как в разных устройствах утилизируются различные форматы, информация, обработанная на представительском уровне, даёт возможность системам понимать друг друга, преодолевая синтаксические и кодовые различия. Кроме того, на шестом этапе появляется возможность шифровки и дешифровки данных, что обеспечивает секретность. Примеры протоколов: ASCII и MIDI, SSL.

Прикладной уровень

Седьмой этап в нашем списке и первый, если программа отправляет данные через сеть. Состоит из наборов спецификаций, через которые юзер , Web-страницам. Например, при отправке сообщений по почте именно на прикладном уровне выбирается удобный протокол. Состав спецификаций седьмого этапа очень разнообразен. К примеру, SMTP и HTTP, FTP, TFTP или SMB.

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

Рассмотрев модель OSI, вы смогли разобраться со сложной структурой работы сети и теперь понимаете суть вашей работы. Всё становится довольно просто, когда процесс разбивается на части!

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

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

Модель взаимодействия открытых систем OSI (Open System Interconnection) разработана международной организацией по стандартам ISO (Inernational Standarts Organization).

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

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

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

В результате это сетевое послание начинает напоминать многослойный бутерброд, который должен быть “съедобным” для получившего его компьютера. Для этого необходимо придерживаться определенных правил обмена данными между сетевыми компьютерами. Такие правила получили названия протоколов .

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

Теперь рассмотрим работу каждого уровня модели OSI подробнее:

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

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

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

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

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

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

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

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

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

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

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

В начале 80-х годов ряд международных организаций по стандартизации - ISO, ITU -T и некоторые другие - разработали модель, которая сыграла значительную роль в развитии сетей. Эта модель называется моделью ISO/ OSI .

Модель взаимодействия открытых систем (Open System Interconnection, OSI ) определяет различные уровни взаимодействия систем в сетях с коммутацией пакетов , дает им стандартные имена и указывает, какие функции должен выполнять каждый уровень.

Модель OSI была разработана на основании большого опыта, полученного при создании компьютерных сетей, в основном глобальных, в 70-е годы. Полное описание этой модели занимает более 1000 страниц текста.

В модели OSI (рис. 11.6) средства взаимодействия делятся на семь уровней: прикладной, представительный , сеансовый , транспортный, сетевой , канальный и физический. Каждый уровень имеет дело с определенным аспектом взаимодействия сетевых устройств.


Рис. 11.6.

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

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

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

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

Разработка которого не была связана с моделью 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 )

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

Протоколы: IRDA , USB , EIA RS-232 , EIA-422 , EIA-423 , RS-449 , RS-485 , Ethernet (включая 10BASE-T , 10BASE2 ,

Основная недоработка 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 постепенно движется к тому, чтобы стать маленькой сноской на страницах истории компьютеров.