stringtranslate.com

Datagrama

Un datagrama es una unidad de transferencia básica asociada a una red de conmutación de paquetes . Los datagramas suelen estar estructurados en secciones de encabezado y carga útil . Los datagramas proporcionan un servicio de comunicación sin conexión a través de una red de conmutación de paquetes. La entrega, el tiempo de llegada y el orden de llegada de los datagramas no necesitan estar garantizados por la red.

Historia

A principios de la década de 1970, el término datagrama fue creado mediante la combinación de las palabras datos y telegrama por el ponente del CCITT sobre conmutación de paquetes, [1] Halvor Bothner-By . [2] [3] Aunque la palabra era nueva, el concepto ya tenía una larga historia.

En 1964, Paul Baran describió, en un informe de la Corporación RAND , una red militar hipotética que tenía que resistir un ataque nuclear. Pequeños bloques de mensajes estandarizados , con direcciones de origen y destino, se almacenaban y reenviaban en nodos informáticos de una red informática en malla altamente redundante. Baran escribió: "El usuario de la red que ha establecido una conexión virtual con una estación final y ha transmitido mensajes... también podría ver el sistema como una caja negra que proporciona una conexión de circuito aparente". [4] El concepto de lo que ahora llamamos un circuito virtual aparece en el diseño, [5] aunque no se construyó ninguna red.

En 1967, Donald Davies publicó un artículo seminal en el que introdujo el paquete y la conmutación de paquetes . Su propuesta de red central es similar a la propuesta por Paul Baran, aunque desarrollada de forma independiente. Davies asume que "todos los usuarios de la red se proveerán de algún tipo de control de errores". Su objetivo es una "red de comunicación de portadora común". Para soportar el acceso remoto a los servicios informáticos por parte de los terminales de usuario, que en ese momento se transmitían carácter a carácter, incluyó, en la periferia de la red, computadoras de interfaz que convierten los flujos de caracteres en flujos de paquetes y viceversa. [6] Davies escribió: "Realmente estábamos bastante en contra del circuito virtual, porque creíamos que una red de comunicación sólo debería ocuparse de los paquetes, y que cualquier protocolo involucrado en el ensamblaje de estos paquetes debería realizarse de extremo a extremo, entre los propios clientes". [5]

En 1970, Lawrence Roberts y Barry D. Wessler publicaron un artículo sobre ARPANET , la primera red de conmutación de paquetes de múltiples nodos. [7] Un artículo adjunto describía sus nodos de conmutación (los IMP ) y sus formatos de paquetes. [8] El núcleo de la red realizaba la conmutación de datagramas como en el modelo de Baran y Davies, pero el servicio ofrecido a los hosts por la red estaba orientado a la conexión . [9] [10] De este modo, se ofrecía un servicio de transferencia de mensajes fiable a los ordenadores de los usuarios, simplificando así enormemente el diseño de la red. Esto hizo de ARPANET lo que vendría a llamarse una red de circuitos virtuales . [11]

Roberts presentó la idea de la conmutación de paquetes a los profesionales de las comunicaciones y se enfrentó a la ira y la hostilidad. Antes de que ARPANET estuviera en funcionamiento, argumentaron que los buffers de los enrutadores se agotarían rápidamente. Después de que ARPANET estuvo en funcionamiento, argumentaron que la conmutación de paquetes nunca sería económica sin el subsidio del gobierno. Baran se enfrentó al mismo rechazo y, por lo tanto, no logró convencer a los militares para que construyeran una red de conmutación de paquetes. [12]

En 1973, Louis Pouzin presentó su diseño para CYCLADES , la primera red a gran escala que implementaba el modelo de datagrama de Davies puro. [13] El equipo de CYCLADES ha sido así el primero en abordar el problema altamente complejo de proporcionar a las aplicaciones de usuario un servicio de circuito virtual fiable [14] mientras se utiliza el principio de extremo a extremo en un servicio de red que se sabe que posiblemente produzca pérdidas y reordenamientos de datagramas no despreciables. [15] Aunque la preocupación de Pouzin "en una primera etapa no es hacer un gran avance [sic] en la tecnología de conmutación de paquetes, sino construir una herramienta de comunicaciones fiable para Cyclades", [13] dos miembros de su equipo, Hubert Zimmerman y Gérard Le Lann , hicieron contribuciones significativas al diseño del TCP de Internet que Vint Cerf , su diseñador principal, reconoció. [16]

En 1981, la Agencia de Proyectos de Investigación Avanzada de Defensa ( DARPA ) publicó la primera especificación del Protocolo de Internet (IP). Introdujo una importante evolución del concepto de datagrama: la fragmentación . [17] Con la fragmentación, algunas partes de la red global pueden utilizar tamaños de paquete grandes (normalmente redes de área local para minimizar la sobrecarga de procesamiento), mientras que otras pueden imponer tamaños de paquete más pequeños (normalmente redes de área amplia para minimizar el tiempo de respuesta). Los nodos de red pueden fragmentar un datagrama en varios paquetes más pequeños.

