Puertos/ Sockets TCP/IP
PUERTOS/ SOCKETS TCP/IP
El protocolo TCP IP dispone de
un total de 130070 puertos, los puertos TCP que van desde el 1 al 65535 y los
puertos UDP que igualmente van del puerto 1 al 65535.
En la actualidad, las redes
privadas o redes locales y las red pública Internet se basan en el protocolo IP
(Internet Protocol)
A grandes rasgos, el protocolo
IP define como se define la información en el origen y en el destino y gestiona
el direccionamiento y la fragmentación de los paquetes de datos.
Protocolo TCP
El protocolo TCP se refiere al
Protocolo de Transmisión de Datos o Transmision Control Protocol y se centra en
las conexión, proporcionando seguridad entre los dispositivos que conectan.
El protocolo TCP permite
establecer la conexión e intercambio de datos en la red definiendo el proceso
integro desde que se envían los datos hasta que son recibidos precisando una
conexión y una autorización entre el emisor y el receptor antes de iniciarse la
transferencia de datos.
De los puertos 0 al 1023 son
establecidos por IANA que es la Autoridad de Asignación de Números de Internet
(Internet Assigned Numbers Authority), son puertos de uso muy frecuente.
Del 1024 al 49151 se trata de
puertos que pueden ser utilizados por aplicaciones de forma temporal.
Del 49152 al 65535 son puertos dinámicos que pueden ser utilizados para múltiples fines y aplicaciones.
Qué es un Socket y para qué
sirve
Cuando dos procesos que están
en hosts diferentes necesitan intercambiar información a través de la red, ya
sea la red local o Internet, es necesario que abran un socket para establecer
la comunicación y también para intercambiar cualquier flujo de datos.
Generalmente el flujo de datos se hace de forma fiable y ordenada, no obstante,
dependemos de si los procesos están utilizando el protocolo TCP o el protocolo
UDP, a continuación, os explicamos brevemente las principales características
de ambos protocolos:
El protocolo TCP es un
protocolo de la capa de transporte que es orientado a conexión, esto significa
que antes de intercambiar los datos reales hay un paso previo para establecer
una comunicación.
En el siguiente ejemplo,
podemos ver los socket creados en un servidor web, mirando estos socket desde
el propio servidor web.
Usuario 1
Protocolo: TCP.
IP origen: 77.77.77.77 (el
cliente).
IP destino: 88.88.88.88
(nosotros).
Puerto origen o local: 49152
(el cliente).
Puerto destino o remoto: 443
(nosotros, usamos HTTPS).
En el caso del segundo
usuario, tendríamos:
Usuario 2
Protocolo: TCP.
IP origen: 71.71.71.71 (el
cliente).
IP destino: 88.88.88.88
(nosotros).
Puerto origen o local: 49152
(el cliente).
Puerto destino o remoto: 443
(nosotros, usamos HTTPS).
En este caso solamente ha
cambiado la IP de origen, pero en cuanto cambia uno de los cuatro parámetros ya
tenemos un nuevo socket que permite identificar la conexión de forma unívoca.
Ese cliente puede seguir usando el puerto de origen 49152 como el primero, pero
la IP de origen será distinta. En cuanto uno de los cuatro parámetros cambia,
ya estamos en otro proceso totalmente diferente y no hay ningún problema para
identificarlo adecuadamente.
Cómo ver todos los sockets en
el sistema
En sistemas operativos Windows
podemos ver todos los sockets del sistema que se encuentran abiertos,
simplemente ejecutando el siguiente comando en el símbolo del sistema con
permisos de administrador:
netstat
En la siguiente imagen podéis
ver el protocolo TCP, la dirección local que está formada por IP:PUERTO y
también la dirección remota que está formada por IP:PUERTO. Finalmente, también
nos indica el estado de la conexión.
Comentarios
Publicar un comentario