[Основы сетей] 7. Сетевая модель OSI

Сетевая модель

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

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

Сетевая модель OSI (базовая эталонная модель взаимодействия открытых систем, англ. Open Systems Interconnection Basic Reference Model) — абстрактная сетевая модель для коммуникаций и разработки сетевых протоколов.

На этапе зарождения компьютерных сетей не было единых стандартов. Каждый разработчик использовал свои наработки, которые не работали с технологиями других. Очевидно, что необходимо было придумывать общее решение. Эту задачу взяла на себя международная организация по стандартизации (ISO — International Organization for Standartization). После изучения и анализа технологий различных разработчиков и вендоров родилась модель OSI, релиз которой состоялся в 1984 году. Модель вобрала в себя и систематизировала все наработки и технические реализации. Проблема ее была только в том, что ее разрабатывали около 7 лет. Пока специалисты спорили, как ее лучше сделать, другие модели модернизировались и набирали обороты. В настоящее время модель OSI не используют. Она применяется только в качестве обучения сетям и на теории объясняет как устроена и работает сеть.

Сетевая модель OSI

  • состоит из 7 уровней
  • каждый уровень выполняет определенную ему роль и задачи
  • нельзя перескакивать с уровня на уровень
  • весь путь должен проходить строго с верхнего на нижний и с нижнего на верхний. Такие процессы получили название инкапсуляция (с верхнего на нижний) и деинкапсуляция (с нижнего на верхний)
  • на каждом уровне передаваемая информация называется по-разному

Уровни OSI

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

1) Физический уровень (Physical Layer): определяет метод передачи данных, какая среда используется (передача электрических сигналов, световых импульсов или радиоэфир), уровень напряжения, метод кодирования двоичных сигналов. На физическом уровне принимаются не биты (как указано во многих источниках),  а последовательность электрических сигналов, преобразующихся в биты на следующем уровне модели OSI и конвертируются в понятную последовательность для канального уровня. Физический уровень - это среда передачи импульсов. Один импульс - после преобразования - один бит, логическая 1 (ДА), отсутствие импульса - логический 0 (НЕТ). xDSL - этот уровень

2) Канальный уровень (Data Link Layer): он берет на себя задачу адресации в пределах локальной сети, обнаруживает ошибки, проверяет целостность данных. Если слышали про MAC-адреса и протокол «Ethernet», то они располагаются на этом уровне. Говоря "Линк" поднялся, подразумевают именно этот уровень. На это уровне "Интернета" в бытовом понимании ещё нет, это сеть - Intranet (Интранет).

3) Сетевой уровень (Network Layer): этот уровень берет на себя объединения участков сети и выбор оптимального пути (т.е. маршрутизация). Каждое сетевое устройство должно иметь уникальный сетевой адрес в сети. Думаю, многие слышали про протоколы IPv4 и IPv6. Эти протоколы работают на данном уровне. На этом уровне принимается решение каким путём побегут ваши данные по всемирной паутине, например, в США - через Японию или Европу. На этом уровне NAT работает с IP адресами.

4) Транспортный уровень (Transport Layer): Этот уровень берет на себя функцию транспорта. К примеру, когда вы скачиваете файл с Интернета, файл в виде сегментов отправляется на Ваш компьютер. Также здесь вводятся понятия портов, которые нужны для указания назначения к конкретной службе. На этом уровне работают протоколы TCP (с установлением соединения) и UDP (без установления соединения). На этом уровне NAT работает с сессиями.

5) Сеансовый уровень (Session Layer): Роль этого уровня в установлении, управлении и разрыве соединения между двумя хостами. К примеру, когда открываете страницу на веб-сервере, то Вы не единственный посетитель на нем. И вот для того, чтобы поддерживать сеансы со всеми пользователями, нужен сеансовый уровень.

6) Уровень представления (Presentation Layer): Он структурирует информацию в читабельный вид для прикладного уровня. Например, многие компьютеры используют таблицу кодировки ASCII для вывода текстовой информации или формат jpeg для вывода графического изображения.Шифрование и обратная расшифровка так же находится на этом уровне.

7) Прикладной уровень (Application Layer): Наверное, это самый понятный для всех уровень. Как раз на этом уроне работают привычные для нас приложения — e-mail, браузеры по протоколу HTTP, FTP и остальное.

1) Физический уровень (Physical Layer). (bit –кусочек, частичка с англ.) импульсы, частички которые передаются в физической среде. Являет собой среду передачи данных – wifi (радиоимпульсы), электричество в сетевых проводах UTP, оптоволокно (световой импульс) и т.п.

