TCP
Requisitos de finalización
3. Puertos
3.3. Socket
El socket es una de varias interfaces de programación de aplicaciones para protocolos de comunicación
Diseñado para ser una interfaz de programación de comunicación genérica.
Las API de socket se introdujeron por primera vez como Berkeley Software Distribution (BSD).
Aunque no se ha estandarizado, la API de socket de Berkeley se ha convertido en una abstracción estándar de la industria para la implementación de socket TCP/IP de red.
- Un socket es un tipo especial de identificador de archivo, que utiliza un proceso para solicitar servicios de red del sistema operativo.
- Una dirección de socket son tres datos : <protocolo, dirección local, puerto local>.
Por ejemplo, en la suite TCP/IP (versión 4): <tcp, 192.168.14.234, 8080>. - Permite una comunicación o intercambio, es el vínculo de comunicación entre dos procesos. Locales o Distantes.
- Una asociación es la tupla de 5 que especifica completamente los dos procesos que comprenden una conexión: <protocolo, dirección local,
puerto local, dirección destino, puerto destino>.
- En la suite TCP/IP (versión 4), la siguiente podría ser una asociación válida:
<tcp, 192.168.14.234, 1500, 192.168.44, 22>.
- En la suite TCP/IP (versión 4), la siguiente podría ser una asociación válida:
- Una media asociación es una de las siguientes, cada una de las cuales especifica la mitad de una conexión:
<protocolo, dirección-local, proceso-local>.
O:
<protocolo, dirección extranjera, proceso extranjero>. - La media asociación también se denomina socket o dirección de transporte. Eso es un socket, es un punto final para la comunicación que se puede nombrar y direccionar en una red.
Dos procesos se comunican a través de sockets TCP. El modelo de enchufe o sockets proporciona un proceso con una conexión de flujo de bytes de dúplex completo a otro proceso.
La aplicación no necesita preocuparse por la gestión de este flujo; estas son proporcionadas por TCP.
- TCP utiliza el mismo principio de puerto que UDP para proporcionar multiplexación. como UDP.
- TCP utiliza puertos conocidos y efímeros. Cada lado de una conexión TCP tiene un socket que se puede identificar por el triple <TCP, dirección IP, número de puerto>.
Si dos procesos se comunican a través de TCP, tienen una conexión lógica ("circuito virtual") que es identificable únicamente por los dos sockets involucrados, es decir, por la combinación:
- TCP, dirección IP local, puerto local, dirección IP remota, puerto remoto>.
Los procesos en un Servidor pueden gestionar múltiples conversaciones a través de un único puerto, es el caso por ejemplo de un Servidor Web, TODOS los procesos son desde y al puerto 80 o 443 por ejemplo.
Socket es una asociación de 5 números que especifica completamente un camino virtual entre dos procesos
<protocolo, dirección local, puerto local, dirección destino, puerto destino>
Los sockets no solamente permiten comunicar procesos entre dos equipos, si no también procesos dentro de un mismo equipo, recordemos que los procesos en un equipo no coexisten en el tiempo.