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

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

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

Модель OSI, которая означает «Модель взаимодействия открытых систем», представляет собой концептуальную основу, используемую для понимания сетевых взаимодействий на семи уровнях. Он был разработан Международной организацией по стандартизации (ISO) для стандартизации сетевых коммуникаций и облегчения взаимодействия между различными системами и устройствами.

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

  1. Физический уровень. Это самый нижний уровень модели OSI, отвечающий за физическое соединение между устройствами. Он определяет характеристики оборудования, такого как кабели, коммутаторы и сетевые карты, для передачи битов по сети.
  2. Уровень канала передачи данных. Этот уровень отвечает за физическую адресацию (MAC-адреса) и управление доступом к физической среде передачи. Он делит пакеты данных, полученные с сетевого уровня, на более мелкие кадры и добавляет к каждому кадру заголовок и трейлер. Он также отвечает за обнаружение и исправление ошибок.
  3. Сетевой уровень. Этот уровень отвечает за логическую адресацию (IP-адреса), маршрутизацию и определение пути. Он получает кадры от уровня канала передачи данных, удаляет заголовок и концевик уровня канала передачи данных и переупаковывает данные в пакеты. Затем он определяет лучший маршрут для доставки пакетов к месту назначения.
  4. Транспортный уровень. Транспортный уровень отвечает за сквозную связь и управление потоком. Он получает пакеты с сетевого уровня, удаляет заголовок сетевого уровня и переупаковывает данные в сегменты. Затем он присваивает каждому сегменту порядковый номер и передает сегменты по назначению. В пункте назначения сегменты собираются в правильном порядке.
  5. Сеансовый уровень. Этот уровень управляет сеансами между приложениями. Он устанавливает, поддерживает и разрывает соединения между приложениями на разных устройствах. Он отвечает за синхронизацию обмена данными между приложениями.
  6. Уровень представления. Этот уровень отвечает за перевод данных с уровня приложения в формат, который можно передавать по сети. Сюда входит кодирование символов, сжатие данных и шифрование/дешифрование.
  7. Уровень приложения. Это верхний уровень модели OSI, на котором пользователь взаимодействует с приложением. Он обеспечивает пользовательский интерфейс и облегчает связь между приложениями и нижними уровнями модели OSI.

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

Простая работа модели OSI с примером запроса YouTube

Когда вы отправляете запрос на YouTube (или любой другой веб-сайт) из своего браузера, это взаимодействие начинается на прикладном уровне модели OSI. Вот общий план того, что происходит дальше:

  1. Прикладной уровень. Ваш браузер, выступая в роли клиента, отправляет запрос на сервер (в данном случае YouTube). Обычно это запрос HTTP (или HTTPS для безопасного соединения). Здесь начинается ваше взаимодействие с сетью. На этом уровне пользовательские данные преобразуются в формат, понятный нижним уровням.
  2. Уровень представления. Этот уровень отвечает за шифрование, сжатие и перевод данных. В HTTPS-запросе происходит шифрование.
  3. Сеансовый уровень. Этот уровень устанавливает, управляет и завершает соединения между приложениями. Поток данных делится на сегменты и подготавливается к транспортировке по сети.
  4. Транспортный уровень. Здесь используется протокол — обычно TCP или UDP. Транспортный уровень управляет сегментацией данных и предоставляет услуги сквозной передачи, такие как подтверждения успешной доставки данных и повторная передача потерянных пакетов. В TCP для установления соединения происходит процесс установления связи.
  5. Сетевой уровень: Здесь осуществляется логическая адресация и маршрутизация. Если сервер находится не в локальной сети, пакет отправляется на маршрутизатор, который использует протокол IP для отправки пакета в сеть сервера на основе его IP-адреса.
  6. Уровень канала передачи данных: Уровень канала передачи данных отвечает за управление доступом к среде передачи, управление потоком данных и проверку ошибок. Данные упаковываются в кадр и готовятся к передаче по физической среде.
  7. Физический уровень. Здесь цифровая информация преобразуется в электрические сигналы или световые импульсы для передачи по сетевой среде (например, медным проводам или оптоволоконным кабелям).