En 1999, el Grupo de Trabajo de Ingeniería de Internet (IETF) sancionó el uso de la ya ampliamente implementada traducción de direcciones de red (NAT), por la cual cada dirección pública puede ser compartida por varios dispositivos privados. [18] Con ella, se retrasó el inminente agotamiento de las direcciones de Internet , dejando tiempo suficiente para introducir IPv6 , la nueva generación de protocolo de Internet que admite direcciones más largas. Para ello, se relajó el principio inicial de transparencia total de la red de extremo a extremo para los datagramas: los nodos NAT tenían que gestionar estados por conexión, lo que los hacía en parte orientados a la conexión .

En 2015, el IETF actualizó su RFC  2309 de 1998 , que indicaba que los nodos de conmutación de datagramas realizan una gestión activa de colas (AQM), para convertirla en una recomendación de mejores prácticas actual más sólida y detallada mediante la publicación del RFC  7567. Si bien el modelo de colas de datagramas inicial era simple de implementar y no necesitaba más ajustes que las longitudes de las colas, se consideró necesario el soporte de mecanismos más sofisticados y parametrizados "para mejorar y preservar el rendimiento de Internet" ( RED , ECN , etc.). También se solicitó una mayor investigación sobre el tema, con una lista de elementos identificados. [19]

Definición

El término datagrama se define de la siguiente manera: [20]

"Una entidad de datos autónoma e independiente que transporta suficiente información para ser enviada desde la computadora de origen a la de destino sin depender de intercambios previos entre esta computadora de origen y destino y la red de transporte".

—  RFC 1594

Un datagrama debe ser autónomo sin depender de intercambios anteriores porque no hay una conexión de duración fija entre los dos puntos de comunicación como ocurre, por ejemplo, en la mayoría de las conversaciones telefónicas de voz. [21]

El servicio de datagramas se compara a menudo con un servicio de entrega de correo; el usuario sólo proporciona la dirección de destino, pero no recibe ninguna garantía de entrega ni confirmación en caso de recepción exitosa. Por lo tanto, se considera que el servicio de datagramas no es confiable . El servicio de datagramas enruta los datagramas sin crear primero una ruta predeterminada. Por lo tanto, se considera que el servicio de datagramas no tiene conexión . Tampoco se tiene en cuenta el orden en el que se envían o reciben este y otros datagramas. De hecho, muchos datagramas del mismo grupo pueden viajar por diferentes rutas antes de llegar al mismo destino en un orden diferente . [22]

Estructura

Cada datagrama tiene dos componentes, un encabezado y una carga útil de datos . El encabezado contiene toda la información necesaria para el enrutamiento desde el equipo de origen hasta el destino sin depender de intercambios previos entre el equipo y la red. Los encabezados pueden incluir direcciones de origen y destino, así como campos de tipo y longitud . La carga útil son los datos que se van a transportar. Este proceso de anidación de cargas útiles de datos en un encabezado etiquetado se denomina encapsulación .

Ejemplos

Protocolo de Internet

El Protocolo de Internet (IP) define estándares para varios tipos de datagramas. La capa de Internet es un servicio de datagramas proporcionado por un IP. Por ejemplo, UDP es ejecutado por un servicio de datagramas en la capa de Internet. IP es un servicio de entrega de mensajes totalmente sin conexión, de máximo esfuerzo y poco confiable. TCP es un protocolo de nivel superior que se ejecuta sobre IP y proporciona un servicio confiable orientado a la conexión.

Véase también

