Pila de protocolos
La pila de protocolos o pila de red es una implementación de un conjunto de protocolos o familia de protocolos de redes informáticas. Algunos de estos términos se usan indistintamente, pero estrictamente hablando, suite es la definición de los protocolos de comunicación, y stack es la implementación de software de los mismos.
Los protocolos individuales dentro de una suite a menudo se diseñan con un solo propósito en mente. Esta modularización simplifica el diseño y la evaluación. Debido a que cada módulo de protocolo generalmente se comunica con otros dos, comúnmente se los imagina como capas en una pila de protocolos. El protocolo más bajo siempre se ocupa de la interacción de bajo nivel con el hardware de comunicaciones. Cada capa superior agrega capacidades adicionales. Las aplicaciones de usuario generalmente solo se ocupan de las capas superiores.
Descripción del conjunto de protocolos generales
T ~ ~ ~ T [A] [B]____[C]
Imagine tres computadoras: A, B y C. Tanto A como B tienen equipo de radio y pueden comunicarse a través de ondas de aire utilizando un protocolo de red adecuado (como IEEE 802.11). B y C están conectados a través de un cable, usándolo para intercambiar datos (nuevamente, con la ayuda de un protocolo, por ejemplo, el Protocolo punto a punto). Sin embargo, ninguno de estos dos protocolos podrá transportar información de A a C, porque estas computadoras están conceptualmente en redes diferentes. Se requiere un protocolo entre redes para conectarlos.
Uno podría combinar los dos protocolos para formar un tercero poderoso, dominando tanto la transmisión inalámbrica como por cable, pero se necesitaría un superprotocolo diferente para cada posible combinación de protocolos. Es más fácil dejar los protocolos base solos y diseñar un protocolo que pueda funcionar sobre cualquiera de ellos (el Protocolo de Internet es un ejemplo). Esto hará dos pilas de dos protocolos cada una. El protocolo entre redes se comunicará con cada uno de los protocolos base en su lenguaje más simple; los protocolos base no se comunicarán directamente entre sí.
Una solicitud en la computadora A para enviar una porción de datos a C es tomada por el protocolo superior, que (a través de cualquier medio) sabe que C es accesible a través de B. Por lo tanto, instruye al protocolo inalámbrico para que transmita el paquete de datos a B. En esta computadora, los manejadores de capas inferiores pasarán el paquete al protocolo entre redes, el cual, al reconocer que B no es el destino final, volverá a invocar funciones de nivel inferior. Esta vez, se utiliza el protocolo de cable para enviar los datos a C. Allí, el paquete recibido se pasa de nuevo al protocolo superior, que (siendo C el destino) lo pasará a un protocolo o aplicación superior en C.
En la implementación práctica, las pilas de protocolos a menudo se dividen en tres secciones principales: medios, transporte y aplicaciones. Un sistema operativo o plataforma en particular a menudo tendrá dos interfaces de software bien definidas: una entre las capas de medios y transporte, y otra entre las capas de transporte y las aplicaciones. La interfaz de medio a transporte define cómo el software de protocolo de transporte utiliza medios y tipos de hardware particulares y se asocia con un controlador de dispositivo. Por ejemplo, este nivel de interfaz definiría cómo el software de transporte TCP/IP se comunicaría con el controlador de interfaz de red. Los ejemplos de estas interfaces incluyen ODI y NDIS en el entorno de Microsoft Windows y DOS. La interfaz de aplicación a transporte define cómo los programas de aplicación hacen uso de las capas de transporte. Por ejemplo, este nivel de interfaz definiría cómo un programa de navegador web se comunicaría con el software de transporte TCP/IP. Ejemplos de estas interfaces incluyen conectores Berkeley y System V STREAMS en entornos similares a Unix y Winsock para Microsoft Windows.
Ejemplos
Protocolo | Layer |
---|---|
HTTP | Aplicación |
TCP | Transporte |
IP | Internet o red |
Ethernet | Enlace o enlace de datos |
IEEE 802.3ab | Física |
Capa de expansión
Una característica importante de muchas comunidades de interoperabilidad basadas en una pila de protocolos común es una capa de expansión, un término acuñado por David Clark
"Los protocolos cerrados están diseñados con el propósito específico de salvar las diferencias en las capas inferiores, por lo que no se requieren acuerdos comunes allí. En cambio, la capa proporciona las definiciones que permiten que la traducción ocurra entre una gama de servicios o tecnologías utilizados a continuación. Así, en términos algo abstractos, en y por encima de tal capa los estándares comunes contribuyen a la interoperación, mientras que debajo de la traducción de capa se utiliza. Tal capa se llama una "capa de espanta" en este papel. Como cuestión práctica, la interoperación real se logra mediante la definición y el uso de capas que abarcan eficazmente. Pero hay muchas maneras diferentes de que una capa de azotes puede ser elaborada."
En la pila de protocolos de Internet, Internet Protocol Suite constituye una capa expansiva que define un servicio de mejor esfuerzo para el enrutamiento global de datagramas en la Capa 3. Internet es la comunidad de interoperación basada en esta capa expansiva.
Contenido relacionado
404 (no encontrado)
Sistema operativo en tiempo real
Lisp de Emacs