1.5 Layering, encapsulation

1.5 Layering, encapsulation

¿Cómo abordar el diseño de sistemas complejos como Internet?

Introducción a la complejidad del sistema

  • El internet es un sistema extremadamente complejo, compuesto por aplicaciones, dispositivos, personas y hardware que interactúan entre sí.
  • Se busca entender cómo diseñar y discutir sobre este sistema complejo para facilitar la enseñanza y el aprendizaje.

Concepto de capas arquitectónicas

  • Se introducirá el concepto de "arquitectura en capas" para desglosar la complejidad del internet.
  • Se utilizará una analogía con los sistemas de aerolíneas para ilustrar cómo se pueden definir y discutir sistemas complejos.

Analogía con los viajes en avión

  • Un viaje en avión implica múltiples pasos: compra de boletos, registro, seguridad, embarque y llegada. Cada paso representa una parte del sistema.
  • Es útil pensar en funciones relacionadas tanto en el despegue como en el aterrizaje que juntas implementan un servicio desde origen hasta destino.

Ventajas de la arquitectura en capas

  • La estructura explícita permite identificar las diferentes partes del sistema y sus relaciones, facilitando un modelo de referencia claro.
  • La modularización del diseño permite realizar cambios sin afectar otras partes del sistema; por ejemplo, cambiar funciones de agentes sin impactar otros procesos.

Capas de la arquitectura del Internet

  • El internet tiene cinco capas: capa de aplicación, capa de transporte, capa de red, capa de enlace y capa física.
  • La capa de aplicación incluye protocolos que controlan el envío y recepción de mensajes entre piezas distribuidas. Se abordará primero esta capa debido al enfoque top-down del curso.

Detalles sobre las capas

  • La capa de transporte se encarga del traslado seguro o no seguro (dependiendo del protocolo utilizado), mientras que la capa de red transporta datos entre dispositivos finales.
  • La diferencia sutil entre transferencia host a host (capa de red) y proceso a proceso (capa de transporte), donde esta última puede ofrecer garantías adicionales.

¿Cómo se intercambian los datos en la capa de transporte?

Unidad de Datos y Mensajes

  • La unidad de datos que las entidades intercambian se conoce como un mensaje. En la capa de transporte, estos mensajes son enviados de una parte de la red a otra.
  • La capa de transporte toma un mensaje de la capa de aplicación y añade información adicional para crear una nueva unidad de datos llamada segmento.

Información en el Segmento

  • Es necesario incluir información en el segmento para identificar el proceso al que se entregará el mensaje en el destino, dado que pueden existir múltiples procesos activos.
  • Protocolos como TCP, que implementan transferencia confiable de datos, requieren incluir mucha información en el segmento para garantizar esta confiabilidad.

Proceso de Encapsulación

  • El proceso mediante el cual se toma una unidad de datos desde una capa superior y se le añade información para crear una nueva unidad es conocido como encapsulación.
  • Un protocolo a nivel de red encapsula el segmento y añade su propia cabecera (h_n), creando así un datagrama a nivel de red.

Flujos y Capas

  • El datagrama es la unidad protocolar utilizada a nivel de red; su cabecera contiene direcciones IP del host emisor y receptor.
  • A su vez, la capa enlace encapsula el datagrama añadiendo su propia información, resultando en un marco (frame).

Visualización del Flujo de Datos

  • Se observa cómo los datos fluyen hacia abajo por las capas del protocolo, donde se añaden progresivamente cabeceras hasta formar segmentos, datagramas y marcos.
  • Al fluir hacia arriba por la pila del protocolo, estas cabeceras son leídas y eliminadas conforme los datos avanzan.

Resumen Conceptual

  • Se han discutido ideas conceptuales importantes sobre la arquitectura por capas e introducido conceptos clave como encapsulación.
Video description

Video presentation: Computer Networks and the Internet. 1.5 Layering and encapsulation. Layered architectures. The layered Internet architecture. Encapsulation. Computer networks class. Jim Kurose Textbook reading: Section 1.5, Computer Networking: a Top-Down Approach (8th edition), J.F. Kurose, K.W. Ross, Pearson, 2020. See http://gaia.cs.umass.edu/kurose_ross for more open student resources.