Red de datos nombrados - Enciclopedia
Red de Datos Nombrados (NDN) (relacionado con la red centrada en el contenido (CCN), red basada en contenido, red orientada a datos o red centrada en la información (ICN)) es una arquitectura de Internet futura propuesta que busca abordar problemas en las arquitecturas de Internet contemporáneas como IP. El NDN tiene sus raíces en un proyecto anterior, Red Centrada en el Contenido (CCN), que Van Jacobson presentó por primera vez públicamente en 2006. El proyecto NDN está investigando la evolución propuesta por Jacobson desde la arquitectura de red centrada en el host de hoy en día, IP, a una arquitectura de red centrada en datos (NDN). El objetivo declarado de este proyecto es que con un cambio conceptualmente simple, se podrían lograr implicaciones a largo plazo para cómo las personas diseñan, desarrollan, implementan y utilizan redes y aplicaciones.
El NDN tiene tres conceptos centrales que lo distinguen de otras arquitecturas de red. Primero, las aplicaciones nombran los datos y los nombres de los datos se utilizarán directamente en la转发 de paquetes de red; las aplicaciones de consumo solicitarán datos deseados por su nombre, por lo que las comunicaciones en NDN son impulsadas por el consumidor. Segundo, las comunicaciones de NDN están seguras de manera centrada en los datos, donde cada pieza de datos (llamada paquete de datos) será firmada criptográficamente por su productor y los componentes de carga útil sensible o los nombres pueden también ser encriptados con fines de privacidad. De esta manera, los consumidores pueden verificar el paquete independientemente de cómo se recupere. Tercero, NDN adopta un plano de转发 en estado, donde los encaminadores mantendrán un estado para cada solicitud de datos (llamada paquete de interés) y eliminarán el estado cuando se reciba un paquete de datos correspondiente. El plano de转发 en estado de NDN permite estrategias de encaminamiento inteligentes y elimina bucles.
Su premisa es que Internet se utiliza principalmente como una red de distribución de información, lo que no es una buena coincidencia para IP, y que la "cintura delgada" del futuro Internet debería basarse en datos nombrados en lugar de en hosts numerados. El principio subyacente es que una red de comunicación debería permitirle a un usuario centrarse en los datos que necesita, contenido nombrado, en lugar de tener que referirse a una ubicación específica y física donde se debe recuperar ese dato, hosts nombrados. La motivación para esto se deriva del hecho de que la mayoría absoluta del uso actual de Internet (un nivel del orden del "90% alto de tráfico") consiste en datos que se difunden desde un origen a varios usuarios. La red de datos nombrados ofrece el potencial para una amplia gama de beneficios, como el almacenamiento en caché de contenido para reducir la congestión y mejorar la velocidad de entrega, una configuración más sencilla de dispositivos de red y la integración de seguridad en el nivel de datos.
Resumen
Hoy en día, la arquitectura de Internet de la hora del reloj se centra en una capa de red universal, IP, que implementa la funcionalidad mínima necesaria para la interconexión global. La arquitectura de Internet contemporánea se basa en un modelo de conversación basado en hosts, que se creó en la década de 1970 para permitir que usuarios distribuidos geográficamente utilicen unos pocos grandes computadores inmovibles. Esta cintura delgada permitió el crecimiento explosivo de Internet al permitir que las tecnologías de capa baja y alta innovaran de manera independiente. Sin embargo, IP se diseñó para crear una red de comunicación, donde los paquetes nombraban solo los puntos finales de comunicación.
El crecimiento sostenido en el comercio electrónico, los medios digitales, las redes sociales y las aplicaciones de smartphones ha llevado a un uso dominante de Internet como una red de distribución. Las redes de distribución son más generales que las redes de comunicación, y resolver problemas de distribución mediante un protocolo de comunicación punto a punto es complejo y propenso a errores.
El proyecto de Red de Datos Nombrados (NDN) propuso una evolución de la arquitectura IP que generaliza el papel de esta cintura delgada, de manera que los paquetes puedan nombrar objetos además de los puntos finales de comunicación. En particular, NDN cambia la semántica del servicio de red de entregar el paquete a una dirección de destino dada a la recuperación de datos identificados por un nombre dado. El nombre en un paquete NDN puede nombrar cualquier cosa: un punto final, un fragmento de datos en una película o un libro, un comando para encender algunas luces, etc. Se espera que este cambio conceptualmente simple permita que las redes NDN apliquen prácticamente todas las propiedades bien probadas de ingeniería de Internet a una gama más amplia de problemas más allá de las comunicaciones de extremo a extremo. Ejemplos de cómo NDN aplica lecciones aprendidas de 30 años de ingeniería de red incluyen la auto-regulación del tráfico de red (a través del equilibrio de flujo entre los paquetes de interés y los paquetes de datos) y los elementos de seguridad (a través de firmas en todos los datos nombrados), que se integran en el protocolo desde el principio.
Historia
= Investigación temprana =
La filosofía detrás de NDN fue pionera por Ted Nelson en 1979 y luego por Brent Baccala en 2002. En 1999, el proyecto TRIAD en Stanford propuso evitar las búsquedas de DNS utilizando el nombre de un objeto para encaminar hacia una réplica cercana de él. En 2006, el proyecto de Arquitectura de Red Orientada a Datos (DONA) en UC Berkeley y ICSI propuso una arquitectura de red centrada en el contenido, que mejoró a TRIAD al incorporar la seguridad (autenticidad) y la persistencia como primordiales en la arquitectura. Van Jacobson dio una charla de Google, Una Nueva Forma de Ver la Red, en 2006 sobre la evolución de la red y argumentó que NDN era el siguiente paso. En 2009, PARC anunció su arquitectura centrada en el contenido dentro del proyecto CCNx, que fue liderado por Jacobson, que era investigador asociado en PARC en ese momento. El 21 de septiembre de 2009, PARC publicó las especificaciones para la interoperabilidad y lanzó una implementación inicial de código abierto (bajo GPL) del proyecto de investigación de Red Centrada en el Contenido en el sitio del Proyecto CCNx. NDN es una instancia de una dirección de investigación de red más general llamada red centrada en la información (ICN), bajo la cual han surgido diferentes diseños de arquitectura. El Grupo de Trabajo de Investigación de Internet (IRTF) estableció un grupo de investigación de ICN en 2012.
= Estado actual =
NDN incluye dieciséis investigadores principales financiados por la NSF en doce campus, y hay un creciente interés de la comunidad de investigación académica e industrial. Más de 30 instituciones forman un banco de pruebas global. Existe un gran volumen de investigación y un conjunto de código en crecimiento que contribuyen a NDN. El encaminador NDN se admite actualmente en Ubuntu 18.04 y 20.04, Fedora 20+, CentOS 6+, Gentoo Linux, Raspberry Pi, OpenWRT, FreeBSD 10+ y varias otras plataformas. Se admiten bibliotecas de clientes comunes para C++, Java, Javascript, Python, .NET Framework (C#) y los lenguajes de programación Squirrel. NDN-LITE es una biblioteca ligera de NDN diseñada para redes IoT y dispositivos limitados. NDN-LITE se está desarrollando activamente y hasta ahora, NDN-LITE ha sido adaptado a POSIX, RIOT OS, NRF boards. También están disponibles y se están desarrollando un simulador y un emulador de NDN. Se están desarrollando varias aplicaciones de clientes en áreas como conferencias en tiempo real, sistemas de archivos amigables con NDN, chat, intercambio de archivos y IoT.
Principios arquitectónicos clave
Principio de extremo a extremo: Permite el desarrollo de aplicaciones robustas frente a fallos de red. NDN mantiene y expande este principio de diseño.
Separación de plano de enrutamiento y plano de encaminamiento: Esto ha demostrado ser necesario para el desarrollo de Internet. Permite que el plano de encaminamiento funcione mientras el sistema de enrutamiento sigue evolucionando con el tiempo. NDN utiliza el mismo principio para permitir la implementación de NDN con la mejor tecnología de encaminamiento disponible mientras se realiza investigación continua sobre nuevos sistemas de enrutamiento.
Encaminamiento en estado: Los routers de NDN mantienen el estado de los paquetes de datos recientemente encaminados, lo que permite encaminamiento inteligente, detección de bucles, equilibrio de flujo, almacenamiento en caché ubicuo, etc.
Seguridad integrada: En NDN, la transferencia de datos se asegura a nivel de red mediante la firma y verificación de cualquier dato nombrado.
Facilitar la elección y la competencia del usuario: La arquitectura debería facilitar la elección y la competencia donde sea posible. Aunque no es un factor relevante en el diseño original de Internet, la implementación global ha demostrado que "la arquitectura no es neutral". NDN hace un esfuerzo consciente para empoderar a los usuarios finales y permitir la competencia.
Visión general de la arquitectura
= Tipos de paquetes =
Las comunicaciones en NDN están impulsadas por los receptores, es decir, los consumidores de datos, a través del intercambio de dos tipos de paquetes: Interés y Datos. Ambos tipos de paquetes llevan un nombre que identifica un fragmento de datos que se puede transmitir en un solo paquete de Datos.
Tipos de paquetes
Interés: Un consumidor coloca el nombre de un fragmento de datos deseado en un paquete de Interés y lo envía a la red. Los routers utilizan este nombre para encaminar el Interés hacia el productor de datos.
Datos: Una vez que el Interés llega a un nodo que tiene los datos solicitados, el nodo devolverá un paquete de Datos que contiene tanto el nombre como el contenido, junto con una firma de la clave del productor que une ambos. Este paquete de Datos sigue en reversa el camino tomado por el Interés para regresar al consumidor solicitante.
Para la especificación completa, véase la Especificación de Formato de Paquete NDN.
= Arquitectura del router =
Para llevar a cabo las funciones de encaminamiento de paquetes de Interés y Datos, cada router de NDN mantiene tres estructuras de datos y una política de encaminamiento:
Tabla de Interés Pendiente (PIT): almacena todos los Intereses que un router ha encaminado pero no ha satisfecho aún. Cada entrada de PIT registra el nombre de datos llevado en el Interés, junto con sus interfaces de entrada y salida.
Base de Información de Encaminamiento (FIB): una tabla de enrutamiento que mapea los componentes de nombre a interfaces. La FIB en sí misma se llena por un protocolo de enrutamiento basado en prefijo de nombre, y puede tener múltiples interfaces de salida para cada prefijo.
Almacenamiento de Contenido (CS): una caché temporal de paquetes de Datos que ha recibido el router. Dado que un paquete de Datos de NDN es significativo independientemente de su origen o destino, se puede almacenar en caché para satisfacer Intereses futuros. La estrategia de reemplazo es tradicionalmente el menos utilizado recientemente, pero la estrategia de reemplazo es determinada por el router y puede variar.
Estrategias de Encaminamiento: una serie de políticas y reglas sobre el encaminamiento de paquetes de interés y datos. Note que la Estrategia de Encaminamiento puede decidir descartar un Interés en ciertas situaciones, por ejemplo, si todos los enlaces upstream están congestionados o se sospecha que el Interés es parte de un ataque DoS. Estas estrategias utilizan una serie de disparadores en el tubo de encaminamiento y se asignan a prefijos de nombre. Por ejemplo, por defecto /localhost utiliza la estrategia de encaminamiento de multicast para encaminar intereses y datos a cualquier aplicación local ejecutándose en un NFD cliente. La estrategia de encaminamiento por defecto (es decir, "/") es la estrategia de mejor ruta.
Cuando llega un paquete de Interés, un router de NDN primero verifica el Almacenamiento de Contenido para buscar datos coincidentes; si existe, el router devuelve el paquete de Datos en la interfaz desde la que llegó el Interés. De lo contrario, el router consulta el nombre en su PIT y, si existe una entrada coincidente, simplemente registra la interfaz de entrada de este Interés en la entrada del PIT. En ausencia de una entrada del PIT coincidente, el router encaminará el Interés hacia el productor de datos basándose en la información en la FIB y en la estrategia de encaminamiento adaptativa del router. Cuando un router recibe Intereses para el mismo nombre de múltiples nodos descendientes, solo encamina el primero hacia el productor de datos.
Cuando llega un paquete de Datos, un router de NDN encuentra la entrada del PIT coincidente y encamina los datos a todas las interfaces listadas en esa entrada del PIT. Luego elimina esa entrada del PIT y almacena los datos en el Almacenamiento de Contenido. Los paquetes de Datos siempre toman el camino inverso a los Intereses, y, en ausencia de pérdidas de paquetes, un paquete de Interés produce un paquete de Datos en cada enlace, proporcionando equilibrio de flujo. Para recuperar objetos de contenido grandes que consisten en múltiples paquetes, los Intereses proporcionan un papel similar en el control del flujo de tráfico como los ACK de TCP en la Internet actual: un bucle de retroalimentación fino controlado por el consumidor de los datos.
Ni los paquetes de Interés ni los paquetes de Datos llevan ninguna dirección de host o interfaz; los routers encaminan los paquetes de Interés hacia los productores de datos basándose en los nombres llevados en los paquetes y encaminan los paquetes de Datos a los consumidores basándose en la información del estado del PIT establecida por los Intereses en cada salto. Esta simetría de intercambio de Interest/Data induce un bucle de control por salto (no debe confundirse con el enrutamiento simétrico o con el enrutamiento en general), y elimina la necesidad de cualquier concepto de nodos de origen o destino en la entrega de datos, a diferencia del modelo de entrega de paquetes de extremo a extremo de IP.
Nombres
= Diseño =
Los nombres de NDN son opacos para la red. Esto permite que cada aplicación elija el esquema de nombramiento que se ajuste a sus necesidades, y el nombramiento puede así evolucionar independientemente de la red.
= Estructura =
El diseño de NDN asume nombres estructurados de manera jerárquica, por ejemplo, un video producido por UCLA puede tener el nombre /ucla/videos/demo.mpg, donde ‘/’ delinea componentes de nombre en representaciones de texto, al igual que las URLs.