Un datagrama es una unidad básica de transferencia asociada a una red de conmutación de paquetes . Los datagramas suelen estar estructurados en secciones de encabezado y carga útil . Proporcionan un servicio de comunicación sin conexión a través de una red de conmutación de paquetes. La red no garantiza la entrega, el tiempo de llegada ni el orden de llegada de los datagramas.
Historia
A principios de la década de 1970, el término datagrama fue creado combinando las palabras datos y telegrama por el relator del CCITT sobre conmutación de paquetes, [ 1 ] Halvor Bothner-By . [ 2 ] [ 3 ] Si bien la palabra era nueva, el concepto ya tenía una larga historia.
En 1964, Paul Baran describió, en un informe de la RAND Corporation , una red militar hipotética que debía resistir un ataque nuclear. Pequeños bloques de mensajes estandarizados , que contenían direcciones de origen y destino, se almacenaban y reenviaban en nodos informáticos de una red informática mallada 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 circuito virtual aparece en el diseño, [ 5 ] aunque no se construyó ninguna red.
En 1967, Donald Davies publicó un artículo fundamental en el que introdujo el paquete y la conmutación de paquetes . Su red central propuesta es similar a la propuesta por Paul Baran, aunque desarrollada de forma independiente. Presupone que "todos los usuarios de la red se proporcionarán algún tipo de control de errores". Su objetivo es una "red de comunicación de operador común". Para admitir el acceso remoto a los servicios informáticos por parte de terminales de usuario, que en aquel entonces se transmitían carácter a carácter, incluyó, en la periferia de la red, ordenadores de interfaz que convertían flujos de caracteres en flujos de paquetes y viceversa. [ 6 ] Davies escribió: "Estábamos bastante en contra del circuito virtual, porque creíamos que una red de comunicación solo 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 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. Sustituye a RFC 760. Actualizado por 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)