jueves, 17 de octubre de 2013

UDP


UDP
El Protocolo de datagramas de usuario ( UDP ) es uno de los miembros principales del conjunto de protocolos de Internet (el conjunto de protocolos de red utilizados para la Internet ). Con UDP, las aplicaciones informáticas pueden enviar mensajes, en este caso denominado datagramas , a otros hosts de un Protocolo de Internet (IP) de la red y sin comunicación previa para establecer canales de transmisión especiales o rutas de datos. El protocolo fue diseñado por David P. Reed en 1980 y formalmente definido enRFC 768 .
UDP utiliza un modelo de transmisión simple con un mínimo de mecanismo de protocolo.  No tiene protocolo de enlace diálogos, y por lo tanto expone cualquier falta de fiabilidad del protocolo de red subyacente para el programa del usuario. Como este es normalmente IP a través de medios poco fiables, no hay garantía de entrega, el pedido o la protección duplicado. UDP proporcionacomprobación de integridad de los datos y números de puerto para hacer frente a diferentes funciones en el origen y destino de los datagramas.
UDP es adecuado para fines en los que la comprobación de errores y la corrección no es necesario o realizado en la aplicación, evitando la sobrecarga de tal procesamiento en el nivel de interfaz de red. Aplicaciones sensibles al tiempo menudo utilizan UDP debido al descarte de paquetes es preferible a la espera de paquetes retardados, que puede no ser una opción en un sistema en tiempo real. [ 2 ] Si se necesitan instalaciones de corrección de errores en el nivel de interfaz de red, una aplicación puede utilizar elProtocolo de Control de Transmisión (TCP) o el Protocolo de Transmisión de Control de Corriente (SCTP) que están diseñados para este propósito.
Un número de atributos de UDP lo hacen especialmente adecuado para ciertas aplicaciones.
             Está orientado a transacciones , adecuado para protocolos simples de respuestas a preguntas tales como el sistema de nombres de dominio o el Protocolo de tiempo de red .
             Proporciona datagramas , adecuado para modelar otros protocolos, como en túneles IP o llamada a procedimiento remoto y el sistema de archivos de red .
             Es sencillo , adecuado para fines de bootstrapping o de otro tipo sin una pila de protocolo completa, tal como el DHCP y Protocolo Trivial de Transferencia de Archivos .
             Es sin estado , muy adecuado para un gran número de clientes, tales como en flujos de datos multimedia , por ejemplo, aplicaciones de IPTV
             La falta de retardos de retransmisión hace adecuado para aplicaciones en tiempo real tales como voz sobre IP , juegos en línea , y muchos protocolos construidos en la cima de la real Time Streaming Protocol .
             Funciona bien en unidireccional de comunicación, adecuado para la información de difusión, como en muchas clases de descubrimiento de servicios y la información compartida, como el tiempo de emisión o Routing Information Protocol
 TCP y UDP
