Являются ли протоколы прикладного уровня частью системных утилит?

1 ответ

Что это Средства Быть Протоколом

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

, Который является очень общей сводкой, и существует больше чем одна многоуровневая модель сетей. То, сколько слои там, даже, определяется, которой моделью каждый принимает решение использовать, чтобы описать, как сети работают.

Вместе, слои составляют комплект, такой как Семейство протоколов Интернета , который описывает, как должна функционировать рабочая система (что мы думаем как "сеть").

ключевой пункт - то, что протокол является правилом или описанием для того, как что-то, как предполагается, работает. Поэтому протокол не является "частью" программы ни в каком обычном смысле "части". Однако программа может реализация протокол прикладного уровня. Это означает, что записано для выполнения вида коммуникации, определенной в протоколе, способом который выполняет протокол.

(Иногда программы несовместимы также варьирование от требований протокола. Часто это - недостаток - иногда это является намеренным, когда протокол не соответствует потребностям пользователей или разработчиков.)

Программы, что Протоколы прикладного уровня Реализации

DHCP реализованы серверами DHCP и клиентами DHCP. HTTP реализован [1 116] веб-серверы (как Apache), веб-браузеры, поисковые роботы , и (вместе с другими протоколами) большинство менеджеры загрузок . Браузеры, поисковые роботы и менеджеры загрузок являются клиентами HTTP. SMB на Ubuntu реализован Samba, который имеет компоненты клиента и сервера.

Протоколы прикладного уровня покоятся сверх более низких слоев уровня, которые обеспечивают клиент-серверную модель. Протоколы прикладного уровня используют эту модель; Вы заметите, что я говорил о клиентах и серверах для всех вышеупомянутых примеров.

Иногда программа имеет то же имя как протокол, который это реализовало. Например, большинство операционных систем включая Ubuntu имеет клиент FTP, позвонивший ftp. Обратите внимание, что это - просто клиент FTP; исполняемый файл FTP-сервера обычно называют ftpd (d для [1 119] "демон" ). Демон является сервисом, который работает в фоновом режиме, и много программ сервера являются демонами. Демону что протокол реализаций "FooBar" свойственно быть названным foobard. Например, исполняемые файлы веб-сервера обычно называют httpd.

Базовые Утилиты Файла Самостоятельно не Реализуют Протоколы прикладного уровня

, Таким образом, можно задаваться вопросом если утилиты файла как ls, cp, chmod, rm, и mv реализация любые протоколы прикладного уровня. Ответ - то, что они не делают.

Используя любую из тех утилит файла может заставить сетевую связь происходить, если они получают доступ к файлам или информации о каталоге через сеть. Например, если Вы смонтировали NFS (или SMB) доля, и Вы используете ls для списка содержания удаленной папки, сетевая связь происходит. Но те утилиты файла не заботятся о той сетевой связи. Вместо этого клиент NFS (или SMB) клиент выполняет ту коммуникацию. Как правило, утилита файла как [1 111] или chmod будет работать точно то же, получая доступ к локальным файлам.

5
  • 1
    Сказано, что транспорт, Интернет и протоколы уровня сетевого доступа являются частью ядра. Таким образом это позволяет мне, чтобы прийти к заключению, что протоколы прикладного уровня находятся на уровне пользователя / пространство, не ядро, которое находится на том же уровне системных утилит, приложений и библиотечных функций. Это корректно? Если да, где те протоколы прикладного уровня находятся на Ubuntu? Спасибо. – Max Asura 17.05.2020, 12:09

Теги

Похожие вопросы