Capa de transporte
Esta capa está compuesta de dos protocolos únicamente: TCP y UDP, pero su importancia es vital para las comunicaciones. Es la primera capa responsable de la comunicación extremo a extremo. El uso de estos protocolos puede ser simultáneo por parte de múltiples protocolos de aplicación.
La capa de transporte proporciona dos servicios distintos para definir una comunicación. El servicio debe ser elegido en función del tipo de aplicación que esté desarrollando, así como los requisitos que dicho software establezca para las comunicaciones: un primer servicio, que permite establecer comunicaciones seguras y fiables; y otro, que permite rápidas transferencias con tolerancia a la pérdida de información.
A continuación, se explican con más profundidad dos mecanismos.
TCP
TCP (Transmission Control Protocol) es el protocolo de transporte más usado por las aplicaciones. Se utiliza para proporcionar una comunicación libre de errores y fiable. Es un protocolo orientado a la conexión, lo que significa que la comunicación se lleva a cabo en tres fases: establecimiento de conexión, transmisión de datos y finalización de la conexión.
La unidad de transmisión para este protocolo es la de paquete. La información a transmitir al destino es dividida en paquetes de un tamaño fijo. El protocolo marca cada paquete con un número de secuencia y lo envía después de haber establecido la conexión con el destino.
Para establecer la conexión, el protocolo envía al destino un paquete de tipo SYN, el destino interpreta este paquete como intento de establecer la conexión y, acto seguido, si todo va bien, envía un paquete de tipo SYN ACK. Finalmente, el cliente envía un paquete ACK y, a continuación, los paquetes correspondientes al mensaje. A este tipo de mecanismo se lo conoce como negociación a tres pasos.
La finalización de la conexión se produce en cuatro pasos. El cliente o el servidor pueden en cualquier momento solicitar la finalización. Para ello, el emisor envía un paquete de tipo FIN y el receptor confirma su llegada enviando un paquete de tipo ACK.
Acto seguido, el que actuó como receptor lo hará como emisor enviando un paquete FIN y el que actúo como emisor devolverá un paquete ACK, completando la finalización de la conexión. Este mecanismo se conoce como negociación a cuatro pasos.
UDP
UDP es un protocolo no orientado a la conexión, lo que significa que no hace falta un diálogo entre el origen y el destino previo al envío del mensaje. A diferencia de TCP, se trata de un protocolo tolerante a fallos, sin control de flujo ni ordenamiento de las secuencias de bytes. Además, el coste computacional del procesamiento de un datagrama UDP es mucho menor que el de un datagrama TCP, por lo que está especializado en conexiones donde el retardo de los datagramas a través de la red es crítico. En la transmisión mediante UDP puede existir pérdida de datagramas en la red y debe ser la aplicación la encargada del control sobre esa pérdida de información. Ejemplos de aplicaciones que usan este protocolo son aquellas que deben recibir y/o enviar un flujo de información constante en el tiempo y donde una pequeña pérdida de información no altera el mensaje global que se transmite: aplicaciones de videostreaming o de VozIP.
Actividades
2. ¿Cómo se puede distinguir a qué aplicación debe entregar UDP el datagrama que acaba de llegar?
3. ¿Tiene algún sentido hablar de conexión entre dos ordenadores que se comunican mediante UDP? Razone la respuesta.
TCP y UDP se basan en servicios que proporciona la propia capa de transporte y que son extremadamente importantes para las comunicaciones. Toda comunicación, sea del tipo que sea a nivel de transporte, usa los dos conceptos que se explican a continuación y sirven como mecanismos conceptuales para el desarrollo de aplicaciones que utilizan conexiones.
Puertos
Para conseguir establecer la comunicación entre aplicaciones es necesario conocer, no solo el dispositivo al que hay que conectarse, sino además qué programa, de todos los que en ese momento están en ejecución, puede responder a esa comunicación. Esto se consigue con el concepto de puerto, y es gestionado a nivel de la capa de transporte de TCP/IP. En concreto, cada aplicación que puede recibir comunicación de la red se asigna a un puerto, de forma que, si llegan datos a ese puerto, la capa de transporte devolverá esos datos a la aplicación correspondiente.
Los puertos van desde el 0 al 65536. Los puertos dentro del rango 1 al 1024 son puertos que ya están asignados a aplicaciones que usan protocolos de aplicación importantes y no pueden ser reasignados.
TCP |
20 |
FTP (File Transfer Protocol) |
TCP |
21 |
FTP (File Transfer Protocol) para control |
TCP |
25 |
SMTP (Simple Transfer Protocol) |
TCP |
53 |
DNS (Domain Name System) |
UDP |
53 |
DNS (Domain Name System) |
UDP |
67 |
BOOTP (BootStrap Protocol, Server) y por DHCP |
UDP |
68 |
BOOTP (BootStrap Protocol, Client) y por DHCP |
UDP |
69 |
TFTP (Trivial File Transfer Protocol) |
TCP |
80 |
HTTP (HyperText Transfer Protocol) |
TCP |
88 |
Kerberos |
TCP |
110 |
POP3 (Post Office Protocol) |
TCP |
137 |
NetBIOS (servicio de nombres) |
UDP |
137 |
NetBIOS (servicio de nombres) |
TCP |
138 |
NetBIOS (servicio de envío de datagramas) |
UDP |
138 |
NetBIOS (servicio de envío de datagramas) |
TCP |
139 |
NetBIOS (servicio de sesiones) |
UDP |
139 |
NetBIOS (servicio de sesiones) |
TCP |
143 |
IMAP4 (Internet Message Access Protocol) |
TCP |
443 |
HTTPS/SSL |
TCP |
631 |
CUPS (Sistema de impresión de Unix) |
TCP |
993 |
IMAP4 sobre SSL |
TCP |
995 |
POP3 sobre SSL |
TCP |
1080 |
SOCKS Proxy |
TCP |
1433 |
Microsoft-SQL-Server |
TCP |
1434 |
Microsoft-SQL-Server |
UDP |
1701 |
Enrutamiento y Acceso Remoto para VPN con L2TP |
TCP |
1723 |
Enrutamiento y Acceso Remoto para VPN con PPTP |
TCP |
1761 |
Novell Zenworks Remote Control Utility |
TCP |
1863 |
MSN Messenger |
Puertos reservados y asignados por IANA a los principales servicios de Internet
Sabía que...
La organización que se encarga de la reserva de los números de puerto y la supervisión de las asignaciones globales de direcciones IP es la IANA (Internet Assigned Numbers Authority).
Читать дальше