Всем привет, и Beardach снова с вами! У нас есть еще курс «Для самых маленьких», и мы поговорим о модели OSI. Многие сисадмины и молодые айтишники слышали об этом, но боялись спросить. Сразу скажу, что любой специалист, программист, инженер или администратор, работающий с сетями и Интернетом, должен знать наизусть все, о чем я расскажу ниже. Статья подходит как специалистам, так и дуракам.
Модель OSI, или модель стека протоколов TCP/IP, или модель открытых систем, или модель сетевого взаимодействия — это ядро, на котором осуществляется управление и взаимодействие любой современной сети и подключенных к ней устройств. Поэтому полезно знать всем, кто работает в «сетевой» индустрии. Без этих знаний даже в том же программировании будет довольно сложно.
Модели OSI позволяют устройствам в компьютерной сети взаимодействовать в соответствии с определенными правилами и протоколами. Если открыть расшифровку аббревиатуры термина, то получится надпись на английском языке: «Open Systems Interconnection Basic Reference Model», что дословно можно перевести как: «Open Systems Interconnection Reference Model». В модели есть 7 уровней, которые используются для передачи информации с одного устройства на другое.
Уровни
Представьте, что у нас есть два компьютера. Одна принадлежит Василию, а вторая Диме. Они подключены к одной сети. Василий отправил письмо прямо Диме. Теперь возникает вопрос: как теперь это письмо передать по сетевому кабелю? Насколько мы помним, компьютер может понимать только одну часть информации: нули (0) и единицы (1).
Также мы не можем передавать информацию в обычном дословном виде по кабелю. И то если в письме только буквы. Тогда возникает вопрос, как как-то перевести эту букву на второй аппарат. Именно для этих целей и нужна эталонная модель OSI с 7 уровнями.
При отправке письма информация проходит 7 этапов от более высокого уровня к более низкому уровню, чтобы перевести ее в обычные биты. Также эти биты передаются по кабелю на компьютер Димы. А ваше устройство уже делает обратный процесс: перевод битов в понятную человеку букву.
Наиболее часто используемыми протоколами являются TCP/IP. Читая любую информацию на эту тему, посмотрите на таблицы, затем помните, что в настоящее время используются именно протоколы модели TCP/IP. Те же протоколы, что описаны в таблицах, существуют, но они давно устарели и носят лишь информационный характер.
Давайте взглянем на все уровни OSI 7, и станет немного понятнее, о чем я говорю:
- Уровень 7 — Application — приложение.
- Уровень 6 — Исполнительный — презентация.
- Уровень 5 — Session — сессия.
- 4 уровень — Transport — транспорт.
- Уровень 3 – Сетевой –
- Уровень 2 — Канал — канал передачи данных.
- Layer 1 — Physical — физический уровень.
Нумерация идет сверху вниз от высшего уровня к низшему: от седьмого прикладного уровня к первому: физическому.
ПРИМЕЧАНИЕ! Для специалистов советую записывать и запоминать все уровни в правильном порядке. Также нужно запомнить названия на английском языке, так как они часто встречаются в книгах и на зарубежных порталах, посвященных этой теме.
Каждый уровень имеет определенные цели для перевода информации из одного типа в другой. Вы также можете видеть, что информация передается по-разному. Почти каждый уровень имеет свой собственный PDU (блок данных протокола) или единицу измерения информационных данных. Например, на физическом уровне (самый нижний уровень) это обычные биты или последовательность нулей и единиц, которые уже можно передавать по проводу.
Почти все сетевые уровни используют свои собственные протоколы передачи данных. Вы можете увидеть примерную последовательность перехода информации от одного типа PDU к другому:
Также, исходя из таблицы, можно заметить два названия:
- Средние уровни (нижние уровни), которые уже чаще всего используются в коммутаторах, маршрутизаторах, концентраторах, где выполняется задача передачи информации по кабелю.
- Host Layers (более высокие уровни) — уже используются в самих устройствах: телефонах, планшетах, компьютерах, ноутбуках и т д
Это грубое деление всех уровней на две градации. Самый интересный из уровней — это как раз класс «Media Layers», так как с ним часто работают сетевые инженеры. И они отвечают за них своей головой.
ПРИМЕЧАНИЕ! Вы можете посмотреть протоколы модели OSI в таблице и примерно будете понимать уровень взаимодействия данных при передаче и приеме.
Принцип работы
Для удобства представления работы 7 слоев модели OSI посмотрим на изображение ниже.
У нас есть два компьютера, которые на определенном уровне могут общаться только с использованием протоколов. Можно сказать, что это определенные типы данных, понятные компьютерам на выделенном уровне. Например, физический уровень модели OSI использует протоколы, а данные передаются в битах. На самом канальном уровне модели OSI информация передается во фреймах с использованием собственных протоколов.
Но для передачи информации с одного уровня на другой используются специальные службы. Также обратите внимание, что на транспортном уровне данные сначала сегментируются. Каждый сегмент имеет «пронумерованную» метку. Эта метка необходима для того, чтобы второе принимающее устройство понимало, в каком порядке вставлять эти сегменты для получения необходимых данных. Также на других уровнях происходит разделение на пакеты, фреймы и, в конце концов, на биты. Пакеты, рамы также имеют свои этикетки.
Еще немного о том, как информация передается с одного уровня на другой. Советую углубиться непосредственно в эту информацию, так как необходимо понимать всю суть модели OSI. Если что-то непонятно, пожалуйста, прочитайте еще раз или вы можете задать мне некоторые нюансы ниже в комментариях. Чтобы было понятнее, давайте посмотрим на изображение ниже: здесь представлена схема перевода информации в различную форму на всех уровнях сетевой модели OSI.
Весь этот процесс упаковки данных называется инкапсуляцией данных. Когда информация дойдет до принимающего компьютера, начнется обратный процесс: декапсуляция данных, которая проходит по той же схеме, только в обратном порядке.
Уровень 1 – Физический
Физический или первый уровень является самым низким уровнем, поскольку передаваемая информация имеет форму нулей и единиц. При этом может использоваться несколько протоколов, от которых зависит появление этих самых нулей и единиц. На этом уровне можно определить топологию сетей и передачу данных по ним.
Существует два типа передачи битового потока:
- Дуплекс: когда устройство может одновременно получать и отправлять данные. Например, во время игры, когда приложению необходимо постоянно получать и отправлять информацию. Также известна как двунаправленная передача.
- Полудуплекс: когда устройство может только получать или отправлять данные. Его можно сравнить с потоком. Также называется односторонней передачей данных.
На физическом уровне в настоящее время используются различные средства. Для кабельных соединений используется витая пара или оптоволокно. Коаксиальный кабель используется, но реже. Существует также беспроводная среда, использующая радиоволны: Wi-Fi 802.11, Bluetooth, DSL, GSM и т д
Здесь необходимо определить не только среду, но и тип соединения (порты), а также дальность, на которую может передаваться информация при использовании проводной или беспроводной среды.
О средах физического уровня советую почитать отдельно:
- Вай-фай
- Витая пара
- Оптоволокно
Уровень 2 – Канальный
Этот уровень в семиуровневой модели является одним из самых важных, так как здесь появляется адресация. Чтобы знать, куда отправлять информацию в сети, которая может состоять из сотен устройств, необходимо использовать адреса. Канальный уровень использует MAC-адреса.
Также на этом уровне можно связать два устройства с помощью скрипта. С помощью команд можно запросить повторную отправку данных, если они пришли некорректно или если контрольная сумма в заданном кадре не удалась. Именно на канальном уровне чаще всего работают коммутаторы, так как адресация между устройствами осуществляется именно с помощью таблицы коммутации, которая содержит MAC-адреса подключенных устройств.
Советую подробнее прочитать о выключателе в этой статье.
Уровень 3 – Сетевой уровень
Сетевой уровень работает с протоколами, использующими IP-адресацию. К таким устройствам относится практически все оборудование, но чаще всего в пример приводят маршрутизаторы (маршрутизаторы). Есть, конечно, переключатели, которые работают на этом уровне.
Сетевой уровень выполняет важную задачу по пересылке пакетов на правильный хост. Например, удаленный компьютер может находиться в другой подсети или в совершенно другой сети. Затем для пересылки пакетов определяется оптимальный путь к конечному узлу.
Обязательно прочитайте подробную статью о роутере.
Уровень 4 – Транспортный
Транспортный уровень — позволяет обмениваться данными напрямую между двумя узлами. Например, протокол TCP используется для передачи четкой информации: изображений, текстов, файлов. UDP чаще всего используется в передачах: видео, аудио, онлайн-игры и т д
При этом часто используется сквозное соединение, когда данные отправляются напрямую. Кроме того, транспортный уровень первым взаимодействует с прямыми данными и сеансовым уровнем.
Например, физическая топология сетей используется для подключения устройств на канальном уровне. На сетевом уровне логическая топология. Но на этом уровне существует прямая связь «узел-узел». Например, если вы заходите на веб-сайт, вы напрямую общаетесь с определенным сервером через DNS или IP-адрес.
Уровень 5 – Сеансовый
Наконец, он преобразует сегменты или дейтаграммы в данные, которые уже понятны компьютеру. Также на этом этапе может произойти обрыв прямого соединения между отправляющим или передающим компьютером.
Уровень 6 – Представительский
Наконец, он переводит информацию в определенные типы данных, которые уже понятны человеку. Примером является кодирование текста. Когда данные поступают в кодировке ASCII и должны быть преобразованы в UTF-8 или другую форму.
Уровень 7 – Прикладной уровень
Слой, который представляет данные в удобном для человека виде. Именно этот слой также обменивается информацией напрямую с пользователем. Одним из протоколов, обычно встречающихся на последнем уровне, является протокол HTTPS, который позволяет представлять и читать данные в браузере.