A datagram is a basic transfer unit associated with a packet-switched network. Datagrams are typically structured in header and payload sections. Datagrams provide a connectionless communication service across a packet-switched network. The delivery, arrival time, and order of arrival of datagrams need not be guaranteed by the network.
History
In the early 1970s, the term datagram was created by combining the words data and telegram by the CCITT rapporteur on packet switching,[1]Halvor Bothner-By.[2][3] While the word was new, the concept had already a long history.
In 1964, Paul Baran described, in a RAND Corporation report, a hypothetical military network having to resist a nuclear attack. Small standardized message blocks, bearing source and destination addresses, were stored and forwarded in computer nodes of a highly redundant meshed computer network. Baran wrote: "The network user who has called up a virtual connection to an end station and has transmitted messages ... might also view the system as a black box providing an apparent circuit connection".[4] The concept of what we now call a virtual circuit appears in the design,[5] although no network was built.
In 1967, Donald Davies published a seminal article in which he introduced the packet and packet switching. His proposed core network is similar to the one proposed by Paul Baran though developed independently. He assumes that "all users of the network will provide themselves with some kind of error control". His target is a "common-carrier communication network". To support remote access to computer services by user terminals, which at that time were transmitted character by character, he included, at the network periphery, interface computers that convert character flows into packet flows and vice versa.[6] Davies wrote: "we were really rather against the virtual circuit, because we believed that a communication network should only concern itself with packets, and that any protocols involved in assembling these packets should be done end-to-end, between the customers themselves."[5]
En 1970, Lawrence Roberts y Barry D. Wessler publicaron un artículo sobre ARPANET , la primera red de conmutación de paquetes multinodo. [ 7 ] Un documento 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 fiable de transferencia de mensajes a los ordenadores de los usuarios, lo que simplificaba enormemente el diseño de la red. Esto convirtió a ARPANET en lo que posteriormente se denominaría 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 operativa, argumentaban que los búferes de los enrutadores se agotarían rápidamente. Una vez que ARPANET estuvo operativa, argumentaban que la conmutación de paquetes nunca sería rentable sin la subvención del gobierno. Baran se enfrentó al mismo rechazo y, por lo tanto, no logró convencer a los militares de construir 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 datagramas de Davies puro. [ 13 ] El equipo de CYCLADES fue, por lo tanto, el primero en abordar el problema altamente complejo de proporcionar a las aplicaciones de usuario un servicio de circuito virtual confiable [ 14 ] mientras utilizaba el principio de extremo a extremo en un servicio de red que se sabía que podía producir pérdidas y reordenamientos de datagramas no despreciables. [ 15 ] Aunque la preocupación de Pouzin "en una primera etapa no es hacer un avance [sic] en la tecnología de conmutación de paquetes, sino construir una herramienta de comunicaciones confiable 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). Esta introdujo una importante evolución del concepto de datagrama: la fragmentación . [ 17 ] Con la fragmentación, algunas partes de la red global pueden usar paquetes de gran tamaño (típicamente redes de área local para minimizar la sobrecarga de procesamiento), mientras que otras pueden imponer paquetes de menor tamaño (típicamente redes de área amplia para minimizar el tiempo de respuesta). Los nodos de la 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 traducción de direcciones de red (NAT), ya ampliamente implementada, mediante la cual cada dirección pública puede ser compartida por varios dispositivos privados. [ 18 ] Con ello, se retrasó el agotamiento de direcciones de Internet , dejando tiempo suficiente para introducir IPv6 , la nueva generación del Protocolo de Internet que admite direcciones más largas. El principio inicial de transparencia total de extremo a extremo de la red para los datagramas se relajó para esto: los nodos NAT tuvieron que gestionar estados por conexión, lo que los hizo en parte orientados a la conexión .
En 2015, la IETF actualizó su RFC 2309 de 1998 [ 19 ] , que indicaba que los nodos de conmutación de datagramas realizaban una gestión activa de colas , para convertirla en una recomendación de mejores prácticas más sólida y detallada mediante la publicación del RFC 7567. Si bien el modelo inicial de colas de datagramas era sencillo de implementar y no requería más ajustes que la longitud 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. [ 20 ]
Definición
El término datagrama se define de la siguiente manera: [ 21 ]
"Una entidad de datos autónoma e independiente que contiene información suficiente para ser enrutada desde el ordenador de origen al de destino sin depender de intercambios previos entre este ordenador de origen y el de destino y la red de transporte."
— RFC 1594
Un datagrama debe ser autónomo y no depender de intercambios previos, ya que no existe 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. [ 22 ]
El servicio de datagramas se compara a menudo con un servicio de correo postal; el usuario solo proporciona la dirección de destino, pero no recibe garantía de entrega ni confirmación de recepción. Por lo tanto, se considera que el servicio de datagramas no es fiable . Este servicio enruta los datagramas sin crear previamente una ruta predeterminada. Por consiguiente, se considera que no tiene conexión . Tampoco se tiene en cuenta el orden en que se envían o reciben, ni el de otros datagramas. De hecho, muchos datagramas del mismo grupo pueden viajar por rutas diferentes antes de llegar al mismo destino en un orden distinto . [ 23 ]
Estructura
Cada datagrama consta de dos componentes: una cabecera y una carga útil de datos . La cabecera 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. Las cabeceras pueden incluir direcciones de origen y destino, así como campos de tipo y longitud . La carga útil son los datos que se transportarán. Este proceso de anidar cargas útiles de datos en una cabecera etiquetada 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 IP. Por ejemplo, UDP se ejecuta mediante un servicio de datagramas en la capa de internet. IP es un servicio de entrega de mensajes totalmente sin conexión, de mejor esfuerzo y no 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
- ↑ Bothner, H. (1975). "El CCITT estudia la conmutación de paquetes como parte del desarrollo de redes de datos públicas" . ACM SIGCOMM Computer Communication Review . 5 (2): 9– 17. doi : 10.1145/1024916.1024918 .
- ↑ 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): 40. Código Bib : 2010IComM..48k..40S . doi : 10.1109/MCOM.2010.5621965 .
- ↑ "Comment j'ai inventé le Datagramme" (en francés). Archivado del original el 28 de febrero de 2019.
- ↑ "Sobre redes de comunicaciones distribuidas" (PDF) . Archivado del original (PDF) el 26 de octubre de 2016.
- 1 2 Pelkey, James L. (27 de mayo de 1988). "Entrevista a Donald Davies" (PDF) . pág. 7.
- ↑ "Una red de comunicación digital para ordenadores que proporciona una respuesta rápida en terminales remotos" (PDF) . Archivado (PDF) del original el 9 de octubre de 2022.
- ↑ Lawrence Roberts; Barry D. Wessler (1970). "Desarrollo de redes informáticas para lograr el uso compartido de recursos" . Actas de la conferencia conjunta de informática de primavera del 5 al 7 de mayo de 1970 - AFIPS '70 (Primavera) . pág. 543. doi : 10.1145/1476936.1477020 . S2CID 9343511 .
- ↑ 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 - AFIPS '70 (Primavera) . págs. 551–567 . doi : 10.1145/1476936.1477021 . ISBN 978-1-4503-7903-8. S2CID 9647377 .
- ↑ "Especificaciones del PROCESADOR DE MENSAJES DE INTERFAZ para la interconexión de un host" (PDF) . Enero de 2014. Archivado del original (PDF) el 20 de julio de 2025.
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 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.
- ↑ Pelkey, James. "8.4 Protocolo de control de transmisión (TCP) 1973-1976" . Capitalismo empresarial e innovación: una historia de las comunicaciones informáticas 1968-1988 .
Arpanet tenía sus deficiencias, sin embargo, ya que no era una verdadera red de datagramas ni proporcionaba corrección de errores de extremo a extremo.
- ↑ "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."
- ↑ Roberts, L. (1988-01-01), "The arpanet and computer networks" , A history of personal workstations , Nueva York, NY, EE. UU.: Association for Computing Machinery, pp. 141–172 , doi : 10.1145/61975.66916 , ISBN 978-0-201-11259-7, consultado el 30 de noviembre de 2023
- 1 2 Pouzen, Louis. "Presentación y aspectos principales del diseño de la red de las Cícladas" . Archivado del original el 27 de septiembre de 2007.
- ↑ Ampliación de TCP para transacciones -- Conceptos . IETF . doi : 10.17487/RFC1379 . RFC 1379 .
- ↑ Bennett, Richard (septiembre de 2009). "Diseñado para el cambio: argumentos de extremo a extremo, innovación en Internet y el debate sobre la neutralidad de la red" (PDF) . Fundación de Tecnologías de la Información e Innovación. págs. 7, 11. Recuperado el 11 de septiembre de 2017 .
- ↑ V. Cerf ; Y. Dalal ; C. Sunshine (diciembre de 1974). ESPECIFICACIÓN DEL PROGRAMA DE CONTROL DE TRANSMISIÓN DE INTERNET . Grupo de Trabajo de Redes. doi : 10.17487/RFC0675 . RFC 675 .Obsoleto. Obsoleto según RFC 7805. NIC 2. INWG 72.
- ↑ J. Postel , ed. ( septiembre de 1981). PROTOCOLO DE INTERNET - ESPECIFICACIÓN DEL PROTOCOLO DEL 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. Deja obsoleto el RFC 760. Actualizado por los RFC 1349 , 2474 y 6864 .
- ↑ P. Srisuresh; M. Holdrege (agosto de 1999). Terminología y consideraciones del traductor de direcciones de red IP (NAT) . Grupo de trabajo de redes. doi : 10.17487/RFC2663 . RFC 2663 .Informativo.
- ↑ Zhang, Lixia; Partridge, Craig; Shenker, Scott; Wroclawski, John T.; Ramakrishnan, KK; Peterson, Larry; Clark, David D.; Minshall, Greg; Crowcroft, Jon (1998-04-01). "Recomendaciones sobre la gestión de colas y la prevención de la congestión en Internet" . Grupo de trabajo de ingeniería de Internet. RFC 2309.
- ↑ F. Baker ; G. Fairhurst, eds. (julio de 2015). Recomendaciones del 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 197. Deja obsoleto el RFC 2309 .
- ↑ A. Marine; J. Reynolds ; G. Malkin (marzo de 1994). FYI sobre preguntas y respuestas: respuestas a preguntas frecuentes de "nuevos usuarios de Internet" . Grupo de trabajo de redes. doi : 10.17487/RFC1594 . FYI 4. RFC 1594 .Obsoleto. Obsoleto según RFC 2664. Obsoleto según RFC 1325 .
- ^ Tanenbaum, Andrew S.; Wetherall, David J. (2011).Redes informáticas, quinta ediciónPearson. pág. 59. ISBN 978-0-13-255317-9.
- ↑ Métricas de reordenamiento de paquetes . IETF . Noviembre de 2006. doi : 10.17487/RFC4737 . RFC 4737 .
- Unidades de información
- Paquetes (tecnología de la información)