Протоколы:  Wi-Fi, GSM, Bluetooth ...

2) Канальный уровень (Data Link Layer): Импульсы, с провода, или радиоэфира попадают в разъем (канал) оборудования. Там они преобразуются в кадры. Проверяется их целостность, возможна отправка дальше. Отправка идет по MAC – адресу. Оборудование, способное выполнять такие простейшие операции – коммутаторы, мосты, свитчи

Протоколы: Ethernet, ARCnet, ATM

3) Сетевой уровень (Network Layer): Кадры «могут гулять» на небольшие расстояния. От одного интерфейса (mac - адреса) к другому. Для того, чтобы информация дошла до конкретного места, она упаковывается в пакеты и будет гулять по сети, пройдя, возможно, десятки компьютеров, но доберётся до нужного места. Передача идет уже не по mac-адресу а по ip адресу. Оборудование, которое может выполнять эти функции - роутеры, маршрутизаторы.

Протоколы: IP/IPv4/IPv6, IPsec

4) Транспортный уровень (Transport Layer): Качаем мы фильм, который разбит на миллион пакетов, все скачались, а один заблудился, и все вместе теперь не склеить. Чтобы этого не произошло на этом уровне пакеты объединяться в сегменты и так транспортируются, если какой-то теряется, идет запрос на повтор потерянного. Если пришло 2 одинаковых, - ненужные удаляться. Так работает протокол TCP. UDP работает быстрее, но допускает потерю сегментов (пакетов).

Протоколы: TCP (Transmission Control Protocol), UDP (User Datagram Protocol), SST

5) Сеансовый уровень (Session Layer): Нам нужны не сегменты, а данные, а поступать они будут, только если начать сеанс с сервером. Выбирая «скачать фильм» с интернета, мы открываем сеанс связи с сервером и закроется он автоматически после закачки. На этом уровне определяется синхронизация, права, обмен.

Протоколы: ADSP,  ASP

6) Уровень представления (Presentation Layer): Итак, у нас уже есть данные, непонятный файл, который ничего не делает, нам нужно как-то презентовать его.  Возможно, сжать, или распаковать, найти кодировку для открытия, или возможно шифр, для передачи по сети. Все это происходит на этом уровне.

Протоколы:  ASCII, EBCDIC, JPEG, XML, SMB

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

TCP vs OSI

Модель OSI – теоретическая модель, при помощи которой можно описать любую модель сети. На практике используется модель TCP/IP. Ниже на картинках можно видеть как она переплетается с теоретической моделью. Стек TCP/IP в некоторых источниках обозначают еще как модель DoD (Department of Defence), в зарубежных источниках эта модель называется только так, в том числе и Cisco оперирует именно этим обозначением.

Ещё картинка по русски:

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

Далее, минуя 6 и 5 уровни, упаковываем и подготавливаем данные, подготавливаем сессии для связи с другим компьютером, спускаемся на нижний 4 уровень - транспорт - TCP или UDP (для гарантированной доставки информации), который оседлал протокол 3 уровня сетевой - протокол IP, который укажет маршрутизаторам куда бежать данным в Мировой паутине, Интернете. "Прибежав" в маршрутизатор требуемого офиса, опускаемся на 2 уровень канальный (уровень сетевой карты и "хабов/свичей") - входим в локальную сеть офиса (LAN), где царствует 2 уровень - Ethernet и MAC адресация. Затем сетевая карта, разъём и провода - физический, 1 уровень. Добегаем по проводам до нужной сетевой карты (MAC адресация) и поднимаемся до 7 уровня, к примеру, Скайп. Всё, соединение между двумя пользователями по Скайп организовано. Как то так )))

протокол HTTP функционирует на прикладном уровне OSI (7 уровень)

протокол TCP и UDP функционируют на транспортном уровне OSI (4 уровень)

протокол IP функционирует на сетевом уровне OSI (3 уровень)

протокол Ethernet и MAC адресация функционируют на канальном уровне OSI (2 уровень)

провода, оптика, радиоволны, т.е. среда передачи сигнала функционируют на физическом уровне OSI (1 уровень)

Файлы и ссылки:

Сложно о простом. Физический уровень (L1) модели OSI
Сложно о простом. Канальный уровень (L2) модели OSI

Сетевые протоколы и модели OSI: как всё устроено
Сложно о простом. Модель OSI и TCP/IP
Основы компьютерных сетей. Тема №1.
TCP/IP vs. OSI: What’s the Difference Between the Two Models?
Сетевые протоколы, объёмная таблица, где попытались все протоколы привязать к OSI