¿Los protocolos de capa de aplicación son parte de las rutinas de la biblioteca?

¿Dónde residen los protocolos de capa de aplicación? ¿Son parte de las rutinas de la biblioteca del lenguaje, por ejemplo, C, C ++, Java?

Como dice goldilocks en su respuesta, se trata de la implementación de protocolos de capa de aplicación.

¿Dónde residen los protocolos de capa de aplicación?

Los protocolos son una abstracción, por lo que realmente no "residen" en ningún lugar más allá de las especificaciones y otra documentation.

Si te refieres a dónde se implementan, hay algunos patrones comunes:

  • Pueden implementarse primero en C nativo como bibliotecas que pueden ser envueltas para su uso en otros lenguajes (ya que la mayoría de los otros lenguajes se implementan en C y tienen una interfaz C). Por ejemplo, los protocolos de encryption son generalmente así.

  • Pueden implementarse desde cero como bibliotecas o modules para su uso en un idioma específico, utilizando solo ese idioma (y / o el idioma en el que se implementa). Por ejemplo, protocolos de networking de alto nivel.

  • Se pueden implementar desde cero mediante una aplicación determinada.

Todas estas son implementaciones de usuario puro, pero algunos protocolos, por ejemplo, networkinges de bajo nivel, pueden implementarse en el kernel. Esto puede include una biblioteca de usuario de C nativa correspondiente (como con networkinges y filesystems) o el kernel (incluidos los modules de kernel independientes) puede proporcionar una interfaz de lenguaje independiente a través de procfs, /dev , etc.