jueves, 25 de junio de 2015

Diferencias entre los protocolos TCP y UDP


El protocolo UDPUDP es un protocolo no orientado a conexión. Es decir cuando una maquina A envía paquetes a una maquina B, el flujo es unidireccional. La transferencia de datos es realizada sin haber realizado previamente una conexión con la maquina de destino (maquina B), y el destinatario recibirá los datos sin enviar una confirmación al emisor (la maquina A). Esto es debido a que la encapsulación de datos enviada por el protocolo UDP no permite transmitir la información relacionada al emisor. Por ello el destinatario no conocerá al emisor de los datos excepto su IP.

El protocolo TCPContrariamente a UDP, el protocolo TCP está orientado a conexión. Cuando una máquina A envía datos a una máquina B, la máquina B es informada de la llegada de datos, y confirma su buena recepción. Aquí interviene el control CRC de datos que se basa en una ecuación matemática que permite verificar la integridad de los datos transmitidos. De este modo, si los datos recibidos son corruptos, el protocolo TCP permite que los destinatarios soliciten al emisor que vuelvan a enviar los datos corruptos. 




miércoles, 24 de junio de 2015

Interfaz de Programación de Aplicaciones UDP

La interfaz de aplicación que ofrece UDP se describe en el RFC 768. Dicha interfaz proporciona:
  • La creación de nuevos puertos de recepción.
  • La recepción de operaciones que devuelven los bytes de datos y un indicador de puerto fuente y una dirección fuente IP.
  • El envío de operaciones que tienen como parámetros los datos, los puertos fuente y destino y las direcciones.
La forma en la que está implementado depende de cada vendedor.
Hay que ser conscientes de que UDP e IP no proporcionan entrega garantizada, control de flujo o recuperación de errores, así que estos mecanismos tienen que ser soportados por las aplicaciones.
Las aplicaciones estándares que utilizan UDP son:
  • Protocolo de Transferencia de Ficheros Trivial (TFTP)
  • Sistema de Nombres de Dominio (DNS) servidor de nombres
  • Llamada a Procedimiento Remoto (RPC), usado por el Sistema de Ficheros en Red (NFS)
  • Sistema de Computación de Redes (NCS)
  • Protocolo de Gestión Simple de Redes (SNMP)

Formato del Datagrama UDP

Cada datagrama UDP se envía con un único datagrama IP. Aunque el datagrama IP se puede fragmentar durante la transmisión, la implementación de recepción IP lo re-ensamblará antes de presentarlo a la capa UDP. Todas las implementaciones IP están preparadas para aceptar datagramas de 576 bytes, permitiendo un tamaño máximo de cabacera IP de 60 bytes sabiendo que un datagrama UDP de 516 bytes lo aceptan todas las implementaciones. Muchas implementaciones aceptarán datagramas mayores, aunque no se puede asegurar. El datagrama UDP tiene una cabecera de 16 bytes que se describe en la figura siguiente:
Figura: Formato de Datagrama UDP



Donde:puerto de origenIndica el puerto del proceso que envía. Este es el puerto que se direcciona en las respuestas.puerto destinoEspecifica el puerto del proceso destino en el host de destino.longitudEs el tamaño (en bytes) de este datagrama de usuario incluyendo la cabecera.suma de comprobación (checksum)Es un campo opcional de 16 bits en complemento a uno de la suma en complemento a uno de una cabecera pseudo-IP, la cabecera UDP y los datos UDP. La cabecera pseudo-IP contiene la dirección IP fuente y destino, el protocolo y la longitud UDP:

Figura: Cabecera Pseudo-IP

PROTOCOLO DE DIAGRAMAS  DE USUARIO (UDP)

Figura: Protocolo de Datagrama de Usuario (UDP)




