¿Cuál es la diferencia exacta entre paquetes y datagramas que se utilizan en redes de comunicación?


Respuesta 1:

Traté de dar lo más breve posible, así que comencemos con los paquetes:

Paquetes:

Cuando usamos un protocolo orientado a la conexión para la comunicación, se utilizan paquetes (o básicamente nos referimos a ellos), ya sabe acerca de la orientación a la conexión pero aún quiere borrar, lo que significa que la ruta se decide antes de que se produzca la comunicación.

Aquí está la estructura de segmento de un paquete TCP:

Como puede ver, el segmento de datos tiene un tamaño muy inferior y se proporciona mucha otra información para una comunicación confiable. Por confiable, significa que cuando el receptor recibe un paquete, se realiza una verificación de error y flujo, si todo va bien, entonces envía un acuse de recibo con el número de paquete, después de recibir este remitente ACK enviará el siguiente paquete. Si se cae algún paquete o se recibe un paquete dañado, el receptor envía NACK con el número de paquete y el remitente volverá a transmitir el mismo paquete.

Por lo tanto, se usa principalmente cuando hay una necesidad en la que no se puede comprometer un solo paquete como FTP, Telnet, etc. No se desea recibir un archivo modificado o dañado.

Datagrama:

Los datagramas son muy interesantes, no les importa si los datos se llegan a su destino o no, si se produjo algún error durante la transmisión, en resumen, no les importa. Aquí es la estructura de segmento que utiliza UDP.

Como puede ver, no hay información como número de secuencia, ACK, FIN, nada. Datagram no decide la ruta antes de transmitir, ya que es un protocolo sin conexión, no garantiza la entrega.

Entonces, ¿por qué uno usa eso? Bueno, es muy útil en la transmisión de medios donde puedes tolerar una caída un poco. También se usa en servidores DHCP y muchos más.

Ambos tienen sus propias ventajas y desventajas dependiendo de sus necesidades.

Ahora solo quiero aclarar una cosa, todo lo que he mencionado anteriormente está relacionado con TCP y UDP. Recuerde una cosa, siempre es responsabilidad del protocolo cómo enrutar los paquetes en la red, qué tipo de verificación de integridad se debe hacer, cuál sería el tamaño de un paquete. Entonces diría que no debe confundirse con terminología como datagramas y paquetes, porque es solo un segmento de datos. Es el protocolo quien le da un nombre.

Fuente de la figura:

REDES INFORMÁTICAS Un enfoque de arriba hacia abajo [Sexta edición]

por James F. Kurose, Universidad de Massachusetts, Amherst Keith W. Ross, Instituto Politécnico de la Universidad de Nueva York


Respuesta 2:

Los datos en la capa de red se llaman datagramas. IPv4 fragmenta los datagramas. Cada fragmento se llama paquete. La razón de la fragmentación es enviar datos de gran tamaño (datagramas) a través de un enlace con una MTU limitada (unidad de transmisión máxima, generalmente 1500 Byte). Por ejemplo, si un datagrama con un tamaño de 3.000 bytes está a punto de enviarse desde un host a un enlace que tiene una MTU de 1500 bytes, el enrutador fragmentará el datagrama (3000 bytes) por el tamaño de la MTU que es 1500 byte para generar K paquetes, que es igual a 3000/1500 = 2 paquetes. En resumen, un datagrama es n número de paquetes.


Respuesta 3:

Por lo que sé,

Un paquete es un bloque de datos donde el tamaño puede variar de 7 a 65542 bytes.

Usamos el término paquete cuando se trata de TCP, orientado a la conexión.

Mientras que, datagrama es un sinónimo de paquetes y se utiliza en UDP, sin conexión.

Los datagramas IP también se denominan paquetes IP por muchos.

Entonces, no hay mucha diferencia como tal.