Protocolo UDP y Sockets: Comunicación en Redes IP
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 3,6 KB
Protocolo UDP
El protocolo de transporte UDP (User Datagram Protocol) es otro de los componentes fundamentales en la pila IP. Se trata de un protocolo no orientado a conexión, es más rápido que TCP porque no es necesario establecer conexiones. No garantiza que los mensajes lleguen siempre y que no lleguen en el mismo orden. Permite mensajes de 64 KB máximo. En UDP, los mensajes se denominan datagramas.
Sockets
Son el mecanismo de comunicación básico fundamental que se usa para realizar transferencias de información entre aplicaciones. Representan el extremo de un canal de comunicación establecido entre un emisor y un receptor. Para establecer una comunicación entre dos aplicaciones, ambas deben crear sus respectivos sockets y conectarse entre sí, y una vez conectados, se crea una tubería privada a través de la red para enviar y recibir mensajes por ella.
Tipos de Sockets
- Sockets stream (TCP)
- Sockets datagram (UDP)
Sockets Stream
Orientados a conexión y, cuando se usan sobre la pila IP, hacen uso del protocolo de transporte TCP. Son fiables (los mensajes llegan a su destino y aseguran el orden de entrega).
Proceso Cliente para usar Sockets Stream
- Creación del socket: Se crea y se le asigna un puerto. El SO lo asigna automáticamente.
- Conexión del socket (connect): Se localiza el socket del proceso servidor y crea el canal de comunicación que une ambos.
- Envío y recepción de mensajes: Establecida la conexión, el proceso cliente puede enviar y recibir mensajes mediante operaciones de write y read.
- Cierre de la conexión (close)
Proceso Servidor
- Creación del socket: Lo crea y se llama socket servidor.
- Asignación de dirección y puerto (bind)
- Escucha (listen): Hay que configurar para que escuche dicho puerto.
- Aceptación de conexiones (accept): Una vez listo el socket servidor para aceptar conexiones, hay que esperar hasta que un proceso cliente se conecte. Cuando hay una nueva petición, se crea un socket nuevo dentro del proceso.
- Envío y recepción de mensajes.
- Cierre de la conexión (close)
Sockets Datagram
No son orientados a conexión, pueden usarse para enviar mensajes llamados datagramas a multitud de receptores, no son fiables ni aseguran el orden de entrega correcto. Pasos:
- Creación del socket
- Asignación de dirección y puerto (bind): La IP y el número del puerto del socket tienen que estar claramente especificados.
- Envío y recepción de mensajes: Una vez creado el socket, se puede usar para enviar y recibir datagramas y existen dos operaciones especiales denominadas enviar y recibir.
- Cierre de la conexión (close): No es necesario realizar la operación close para cerrar el canal.
La Clase Socket
Se usa para crear y operar con sockets. Métodos:
- Socket(): Constructor básico de la clase.
- connect(SocketAddress): Conexión, puerto y dirección destino.
- getInputStream(): Obtiene un objeto de la clase InputStream para operaciones de lectura.
- getOutputStream(): Escritura.
- close(): Cierra el socket.