# Datagrama

Un datagrama es un paquete de datos que constituye el mínimo bloque de información en una red de conmutación por datagramas, la cual es uno de los dos tipos de protocolo de comunicación por conmutación de paquetes usados para encaminar por rutas diversas dichas unidades de información entre nodos de una red, por lo que se dice que no está orientado a conexión. La alternativa a esta conmutación de paquetes es el circuito virtual, orientado a conexión.

## Estructura del modelo

Los datagramas se componen de:
* una cabecera con información de control
* los propios datos que se desean transmitir.

## Funcionamiento

En la técnica de datagramas, cada paquete se trata de forma independiente gracias a que puede contener en la cabecera la dirección de origen y destinatario. Mediante un encaminador, también conocido como enrutador o, más popularmente, router, la red puede encaminar cada fragmento hacia el receptor o ETD (Equipo Terminal de Datos) por rutas diferentes.
Este funcionamiento es la diferencia esencial con la conmutación por circuito virtual y determina sus virtudes y defectos, que también condicionan su idoneidad al tipo de aplicación de la red.

## Ventajas e inconvenientes

Esta flexibilidad permite:
* control del tráfico para aprovechar la capacidad de canal de cada tramo de red,
* adaptarse ante congestiones y caídas de nodos intermedios, evitando bloqueos
* abaratar costes, al poder ajustar el ancho de banda y número de líneas precisados.
Sin embargo, esta técnica también impide garantizar:
* una velocidad constante del flujo de datos,
* que cada paquete se reciba en el orden original,
* que todos lleguen a su destino.
Por todo ello, depende de nuevos procedimientos para reconstruir la información adecuadamente en el destino. Además, aumenta el volumen de tráfico un poco, al repetirse información de cabecera como la dirección a cada trama.

## Uso en internet

Como internet es una red de conmutación de paquetes, tiene protocolos:
* orientados a conexión, donde el protocolo aplicado para transportar los paquetes es TCP, del inglés Transmission Control Protocol ("protocolo de control de transmisión"), que garantiza que todos los paquetes lleguen correctamente y en orden,
* no orientados a conexión, donde el protocolo aplicado es UDP, del inglés User Datagram Protocol ("protocolo de datagrama de usuario"), que no garantiza la entrega de los datagramas y, sin embargo, esta propiedad de UDP es precisamente, la que hace tan interesantes los protocolos SNMP, del inglés Simple Network Management Protocol ("protocolo de gestión de redes sencillas"), por cargar poco la red y por su absoluta independencia del hardware entre el que se facilita el intercambio de información.
Los datagramas tienen cabida en los servicios de red no orientados a la conexión. Los datagramas IP son las unidades principales de información de Internet. Los términos trama, mensaje, paquete de red y segmento también se usan para describir las agrupaciones de información lógica en las diversas capas del modelo de referencia OSI y en los diversos círculos tecnológicos.

## Ejemplos

* UDP, uno de los protocolos de internet.
* IPX/SPX, del fabricante Novell Netware.