Protocolos de Comunicación en Redes: TCP, UDP, Sockets y Servicios Web
Clasificado en Informática
Escrito el en español con un tamaño de 4,34 KB
Protocolos de Comunicación en Redes
Los protocolos de red permiten establecer una conexión entre dos nodos de una red, definiendo las normas de comunicación. Por ejemplo, los pasos a seguir para realizar una llamada telefónica implican un protocolo: desbloquear el teléfono, marcar el número, etc.
TCP (Transmission Control Protocol)
TCP garantiza la integridad de los datos. Si se produce un error, se notifica. Sin embargo, es más lento que UDP. Ambos nodos deben estar conectados. Se enfoca en la seguridad.
Aplicaciones típicas: FTP, Telnet y HTTP.
UDP (User Datagram Protocol)
UDP no garantiza que los datos lleguen correctamente. Los paquetes se denominan datagramas. La velocidad de transmisión es mayor, lo que lo hace ideal para aplicaciones como video y audio. Se enfoca en la rapidez.
Tipos de Puertos
- Protocolos Bien Conocidos: HTTP, POP3/SMTP, Telnet y FTP.
- Puertos Registrados: Cualquier aplicación puede usarlos.
- Puertos Dinámicos o Privados: Se utilizan en conexiones P2P.
Servidor
El servidor escucha las peticiones del cliente. Se instancia la clase ServerSocket
, que recibe el puerto en el que atenderá. Una vez establecido, ServerSocket
envía un Socket
a través del cual se establece la comunicación cliente/servidor.
Características de un Servidor
- Gestiona y comparte recursos con los clientes.
- Capacidad suficiente para atender las peticiones.
- Los fallos pueden invalidar el sistema.
- Gestión de concurrencia basada en hilos (FIFO, Round Robin, etc.).
- Mecanismos de sincronización.
Cliente
El cliente realiza peticiones al servidor, que debe estar conectado para atenderlas. Permite una distribución más eficiente de procesos y datos.
Servicios comunes: HTTP, FTP y DNS.
Sockets
Un socket es un proceso o hilo que reside tanto en la máquina cliente como en la máquina servidor, permitiendo la comunicación entre ellas.
Para que la comunicación sea posible, se necesita la dirección IP, los números de puerto local de la máquina y un protocolo (UDP o TCP).
Los sockets residen en la capa de sesión del modelo OSI.
Identificador del socket: Dirección IP del computador + número de puerto.
La clase Socket
del paquete java.net
se utiliza para conexiones TCP/IP.
InputStream
y OutputStream
definen los canales para el envío de datos.
Clases para la comunicación:
DatagramSocket()
: Para UDP.DatagramPacket
: Para la recepción de paquetes UDP.StreamSocket
: Para TCP/IP.
Servicios de Red Comunes
Telnet
Permite el manejo remoto de un equipo (por ejemplo, mediante Putty).
FTP (File Transfer Protocol)
Servidor FTP: Administra archivos (subir, bajar, borrar, etc.) mediante clientes como FileZilla. Ofrece máxima velocidad, pero no seguridad.
Cliente FTP: Se utiliza para transferir archivos.
Modos de Conexión FTP
- Acceso Anónimo: Permite acceder a los archivos sin necesidad de un ID de usuario.
- Modo de Conexión Activa: El servidor crea un canal de datos y el cliente tiene el canal de datos asociado a un puerto aleatorio.
- Modo de Conexión Pasiva: El cliente solicita la conexión al servidor y este le envía el número de puerto que debe usar para enviar los datos.
HTTP (Hypertext Transfer Protocol)
Se utiliza para transacciones web, como la transferencia de documentos HTML y comandos del cliente web. Opera en el puerto 80.
Protocolos de Correo Electrónico
- POP (Post Office Protocol): Permite la recepción de correo. POP3 es la versión más utilizada.
- IMAP (Internet Message Access Protocol): Utilizado por servicios como Gmail. Permite que varios usuarios se conecten simultáneamente.
- SMTP (Simple Mail Transfer Protocol): Se utiliza para el envío de correo electrónico.