Номера портов TCP/IP, необходимые для обмена данными с SQL через брандмауэр

Код статьи: 287932 - Список продуктов, к которым относится данная статья.
Развернуть все | Свернуть все

Аннотация

В этой статье описываются номера портов TCP/IP, используемые Microsoft SQL Server для связи через брандмауэр. Портом по умолчанию для SQL Server является 1433, а клиентские порты назначаются динамически случайным образом в диапазоне от 1024 до 5000.

Подробные сведения номерах портов, требуемых SQL Server, см. в разделе «Дополнительная информация» этой статьи.

Дополнительная информация

SQL Server — это Winsock приложение, которое обменивается данными по протоколу TCP/IP с помощью сетевая библиотека сокетов. SQL Server прослушивает входящие соединения на определенный порт. Порт по умолчанию для SQL Server – 1433. Порт не обязательно должен быть 1433, но 1433 официальный номер сокета номер центра IANA (Internet Assigned) для SQL Server.

Клиентское приложение взаимодействует с SQL Server с помощью клиентской сетевой библиотеки Dbmssocn.dll (или Dbnetlib.dll для SQL Server 2000) и любого клиента, использующего компоненты доступа к данным Microsoft (MDAC) 2.6.

Когда клиент устанавливает подключение по протоколу TCP/IP, это делается в три этапа. Клиент открывает исходный порт и отправляет трафик в порт назначения по умолчанию, 1433. Исходный порт клиента выбирается произвольно, но он всегда больше 1024. По умолчанию когда приложение запрашивает сокет из системы для исходящих вызовов, предоставляется номер порта в диапазоне от 1024 до 5000. Для получения дополнительных сведений см. следующий веб-сайт корпорации Майкрософт:
Сведения о реализации TCP/IP в Microsoft Windows 2000
Сервер (в этом случае SQL Server) затем передает данные клиенту, отправляя трафик из порта 1433 в порт клиента.

Для наблюдения за этим поведением рекомендуется выполнить трассировку связи "клиент-сервер" с помощью сетевого монитора Microsoft или средства прослушивания сети. Чтобы настроить брандмауэр, необходимо разрешить трафик от * ANY * 1433 и от 1433 для * ANY * где * ANY * является порт с номером больше 1024.

С помощью сетевого монитора Microsoft, можно также использовать программы TCP/IP Netstat для иллюстрации этого поведения. Использование команды netstat -an из окна команд MS-DOS выводит следующие результаты: три установленных подключения к SQL Server. В этом примере использует 157.54.178.42 в качестве IP-адрес SQL Server и 157.54.178.31 как IP-адрес клиента. Порты, открываемые клиентом — 1746, 1748 и 1750 соответственно.
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
					
Программный брандмауэр должен позволять такое динамическое выделение с помощью правил. В этом случае можно настроить подключение от 1433 к *ANY* (Любому) как "established" (Установлено). Это приведет к динамическому открытию порта для ответа после syn, за которым следуют syn/ack посредством проверки сетевых пакетов со сведениями о состоянии.

Не существует способа ограничить число используемых портов TCP источника для клиента SQL Server для подключения; Это приведет к достижению цели наличия Клиент выделить новый неиспользуемые динамических портов. Это стандарт TCP/IP, т.е. определяется для приложений Winsock; Это не является ограничением клиента SQL Server взаимодействие.

Кроме того будет именованного экземпляра SQL Server 2000 Используйте динамическое назначение порта по умолчанию. Необходимо изменить этот порт фиксированный порт до настройки брандмауэра. Сетевую программу SQL Server следует использовать порт назначения. Электронная документация по SQL Server см. Дополнительные сведения об использовании SQL Server Network Utility.

В противном случае на клиентском компьютере необходимо открыть случайный порт UDP и UDP-порт 1434 сервера будет использоваться для отправки имени экземпляра Если кластеризованный экземпляр, версию экземпляра SQL, номер порта TCP и что экземпляр прослушивает именованный канал является экземпляр с помощью. Однако если цель состоит в минимизации числа портов открывать на статический порт брандмауэра, необходимо выбрать для экземпляра по умолчанию и любой именованный экземпляр. Клиентские компьютеры необходимо настроить для подключения имя_сервера или имя_сервера конкретного экземпляра и конкретный порт номер.

Для получения дополнительных сведений нажмите следующие кнопки номера статей базы знаний Майкрософт:
216415ПРАКТИЧЕСКОЕ РУКОВОДСТВО. Настройка SQL Server с прокси-сервером
148942 Запись сетевого трафика с помощью сетевого монитора
169292 Основы трассировки протокола TCP/IP
269882 ПРАКТИЧЕСКОЕ РУКОВОДСТВО. Использование ADO для подключения к SQL Server, который защищен брандмауэром

Свойства

Код статьи: 287932 - Последнее изменение :: 10 марта 2013 г. - Редакция: 12.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 6.5 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
Ключевые слова: 
kbsqlsetup kbinfo kbmt KB287932 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке: 287932

Отправить отзыв