stringtranslate.com

Стек протоколов

Стек протоколов модели OSI

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

Отдельные протоколы в наборе часто разрабатываются с единственной целью. Такая модуляризация упрощает проектирование и оценку. Поскольку каждый модуль протокола обычно взаимодействует с двумя другими, их обычно представляют как уровни в стеке протоколов. Самый низкий протокол всегда имеет дело с низкоуровневым взаимодействием с коммуникационным оборудованием. Каждый более высокий уровень добавляет дополнительные возможности. Пользовательские приложения обычно имеют дело только с самыми верхними уровнями. [2]

Общее описание набора протоколов

 Т ~ ~ ~ Т [А] [Б]_____[С]

Представьте себе три компьютера: A , B и C. У A и B есть радиооборудование, и они могут общаться по радиоволнам, используя подходящий сетевой протокол (например, IEEE 802.11 ). B и C соединены кабелем, который используется для обмена данными (опять же, с помощью протокола, например, Point-to-Point Protocol ). Однако ни один из этих двух протоколов не сможет передавать информацию от A к C , поскольку эти компьютеры концептуально находятся в разных сетях. Для их соединения требуется межсетевой протокол.

Можно объединить два протокола, чтобы сформировать мощный третий, управляющий как кабельной, так и беспроводной передачей, но для каждой возможной комбинации протоколов потребуется свой суперпротокол. Проще оставить базовые протоколы в покое и разработать протокол, который может работать поверх любого из них ( примером является Интернет-протокол ). Это создаст два стека по два протокола в каждом. Межсетевой протокол будет общаться с каждым из базовых протоколов на их более простом языке; базовые протоколы не будут общаться друг с другом напрямую.

Запрос на компьютере A на отправку порции данных в C принимается верхним протоколом, который (какими-либо способами) знает, что C доступен через B. Поэтому он дает указание беспроводному протоколу передать пакет данных в B. На этом компьютере обработчики нижнего уровня передадут пакет межсетевому протоколу, который, распознав, что B не является конечным пунктом назначения, снова вызовет функции более низкого уровня. На этот раз кабельный протокол используется для отправки данных в C. Там полученный пакет снова передается верхнему протоколу, который (при этом C является пунктом назначения) передаст его более высокому протоколу или приложению в C.

В практической реализации стеки протоколов часто делятся на три основных раздела: медиа, транспорт и приложения. Конкретная операционная система или платформа часто будет иметь два четко определенных программных интерфейса: один между медиа и транспортными уровнями, а другой между транспортными уровнями и приложениями. Интерфейс медиа-транспорт определяет, как программное обеспечение транспортного протокола использует определенные типы медиа и оборудования, и связан с драйвером устройства . Например, этот уровень интерфейса будет определять, как транспортное программное обеспечение TCP/IP будет взаимодействовать с контроллером сетевого интерфейса . Примерами этих интерфейсов являются ODI и NDIS в среде Microsoft Windows и DOS . Интерфейс приложения-транспорт определяет, как прикладные программы используют транспортные уровни. Например, этот уровень интерфейса будет определять, как программа веб-браузера будет взаимодействовать с транспортным программным обеспечением TCP/IP. Примерами этих интерфейсов являются сокеты Berkeley и System V STREAMS в средах , подобных Unix , а также Winsock для Microsoft Windows.

Примеры

Стек сетевых протоколов, используемый программным обеспечением Amiga

Охватывающий слой

Важной особенностью многих сообществ взаимодействия, основанных на общем стеке протоколов, является связующий уровень , термин, введенный Дэвидом Кларком [3].

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

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

Смотрите также

Ссылки

  1. ^ "Что такое стек протоколов?". WEBOPEDIA. 24 сентября 1997 г. Получено 21.02.2010 . [Стек протоколов — это] набор сетевых протокольных уровней, которые работают вместе. Справочная модель OSI , определяющая семь протокольных уровней, часто называется стеком, как и набор протоколов TCP/IP, определяющих связь через Интернет.
  2. ^ Георг Н. Штраус (2010-01-09). "Модель OSI, часть 10. Уровень приложений". Ika-Reutte. Архивировано из оригинала 2012-03-20 . Получено 2010-02-21 . Уровень приложений является самым верхним уровнем модели OSI и предоставляет службы, которые напрямую поддерживают пользовательские приложения, такие как доступ к базам данных, электронная почта и передача файлов.
  3. ^ Дэвид Кларк (1997). Взаимодействие, открытые интерфейсы и архитектура протоколов . Национальный исследовательский совет. ISBN 9780309060363. {{cite book}}: |work=проигнорировано ( помощь )