Protocolo UDP UDP (User Datagram Protocol) es un protocolo simple que provee las funciones básicas de la capa de transporte. Tiene una sobrecarga mucho menor que el TCP, ya que no está orientado a la conexión y no proporciona mecanismos sofisticados de retransmisión, secuenciamiento y flujo de control. Esto no significa que las aplicaciones que utilizan UDP no son siempre poco confiables. Sólo quiere decir que estas funciones no las contempla el protocolo de la capa de transporte y se deben implementar aparte, si fuera necesario. Pese a que es relativamente baja la cantidad total de tráfico UDP que puede encontrarse en una red típica, los protocolos clave de la capa de aplicación que utiliza UDP incluyen: Sistema de nombres de dominio (DNS) Protocolo simple de administración de red (SNMP, Simple Network Management Protocol) Protocolo de configuración dinámica de host (DHCP) Protocolo de información de enrutamiento (RIP) Protocolo de transferencia de archivos trivial (TFTP) Juegos en línea Algunas aplicaciones, tales como los juegos en línea o VoIP, pueden tolerar la pérdida de algunos datos. Si estas aplicaciones utilizaran TCP, experimentarían largas demoras, ya que TCP detecta la pérdida de datos y los retransmite. Estas demoras serían más perjudiciales para la aplicación que las pequeñas pérdidas de datos. Algunas aplicaciones, como DNS, simplemente vuelven a intentar la solicitud si no reciben una respuesta y, por lo tanto, no necesitan el TCP para garantizar la entrega del mensaje. La baja sobrecarga del UDP lo hace deseable para dichas aplicaciones.
Las principales características técnicas del protocolo UDP son: * Es un protocolo mínimo de nivel de transporte orientado a mensajes (datagramas) documentado en el RFC 768 de la IETF. * Proporciona una sencilla interfaz entre la capa de red y la capa de aplicación. * No otorga garantías para la entrega de sus mensajes. * Se utiliza, por ejemplo, cuando se necesita transmitir voz o vídeo y resulta más importante transmitir con velocidad que garantizar el hecho de que lleguen absolutamente todos los bytes. UDP no admite numeración de los datagramas, factor que, sumado a que tampoco utiliza señales de confirmación de entrega, hace que la garantía de que un paquete llegue a su destino sea mucho menor que si se usa TCP.
Esto también origina que los datagramas pueden llegar duplicados y/o desordenados a su destino. Por estos motivos el control de envío de datagramas, si existe, debe ser implementado por las aplicaciones que usan UDP como medio de transporte de datos, al igual que el reensamble de los mensajes entrantes. Es por ello un protocolo del tipo best-effort (máximo esfuerzo), porque hace lo que puede para transmitir los datagramas hacia la aplicación, pero no puede garantizar que la aplicación los reciba. Tampoco utiliza mecanismos de detección de errores. Cuando se detecta un error en un datagrama, en lugar de entregarlo a la aplicación destino, se descarta. Cuando una aplicación envía datos a través de UDP, éstos llegan al otro extremo como una unidad. Por ejemplo, si una aplicación escribe 5 veces en el puerto UDP, la aplicación al otro extremo hará 5 lecturas del puerto UDP. Además, el tamaño de cada escritura será igual que el tamaño de las lecturas.
Protocolo TCP Transmission Control Protocol (TCP) es uno de los protocolos fundamentales en Internet. Fue creado entre los años 1973 y 1974 por Vint Cerf y Robert Kahn. Muchos programas dentro de una red de datos compuesta por computadoras, pueden usar TCP para crear conexiones entre ellos a través de las cuales puede enviarse un flujo de datos. El protocolo garantiza que los datos serán entregados en su destino sin errores y en el mismo orden en que se transmitieron. También proporciona un mecanismo para distinguir distintas aplicaciones dentro de una misma máquina, a través del concepto de puerto. TCP da soporte a muchas de las aplicaciones más populares de Internet (navegadores, intercambio de ficheros, programas de mensajería, etc.) y protocolos de aplicación como HTTP, SMTP, SSH y FTP. El protocolo TCP está documentado en el RFC 793 de la IETF, y sus principales características técnicas son: ORIENTADO A LA CONEXIÓN: dos computadoras establecen una conexión para intercambiar datos. Los sistemas de los extremos se sincronizan con el otro para manejar el flujo de paquetes y adaptarse a la congestión de la red. OPERACIÓN FULL-DÚPLEX: una conexión TCP es un par de circuitos virtuales, cada uno en una dirección. Sólo los dos sistemas finales sincronizados pueden usar la conexión. REVISIÓN DE ERRORES: una técnica de checksum es usada para verificar que los paquetes no estén corruptos. ACUSES DE RECIBO: sobre recibo de uno o más paquetes, el receptor regresa un acuse de recibido, al transmisor indicando que recibió los paquetes. Si los paquetes no son notificados, el transmisor puede reenviar los paquetes o terminar la conexión si el transmisor cree que el receptor no está más en la conexión.
CONTROL DE FLUJO: si el transmisor está desbordando el buffer del receptor por transmitir demasiado rápido, el receptor descarta paquetes. Los acuses fallidos que llegan al transmisor le alertan para bajar la tasa de transferencia o dejar de transmitir. SERVICIO DE RECUPERACIÓN DE PAQUETES: el receptor puede pedir la retransmisión de un paquete. Si el paquete no es notificado como recibido (ACK), el transmisor envía de nuevo el paquete.
Muchas aplicaciones requieren confiabilidad y otros servicios que proporciona TCP. Estas son aplicaciones que pueden tolerar cierto grado de demora o pérdida de rendimiento debido a la sobrecarga que impone TCP. Esto hace que TCP sea más adecuado para las aplicaciones que necesitan transporte confiable y que pueden tolerar cierta demora. TCP es un excelente ejemplo de cómo las diferentes capas del suite de protocolos TCP/IP tienen funciones específicas. Debido a que el protocolo de la capa de transporte TCP maneja todas las tareas asociadas con la segmentación del stream de datos, la confiabilidad, el control del flujo y el reordenamiento de segmentos, este libera a la aplicación de la tarea de administrar cualquiera de estas tareas. La aplicación simplemente puede enviar el stream de datos a la capa de transporte y utilizar los servicios de TCP.
Como se muestra en la ilustración, algunos ejemplos de aplicaciones bien conocidas que utilizan TCP incluyen las siguientes: Protocolo de transferencia de hipertexto (HTTP) Protocolo de transferencia de archivos (FTP) Protocolo simple de transferencia de correo (SMTP) Telnet
Protocolo IP El protocolo de IP (Internet Protocol) es la base fundamental de la Internet. Porta datagramas de la fuente al destino. El nivel de transporte parte el flujo de datos en datagramas. Durante su transmisión se puede partir un datagrama en fragmentos que se montan de nuevo en el destino. Las principales características de este protocolo son: * Protocolo orientado a no conexión. * Fragmenta paquetes si es necesario. * Direccionamiento mediante direcciones lógicas IP de 32 bits. * Si un paquete no es recibido, este permanecerá en la red durante un tiempo finito. * Realiza el "mejor esfuerzo" para la distribución de paquetes. * Tamaño máximo del paquete de 65635 bytes. * Sólo ser realiza verificación por suma al encabezado del paquete, no a los datos éste que contiene. El Protocolo Internet proporciona un servicio de distribución de paquetes de información orientado a no conexión de manera no fiable. La orientación a no conexión significa que los paquetes de información, que será emitido a la red, son tratados independientemente, pudiendo viajar por diferentes trayectorias para llegar a su destino. El término no fiable significa más que nada que no se garantiza la recepción del paquete. La unidad de información intercambiada por IP es denominada datagrama. Tomando como analogía los marcos intercambiados por una red física los datagramas contienen un encabezado y un área de datos. IP no especifica el contenido del área de datos, ésta será utilizada arbitrariamente por el protocolo de transporte.
Direcciones IP Para que en una red dos computadoras puedan comunicarse entre sí ellas deben estar identificadas con precisión Este identificador puede estar definido en niveles bajos (identificador físico) o en niveles altos (identificador lógico) de pendiendo del protocolo utilizado. TCP/IP utiliza un identificador denominado dirección internet o dirección IP, cuya longitud es de 32 bites. La dirección IP identifica tanto a la red a la que pertenece una computadora como a ella misma dentro de dicha red.
Tomando tal cual está definida una dirección IP podría surgir la duda de cómo identificar qué parte de la dirección identifica a la red y qué parte al nodo en dicha red. Lo anterior se resuelve mediante la definición de las "Clases de Direcciones IP". Para clarificar lo anterior veamos que una red con dirección clase A queda precisamente definida con el primer octeto de la dirección, la clase B con los dos primeros y la C con los tres primeros octetos. Los octetos restantes definen los nodos en la red específica.
Fuentes de información https://sites.google.com/site/investigacionesitlm/unidad-2/2-2-4protocolos-udp https://sites.google.com/site/investigacionesitlm/unidad-2/2-2-3protocolos-tcp http://neo.lcc.uma.es/evirtual/cdd/tutorial/transporte/tcp.html http://itroque.edu.mx/cisco/cisco1/course/module7/7.2.4.1/7.2.4.1.html http://neo.lcc.uma.es/evirtual/cdd/tutorial/red/ip.html