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
  1. Creación del socket: Se crea y se le asigna un puerto. El SO lo asigna automáticamente.
  2. Conexión del socket (connect): Se localiza el socket del proceso servidor y crea el canal de comunicación que une ambos.
  3. 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.
  4. Cierre de la conexión (close)
Proceso Servidor
  1. Creación del socket: Lo crea y se llama socket servidor.
  2. Asignación de dirección y puerto (bind)
  3. Escucha (listen): Hay que configurar para que escuche dicho puerto.
  4. 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.
  5. Envío y recepción de mensajes.
  6. 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:

  1. Creación del socket
  2. Asignación de dirección y puerto (bind): La IP y el número del puerto del socket tienen que estar claramente especificados.
  3. 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.
  4. 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.

Entradas relacionadas: