Números de puerto TCP/IP necesarios para comunicarse con SQL a través de un servidor de seguridad

Seleccione idioma Seleccione idioma
Id. de artículo: 287932 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Resumen

Este artículo describe los números de puerto TCP/IP que requiere Microsoft SQL Server para comunicarse a través de un servidor de seguridad. El puerto de SQL Server predeterminado es 1433 y puertos de cliente se asignan un valor aleatorio entre 1024 y 5000.

Para obtener información detallada acerca de los números de puerto que requiere SQL Server, consulte la sección "Más información" de este artículo.

Más información

SQL Server es una aplicación de Winsock que se comunica a través de TCP/IP mediante el uso de la biblioteca de red sockets. SQL Server escucha las conexiones entrantes en un puerto concreto. El puerto predeterminado para SQL Server es 1433. El puerto no es necesario ser el 1433, pero 1433 es el número de socket oficial de Internet Assigned Number Authority (IANA) para SQL Server.

Una aplicación cliente se comunica con SQL Server mediante la biblioteca de red del cliente Dbmssocn.dll (o Dbnetlib.dll para SQL Server 2000) y cualquier cliente utilizando Microsoft Data Access Components (MDAC) 2.6.

Cuando el cliente establece una conexión TCP/IP, realiza un enlace de tres vías. El cliente abre un puerto de origen y envía el tráfico al puerto de destino, que es el 1433 de forma predeterminada. El puerto de origen del cliente en uso es aleatorio, pero es mayor que 1024. De manera predeterminada, cuando una aplicación solicita un socket del sistema para una llamada saliente, se suministra un número de puerto entre los valores 1024 y 5000. Para obtener más información, consulte el siguiente sitio Web de Microsoft:
Detalles de implementación de Microsoft Windows 2000 TCP/IP
El servidor (en este caso, SQL Server), a continuación, se comunica con el cliente mediante el envío de tráfico desde 1433 al puerto que el cliente establecido.

La mejor forma de observar este comportamiento es una comunicación de cliente a servidor de seguimiento con Monitor de red de Microsoft o una herramienta de sniffer de red. Para configurar el servidor de seguridad, debe permitir el tráfico desde * cualquiera * a 1433 y desde 1433 a * cualquiera *, donde * cualquiera * es un puerto mayor que 1024.

Además de utilizar el Monitor de red de Microsoft, también puede utilizar la utilidad TCP/IP Netstat para mostrar este comportamiento. El comando netstat-an desde una ventana de comandos de MS-DOS produce los siguientes resultados que muestra tres conexiones establecidas para SQL Server. Este ejemplo utiliza 157.54.178.42 como la dirección IP de SQL Server y 157.54.178.31 como la dirección IP del cliente. Los puertos abiertos por el cliente son 1746, 1748 y 1750, respectivamente.
Proto   Local Address          Foreign Address        State
 TCP    157.54.178.42:1433     0.0.0.0:0              LISTENING
 TCP    157.54.178.42:1433     157.54.178.31:1746     ESTABLISHED
 TCP    157.54.178.42:1433     157.54.178.31:1748     ESTABLISHED
 TCP    157.54.178.42:1433     157.54.178.31:1750     ESTABLISHED
					
El software de servidor de seguridad debe permitir esta asignación dinámica que se produzca mediante el uso de las reglas. Si es así, puede configurar la conexión desde 1433 a * cualquiera * como "establecido". Esto abrirá dinámicamente el puerto de respuesta después de una sincronización, seguido de una sincronización/confirmación mediante una inspección de paquetes con estado.

No hay ninguna forma de limitar el número de puertos TCP de origen utilizados para un cliente de SQL Server para conectar; Esto anularía el propósito de que el cliente asigne un nuevo puerto dinámico sin utilizar. Se trata de un estándar TCP/IP definido para las aplicaciones Winsock; no es una limitación de la comunicación del cliente SQL Server.

Además, una instancia con nombre de SQL Server 2000 utilizará un puerto de destino dinámico de manera predeterminada. Este puerto debe cambiarse a un puerto fijo antes de configurar el servidor de seguridad. La herramienta de red de SQL Server debe utilizarse para configurar el puerto de destino. Para obtener información sobre cómo utilizar la herramienta de red de SQL Server, consulte los libros en pantalla de SQL Server.

De lo contrario, el equipo cliente tendría que abrir un puerto UDP aleatorio y el puerto UDP 1434 del servidor se utilizará para enviar el nombre de instancia, y si la instancia está agrupada, la versión de la instancia SQL, el TCP puerto número que está escuchando la instancia y la canalización con nombre que está utilizando la instancia. Sin embargo, si el objetivo es reducir el número de puertos abiertos en el firewall, debe elegirse un número de puerto estático para la instancia predeterminada y las instancias con nombre. Los equipos cliente necesitaría estar configurado para conectar con un ServerName o ServerName determinada instancia y el número de puerto específico.

Para obtener información adicional, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
216415 Cómo: Configurar SQL Server con Proxy Server
148942 Cómo capturar el tráfico de red con Monitor de red
169292 Fundamentos de la lectura de trazas de TCP/IP
269882 HOWTO: Utilizar ADO para conectarse a SQL Server que está detrás de un servidor de seguridad

Propiedades

Id. de artículo: 287932 - Última revisión: viernes, 7 de marzo de 2014 - Versión: 8.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 6.5 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
Palabras clave: 
kbsqlsetup kbinfo kbmt KB287932 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 287932

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com