Mengonfigurasi Registri untuk Alokasi Port dan Pengikatan Selektif

Dimulai dengan Windows 2000, utilitas dalam Windows Resource Kit yang disebut Rpccfg.exe harus digunakan untuk mengatur pengikatan. Untuk informasi selengkapnya, lihat Windows Resource Kit untuk versi sistem operasi yang sesuai.

Untuk versi windows sebelum Windows 2000, kunci registri dalam tabel berikut menentukan default sistem untuk alokasi port dinamis dan untuk pengikatan ke NIC pada komputer multihomed. Anda harus terlebih dahulu membuat kunci ini lalu menentukan pengaturan yang sesuai.

Menggunakan fungsi RpcServerUseProtseqEx memengaruhi pengaturan ini. Pengembang harus terbiasa dengan pengaturan registri yang dijelaskan di bagian ini dan fungsi RpcServerUseProtseqEx saat mengelola alokasi port. Contoh dengan tiga aplikasi hipotetis mengikuti tabel di bawah ini, dan menggambarkan bagaimana pengaturan ini dan fungsi RpcServerUseProtseqEx beroperasi.

Jika kunci hilang atau berisi nilai yang tidak valid, seluruh konfigurasi ditandai sebagai tidak valid, dan semua panggilan RpcServerUseProtseq* melalui ncacn_ip_tcp atau ncadg_ip_udp akan gagal.

Catatan

Port yang dialokasikan untuk proses tetap dialokasikan sampai proses tersebut mati. Jika semua port yang tersedia sedang digunakan, fungsi akan mengembalikan RPC_S_OUT_OF_RESOURCES.

 

Kunci port Jenis data Deskripsi
HKEY_LOCAL_MACHINE   Software      Microsoft         Rpc            Internet               Ports
REG_MULTI_SZ Menentukan sekumpulan rentang port IP yang terdiri dari semua port yang tersedia dari Internet atau semua port yang tidak tersedia dari Internet. Setiap string mewakili satu port atau sekumpulan port inklusif (misalnya, 1000-1050, 1984). Jika ada entri di luar rentang 0 hingga 65535, atau jika ada string yang tidak dapat ditafsirkan, run time RPC akan memperlakukan seluruh konfigurasi sebagai tidak valid.
HKEY_LOCAL_MACHINE   Software      Microsoft         Rpc            Internet               PortsInternetAvailable
REG_SZ Y atau N (tidak peka huruf besar/kecil). Jika Y, port yang tercantum dalam kunci Port adalah semua port yang tersedia internet di komputer tersebut. Jika N, port yang tercantum dalam kunci Port adalah semua port yang tidak tersedia di Internet.
HKEY_LOCAL_MACHINE   Software      Microsoft         Rpc            Internet               UseInternetPorts
REG_SZ Y atau N (tidak peka huruf besar/kecil). Menentukan kebijakan default sistem. Jika Y, proses yang menggunakan default akan ditetapkan port dari kumpulan port yang tersedia internet, seperti yang didefinisikan di atas. Jika N, proses yang menggunakan default akan ditetapkan port dari kumpulan port khusus intranet.
HKEY_LOCAL_MACHINE   System      CurrentControlSet         Services            Rpc               Linkage                  Bind
REG_MULTI_SZ Mencantumkan nama perangkat dari semua NIC yang akan diikat secara default (misalnya, \Device\AMDPCN1). Jika kunci tidak ada, server akan mengikat semua NIC. Jika kunci memang ada, server akan mengikat ke NIC yang ditentukan dalam kunci, kecuali bidang NICFlags diatur ke RPC_C_BIND_TO_ALL_NICS. Jika kunci memiliki nilai null (""), konfigurasi akan ditandai sebagai tidak valid dan semua panggilan ke RpcServerUseProtseq* melalui ncacn_ip_tcp atau ncadg_ip_udp akan gagal.

 

Tabel berikut ini menggambarkan bagaimana tiga aplikasi sampel dipengaruhi oleh pengaturan yang ditentukan dalam tabel sebelumnya, dan bagaimana pengaturan yang diterapkan menggunakan fungsi RpcServerUseProtseqEx juga terpengaruh.

Dalam contoh ini, tiga aplikasi hipotetis dipertimbangkan:

  • InternetApp: Aplikasi ini ditujukan untuk paparan Internet, dan telah menentukan RPC_C_USE_INTERNET_PORT di anggota EndpointFlags dari struktur RPC_POLICY yang diteruskan ke fungsi RpcServerUseProtseqEx .
  • LocalApp: Aplikasi ini tidak dimaksudkan untuk paparan Internet, dan telah menentukan RPC_C_USE_INTRANET_PORT di anggota EndpointFlags dari struktur RPC_POLICY yang diteruskan ke fungsi RpcServerUseProtseqEx .
  • DefaultApp: Aplikasi ini menentukan nol di anggota EndpointFlags dari struktur RPC_POLICY yang diteruskan ke fungsi RpcServerUseProtseqEx .

Tabel berikut menjelaskan dampak pengaturan ini berdasarkan nilai yang ditentukan dalam entri registri yang dijelaskan dalam tabel sebelumnya. Untuk pertimbangan pemformatan, kode berikut ditetapkan:

PIA = Nilai Kunci PortsInternetAvailable

UIP = Nilai Kunci UseInternetPorts

Nilai kunci Port, demi contoh ini, adalah 5000-5100 untuk setiap entri.

Aplikasi PIA UIP Hasil
InternetApp Y Y Menggunakan port antara 5000 dan 5100
LocalApp Y Y Menggunakan port di luar rentang 5000-5100
DefaultApp Y Y Menggunakan port antara 5000 dan 5100
InternetApp Y N Menggunakan port antara 5000 dan 5100
LocalApp Y N Menggunakan port di luar rentang 5000-5100
DefaultApp Y N Menggunakan port di luar rentang 5000-5100
InternetApp N Y Menggunakan port di luar rentang 5000-5100
LocalApp N Y Menggunakan port antara 5000 dan 5100
DefaultApp N Y Menggunakan port di luar rentang 5000-5100
InternetApp N N Menggunakan port di luar rentang 5000-5100
LocalApp N N Menggunakan port antara 5000 dan 5100
DefaultApp N N Menggunakan port antara 5000 dan 5100

 

RPC_POLICY

RpcServerUseAllProtseqsEx

RpcServerUseAllProtseqsIfEx

RpcServerUseProtseqEx

RpcServerUseProtseqEpEx

RpcServerUseProtseqIfEx

ncacn_ip_tcp

ncadg_ip_udp