Стек протоколов - Protocol stack

Стек протоколов Модель OSI

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

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

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

  T ~ ~ ~ T [A] [B] _____ [C]

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

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

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

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

Примеры

Стек сетевых протоколов, используемый Программное обеспечение Amiga
Пример стека протоколов и соответствующие уровни
ПротоколСлой
HTTPЗаявление
TCPТранспорт
IPИнтернет или же сеть
EthernetСвязь или же канал передачи данных
IEEE 802.3uФизический

Связующий слой

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

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

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

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

Рекомендации

  1. ^ "Что такое стек протоколов?". http://www.webopedia.com: ВЕБОПЕДИЯ. Получено 2010-02-21. [Стек протоколов - это] набор уровней сетевого протокола, которые работают вместе. В Эталонная модель OSI который определяет семь уровней протокола, часто называется стеком, как и набор протоколов TCP / IP, которые определяют обмен данными через Интернет.
  2. ^ Георг Н. Штраус (09.01.2010). «Модель OSI, часть 10. Уровень приложений». http://www.ika-reutte.at: Ика-Ройтте. Архивировано из оригинал на 2012-03-20. Получено 2010-02-21. Уровень приложений - это самый верхний уровень модели OSI, который предоставляет услуги, которые напрямую поддерживают пользовательские приложения, такие как доступ к базе данных, электронная почта и передача файлов.
  3. ^ Дэвид Кларк (1997). «Взаимодействие, открытые интерфейсы и архитектура протокола». Непредсказуемая уверенность: официальные документы. Национальный исследовательский совет. ISBN  9780309060363.