type tabla rapido que protocolos protocol network mas los entre ejemplos differences diferencias diferencia comparativa and networking tcp udp

networking - tabla - Transmisión TCP vs mensaje UDP



tcp vs udp diferencias (5)

La especialidad sobre TCP es que este comportamiento es transparente para el usuario resp. la aplicación.

Lo único que tiene que hacer la aplicación es llamar a send() y recv() para poder enviar y obtener datos.

Las capas a continuación aseguran que los datos se reciben exactamente en el orden en que se enviaron, y que los datos faltantes se retransmiten si "permanecen perdidos".

UDP, OTOH, mantiene los datos de una llamada send() juntos, incluso si se divide en varios paquetes IP. De esta manera, estos datos pueden verse como un datagrama.

TCP está orientado a la secuencia, lo que significa que los datos se transfieren como una secuencia continua de bytes. Pero lo que me confunde es que TCP crea segmentos y pasa esto a IP. IP crea paquetes encapsula segmentos y los transfiere. Entonces, ¿dónde exactamente la corriente continua aquí?

UDP por otro lado está orientado a mensajes. Recibe mensajes de la capa de aplicación, crea datagramas y los empuja a IP. Hasta ahora es lo mismo que TCP, en lugar de un datagrama creado y presionado hacia abajo. ¿Qué hace que este protocolo sea un mensaje orientado?


La interfaz / API presentada al usuario (programador) de estos protocolos son:

UDP

Orientado a mensajes, tiene una API (send / recv y similar) que le brinda la capacidad de enviar un datagrama y recibir un datagrama. 1 resultado de la llamada send () en 1 datagrama enviado, y 1 llamada recv () recibirá exactamente 1 datagrama.

TCP

Orientado a la transmisión, tiene una API (send / recv y similar) que le permite enviar o recibir una transmisión de bytes. No se conservan los límites de los mensajes, TCP puede agrupar los datos de muchas llamadas send () en un segmento, o podría dividir los datos de una llamada send () en muchos segmentos, pero eso es transparente para las aplicaciones que se encuentran sobre TCP. y recv () solo le devuelve datos, sin relación con cuántas llamadas send () produjeron los datos que recibe.


Mucha confusión aquí. Déjame aclarar.

TCP / IP es un protocolo orientado a flujos, paquetes y conexiones. UDP es solo un protocolo orientado a paquetes. No establece conexión primero.

Digamos que está utilizando un programa Java para conectarse a una red en su aplicación llamando a la clase java.net.Socket en el lado del cliente y java.net.ServerSocket en el lado del servidor. Una vez establecida la conexión se inicia la transmisión de datos. La pregunta que surge es: ¿se envían los datos en flujo (Codata o flujo infinito) o en un paquete si elijo TCP? La respuesta es que los datos recibidos por el método TCP son secuencias, pero TCP las convierte en paquetes antes de enviar la pila de lavel inferior. Básicamente, la capa de aplicación anterior envía los datos en secuencia a la capa TCP y TCP los descompone en paquetes a la capa de red y realiza paquetes a transmisión mientras recibe información del lado del servidor (recepción) porque su aplicación Java solo puede entender Corriente. La transmisión de archivos se prefiere a través de TCP a través de UDP porque no puede permitirse perder paquetes.

UDP, por otro lado, es un protocolo orientado a paquetes donde la aplicación como Java class java.net.DatagramPacket; java.net.DatagramPacket; import java.net.DatagramsSocket crea un paquete primero antes de hablar con UDP, y el paquete se envía con información adicional mediante protocolos UDP / IP al lado del servidor. Tenga en cuenta que algunas aplicaciones pueden presentar los datos como una transmisión cuando el protocolo subyacente es UDP. Sin embargo, esta es la capa de un protocolo adicional sobre UDP, y no es algo inherente al protocolo UDP en sí. La transmisión en vivo de TV es generalmente UDP porque no le preocupa la pérdida de paquetes.


TCP es un protocolo orientado a la conexión, lo que significa que primero establece una conexión con el receptor y luego envía los datos en segmentos (PDU para la capa de transporte) que se realiza mediante paquetes IP. De esta manera se llama flujo porque mantiene el flujo de datos entre los extremos y durante la transferencia.

UDP es un protocolo de transporte sin conexión (como IP) con una unidad de datos llamada datagrama. Entonces, a diferencia de tcp, UDP transfiere datos sin configurar una conexión, simplemente enviando mensajes de datagramas a la capa IP para ser transferidos.


TCP está orientado a la transmisión porque puede ensamblar datos en un formato contiguo. Por ejemplo, tenías datos del número 1 a 4000 bytes. Ahora se dividirá en segmentos TCP donde cada segmento tendrá un número de secuencia, digamos que primero es 1-1200 byte, el segundo es 1201 - 2400 y así sucesivamente.

Puede ser entregado fuera de servicio mientras se envía a través de datagramas de IP, pero luego se ensambla en datos contiguos apareciendo como un flujo. El número de secuencia ayuda a reordenar los paquetes.

Una explicación más profunda es:

Un flujo de bytes consiste en una gran parte de datos sin segmentos u otras irregularidades. Con los datagramas (más pequeños), los fragmentos de datos se envían y reciben a la vez como un todo. En la práctica, esto significa que con los datagramas cada llamada de envío / escritura envía un paquete, y cada llamada de lectura / recepción recibe un paquete, mientras que con el protocolo de flujo, los datos pueden enviarse y recibirse de cualquier manera. Por ejemplo, un remitente puede llamar a send () diez veces, mientras que el receptor recibe todos esos datos con una llamada de recibo. Con datagramas, diez enviar llamadas significa diez paquetes y diez recibir llamadas

Datagramas y arroyos

Corrientes de bytes