Las aplicaciones utilizan sockets de datagramas para establecer la comunicación host-to-host. Una aplicación enlaza un conector a su punto final de la transmisión de datos, que es una combinación de una dirección IP y un puerto de servicio. Un puerto es una estructura de software que se identifica por el número de puerto , un 16 poco valor entero, lo que permite números de puerto entre 0 y 65 535 . El puerto 0 está reservado, pero es un valor de puerto de origen permitido si el proceso de envío no espera que los mensajes de respuesta.
La Internet Assigned Numbers Authority ha dividido a los números de puerto en tres rangos. Los números de puerto 0 y 1023 se utilizan para los servicios comunes y bien conocidos. En Unix -como sistemas operativos , mediante uno de los puertos requiere superusuario permiso de operación. Los números de puerto 1024 a través de 49 151 son lospuertos registrados utilizados para los servicios de IANA registradas. Puertos 49 152 a través de 65 535 son puertos dinámicos que no son designados oficialmente para cualquier servicio específico, y pueden ser utilizados para cualquier propósito. También se utilizan como puertos efímeros , de la que el software que se ejecuta en el anfitrión puede elegir al azar un puerto con el fin de definir en sí. [ 3 ] En efecto, se utilizan como puertos temporales principalmente por clientes cuando se comunica con los servidores .
Estructura del Paquete
UDP es un mensaje orientado mínima capa de transporte del protocolo que se documenta en IETF RFC 768 .
UDP no ofrece garantías para el protocolo de capa superior para la entrega de mensajes y la capa de protocolo UDP no retiene el estado de los mensajes UDP una vez enviados. Por esta razón, UDP se refiere a veces como no fiable Protocolo de datagramas.
UDP proporciona aplicación de multiplexación (a través de números de puerto) y verificación de la integridad (a través de la suma de comprobación ) de la cabecera y la carga útil.[ 5 ] Si se desea la fiabilidad de la transmisión, que debe ser implementado en la aplicación del usuario.
La cabecera UDP consta de 4 campos, cada uno de los cuales es 2 bytes (16 bits). El uso de los campos de "suma de comprobación" y "Puerto de origen" es opcional en IPv4 (fondo de color rosa en la tabla). En IPv6 sólo el puerto de origen es opcional (véase más adelante).
Número de puerto de origen
Este campo identifica el puerto del remitente cuando significativo y se supondrá que el puerto de responder a si es necesario. Si no se utiliza, entonces debería ser cero. Si el host de origen es el cliente, el número de puerto es probable que sea un número de puerto efímero. Si el host de origen es el servidor, el número de puerto es probable que sea un número de puerto bien conocido.
Número de puerto de destino
Este campo identifica el puerto del receptor y no se requiere. Al igual que el número de puerto de origen, si el cliente es el host de destino, entonces el número de puerto será probablemente un número de puerto efímero y si el host de destino es el servidor y luego el número de puerto será probablemente un número de puerto bien conocido.
Longitud
Un campo que especifica la longitud en bytes de la cabecera UDP y los datos UDP. La longitud mínima es de 8 bytes ya que es la longitud de la cabecera. El tamaño del campo establece un límite teórico de 65.535 bytes (8 bytes de cabecera + 65 527 bytes de datos) para un datagrama UDP. El límite práctico para la longitud de los datos que se impone por la subyacente IPv4 protocolo es 65,507 bytes (65 535 - 8 bytes de cabecera UDP - 20 encabezado IP byte).
En IPv6 Jumbograms que es posible tener paquetes UDP de tamaño superior a los 65.535 bytes.  RFC 2675 especifica que el campo de longitud se establece en cero si la longitud de la cabecera UDP, más UDP datos es mayor que 65.535.
Checksum
La suma de comprobación de campo se utiliza para la comprobación de errores de la cabecera y los datos. Si no hay suma de control es generada por el transmisor, el campo utiliza el valor de todos ceros. Este campo no es opcional para IPv6.
Datos
La direcciones de origen y de destino son los de la cabecera IPv4. El protocolo es que para UDP (ver Lista de los números de protocolo IP ): 17 (0x11). El campo de longitud UDP es la longitud de la cabecera y los datos UDP.
UDP checksum cálculo es opcional para IPv4. Si no se utiliza una suma de comprobación que se debe establecer en el valor cero.
IPv6 Pseudo Header
Cuando se ejecuta sobre UDP IPv6, la suma de comprobación es obligatoria. El método utilizado para calcular que se cambia como se documenta en RFC 2460 :
Cualquier transporte u otro protocolo de capa superior que incluye las direcciones de la cabecera IP en su cálculo de suma de comprobación deben ser modificados para su uso a través de IPv6 para incluir las direcciones IPv6 de 128 bits.
 Datos
