Поделиться через


Выбор последовательности протоколов

Последовательность протоколов — это язык, используемый сетевой операционной системой для взаимодействия по сети с другими компьютерами. В более конкретных терминах приложения RPC должны указывать строку, представляющую сочетание протокола RPC, транспортного протокола и сетевого протокола.

Microsoft RPC поддерживает три протокола RPC:

  • Протокол ориентированного подключения (NCACN) в архитектуре сетевых вычислений
  • Протокол обработки данных архитектуры сетевых вычислений (NCADG)
  • Вызов локальной удаленной процедуры архитектуры сетевых вычислений (NCALRPC)

Приложения RPC могут использовать протокол NCALRPC для вызова процедур, предлагаемых серверными программами, работающими на том же компьютере, на котором выполняется клиентская программа. Это наиболее эффективный метод вызова функциональных возможностей в другом процессе на одном компьютере.

Протоколы транспорта и сети, которые использует приложение, зависят от того, какие протоколы поддерживает сеть. Многие сети сегодня, включая Интернет, поддерживают TCP/IP. Другие распространенные протоколы транспорта и сети: IPX/SPX, NetBIOS и AppleTalk DSP. Microsoft RPC поддерживает эти и другие протоколы транспорта и сети. Полный список см. в константах последовательности протоколов .

Если приложение использует автоматические дескрипторы привязки, не нужно указывать последовательность протоколов. Если используется неявное или явное управление, система должна получить или указать протокольную последовательность. Каждая распределенная система должна проверить среду, в которой она будет развернута, чтобы определить, какая последовательность протоколов лучше подходит для этой среды.

Не все последовательности протоколов имеют эквивалентную функциональность. Разработчики должны убедиться, что выбранная последовательность протоколов поддерживает необходимые функции. Как правило, рекомендуется использовать ncalrpc для локальных коммуникаций и ncacn_ip_tcp или ncacn_http для удаленных коммуникаций; они работают во всех средах, обеспечивают оптимальную производительность и поддерживают все необходимые лучшие практики.

Клиенты также могут указывать сведения о последовательности протокола, полученные из Active Directory, реестра, переменных среды, созданных и инициализированных программой установки, файлами конфигурации для конкретного приложения или из литеральных строк в исходном коде программы.

После того как клиентская программа получает допустимую строку последовательности протоколов, она может передать эту информацию в функции RpcStringBindingCompose и RpcBindingFromStringBinding для создания дескриптора привязки.