jueves, 17 de marzo de 2011

PUERTOS Y SOCKETS

Puertos

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.
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.

Sockets

Consideremos la terminología siguiente:
  • Un socket es un tipo especial de manejador de fichero que utiliza un proceso para pedir servicios de red al sistema operativo.
  • Una dirección de socket es la tripleta: {protocolo, dirección-local, proceso-local} En la familia TCP/IP, por ejemplo: {tcp, 193.44.234.3, 12345}
  • Una conversación es el enlace de comunicación entre dos procesos.
  • Una asociación es la quíntupla que especifica completamente los dos procesos que comprende una conexión: {protocolo, dirección-local, proceso-local, dirección-externa, proceso-externo}
    En la familia TCP/IP, por ejemplo:
    {tcp, 193.44.234.3, 1500, 193.44.234.5, 21}
    podría ser una asociación válida.
  • Una media-asociación es: {protocolo, dirección-local, proceso-local}
    o
    {protocolo, dirección-externa, proceso-externo}
    que especifica cada mitad de una conexión.
  • La media-asociación se denomina también socket o dirección de transporte. Esto es, un socket es un punto terminal para comunicación que puede nombrarse y direccionarse en una red.
La interfaz socket es una de las muchas APIs para los protocolos de comunicación. Diseñada para ser una interfaz de programación de comunicación, fue introducida primero por el sistema UNIX 4.2BSD. Aunque no se ha estandarizado, ha llegado a ser un estándar en la industria.
4.2BSD permitía dos dominios de comunicación diferentes: Internet y UNIX. 4.3BSD ha añadido los protocolos del Sistema de Red de Xerox (XNS) y 4.4BSD añadirá una interfaz extendida para dar soporte a los protocolos ISO OSI.


FUENTES DE INFORMACIÓN:

http://personales.upv.es/rmartin/TcpIp/cap02s10.html

No hay comentarios:

Publicar un comentario