La dirección de origen es el de la cabecera IPv6. La dirección de destino es el destino final, si el paquete IPv6 no contiene una cabecera de enrutamiento, que será la dirección de destino en la cabecera IPv6, de lo contrario, en el nodo de origen, que será la dirección en el último elemento de la cabecera de encaminamiento , y, en el nodo receptor, será la dirección de destino en la cabecera IPv6. El valor del campo de encabezado siguiente es el valor de protocolo para UDP: 17. El campo de longitud UDP es la longitud de la cabecera y los datos UDP.
Las soluciones de control de confiabilidad y la congestión
A falta de fiabilidad, las aplicaciones UDP generalmente deben estar dispuestos a aceptar algunas pérdidas, errores o duplicación. Algunas aplicaciones tales como TFTP pueden añadir mecanismos de fiabilidad rudimentarias en la capa de aplicación, según sea necesario.
Muy a menudo, las aplicaciones UDP no emplean mecanismos de confiabilidad y hasta pueden verse obstaculizados por ellos. medios de streaming , juegos multijugador en tiempo real y de voz sobre IP (VoIP) son ejemplos de aplicaciones que a menudo utilizan UDP. En estas aplicaciones particulares, la pérdida de paquetes no es generalmente un problema fatal. Si una aplicación requiere un alto grado de fiabilidad, un protocolo tal como el Protocolo de control de transmisión puede ser utilizado en su lugar.
Potencialmente más en serio, a diferencia de TCP, las aplicaciones basadas en UDP no necesariamente tienen buena congestión de evitación y mecanismos de control. Aplicaciones congestión insensibles UDP que consumen una gran fracción de ancho de banda disponible podrían poner en peligro la estabilidad de la Internet , ya que con frecuencia dan una carga de ancho de banda que es inelástica. Se han propuesto mecanismos basados en la red para minimizar los posibles efectos colapso de congestión de las cargas de tráfico sin control, altas tasas de UDP. Elementos de red basados tales como routers que utilizan colas de paquetes y soltando técnicas son a menudo la única herramienta disponible para frenar el excesivo tráfico UDP. El Protocolo de Control de la congestión de datagramas (DCCP) está diseñado como una solución parcial a este problema potencial mediante la adición de comportamiento de control de congestión del TCP de usar a fin de acogida flujos UDP de alta velocidad, tales como medios de transmisión.
Aplicaciones
Numerosas aplicaciones clave de Internet utilizan UDP, incluyendo: el Sistema de Nombres de Dominio (DNS), donde las consultas deben ser rápidos y sólo consisten en una sola petición seguido de un único paquete de respuesta, el Simple Network Management Protocol (SNMP), el Protocolo de Información de Enrutamiento ( RIP)  y el Protocolo de configuración dinámica de host (DHCP).
Voz y video tráfico se transmite generalmente por medio de UDP. Vídeo en tiempo real de audio y protocolos de transmisión están diseñados para manejar paquetes perdidos ocasionales, por lo que sólo una ligera degradación de la calidad se produce, en lugar de grandes retrasos si la pérdida de paquetes se retransmiten. Por tanto TCP como UDP ejecutan en la misma red, muchas empresas están descubriendo que un reciente aumento en el tráfico UDP de estas aplicaciones en tiempo real está obstaculizando el desempeño de las aplicaciones que utilizan TCP, como el punto de venta , contabilidad y base de datos de los sistemas. Cuando TCP detecta la pérdida de paquetes, será desacelerar su uso velocidad de datos. Dado que ambas aplicaciones en tiempo real y los negocios son importantes para las empresas, el desarrollo de la calidad del serviciosoluciones es vista como fundamental por algunos.
Comparación de la UDP y TCP
Transmission Control Protocol es un protocolo orientado a la conexión, lo que significa que no requiere toma de contacto para establecer comunicaciones de extremo a extremo. Una vez que se establece una conexión de seguridad de datos de usuario pueden enviarse bidireccional a través de la conexión.
•Fiable - TCP gestiona mensaje de confirmación, retransmisión y tiempo de espera. Varios intentos para entregar el mensaje se hacen. Si se pierde en el camino, el servidor volverá a solicitar a la parte perdida. En TCP, no hay ni ningún dato que falta, o, en caso de múltiples tiempos de espera, la conexión se ha caído.
•Pedido - si dos mensajes se envían a través de una conexión en secuencia, el primer mensaje llegará a la primera aplicación de recepción. Cuando los segmentos de datos llegan en el orden equivocado, buffers TCP retrasan los datos fuera de orden hasta que todos los datos pueden ser adecuadamente re-ordenados y entregados a la aplicación.
•Pesado - TCP requiere tres paquetes para establecer una conexión de socket, antes de que los datos de usuario se pueden enviar. TCP se encarga de fiabilidad y control de congestión .
•Streaming - Los datos se leen como un byte de corriente, no hay indicaciones distintivas se transmiten a señal de mensaje (segmento) límites.
UDP es un mensaje basado en simple protocolo sin conexión . Protocolos sin conexión no se establece una conexión de extremo a extremo dedicado. La comunicación se logra mediante la transmisión de información en una dirección desde la fuente al destino sin la verificación de la disposición o estado del receptor. Sin embargo, una ventaja principal de la UDP a través de TCP es la aplicación de voz sobre protocolo de Internet (VoIP), donde la latencia y jitter son las principales preocupaciones. Se supone en UDP VoIP que los usuarios finales proporcionan ninguna confirmación en tiempo real necesario que el mensaje ha sido recibido.
•No fiable - Cuando se envía un mensaje, no se puede saber si va a llegar a su destino, sino que podría perderse en el camino. No existe el concepto de reconocimiento, retransmisión, o tiempo de espera.
•No ordenó - Si se envían dos mensajes al mismo destinatario, el orden en que llegan no se puede predecir.
•Ligero - No existe ordenamiento de los mensajes, hay conexiones de seguimiento, etc Es una capa de transporte pequeña diseñada en la parte superior de IP.
             Datagramas - Los paquetes se envían de forma individual, habiéndose verificado su integridad sólo si llegan. Los paquetes tienen límites definidos que son honrados al recibir, es decir, una operación de lectura en el socket receptor dará todo un mensaje que fue enviado originalmente.
             No hay control de la congestión - sí UDP no evita la congestión, y es posible que las aplicaciones de gran ancho de banda para desencadenar el colapso de congestión , a menos que se apliquen medidas de control de congestión a nivel de aplicación.




No hay comentarios.:

Publicar un comentario