Las siglas UDP (User Datagram Protocol) se refieren a un sencillo protocolo que pertenece al conjunto de protocolos de Internet. Se sitúa en el nivel de transporte, por encima del nivel de red empleándose por ello en comunicaciones punto a punto en redes de conmutación de paquetes basadas en IP. En estas redes el paquete se denomina datagrama y se encamina sin que exista un circuito virtual establecido sino que se hace en base a las direcciones que dicho datagrama lleva en su cabecera.
Tiene una importante característica: es no fiable. Esto significa que no garantiza ni el orden (no hay control de flujo), ni la entrega (confirmación o ack) y ni siquiera que los datagramas no lleguen duplicados. Es por ello que se dice que el protocolo es no orientado a conexión sino a transacción. Si se desea que se cumplan uno o varios de estos puntos, se debe proveer los mecanismos en una capa superior, lo que en la práctica significa que debe implementarlos el programador: UDP simplemente
proporciona una manera inmediata de intercambiar datagramas.
Es un protocolo extremadamente sencillo lo que en la práctica significa que es muy ligero, es decir, apenas añade bytes adicionales a los que se quieren enviar y evita la necesidad de una fase de inicialización de la conexión. Consecuentemente se dispondrá de muy pocos parámetros que se puedan ajustar a la hora de realizar comunicaciones con él.
La cabecera tiene cuatro campos de 16 bits cada uno (2 octetos):
- puerto de origen (opcional)
- puerto de destino
- longitud del datagrama completo (cabecera y datos): indica el número de octetos total de la cabecera más los datos. Su mínimo valor es 8 por tanto (cuando sólo se computa la cabecera) y deja para los datos un espacio de aproximadamente 64K octetos.
En la práctica los datagramas no son tan grandes. Existe una limitación impuesta por el parámetro MTU del nivel de red. MTU (Maximum Transfer Unit) indica el máximo número de octetos que puede tener un datagrama contando las cabeceras. Se tiende por tanto a que los datagramas que se generan se ajusten a dicha MTU. Cabe la posibilidad de que el nivel IP fragmente los que excedan la MTU, pero en la práctica no se hace puesto que ensamblarlos requiere de un mecanismo que verifique pérdidas de datagramas completos y orden de segmentos, y dicho mecanismo correspondería a un nivel superior
- checksum (opcional), para verificar la integridad de los datos
El resto del datagrama lo compone el mensaje, en forma binaria, que, junto con el puerto de destino, es la información indispensable que necesita este nivel.
El conjunto de aplicaciones basadas en UDP es, en principio, bastante limitado. La RFC de 1980 hace referencia a dos: al Servicio de Nombres de Internet (DNS, Internet Name Server) y al Transferencia de Archivos Trivial (TFPT, Trivial File Transfer). Posteriormente y con la aparición de tecnologías de audio y vídeo en tiempo real, donde los requisitos de rapidez y bajo retardo se imponen a los de
fiabilidad y orden en la entrega, cosa que ajusta muy bien a lo que ofrece UDP, lo han hecho candidato ideal como base del Protocolo de Tiempo Real (RTP, Real Time Protocol).
Íntimamente relacionado con RTP, y la distribución de contenido multimedia en general, aparte de, por supuesto, otro tipo de aplicaciones, están los conceptos de difusión, tanto broadcast como multicast. Ambos son formas de distribución de datos punto-multipunto o multipunto-multipunto, que es justamente lo que puede exigirse a un servicio de distribución de audio/vídeo. Esta difusión, sin
embargo, no se realiza a nivel de transporte, sino que se hace a nivel de red, mediante el protocolo IP y las posibilidades de direccionamiento que ofrece.
Una de las maneras de enviar tráfico a los clientes es el denominado Broadcasting.
Con este tipo de direccionamiento, el servidor envía datos a todos los clientes de la red y ellos son los que deciden si estos datos son de su interés o no. Como es lógico no se envían cliente por cliente, ya que supone un desperdicio de ancho de banda, sino a la dirección de broadcast de la red.
Como se sabe, en una red hay dos direcciones especiales: aquella en la que los bits del sufijo son todo ceros, que identifica a la red, y aquella en la que los bits del sufijo son todo unos. Ésta última es la dirección de broadcast y todos los interfaces, aparte de escuchar la dirección IP que tienen configurada, escuchan el tráfico dirigido a esta otra IP.
El otro modo de envío de tráfico a múltiples puntos es el Multicasting. Se emplea cuando el número de nodos interesados en unos datos determinados es lo suficientemente grande como para no enviarlos uno a uno, pero lo suficientemente pequeño como para que no haya necesidad de hacer broadcast. Como en el caso anterior, también se emplean direcciones IP especiales.
En multicasting se trabaja con direcciones IP de un rango muy concreto, el que va de 224.0.0.0 a 239.255.255.255. Sin embargo, IANA (el organismo que controla la asignación de estas direcciones), es muy restrictivo con ellas y otorga generalmente direcciones de los rangos 224.0.0.0 - 224.0.0.255, 224.0.1.0 - 224.0.1.255 y 224.0.2.0 - 224.0.2.255. Cada una de las direcciones de estos rangos representa un conjunto de máquinas a las que los routers dirigen el tráfico. Se dice que estas máquinas están suscritas al grupo multicast, por tanto debe existir la manera de indicarle a la red la suscripción y el abandono de un grupo.
Fuente: http://nodejskoans.com
No hay comentarios:
Publicar un comentario