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