Está en la página 1de 4

Sockets Datagram (Ensayo)

Julio 19 del 2022

Diego Vertiz Alexis


5IM7

Sockets Datagram

Introducción

El modelo cliente-servidor tiene una grandiosa utilidad, y para que éste se pueda
efectuar de la manera correcta se necesitan diversas herramientas, y una de ellas
son los sockets, que engloba un gran número de funciones dentro de la
comunicación entre diversos medios como comuputadoras a traves de mensajes.

Desarrollo

Un socket, es un método para la comunicación entre un programa del cliente y un


programa del servidor en una red. Un socket se define como el punto final en una
conexión. Los sockets se crean y se utilizan con un sistema de peticiones o de
llamadas de función a veces llamados interfaz de programación de aplicación de
sockets (API, application programming interface).
Un socket es también una dirección de Internet, combinando una dirección IP (la
dirección numérica única de cuatro partes que identifica a un ordenador particular
en Internet) y un número de puerto (el número que identifica una aplicación de
Internet particular, como FTP, Gopher, o WWW).

Los sockets son mecanismos de comunicación entre procesos que permiten que
un proceso hable (emita o reciba información) con otro proceso incluso estando en
distintas máquinas.
Una familia, o dominio de la conexión, agrupa todos aquellos sockets que
comparten características comunes. Especifica el formato de las direcciones que
se podrán dar al socket y los diferentes protocolos soportados por las
comunicaciones vía los sockets de este dominio.
Cada protocolo, a la hora de referirse a un nodo de la red, implementa un
mecanismo de direccionamiento. La dirección distingue de forma inequívoca a
cada nodo u ordenador, y es utilizada para encaminar los datos desde el nodo
origen hasta el nodo destino. Hay muchas llamadas al sistema que necesitan un
puntero a una estructura de dirección de socket para trabajar.

Cada tipo de socket va a definir una serie de propiedades en función de las


comunicaciones en las cuales está implicado:
-La fiabilidad de la transmisión. Ningún dato transmitido se pierde.
-La conservación del orden de los datos. Los datos llegan en el orden en el que
han sido emitidos.
-La no duplicación de datos. Sólo llega a destino un ejemplar de cada dato
emitido.
-La comunicación en modo conectado. Se establece una conexión entre dos
puntos antes del principio de la comunicación (es decir, se establece un circuito
virtual). A partir de entonces, una emisión desde un extremo está implícitamente
destinada al otro extremo conectado.
-La conservación de los límites de los mensajes. Los límites de los mensajes
emitidos se pueden encontrar en el destino.
-El envío de mensajes (urgentes). Corresponde a la posibilidad de enviar datos
fuera del flujo normal, y por consecuencia accesibles inmediatamente (datos fuera
de flujo).

Esta primitiva permite la creación de un socket, es decir, la creación e


inicialización de entradas en las diferentes tablas del sistema de gestión de
archivos, que son: tabla de descriptores de procesos, tabla de archivos y
estructuras de datos, conteniendo las características del socket. Entre estas
características se encuentran:
-El tipo, el dominio y el protocolo.
-El estado del socket (conectado o no, enlazado, en estado de recibir o de emitir)
-La dirección del socket conectado (si hay alguno): al socket se le asocia un buffer
de emisión y otro de recepción.
-Punteros a los datos (en emisión y en recepción)
-Un grupo de procesos para la gestión de mecanismos asíncronos.
Los sockets datagrama son un servicio de transporte sin conexión. Son más
eficientes que TCP, pero no está garantizada la fiabilidad. Los datos se envían y
reciben en paquetes, cuya entrega no está garantizada. Los paquetes pueden ser
duplicados, perdidos o llegar en un orden diferente al que se envió. El protocolo de
comunicaciones con datagramas es un protocolo sin conexión, es decir, cada vez
que se envíen datagramas es necesario enviar el descriptor del socket local y la
dirección del socket que debe recibir el datagrama.

Conclusión

En la actualidad muchas aplicaciones están implementadas usando sockets de


forma interna. Por ejemplo: los gestores de bases de datos relacionales, chats,
herramientas para el control de versiones, servicios en la nube, e incluso las
páginas que solicitamos en el internet se envían y reciben en los browser a través
de sockets.
En programación los sockets tienen mucha importancia debido a su uso extendido.
A través de ellos y en conjunto con un patrón de diseño podemos implementar un
servicio web robusto y extensible, para que el cliente logre obtener lo que desee.
Para que logremos un buen y eficiente sistema distribuido se deben de tomar en
cuenta siempre los sockets, ya que cuando se toman en funcionamiento se llega a
mejores resultados facilitando la comunicación entre equipos y muchas otras
cosas más.
Los sockets nos proporcionan una gran ventaja, porque al usarlos se pueden crear
chats donde la respuesta de un servidor sea inmediata, y no como las que se
alojan en bases de datos, los cuales comparados con los sockets, tienen mucha
lentitud.
Otra de las cualidades de los sockets son la optimización del ancho de banda y
que son compatibles con casi todos los lenguajes de Programación, además de
estar disponible en casi todos los sistemas operativo

Fuentes
-Developers Android. (22017).Obtenido de https://developer.android.com:
https://developer.android.com/reference/java/net/DatagramSocket.html
-Mirely, H. (2012). Sockets. Octubre 8, 2017, de BENEMÉRITA UNIVERSIDAD
AUTÓNOMA DE PUEBLA Sitio web: https://facturapp.weebly.com/sockets.html

También podría gustarte