Bagikan melalui


struktur IP_MSFILTER (ws2ipdef.h)

Struktur ip_msfilter menyediakan parameter pemfilteran multicast untuk alamat IPv4.

Sintaks

typedef struct ip_msfilter {
  IN_ADDR             imsf_multiaddr;
  IN_ADDR             imsf_interface;
  MULTICAST_MODE_TYPE imsf_fmode;
  ULONG               imsf_numsrc;
  IN_ADDR             imsf_slist[1];
} IP_MSFILTER, *PIP_MSFILTER;

Anggota

imsf_multiaddr

Alamat IPv4 dari grup multicast.

imsf_interface

Alamat IPv4 lokal antarmuka atau indeks antarmuka tempat grup multicast harus difilter. Nilai ini dalam urutan byte jaringan. Jika anggota ini menentukan alamat IPv4 0.0.0.0, antarmuka multicast IPv4 default akan digunakan.

Untuk menggunakan indeks antarmuka 1 akan sama dengan alamat IP 0.0.0.1.

imsf_fmode

Mode filter multicast yang akan digunakan. Parameter ini dapat berupa MCAST_INCLUDE (nilai 0) untuk menyertakan sumber multicast tertentu, atau MCAST_EXCLUDE (nilai 1) untuk mengecualikan lalu lintas dari sumber tertentu.

Pada Windows Server 2003 dan Windows XP, nilai-nilai ini ditentukan dalam file header Ws2tcpip.h .

Pada Windows Vista dan yang lebih baru, nilai-nilai ini didefinisikan sebagai nilai enumerasi dalam enumerasi MULTICAST_MODE_TYPE yang ditentukan dalam file header Ws2ipdef.h .

imsf_numsrc

Jumlah sumber dalam anggota imsf_slist .

imsf_slist[1]

Array struktur in_addr yang menentukan alamat sumber multicast IPv4 untuk disertakan atau dikecualikan.

Keterangan

Struktur ip_msfilter digunakan dengan alamat IPv4. Struktur ip_msfilter diteruskan sebagai argumen untuk IOCTL SIO_GET_MULTICAST_FILTER dan SIO_SET_MULTICAST_FILTER .

Struktur ip_msfilter dan struktur terkait yang digunakan untuk pemrograman multicast IPv4 didasarkan pada rekomendasi IETF di bagian 4 dan 8.1 RFC 3768. Untuk informasi selengkapnya, lihat http://www.ietf.org/rfc/rfc3678.txt.

Pada Windows Vista dan yang lebih baru, sekumpulan opsi soket tersedia untuk pemrograman multicast yang mendukung alamat IPv6 dan IPv4. Opsi soket ini adalah agnostik IP dan dapat digunakan pada IPv6 dan IPv4. Opsi agnostik IP ini menggunakan GROUP_REQ dan struktur GROUP_SOURCE_REQ serta SIOCSMSFILTER dan SIOCGMSFILTER IOCTLs. Ini adalah opsi soket dan IOCTL pilihan untuk pemrograman multicast di Windows Vista dan yang lebih baru.

Anggota imsf_interface dapat menjadi indeks antarmuka. Alamat IPv4 apa pun di blok 0.x.x.x (oktet pertama 0) kecuali untuk alamat IPv4 0.0.0.0 diperlakukan sebagai indeks antarmuka. Indeks antarmuka adalah angka 24-bit. Blok alamat IPv4 0.0.0.0/8 tidak digunakan (rentang ini dicadangkan). Fungsi GetAdaptersAddresses dapat digunakan untuk mendapatkan informasi indeks antarmuka yang digunakan untuk anggota imsf_interface .

Disarankan agar alamat IPv4 lokal atau indeks antarmuka selalu ditentukan dalam anggota imsf_interface struktur ip_msfilter , daripada menggunakan antarmuka default. Ini sangat penting di komputer dengan beberapa antarmuka jaringan dan beberapa alamat IPv4 publik.

Antarmuka default yang digunakan untuk multicast IPv4 ditentukan oleh tumpukan jaringan di Windows. Aplikasi dapat menentukan antarmuka default yang digunakan untuk multicast IPv4 menggunakan fungsi GetIpForwardTable untuk mengambil tabel perutean IPv4. Antarmuka jaringan dengan nilai terendah untuk metrik perutean untuk alamat IP tujuan 224.0.0.0 adalah antarmuka default untuk multicast IPv4. Tabel perutean juga dapat ditampilkan dari prompt perintah dengan perintah berikut:

cetak rute

Opsi soket IP_MULTICAST_IF dapat digunakan untuk mengatur antarmuka default untuk mengirim paket multicast IPv4. Opsi soket ini tidak mengubah antarmuka default yang digunakan untuk menerima paket multicast IPv4.

Aplikasi multicast IPv4 yang khas akan menggunakan opsi soket IP_ADD_MEMBERSHIP dengan struktur ip_mreq atau opsi soket IP_ADD_SOURCE_MEMBERSHIP dengan struktur ip_mreq_source untuk bergabung dengan grup multicast dan mendengarkan paket multicast pada antarmuka tertentu. Opsi soket IP_MULTICAST_IF akan digunakan untuk mengatur antarmuka untuk mengirim paket multicast IPv4 ke grup multicast. Skenario yang paling umum adalah aplikasi multicast yang mendengarkan dan mengirim antarmuka yang sama untuk grup multicast. Beberapa soket mungkin digunakan oleh aplikasi multicast dengan satu soket untuk mendengarkan dan satu atau beberapa soket untuk dikirim.

Pada Kit Pengembangan Perangkat Lunak (SDK) Microsoft Windows yang dirilis untuk Windows Vista dan yang lebih baru, organisasi file header telah berubah dan struktur ip_msfilter ditentukan dalam file header Ws2ipdef.h yang secara otomatis disertakan dalam file header Ws2tcpip.h . File header Ws2ipdef.h tidak boleh digunakan secara langsung.

Catatan Struktur turunan IP_MSFILTER dan PIP_MSFILTER hanya ditentukan pada Windows SDK yang dirilis dengan Windows Vista dan yang lebih baru. Struktur ip_msfilter harus digunakan pada versi Windows SDK yang lebih lama.
 

Persyaratan

   
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Header ws2ipdef.h (termasuk Ws2tcpip.h)

Lihat juga

Pemrograman Multicast Berbasis Status Akhir

GROUP_FILTER

GROUP_REQ

GROUP_SOURCE_REQ

GetAdaptersAddresses

GetIpForwardTable

Opsi Soket IPPROTO_IP

MULTICAST_MODE_TYPE

Pemrograman Multicast

Opsi Soket

ip_mreq

ip_mreq_source