OSI модель - AnnaKlueva/API_testing_lesson GitHub Wiki
Теперь давайте разберемся, как общаются компьютеры внутри сети интернет, то есть как передаются данные между компьютеры внутри сети(любой не только интернет).
Для этого мы должны познакомиться с таким понятием как, семиуровневая модель, ее еще называют эталонной моделью или модель OSI.
Эта модель была разработана для облегчения и разделения труда инженеров и программистов, чтобы людям было понятно, на каком уровне и с каким оборудованием они работают.
OSI состоит из 7 блоков (уровней):
7 Приложений (Application Layer)
6 Представления (Presentation Layer)
5 Сеансовый (Session Layer)
4 Транспортный (Transport Layer)
3 Сетевой (Network Layer)
2 Канальный (Data Link Layer)
1 Физический (Physical Layer)
Прикладной уровень или уровень приложений(application layer) – это самый верхний уровень модели. Он осуществляет связь пользовательских приложений с сетью. Эти приложения нам всем знакомы: просмотр веб-страниц (HTTP), передача и приём почты (SMTP, POP3), приём и получение файлов (FTP, TFTP), удаленный доступ (Telnet) и т.д.
Представительский уровень или уровень представления данных (presentation layer) – он преобразует данные в соответствующий формат.
На примере понять проще: те картинки (все изображения) которые вы видите на экране, передаются при пересылке файла в виде маленьких порций единиц и ноликов (битов). Так вот, когда Вы отправляете своему другу фотографию по электронной почте, протокол Прикладного уровня SMTP отправляет фотографию на нижний уровень, т.е. на уровень Представления. Где Ваша фотка преобразуется в удобный вид данных для более низких уровней, например в биты (единицы и нолики).
Именно таким же образом, когда Ваш друг начнет получать Ваше фото, ему оно будет поступать в виде все тех же единиц и нулей, и именно уровень Представления преобразует биты в полноценное фото, например JPEG.
Вот так и работает этот уровень с протоколами (стандартами) изображений (JPEG, GIF, PNG, TIFF), кодировок (ASCII, EBDIC), музыки и видео (MPEG) и т.д.
Сеансовый уровень или уровень сессий(session layer) – как видно из названия, он организует сеанс связи между компьютерами.
Хорошим примером будут служить аудио и видеоконференции, на этом уровне устанавливается, каким кодеком будет кодироваться сигнал, причем этот кодек должен присутствовать на обеих машинах.
Еще примером может служить протокол SMPP (Short message peer-to-peer protocol), с помощью него отправляются хорошо известные нам СМСки и USSD запросы.
Транспортный уровень (transport layer) – этот уровень обеспечивает надёжность передачи данных от отправителя к получателю.
На самом деле всё очень просто, например вы общаетесь с помощью веб-камеры со своим другом или преподавателем. Нужна ли здесь надежная доставка каждого бита переданного изображения?
Конечно нет, если потеряется несколько битов из потокового видео Вы даже этого не заметите, даже картинка не изменится.
А теперь приведем такой пример: Вам друг пересылает важную информацию или программу. Вы скачиваете себе на компьютер этот архив. Вот здесь надёжность нужна 100%, т.к. если пару бит при закачке архива потеряются – Вы не сможете затем его разархивировать, т.е. извлечь необходимые данные.
На этом уровне я выделю два протокола: UDP и TCP.
UDP протокол (User Datagram Protocol) передает данные без установления соединения, не подтверждает доставку данных и не делает повторы.
TCP протокол (Transmission Control Protocol), который перед передачей устанавливает соединение, подтверждает доставку данных, при необходимости делает повтор, гарантирует целостность и правильную последовательность загружаемых данных.
Следовательно, для музыки, видео, видеоконференций и звонков используем UDP (передаем данные без проверки и без задержек), а для текста, программ, паролей, архивов и т.п. – TCP (передача данных с подтверждением о получении, затрачивается больше времени).
Сетевой уровень (network layer) – этот уровень определяет путь, по которому данные будут переданы.
И, между прочим, это третий уровень Сетевой модели OSI, а ведь существуют такие устройства, которые как раз и называют устройствами третьего уровня – маршрутизаторы.
Все мы слышали об IP-адресе, вот это и осуществляет протокол IP (Internet Protocol).
Но на всякий случай напомню, что IP адресс - адресс вашего устройства в сети. Он уникален для каждого устройства и дает возможность компьютерам находить и определять друг друга в сети.
Чтобы узнать свой IP-адресс в терминале нужно набрать команду ping
В результате должнв получиться такая картинка:
Когда мы используем команду ping, это значит, что работает протокол ICMP.
Канальный уровень (data link layer) – он нам нужен для взаимодействия сетей на физическом уровне.
Наверное, все слышали о MAC-адресе, вот он является физическим адресом. Устройства канального уровня – коммутаторы, концентраторы и т.п.
Кто не слышал, то МАС адресс - уникальный идентификатор устройств в локальной сети.
Каждое устройство, которое подключено к Интернету имеет свой уникальный MAC адрес. Этот адрес задан производителем.
Например, для роутера MAC адресс выглядит так
Физический уровень (physical layer) – самый нижний уровень, непосредственно осуществляющий передачу потока данных. Протоколы нам всем хорошо известны: Bluetooth, IRDA (Инфракрасная связь), медные провода (витая пара, телефонная линия), Wi-Fi, и т.д.