domingo, 18 de abril de 2021

Sobre los puertos lógicos y los sockets en la red

Mientras lees este post hay muchos procesos que, aunque no lo creas, están siendo ejecutados en tu equipo. Una gran parte de ellos necesitarán comunicarse con otros procesos que estarán siendo ejecutados en otro equipo o localmente. Puesto que actualmente existen muchísimas aplicaciones, es crítico realizar un buen control del tráfico de red que se genere a partir de las necesidades de estas.

Puertos lógicos y sockets

Según la naturaleza de la comunicación a establecer y el protocolo de nivel de aplicación de la misma, al proceso en cuestión se le asignará un número de puerto lógico de red típicamente representativo para ese protocolo. Existen 65.536 puertos lógicos de red, enumerados del 0 al 65.535. Algunas parejas puerto->protocolo conocidas pueden ser: 22->ssh, 53->dns, 80->http, 443->https, etc. Aunque existen muchas más.

Para poder iniciar dicha comunicación es necesario que, entre otros, las aplicaciones que se van a comunicar definan lo que se conoce como socket. Un socket es una interfaz del equipo local que se identifica por el par DIRECCIÓN_IP:PUERTO, y cuya función es hacer posible la recepción y envío de mensajes desde y hacia la aplicación que reside en el equipo remoto (o local) que también tendrá su propio socket definido. Un ejemplo de socket sería el 216.58.209.67:80.

No hay comentarios:

Publicar un comentario