В процессе изучения компьютерных сетей пользователи рано или поздно столкнутся с открытой сетевой моделью OSI. Она имеет огромное значение для понимания сетевых технологий, но у новичков способна вызывать некоторые затруднения.
Далее предстоит рассмотреть OSI и ее протоколы более подробно. Необходимо познакомиться с историей создания соответствующей модели, ее применением, а также уровнями и их особенностями. Эта информация пригодится всем, кто в той или иной степени заинтересован работой с сетями.
Протокол – это…
Протокол обмена данными (или протоколы) – необходимый элемент в процессе обмена информацией. Они используются, чтобы участники процесса понимали друг друга.
Сетевой протокол – набор правил и стандартов, определяющих принципы передачи и приема данных по сети. Такие элементы обеспечивают стандартизированный способ обмена информацией между разнообразными устройствами (компьютерами и сетевым оборудованием), позволяя им успешно взаимодействовать друг с другом.
OSI – определение
Open Systems Interconnection (или OSI) – это модель взаимодействия открытых систем. Она представляет собой концептуальную модель, выстраивающую логическую схему взаимодействия между компьютерными системами.
OSI определяет логику работы всей сети, а также максимально эффективно описывает процесс передачи компьютерных пакетов данных при помощи протоколов разнообразных уровней. Суть соответствующей модели заключается в создании понятной картины того, как взаимодействуют между собой различные компоненты и технологии в процессе передачи данных по сети.
История появления
Сетевое взаимодействие началось в 1980-м году. Тогда инженерам требовались способы виртуализации разнообразных компонентов сетевых систем. Компьютерам нужен был стандартизированный язык для налаживания общения между организациями, бизнес-секторами, а также культурами. Модель OSI смогла заполнить соответствующие модели путем предоставления функционального способа описания и анализа сетевых структур.
OSI была разработана исследователями из Франции, Великобритании и США. Они были объединены в два крупных проекта:
- Международную организацию по стандартизации (или IOS);
- Международный консультативный комитет по телеграфу и телефону (или CCITT).
Каждый из указанных органов подготовил документы, в которых предпринимались попытки стандартизации принципов формирования сетевых протоколов в будущем. В 1983 году соответствующая документация была объединена, а в 1984 Международная организация по стандартизации выпустила их в виде общего фреймворка под названием «Базовая эталонная модель взаимодействия открытых систем», сокращенно – OSI.
Модель OSI предоставила стандартизированный язык для организации сетевого анализа и коммуникации. С его помощью получилось добиться беспрепятственной возможности самых разных устройств передавать данные. OSI была признана международным стандартом на долгие годы. Чуть позже у нее появился конкурент – модель TCP/IP.
Принцип работы OSI
Рассматриваемая модель придает абстрактную форму тому, как сетевые объекты обмениваются данными между различными уровнями. Соответствующее взаимодействие отличает OSI от коммуникационных протоколов, предлагающих конкретное техническое определение того, как сообщения должны распространяться в пределах того или иного уровня.
Чтобы лучше понять принцип работы модели, лучше рассмотреть наглядный пример: имеются два сервера, которые должны обмениваться данными. Блоки информации не могут просто телепортироваться из одного приложения в другое. Они проходят вниз по сетевым уровням, чтобы в результате достигнуть линии передачи. Когда запрос пройдет путь от одного устройства к другому, ему необходимо будет повторить процесс, но в обратном порядке (поднимаясь по уровням). Происходит это до те пор, пока «операция» не достигнет принимающего приложения.
Путь данных может быть объяснен при помощи нескольких ключевых понятий:
- Блок данных протокола или PDU (Protocol Data Units) – это одиночные информационные блоки, которые передаются между равнозначными объектами сети. Они включают в себя протоколозависимые и пользовательские данные вместе с полезной нагрузкой, а также заголовками, трейлерами и метками конца.
- Блок сервисных данных или SDU (Service Data Units) – отображают содержание блока данных протокола смежного верхнего уровня при их переносе на более низкий сетевой уровень. У них будет точно такое же содержание, как и у полезной нагрузки.
При каждом переходе с одного уровня (N) на другой (N-1) PDU первый (N) становится новым N-1 SDU. Соответствующая полезная нагрузка размещается в PDU N-1 с соответствующими заголовками, а также трейлерами. На противоположном конце данные проходят вверх по цепочке, разворачиваясь на каждом соответствующем этапе до тех пор, пока не станут полезной нагрузкой, пригодной для того или иного устройства уровня N.
Уровни OSI
OSI делит сеть на несколько отдельных этапов или «уровней абстракции». Они объединяются общим стеком протоколов. Содержимое каждого уровня – это не конкретные программы, а общие руководства и правила, упрощающие разработку и эксплуатацию сетевых технологий.
В процессе прохождения данных по сети, переданная информация опускается и поднимается по имеющимся в модели уровням. Каждый из них – это связанные критические процессы передачи данных. Соответствующие этапы могут включать в себя шифрование, создание пакетов, управление потоками и представления.
OSI предусматривает следующие уровни:
- прикладной уровень;
- уровень представления;
- сеансовый уровень;
- транспортный уровень;
- сетевой уровень;
- канальный уровень;
- физический уровень.
Уровни описывают этапы прохождения идеализированного пакета информации через системы связи. Обычно данные передаются от прикладного уровня (L7) на физический уровень (L-1), а затем – обратно, где они могут быть использованы получателями. Каждый этап в представленной модели предусматривает собственные «слои» непосредственно выше или ниже, создавая аккуратную цепочку действий.
Прикладной уровень
Прикладной уровень (или Application Layer) – уровень, на котором пользователи будут взаимодействовать с данными. Он позволяет получать информацию для дальнейшего использования программным обеспечением. Здесь же предоставляется возможность выполнения подготовки перед отправкой данных по цепочке уровней модели OSI.
L-7 имеет следующие важные функции:
- работа с протоколами и инструментами информационного форматирования;
- сетевой визуальный терминал;
- почтовые службы;
- доступ к передаче файлов и дальнейшее управление ими;
- службы каталогов.
Соответствующий уровень включает в себя не все приложения на границе сети. Из него можно исключить почтовые клиенты, а также приложения для организации видеозвонков (конференций). Вместо них прикладной уровень включает в свой состав разнообразное программное обеспечение, дающее возможность работать с сетевым приложением.
Уровень представления
Изучая уровни сетевых протоколов, необходимо помнить об уровне представления – L-6 или Presentation Layer. Он отвечает за обработку данных до возможности их дальнейшего использования прикладным слоем. Presentation Layer представляет необработанную информацию. Он преобразовывает ее из битового потока в то, что приложения на устройстве могут декодировать, а также использовать.
К ключевым функциям этого слоя можно отнести:
- сжатие – уменьшение числа битов, которые передаются по сети;
- преобразование данных;
- шифрование и дешифрование информации при помощи значения ключа.
Прикладной слой имеет огромное значение в плане обеспечения безопасности информационного обмена. Именно тут данные будут шифроваться и сжиматься, а также расшифровываться и распаковываться. Такой подход обеспечивает надежную и безопасную передачу информации. Сжатие дает возможность передавать больше данных, причем на более высоких скоростях.
Сеансовый уровень
Сеансовый уровень протоколов (или L-5) используется для определения правил и принципов того, как будут передаваться и аутентифицироваться данные между двумя устройствами. Он прекращает работу (истекает) тогда, когда передача информации завершена.
К функциям сеансового слоя можно отнести:
- обеспечение эффективной передачи информации с использованием минимальных ресурсов;
- синхронизацию данных при помощи контрольных точек;
- контроллер диалога – две системы смогут начать связь в дуплексном или полудуплексном режиме;
- обеспечение безопасности – сеансы должны быстро закрываться и включать аутентификационные системы для идентификации источников информации и разнообразных получателей.
Сеансовый слой (Session Layer) несет ответственность за начало подключения (связи) между несколькими устройствами. Он определяет длительность сеансов, а также проверять точность информационного обмена. Обычно все это связано с использованием так называемых контрольных точек данных или точек синхронизации. Контрольные точки делят информацию на более мелкие блоки (сегменты). Каждый из них будет проходить проверку на достоверность перед завершением сеанса.
Сеансовый слой протоколов в OSI в большинстве программного обеспечения объединяется со слоем представления и уровнем приложений. Они будут управляться в качестве единого целого. Это приводит к тому, что сейчас отсутствуют общие инструменты для работы с сеансовым слоем. То же самое касается более высоких уровней протоколов в OSI.
Вместо конкретных инструментов пользователям предлагается работать с функционалом различных приложений. В качестве примера можно привести FTP-программу FileZilla. Она предоставляет журналы, а также меню отладки. Эти инструменты помогают решать проблемы с FTP-подключениями на сеансовом слое.
Транспортный уровень
Транспортный слой (Transport Layer или L-4) поддерживает настройку прямой связи между несколькими подключенными устройствами. Он отвечает за непрерывное состояние в процессе информационного обмена. Тут происходит отслеживание того, чтобы данные отправлялись и поступали в одном и том же состоянии.
У транспортного уровня протоколов имеются следующие важные функции:
- Сегментация и повторная сборка. L-4 принимает сообщения от сеансового слоя, разбивая их на более мелкие части. Каждый сформированный новый сегмент обладает связанным с ним заголовком. В пункте назначения (у получателя) блоки повторно собираются и формируют исходное сообщение.
- Контроль ошибок. Для этого используется оценка пакетов данных на устройстве-получателей. Если информация поступила в поврежденном, неполном или ненадлежащем виде, сервисные службы рассматриваемого слоя запрашивают повторную передачу.
- Адресация точки обслуживания. Это необходимо для обеспечения доставки сообщения конкретному процессу. L-4 в OSI включает тип адреса (адрес точки обслуживания), чтобы все работало исправно.
Транспортный слой занимается управлением информационным потоком в сквозной связи. Его инструменты помогают определить оптимальную (и правильную) скорость передачи данных, которая может меняться в зависимости от скоростей соединения используемых устройств. Оборудование с более быстрым подключением сможет перегружать устройства с более низкими скоростями. Это приводит к проблемам, связанным с производительностью.
У Linux отсутствуют универсальные инструменты мониторинга транспортного слоя. Вместо них поддерживаются отдельные решения для определенных протоколов. Для TCP поддерживается утилита tcptrack – она отображает список нынешних сеансов.
Также существует анализатор пакетов tcpdump. Он позволяет производить мониторинг исходящих и входящих пакетов на определенном интерфейсе.
Сетевой уровень
Сетевой уровень (Network Layer или L-3) отвечает за передачу информации между имеющимися подключенными устройствами. За счет этого необходимо уделять соответствующему слою дополнительное внимание со стороны сетевых инженеров. Данный уровень протоколов – один из самых важных во всей OSI-модели.
К его ключевым функциям можно отнести:
- маршрутизацию – аппаратные и программные средства на сетевом слое будут определять оптимальный путь передачи информации между сетями;
- логическую адресацию – сетевой слой определяет схему адресации для каждого уникального устройства в пределах имеющейся сети путем размещения IP-адресов отправителей и получателей в заголовке.
L-3 создает и поддерживает стабильные сетевые соединения. Данные будут разбиваться на пакеты, которые полностью готовы к дальнейшей передаче. Соответствующие блоки на принимающей стороне объединяются и восстанавливают исходную информацию.
Канальный уровень
Канальный слой (Data Link Layer или L-2) имеет сильную связь с сетевым, но обычно относится к связи между оборудованием, подключенным локально. L-2 способен моделировать различные соединения между локальными рабочими станциями и маршрутизаторами.
К его функциям относят:
- кадрирование – это функция, позволяющая передавать некоторый набор данных при помощи прикрепления заданных битовых комбинаций к началу и концу кадра;
- физическую адресацию – L-2 будет добавлять к заголовкам созданных кадров MAC-адреса отправителей и/или получателей;
- контроль ошибок – при обнаружении неполадок на канальном слое осуществляется повторная передача кадров;
- управление скоростью информационного обмена;
- контроль доступа – канальный слой определяет, какое из имеющихся устройств, использующих канал связи, получает приоритет управления в тот или иной момент.
На канальном уровне передачи данных информация принимается и разбивается на кадры, которые подходят для локальной отправки. Они взаимодействуют с двумя подуровнями L-2:
- Уровень управления доступом к среде (MAC). Он подключает необходимые локальные устройства, а затем занимается управлением скорости потока в сети.
- Уровень управления логическим каналом (LLC). Этот слой устанавливает логическую «базу» для локальной передачи данных.
Канальный слой помогает регулировать потоки между локальными устройствами, подобно сетевому.
Физический слой
На физическом уровне (L-1 или Physical Layer) происходит преобразование данных в цифровой битовый поток (он представляет собой 1 и 0). Форма соответствующего потока согласовывается двумя устройствами. Это происходит перед передачей. Данный прием позволяет реконструировать информацию на принимающей стороне.
У физического уровня можно выделить следующие функции:
- контроль скорости передачи данных – того, сколько битов в секунду могут быть переданы;
- синхронизацию битов отправителей и получателей;
- определение физических топологий сетевых устройств;
- выбор режима передачи данных, включая дуплексный, полудуплексный и симплексный.
На физическом уровне чаще всего обнаруживаются причины неполадок работы сетей. Плохое соединение кабелей или неисправные блоки питания – наиболее распространенные причины такого поведения, но устранить их проще всего.
Преимущества и недостатки модели
Существующие уровни передачи данных в OSI изучены. Рассматриваемая модель имеет как преимущества, так и недостатки. К ее сильным сторонам можно отнести:
- Возможности поиска неполадок. Иерархия в OSI – отличное средство обнаружения сетевых проблем.
- Возможность использования в маркетинге. У OSI поддерживается возможность описания функций различных информационных продуктов. Маркетологи смогут точно объяснить потенциальным потребителям, какое место их проекты занимают в OSI-модели. Это поможет разобраться в том, как приложение впишется в сетевую архитектуру.
- Возможность использования в процессе разработки программ. На этапе планирования и написания кода можно при помощи OSI моделировать принципы работы приложений на определенных слоях.
- Кибербезопасность.
Недостатки у стека OSI тоже есть. IT-специалисты полагают, что соответствующая модель устарела. Чаще всего в сетях используется схема TCP/IP. В OSI могут встречаться избыточные элементы. L-5 и L-6 могут не иметь никакого практического значения в реальных сетях.
OSI не способна отразить реальную сетевую структуру. Некоторые функции сети охватывают разные уровни протоколов в OSI, чем создают путаницу.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!