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. ^ «Что такое стек протоколов?». ВЕБОПЕДИЯ. 24 сентября 1997 года . Проверено 21 февраля 2010 г. [Стек протоколов — это] набор уровней сетевых протоколов, которые работают вместе. Эталонную модель OSI , определяющую семь уровней протоколов, часто называют стеком, как и набор протоколов TCP/IP, определяющих связь через Интернет.
  2. ^ Георг Н. Штраус (9 января 2010 г.). «Модель OSI, Часть 10. Прикладной уровень». Ика-Ройтте. Архивировано из оригинала 20 марта 2012 г. Проверено 21 февраля 2010 г. Уровень приложений является самым верхним уровнем модели OSI и предоставляет услуги, которые напрямую поддерживают пользовательские приложения, такие как доступ к базе данных, электронная почта и передача файлов.
  3. ^ Дэвид Кларк (1997). Взаимодействие, открытые интерфейсы и архитектура протоколов . Национальный исследовательский совет. ISBN 9780309060363. {{cite book}}: |work=игнорируется ( помощь )