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

Где находятся протоколы уровня приложения? Являются ли они частью библиотечных процедур языка, например, C, C ++, Java?

Как говорит в своем ответе goldilocks, речь идет о реализации протоколов прикладного уровня.

Где находятся протоколы уровня приложения?

Протоколы являются абстракцией, поэтому они не «живут» где-либо за пределами спецификаций и другой документации.

Если вы имеете в виду, где они реализованы, существует несколько общих шаблонов:

  • Они могут быть реализованы сначала в native C как библиотеки, которые могут быть обернуты для использования на других языках (так как большинство других языков реализовано на C и имеет интерфейс C). Например, протоколы шифрования обычно такие.

  • Они могут быть реализованы с нуля как библиотеки или модули для использования на определенном языке, используя только этот язык (и / или язык, на котором он реализован). Например, сетевые протоколы высокого уровня.

  • Они могут быть реализованы с нуля с помощью данного приложения.

Все это чистые пользовательские реализации, но некоторые протоколы, например, низкоуровневые сети, могут быть реализованы в ядре. Это может включать в себя соответствующую собственную пользовательскую библиотеку C (как в случае сетей и файловых систем), так и ядро ​​(включая независимые модули ядра), может предоставлять языковой агностический интерфейс через procfs, /dev и т. Д.