UDP es un protocolo estándar con número 6 de STD. Este protocolo se describe en el RFC 768 - Protocolo de Datagrama de Usuario. Este protocolo se recomienda, pero en la práctica cada implementación TCP/IP que no se use exclusivamente para encaminamiento incluirán UDP.

UDP es básicamente una interfaz de aplicación para IP. No soporta confiabilidad, control de flujo o recuperación de errores para IP. Simplemente sirve como "multiplexor/demultiplexor" para enviar y recibir datagramas, usando puertos para dirigir los datagramas como se muestra en la figura adjunta. Se pueden encontrar más detalles sobre puertos en Puertos y Sockets.



Figura: UDP, Un Demultiplexor Basado en Puertos


UDP proporciona un mecanismo para que una aplicación envíe un datagrama a otra. La capa UDP es sumamente delgada por lo que tiene pocas sobrecargas, pero requiere que la aplicación sea responsable de la recuperación de errores y demás características no soportadas.







Puertos UDP


Los puertos UDP proporcionan una ubicación para enviar y recibir mensajes UDP. Un puerto UDP funciona como una única cola de mensajes que recibe todos los datagramas destinados al programa especificado mediante cada número de puerto del protocolo. Es decir, los programas basados en UDP pueden recibir varios mensajes a la vez.

El lado de servidor de cada programa que utiliza UDP atiende los mensajes que llegan a su número de puerto conocido. Todos los números de puerto de servidor UDP inferiores a 1.024 (y algunos números superiores) están reservados y registrados por la Autoridad de números asignados de Internet (IANA, <i>Internet Assigned Numbers Authority</i>).

Cada puerto de servidor UDP se identifica mediante un número de puerto conocido o reservado. En la siguiente tabla se muestra una lista parcial de los números de puerto de servidor UDP conocidos que utilizan programas basados en UDP estándar.






¿Que es el UDP? - Definición de UDP



UDP son las siglas de Protocolo de Datagrama de Usuario (en inglés User Datagram Protocol) un protocolo sin conexión que, como TCP, funciona en redes IP.

UDP/IP proporciona muy pocos servicios de recuperación de errores, ofreciendo en su lugar una manera directa de enviar y recibir datagramas a través una red IP. Se utiliza sobre todo cuando la velocidad es un factor importante en la transmisión de la información, por ejemplo, RealAudio utiliza el UDP.

El FTP utiliza TCP/IP, mientras que TFTP utiliza UDP. TFTP son las siglas de Protocolo de Transferencia de Archivos Triviales (en inglés Trivial File Transfer Protocol), y puesto que es trivial, perder algo de información en la transferencia no es crucial.




protocolo UDP


El protocolo UDP (Protocolo de datagrama de usuario) es un protocolo no orientado a conexión de lacapa de transporte del modelo TCP/IP. Este protocolo es muy simple ya que no proporciona detección de errores (no es un protocolo orientado a conexión).

Por lo tanto, el encabezado del segmento UDP es muy simple:

Significado de los diferentes campos

  • Puerto de origen: es el número de puerto relacionado con la aplicación del remitente del segmento UDP. Este campo representa una dirección de respuesta para el destinatario. Por lo tanto, este campo es opcional. Esto significa que si el puerto de origen no está especificado, los 16 bits de este campo se pondrán en cero. En este caso, el destinatario no podrá responder (lo cual no es estrictamente necesario, en particular para mensajes unidireccionales).
  • Puerto de destino: este campo contiene el puerto correspondiente a la aplicación del equipo receptor al que se envía.
  • Longitud: este campo especifica la longitud total del segmento, con el encabezado incluido. Sin embargo, el encabezado tiene una longitud de 4 x 16 bits (que es 8 x 8 bits), por lo tanto la longitud del campo es necesariamente superior o igual a 8 bytes.
  • Suma de comprobación: es una suma de comprobación realizada de manera tal que permita controlar la integridad del segmento.
Consulta este artículo sin tener que estar conectado, descárgalo gratis aquí en formato PDF: