На каком уровне модели osi определяются программы

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

Отдельно взятый пласт ИТ — сеть — тоже построена модульно. Модель функционирования сети назывется сетевая модель базовой эталонной модели взаимодействия открытых систем ISO/OSI. Кратко — модель OSI.

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

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

Про модель OSI и стек TCP/IP простыми словами. Как оно работает?

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

Так вот эта полезная нагрузка переносится в той части уровня, который называется protocol data unit (PDU).

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

Рассмотрим каждый уровень Модели OSI подробнее.

1 уровень. Физический (physical). Единицей нагрузки (PDU) здесь является бит. Кроме единиц и нулей физический уровень не знает ничего. На этом уровне работают провода, патч панели, сетевые концентраторы (хабы, которые сейчас уже сложно найти в привычных нам сетях), сетевые адаптеры.

Именно сетевые адаптеры и ничего более из компьютера. Сам сетевой адаптер принимает последовательность бит и передает её дальше.

2 уровень. Канальный (data link). PDU — кадр (frame). На этом уровне появляется адресация. Адресом является MAC адрес. Канальный уровень ответственен за доставку кадров адресату и их целостность. В привычных нам сетях на канальном уровне работает протокол ARP.

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

3 уровень. Сетевой (network). PDU пакет (packet). Наиболее распространенным протоколом (дальше не буду говорить про “наиболее распространенный” — статья для новичков и с экзотикой они, как правило, не сталкиваются) тут является IP. Адресация происходит по IP-адресам, которые состоят из 32 битов.

Протокол маршрутизируемый, то есть пакет способен попасть в любую часть сети через какое-то количество маршрутизаторов. На L3 работают маршрутизаторы.

В чем разница между OSI и TCP/IP? Зачем существуют одновременно две сетевые модели?

4 уровень. Транспортный (transport). PDU сегмент (segment)/датаграмма (datagram). На этом уровне появляются понятия портов. Тут трудятся TCP и UDP.

Протоколы этого уровня отвечают за прямую связь между приложениями и за надежность доставки информации. Например, TCP умеет запрашивать повтор передачи данных в случае, если данные приняты неверно или не все. Так же TCP может менять скорость передачи данных, если сторона приема не успевает принять всё (TCP Window Size).

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

Читайте также:
Как бы выглядел мужчина женщиной программа

5 уровень. Сеансовый (session). PDU данные (data). Управляет сеансом связи, обменом информации, правами. Протоколы — L2TP, PPTP.

6 уровень. Представительский (presentation). PDU данные (data). Преставление и шифрование данных. JPEG, ASCII, MPEG.

7 уровень. Прикладной (application). PDU данные (data). Самый многочисленный и разнообразный уровень. На нем выполняются все высокоуровненвые протоколы.

Такие как POP, SMTP, RDP, HTTP и т.д. Протоколы здесь не должны задумываться о маршрутизации или гарантии доставки информации — этим занимаются нижестоящие уровни. На 7 уровне необходима лишь реализации конкретных действий, например получение html-кода или email-сообщения конкретному адресату.

Модели OSI - уровни и функции

Заключение

Модульность модели OSI позволяет проводить быстрое нахождение проблемных мест. Ведь если нет пинга (3-4 уровни) до сайта, нет смысла копаться в вышележащих слоях (TCP-HTTP), когда не отображается сайт. Абстрагировавшись от других уровней проще найти ошибку в проблемной части. По аналогии с автомобилем — мы ведь не проверяем свечи, когда проткнули колесо.

Модель OSI является эталонной моделью — эдаким сферическим конем в вакууме. Разработка её велась очень долго. Параллельно с ней разрабатывался стек протоколов TCP/IP, акивно применяемый в сетях в настоящее время. Соответственно, можно провести аналогию между TCP/IP и OSI.

Источник: asp24.ru

Что такое модель OSI и зачем она нужна: препарируем слоёный пирог интернета

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

Иллюстрация: Оля Ежак для Skillbox Media

Дмитрий Зверев

Дмитрий Зверев

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

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

Всё, что нужно знать о модели OSI:

  • Что это такое
  • Первый уровень OSI
  • Второй уровень OSI
  • Третий уровень OSI
  • Четвёртый уровень OSI
  • Пятый уровень OSI
  • Шестой уровень OSI
  • Седьмой уровень OSI
  • Как модель работает на практике
  • Что запомнить

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

Модель OSI (Open System Interconnection), или эталонная модель взаимодействия открытых систем описывает, как устройства в локальных и глобальных сетях обмениваются данными и что происходит с этими данными. Её предложили в 1984 году инженеры из Международной организации по стандартизации (ISO), которая работала над единым стандартом передачи данных по интернету.

При этом сама по себе эталонная модель — не стандарт интернета, как, например, TCP/IP; её можно сравнить с фреймворками в мире языков программирования: в OSI «из коробки» доступны разные веб-стандарты — UDP, HTTP, FTP, Telnet и другие. Всего таких протоколов — более 100 штук.

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

Слои ничего не знают о том, как устроены другие слои. Это называется абстракцией.

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

Нижний слой оперирует такими понятиями, как «тип кабеля» или «тип коннектора», а верхний — такими, как HTTP или API.

Рассмотрим каждый слой подробнее.

1-й уровень OSI — физический
(L1, physical layer)

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

Этот слой работает с кабелями, контактами в разъёмах, модуляцией сигнала, кодированием единиц и нулей и другими низкоуровневыми штуками. По сути, первый уровень — это уровень проводов и физических способов передачи сигнала. Минимальная абстракция.

Самый известный протокол на физическом уровне — Ethernet. Он описывает, как сигналы кодируются и передаются по проводам. Кроме него есть Bluetooth, Wi-Fi и ИК-порт, которые также содержат инструкции для передачи данных.

Устройства физического уровня — концентраторы и репитеры. Они работают с физическим сигналом «втупую» и не вникают в его логику: получили данные — передали их дальше по проводу.

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

Читайте также:
Основные положения программы мира

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

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

Лицевая сторона конверта — это MAC-адрес устройства, которое отправило нам информацию. Он нужен, чтобы идентифицировать устройства в локальной сети, состоит из 48 или 64 бит и выглядит примерно так:

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

С помощью команды ifconfig можно узнать MAC-адрес вашего Macbook или компьютера на Linux. В Windows нужно ввести команду ipconfig.

Канальный уровень не так прост — он делится ещё на два подуровня:

  • уровень управления логическим каналом — LLC (logical link control);
  • уровень управления доступом к среде — тот самый MAC (media access control).

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

Устройства канального уровня — коммутаторы и мосты. Они нужны, чтобы передавать фреймы нужному адресату. Протоколы канального уровня — PPP, CDP.

3-й уровень OSI — сетевой
(L3, network layer)

Этот уровень отвечает за маршрутизацию данных внутри сети между компьютерами. Здесь уже появляются такие термины, как «маршрутизаторы» и «IP-адреса».

Маршрутизаторы позволяют разным сетям общаться друг с другом: они используют MAC-адреса, чтобы построить путь от одного устройства к другому.

Данные на сетевом уровне представляются в виде пакетов. Такие пакеты похожи на фреймы из канального уровня, но используют другие адреса получателя и отправителя — IP-адреса.

Чтобы получить IP-адрес обоих устройств (отправителя и получателя), существует протокол ARP (address resolution protocol). Он умеет конвертировать MAC- в IP-адрес и наоборот.

4-й уровень OSI — транспортный
(L4, transport layer)

Из названия понятно, что на этом уровне происходит передача данных по сети. Так и есть. Два главных протокола здесь — TCP и UDP. Они как раз и отвечают за то, как именно будут передаваться данные.

TCP (Transmission Control Protocol) — это протокол, который гарантирует доставку данных в корректном виде. Он жёстко следит за каждым битом информации, но работает гораздо медленнее UDP.

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

