2010-06-08 14 views

Respuesta

16

El nuevo socket es un concepto de nivel de aplicación introducido porque cada conexión establecida necesita un descriptor de archivo único (también distinto del descriptor de archivo de escucha), que se asigna a una sesión TCP, pero no es lo mismo. La sesión en sí se identifica por la combinación de la dirección y el puerto de origen y destino. El puerto de origen (cliente) generalmente se elige al azar, mientras que el puerto de destino (servidor) es el puerto de escucha. No se asigna ningún puerto adicional.

+1

La sesión se identifica por la combinación de la dirección IP y el puerto de origen y destino, Y el protocolo. Por lo tanto, es un 5-tuplo que identifica de forma única la conexión, no 4-tupla. – treecoder

+1

@treecoder ¿Qué nivel de protocolo? Nivel de transporte? O nivel de aplicación? P.ej. '' o ''? – smwikipedia

+0

nivel de aplicación – KawaiKx

6

El socket asociado con el nuevo descriptor devuelto por accept en el servidor utilizará el mismo puerto en el lado del servidor de la conexión que el socket original (asumiendo las definiciones "normales" donde el cliente inicia la conexión). El nuevo socket tendrá un número de puerto de cliente diferente (el puerto remoto desde el punto de vista del servidor).

Cuestiones relacionadas