1.1.1.
Que
es Networking
El termino Networking se refiere a la posibilidad de trabajar con
diversas aplicaciones ubicadas físicamente en distintas estaciones de trabajo y
permitir que se conecten vía una red, para trabajar de manera cooperativa o
simplemente enviar y recibir información.
1.1.2.
Que
es un socket
Un Socket es una representación abstracta del extremo (endpoint) en un
proceso de comunicación. Para que se dé la comunicación en una Red, el proceso
de comunicación requiere un Socket a cada extremo Emisor/Receptor y viceversa.
La comunicación con sockets sigue el modelo Cliente/Servidor/Cliente. En
la mayoría de los casos
un programa Servidor
fundamentalmente envía datos, mientras que un programa Cliente
recibe esos datos, aunque es raro que un programa exclusivamente reciba o envíe
datos. Una distinción confiable se logra si consideramos Cliente al programa
que inicia la comunicación y Servidor al programa que espera a que algún otro
iniciecomunicación con él.
La comunicación con sockets se hace mediante un protocolo de la familia
TCP/IP en la mayoría de los casos, y es el programador quien decide qué
protocolo utilizar dependiendo de la necesidades de la aplicación a
desarrollar.
Socket designa un concepto abstracto por el cual dos programas
(posiblemente situados en computadoras distintas) pueden intercambiarse
cualquier flujo de datos, generalmente de manera fiable y ordenada.
Un socket queda definido por una dirección IP, un protocolo y un número
de puerto.
Para que dos
programas puedan comunicarse
entre sí es
necesario que se cumplan ciertos requisitos:
·
Que un programa sea capaz de localizar al otro.
·
Que
ambos programas sean
capaces de intercambiarse cualquier secuencia de octetos, es decir,
datos relevantes a su finalidad.
Para ello son necesarios los tres recursos que originan el concepto de
socket:
·
Un protocolo de comunicaciones, que permite el
intercambio de octetos.
·
Una dirección del Protocolo de Red (Dirección
IP, si se utiliza el Protocolo TCP/IP), que identifica una computadora.
·
Un número
de
puerto, que identifica
a un programa
dentro de una computadora.
Los sockets permiten implementar una arquitectura cliente-servidor. La
comunicación ha de ser iniciada por uno de los programas que se denomina
programa cliente. El segundo programa espera a que otro inicie la comunicación,
por este motivo se denomina programa servidor.
1.1.3.
Características
de un socket
Las propiedades de un socket dependen de las características del
protocolo en el que se implementan. El protocolo más utilizado es TCP, aunque
también es posible utilizar UDP o IPX. Gracias al protocolo TCP, los sockets
tienen las siguientes propiedades:
·
Orientado a conexión.
·
Se garantiza la transmisión de todos los octetos
sin errores ni omisiones.
·
Se garantiza que todo octeto llegará a su
destino en el mismo orden en que se ha transmitido.
Estas propiedades son muy importantes para garantizar la corrección de
los programas que tratan la información.
El
protocolo UDP es un protocolo no orientado a la conexión. Sólo se garantiza que
si un mensaje llega, llegue bien. En ningún caso se garantiza que llegue o que
lleguen todos los mensajes en el mismo orden que se mandaron. Esto lo hace
adecuado para el envío de mensajes frecuentes pero no demasiado importantes,
como por ejemplo, mensajes para los refrescos (actualizaciones) de un gráfico.
No hay comentarios:
Publicar un comentario