А вот в видео или аудио небольшие потери некритичны, зато важна скорость передачи данных. Для таких задач как раз и придумали протокол UDP (user datagram protocol). Он уже не проверяет цельность битов, его задача — как можно быстрее передать данные с одного устройства на другое.

В протоколе TCP данные делятся на сегменты. Каждый сегмент — часть пакета. Сегменты нужны, чтобы передавать информацию по сети, учитывая её пропускную способность.

Например, если вы передаёте данные с компьютера, у которого пропускная способность 100 Мб/c, на смартфон с пропускной способность 10 Мб/c, то данные разделятся так, чтобы не застревать в самом медленном устройстве.

Ещё сегментация важна для надёжности. Один большой пакет может потеряться или направиться не тому адресату. А маленькие пакеты снижают риск подобных ошибок и даже позволяют проверять их количество. Если какой-то сегмент не получилось доставить, протокол TCP может запросить его у отправителя снова. Так обеспечивается надёжность.

В UDP данные делятся на датаграммы — это примерно то же, что и пакет, только датаграммы автономны. Каждая датаграмма имеет всё необходимое, чтобы дойти до получателя. Поэтому они не зависят от сети и могут доставляться по разным маршрутам и в произвольном порядке.

Читайте также:
Для чего нужна программа java 7 update 60

5-й уровень OSI — сеансовый
(L5, session layer)

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

Сеансовый уровень управляет соединениями, или сессиями. Типичный пример — звонок по Skype или Zoom. Когда вы звоните другому человеку, между вашими компьютерами устанавливается соединение, по которому передаются аудио и видео. Если такое соединение разорвать, то и ваш звонок прервётся.

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

6-й уровень OSI — уровень представления данных
(L6, presentation layer)

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

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

7-й уровень OSI — прикладной
(L7, application layer)

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

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

Самые популярные из сетевых интерфейсов — это HTTP, HTTPS, FTP и SMTP. А «устройства» здесь — это уже программы: Zoom, Telegram, браузеры.

Как на практике работает сетевая модель OSI

В начале статьи мы задались вопросом: а как передаются сообщения в Telegram? Настало время на него ответить — и показать весь процесс передачи данных по модели OSI.

Модель OSI: что такое и как выглядит

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

713 просмотров
Модель OSI: все семь уровней
Уровень 1: «физический»

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

Самый популярный на первом уровне: Ethernet. А также: Bluetooth, Wi-Fi и ИК-порт.

Уровень 2: «канальный»

Итак, в уровня выше мы получили сигнал: радио-волны, напряжение разной амплитуды и так далее. Теперь нам нужно все это закодировать, чтобы компьютер понял, что и как ему передают. На данном уровне существует понятие «frame» (или «кадр»). Это данные, к которым добавлены служебные данные. Например, от кого и к кому идут данные.

При этом, здесь мы используем не IP-адрес, а MAC-адрес (вот статья о нем).

Устройства на этом уровне: коммутаторы и мосты. Они нужны для доставки фрейма к адресату. Но, стандарт Ethernet расположился на этом же уровне. А протоколы: PPP, CDP и др.

Уровень 3: «сетевой»

А вот на третьем уровне уже появляются такие понятия как «маршрутизация» и «IP-адрес». Именно на этом уровне происходит маршрутизация. Например, заходя на сайт vc.ru мы делаем DNS-запрос к серверу, называя домен сайта (https://vc.ru), а в ответ получаем (172.67.140.201). При этом, IP-адрес мы вставляем не в фрейм, а в «пакет». Это тот же фрейм, но вместо MAC-адреса там лежит IP-адрес.

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

Уровень 4: «транспортный»

Как понятно из названия — данный уровень занимается перемещением трафика. Самые главные понятия (и протоколы) этого уровня — TCP (Transmission Control Protocol) и UDP (User Datagram Protocol). В зависимости от типа пакетов применяются разные протоколы.

Если трафик чувствителен к потерям — TCP. Если потеряется пару бит информации и это не принесет крах — UDP.

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

Уровень 5: «канальный»

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru