Toma de red


Un socket de red es una estructura de software dentro de un nodo de red de una red informática que sirve como punto final para enviar y recibir datos a través de la red. La estructura y las propiedades de un socket están definidas por una interfaz de programación de aplicaciones (API) para la arquitectura de red. Los sockets se crean solo durante la vida útil de un proceso de una aplicación que se ejecuta en el nodo.

Debido a la estandarización de los protocolos TCP/IP en el desarrollo de Internet , el término socket de red se usa más comúnmente en el contexto del conjunto de protocolos de Internet y, por lo tanto, a menudo también se lo conoce como socket de Internet . En este contexto, un socket se identifica externamente a otros hosts por su dirección de socket , que es la tríada de protocolo de transporte , dirección IP y número de puerto .

El término socket también se usa para el punto final de software de la comunicación entre procesos (IPC) interna del nodo , que a menudo usa la misma API que un socket de red.

El uso del término socket en software es análogo a la función de un conector hembra eléctrico , un dispositivo en hardware para la comunicación entre nodos interconectados con un cable eléctrico . De manera similar, el término puerto se usa para puntos finales físicos externos en un nodo o dispositivo.

La interfaz de programación de aplicaciones (API) para la pila de protocolos de red crea un identificador para cada socket creado por una aplicación, comúnmente denominado descriptor de socket . En los sistemas operativos similares a Unix , este descriptor es un tipo de descriptor de archivo . El proceso de aplicación lo almacena para usarlo con cada operación de lectura y escritura en el canal de comunicación.

En el momento de la creación con la API, un socket de red está vinculado a la combinación de un tipo de protocolo de red que se usará para las transmisiones, una dirección de red del host y un número de puerto . Los puertos son recursos numerados que representan otro tipo de estructura de software del nodo. Se utilizan como tipos de servicio y, una vez creados por un proceso, sirven como un componente de ubicación direccionable externamente (desde la red), para que otros hosts puedan establecer conexiones.