Top-Music

2,1 Puertos/ Sockets TCP/IP



Puertos Socket / TCP / IP



¿ Qué es un puerto TCP/IP 



En TCP/IP, el protocolo que usan los ordenadores para entenderse en Internet -y actualmente casi en cualquier otra red-, el puerto es una numeración lógica que se asigna a las conexiones, tanto en el origen como en el destino. No tiene ninguna significación física.


Cada proceso que se comunica con otro proceso se identifica a sí mismo a la familia de protocolos TCP/IP por uno o más puertos. Un puerto es un número de 16 bits, usado por el protocolo host-a-host para identificar a qué protocolo de más alto nivel o programa de aplicación (proceso) debe entregar los mensajes de entrada.



Un puerto puede estar:



Abierto: Acepta conexiones. Hay una aplicación escuchando en este puerto. Esto no quiere decir que se tenga acceso a la aplicación, sólo que hay posibilidad de conectarse.


Cerrado: Se rechaza la conexión. Probablemente no hay aplicación escuchando en este puerto, o no se permite el acceso por alguna razón. Este es el comportamiento normal del sistema operativo.



Bloqueado o Sigiloso: No hay respuesta. Este es el estado ideal para un cliente en Internet, de esta forma ni siquiera se sabe si el ordenador está conectado. Normalmente este comportamiento se debe a un cortafuegos de algún tipo, o a que el ordenador está apagado.






Como algunos programas de más alto nivel son protocolos por sí mismos, estandarizados en la familia de protocolos TCP/IP, tales como TELNET y FTP, usan el mismo número de puerto en todas las realizaciones de TCP/IP. Aquellos números de puerto "asignados" se denominan puertos bien-conocidos y las aplicaciones estándares servicios bien-conocidos.




Los puertos "bien-conocidos" los controla y asigna la Autoridad de Números Asignados de Internet (IANA) y en la mayoría de los sistemas sólo pueden usarlo los procesos del sistema o programas ejecutados con privilegios de usuario. Los puertos "bien-conocidos" asignados ocupan números de puerto en el rango de 0 a 1023. Los puertos con números dentro del rango 1024-65535 no los controla la IANA y la mayor parte de los sistemas únicamente usan programas desarrollados por usuarios.


La confusión debida a que dos aplicaciones diferentes intentan usar los mismos números de puerto sobre un host se evita escribiendo esas aplicaciones para pedir un puerto TCP/IP disponible. Puesto que este número de puerto se asigna dinámicamente, debe diferir de una invocación de una aplicación a la próxima.




Puerto Socket


Un socket es una interfaz de entrada-salida de datos que permite la intercomunicación entre procesos. Los procesos pueden estar ejecutándose en el mismo o en distintos sistemas, unidos mediante una red. Un identificador de socket es una pareja formada por una dirección IP y un puerto. Cuando un programa crea un socket puede solicitarle al sistema operativo que asocie un número de puerto con el socket.


Hay dos tipos de sockets que son especialmente importantes: Streams y Datagrams



Sockets Stream


Los Sockets Stream son los más utilizados, hacen uso del protocolo TCP, el cual nos provee un flujo de datos bidireccional, secuenciado, sin duplicación de paquetes y libre de errores. La especificación del protocolo TCP se puede leer en la RFC-793 .


Sockets Datagram



Los Sockets Datagram hacen uso del protocolo UDP, el cual nos provee un flujo de datos bidireccional, pero los paquetes pueden llegar fuera de secuencia, pueden no llegar o contener errores. Se llaman también sockets sin conexión, porque no hay que mantener una conexión activa, como en el caso de sockets stream. Son utilizados para transferencia de información paquete por paquete.






!Vídeo Informativo!





No hay comentarios:

Publicar un comentario