Как только запрос достигает серверов YouTube, происходит обратный процесс — распаковка данных и ответ на ваш запрос. Затем этот ответ отправляется обратно в ваш браузер, следуя тем же 7 слоям в обратном порядке. После того как браузер получает ответ, он интерпретирует данные (HTML, CSS, JavaScript и т. д.) и отображает веб-страницу YouTube на вашем экране.

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

Объяснение с точки зрения непрофессионала — уровни OSI с полным циклом ответа на запрос

Мы воспользуемся аналогией реального разговора между вами и другом.

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

  1. Уровень приложения (Вы решаете поговорить): Это похоже на то, как если бы вы решили начать разговор. В браузере это похоже на ввод www.youtube.com и нажатие Enter.
  2. Уровень представления (Вы сами решаете, как это сказать): вы выбираете язык, который может понять ваш друг. Точно так же ваш компьютер форматирует веб-адрес, чтобы его можно было понять на другой стороне.
  3. Сеансовый уровень (Вы называете имя друга): вы привлекаете внимание друга и начинаете разговор. Это похоже на то, как ваш компьютер находит нужный сервер (например, находит YouTube среди всех веб-сайтов) и начинает «сеанс».
  4. Транспортный уровень (вы сами определяете громкость и скорость своей речи): вы будете говорить громко, если ваш друг находится далеко, или тихо, если он рядом. Ваш компьютер решает, как разбить информацию и эффективно отправить ее, чтобы она быстро и надежно попадала на серверы YouTube.
  5. Сетевой уровень (Вы отправляете свое сообщение): Вы действительно говорите свои слова. В случае веб-запроса ваш компьютер отправляет информацию через Интернет.
  6. Уровень канала передачи данных (Ваш друг вас слышит): звуковые волны достигают ушей вашего друга. Точно так же серверы YouTube получают ваш запрос.
  7. Физический уровень (Ваш друг понимает ваши слова): ваш друг интерпретирует звуковые волны как слова. Это похоже на то, как серверы YouTube интерпретируют сигналы, полученные от вашего компьютера.

После этого сервер YouTube подготавливает ответ (как ваш друг думает, как ответить) и отправляет его обратно по тем же семи слоям, но в обратном порядке.

Объяснение с точки зрения непрофессионала — уровни OSI с полным циклом ответа на обратный запрос.

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

  1. Ваш друг понимает и обдумывает ответ (Прикладной уровень): сервер YouTube понимает ваш запрос (например, «покажи мне это видео») и готовит ответ. Ответ включает в себя видеоданные, а также другую информацию, такую ​​как комментарии, отметки «Нравится» и т. д.
  2. Ваш друг решает, как сказать ответ (Уровень презентации): YouTube делает то же самое, как вы подготовили свое сообщение так, чтобы его мог понять ваш друг. Данные форматируются (организуются) и шифруются (защищаются) для транспортировки.
  3. Ваш друг готовится сказать свой ответ (Сеансовый уровень): это похоже на то, что ваш друг готовится ответить. В цифровом мире это предполагает отслеживание вашего разговора (или «сеанса») с YouTube.
  4. Ваш друг решает, насколько громко и быстро произнести ответ. (Транспортный уровень): YouTube решает, как разбить ответ на фрагменты (пакеты), которые можно эффективно и надежно отправить через Интернет.
  5. Ваш друг отправляет ответ (Сетевой уровень): ответ (включая видео, которое вы хотите посмотреть) отправляется через Интернет. На своем пути он может проходить через множество маршрутизаторов, и эти маршрутизаторы используют IP-адрес, чтобы знать, куда отправлять данные.
  6. Вы слышите ответ вашего друга (Уровень канала передачи данных): данные поступают на ваш маршрутизатор, а затем на ваше устройство. У каждой части ответа (пакета) есть адрес, поэтому ваше устройство знает, что он предназначен именно для вас.
  7. Вы понимаете ответ вашего друга (Физический уровень): ваше устройство преобразует полученные сигналы обратно в данные, которые может понять ваш браузер.

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

Весь этот процесс происходит в мгновение ока, поэтому просмотр видео на YouTube кажется почти мгновенным. И это происходит постоянно — каждый раз, когда кто-то в Интернете запрашивает веб-страницу, отправляет электронное письмо, транслирует видео и так далее.

Заключение

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

Удачного обучения!