Referencias

  1. ^ "El CCITT estudia la conmutación de paquetes como parte del desarrollo de redes públicas de datos".
  2. ^ Rémi Després (noviembre de 2010). "Circuitos virtuales X.25 - Transpac en Francia - Redes de datos anteriores a Internet". Revista de comunicaciones IEEE . 48 (10). doi :10.1109/MCOM.2010.5621965.
  3. ^ "Cómo inventé el datagrama" (en francés). Archivado desde el original el 28 de febrero de 2019.
  4. ^ "Sobre las redes de comunicaciones distribuidas" (PDF) . Archivado desde el original (PDF) el 26 de octubre de 2016.
  5. ^ ab Pelkey, James L. (27 de mayo de 1988). "Entrevista a Donald Davies" (PDF) . pág. 7.
  6. ^ "Una red de comunicación digital para ordenadores que ofrece una respuesta rápida en terminales remotas" (PDF) . Archivado (PDF) desde el original el 2022-10-09.
  7. ^ Lawrence Roberts; Barry D. Wessler (1970). "Desarrollo de redes informáticas para lograr la compartición de recursos". Actas de la conferencia conjunta de informática de primavera del 5 al 7 de mayo de 1970 sobre - AFIPS '70 (primavera) . pág. 543. doi :10.1145/1476936.1477020. S2CID  9343511.
  8. ^ Frank E Heart; RE Kahn; Severo M Ornstein; William R Crowther; David C Walden (1970). "El procesador de mensajes de interfaz para la red informática ARPA". Actas de la conferencia conjunta de informática de primavera del 5 al 7 de mayo de 1970 sobre - AFIPS '70 (primavera) . págs. 551–567. doi :10.1145/1476936.1477021. ISBN 978-1-4503-7903-8.S2CID 9647377  .
  9. ^ "PROCESADOR DE MENSAJES DE INTERFAZ Especificaciones para la interconexión de un host" (PDF) . Enero de 2014. tres parámetros especifican de forma única una conexión entre los hosts de origen y destino." "El IMP de destino devuelve un acuse de recibo positivo de la recepción del mensaje al IMP de origen, que a su vez pasa este acuse de recibo al host de origen." "Cada enlace es unidireccional y está controlado por la red, de modo que no se puede enviar más de un mensaje a la vez a través de él.
  10. ^ Pelkey, James. "8.4 Transmission Control Protocol (TCP) 1973-1976". Capitalismo emprendedor e innovación: una historia de las comunicaciones informáticas 1968-1988 . Sin embargo, Arpanet tenía sus deficiencias, ya que no era una verdadera red de datagramas ni proporcionaba corrección de errores de extremo a extremo.
  11. ^ "Entrevista con LOUIS POUZIN realizada por Andrew L. Russell" (PDF) . Abril de 2012. Arpanet era un circuito virtual. "Esencialmente, un servicio de circuito virtual que utilizaba datagramas internos.
  12. ^ Roberts, L. (1 de enero de 1988), "Arpanet y las redes informáticas", Una historia de las estaciones de trabajo personales , Nueva York, NY, EE. UU.: Association for Computing Machinery, págs. 141-172, doi : 10.1145/61975.66916, ISBN 978-0-201-11259-7, consultado el 30 de noviembre de 2023
  13. ^ ab Pouzen, Louis. "Presentación y principales aspectos de diseño de la red de las Cícladas". Archivado desde el original el 27 de septiembre de 2007.
  14. ^ Ampliación de TCP para transacciones: conceptos. doi : 10.17487/RFC1379 . RFC 1379.
  15. ^ Bennett, Richard (septiembre de 2009). "Designed for Change: End-to-End Arguments, Internet Innovation, and the Net Neutrality Debate" (PDF) . Fundación para la Tecnología de la Información y la Innovación. pp. 7, 11. Consultado el 11 de septiembre de 2017 .
  16. ^ V. Cerf ; Y. Dalal ; C. Sunshine (diciembre de 1974). ESPECIFICACIÓN DEL PROGRAMA DE CONTROL DE TRANSMISIÓN POR INTERNET. Grupo de trabajo de redes. doi : 10.17487/RFC0675 . RFC 675. Obsoleto. Quedó obsoleto según RFC 7805. NIC 2. INWG 72.
  17. ^ J. Postel , ed. (septiembre de 1981). PROTOCOLO DE INTERNET - ESPECIFICACIÓN DEL PROTOCOLO DE PROGRAMA DE INTERNET DE DARPA. IETF . doi : 10.17487/RFC0791 . STD 5. RFC 791. IEN 128, 123, 111, 80, 54, 44, 41, 28, 26. Estándar de Internet 5. Obsoleto RFC 760. Actualizado por RFC 1349, 2474 y 6864.
  18. ^ P. Srisuresh; M. Holdrege (agosto de 1999). Terminología y consideraciones del traductor de direcciones de red (NAT) IP. Grupo de trabajo de redes. doi : 10.17487/RFC2663 . RFC 2663. Informativo.
  19. ^ F. Baker ; G. Fairhurst, eds. (julio de 2015). Recomendaciones de la IETF sobre la gestión activa de colas. Grupo de trabajo de ingeniería de Internet . doi : 10.17487/RFC7567 . ISSN  2070-1721. BCP 197. RFC 7567. Mejores prácticas actuales. RFC 2309 obsoleto .
  20. ^ A. Marine; J. Reynolds ; G. Malkin (marzo de 1994). FYI sobre preguntas y respuestas: respuestas a las preguntas más frecuentes de los "nuevos usuarios de Internet". Grupo de trabajo de redes. doi : 10.17487/RFC1594 . FYI 4. RFC 1594. Obsoleto. Queda obsoleto según RFC 2664. Queda obsoleto según RFC 1325.
  21. ^ Tanenbaum, Andrew S.; Wetherall, David J. (2011).Redes de computadoras, quinta edición. Pearson. Pág. 59. ISBN 978-0-13-255317-9.
  22. ^ Métricas de reordenamiento de paquetes. Noviembre de 2006. doi : 10.17487/RFC4737 . RFC 4737.