Definición
Una guía de arquitectura de red que recomienda implementar funciones específicas de aplicación (especialmente las que requieren conocimiento de la aplicación para ser correctas) en los extremos comunicantes en lugar de en el núcleo de la red, de modo que la corrección, la fiabilidad o la aplicación de políticas se gestionen donde existe el contexto.
Principio
Principio
La funcionalidad que depende de la semántica de la aplicación o de la corrección extremo a extremo debe residir en los extremos; la red debe permanecer simple y ofrecer primitivas de transporte generales a menos que colocar funciones en el núcleo aporte beneficios claros y necesarios.
Demostración
Demostración
Ejemplo concreto: la fiabilidad extremo a extremo (confirmaciones y retransmisiones) implementada por los extremos (protocolos de transporte) en lugar de por routers intermedios; el cifrado a nivel de aplicación realizado en los extremos para garantizar la confidencialidad sin depender de dispositivos centrales.
Aplicación incorrecta
Aplicación incorrecta
Insistir en un emplazamiento puramente extremo a extremo incluso cuando el rendimiento, la latencia, la caché, la eficiencia en multicast o requisitos regulatorios/de seguridad justifican funciones intermedias (p. ej., proxies de cache, distribución de contenido, detección de intrusiones), llevando a diseños poco prácticos.
Consecuencia
Consecuencia
Promueve un núcleo de red más simple y flexible y sitúa la responsabilidad de la corrección y la semántica en las aplicaciones; sin embargo, desplaza la complejidad a los extremos y puede requerir duplicación o coordinación entre extremos, y puede coexistir con optimizaciones justificadas dentro de la red.
Inversión
Inversión
El inverso es un diseño que centraliza muchas funciones en el núcleo de la red (routers inteligentes, middleboxes con estado), lo que puede mejorar el rendimiento o aplicar políticas centralmente, pero aumenta la complejidad, reduce la transparencia extremo a extremo y puede frenar la innovación en los bordes.
Límite
Límite
Un principio orientador para el diseño de sistemas distribuidos e Internet, no una ley absoluta: se aplica cuando la implementación en los extremos es factible y eficiente, pero existen excepciones por rendimiento, escalabilidad, motivos legales o de seguridad; tampoco prescribe mecanismos de protocolo concretos.
Tensión semántica
Tensión semántica
Tensión entre la pureza arquitectónica (núcleo simple, lógica en los extremos) y el despliegue pragmático (usar servicios en la red para caché, compresión, seguridad); tensión entre la corrección en los extremos y el rendimiento del sistema o las restricciones regulatorias.
Síntesis
Síntesis
El principio extremo a extremo aconseja que la corrección y las funciones complejas dependientes de la aplicación pertenezcan a los extremos donde existe el contexto, posibilitando un núcleo de red simple y de propósito general; en la práctica, los diseñadores equilibran la responsabilidad de los extremos con servicios selectivos en la red cuando el rendimiento, la política o la viabilidad lo exigen.