Bagikan melalui


Menggunakan Pemfilteran Sakelar Virtual

Gambaran Umum Pemfilteran Sakelar Virtual

Pemfilteran Sakelar Virtual didukung di Windows 8 dan versi Windows yang lebih baru.

Fitur WFP ini memungkinkan pemfilteran pada bidang header MAC, header IP, dan port protokol atas serta bidang spesifik sakelar virtual seperti port virtual (VPort) dan pengidentifikasi komputer virtual (ID VM). Lapisan-lapisan ini dipanggil per paket untuk semua paket yang melintas sakelar virtual. Lapisan ini diakses dari filter ekstensi sakelar virtual—jenis driver filter ringan (LWF) NDIS.

Driver callout memanggil fungsi FwpsvSwitchEventsSubscribe0 untuk mendaftarkan titik masuk panggilan balik untuk peristiwa lapisan sakelar virtual.

Titik masuk untuk fungsi pemberitahuan panggilan balik ditentukan dalam struktur FWPS_VSWITCH_EVENT_DISPATCH_TABLE0. Fungsi panggilan balik yang tersedia meliputi:

Enumerasi FWPS_VSWITCH_EVENT_TYPE menentukan nilai untuk parameter eventType dari fungsi pemberitahuan sakelar virtual.

Driver callout akhirnya harus memanggil FwpsvSwitchEventsUnsubscribe0 untuk membebaskan sumber daya sistem.

Jika driver callout mengembalikan STATUS_PENDING dari fungsi pemberitahuan WFP, WFP akan mengembalikan STATUS_PENDING ke handler permintaan OID. Driver callout harus memanggil fungsi FwpsvSwitchNotifyComplete0 untuk menyelesaikan operasi yang tertunda. Setelah panggilan FwpsvSwitchNotifyComplete0, WFP memanggil fungsi NdisFOidRequestComplete untuk menyelesaikan OID untuk sakelar virtual.

Panggilan balik tidak boleh menambahkan atau menghapus filter WFP secara sinkron dalam konteks fungsi pemberitahuan. Selain itu, jika fungsi pemberitahuan memungkinkan panggilan balik untuk mengembalikan STATUS_PENDING, dan callout mengembalikan STATUS_PENDING, callout tidak boleh menambahkan atau menghapus filter WFP sebelum menyelesaikan pemberitahuan.

Lapisan dan Bidang Filter Sakelar Virtual WFP

Pengidentifikasi Lapisan Pemfilteran Run-time untuk pemfilteran sakelar virtual meliputi:

  • FWPS_LAYER_INGRESS_VSWITCH_ETHERNET
  • FWPS_LAYER_EGRESS_VSWITCH_ETHERNET
  • FWPS_LAYER_INGRESS_VSWITCH_TRANSPORT_V4
  • FWPS_LAYER_INGRESS_VSWITCH_TRANSPORT_V6
  • FWPS_LAYER_EGRESS_VSWITCH_TRANSPORT_V4
  • FWPS_LAYER_EGRESS_VSWITCH_TRANSPORT_V6

Pengidentifikasi Bidang Data untuk pemfilteran sakelar virtual meliputi:

Panduan untuk Penulis Callout WFP Virtual Switch

Lalu Lintas Port 0

Untuk callout sakelar virtual WFP, lalu lintas dari port 0 (ID port default) tepercaya dan tidak boleh difilter. Ini karena, umumnya, lalu lintas melalui port 0 berasal dari ekstensi lain di tumpukan driver dan dengan demikian diperlakukan oleh jalur data sebagai hak istimewa dan tepercaya. Ekstensi sakelar virtual akan dengan hemat menggunakan port 0 untuk situasi seperti berasal dari paket kontrol, yang tidak boleh difilter dan ditolak oleh ekstensi yang mendasar. Untuk informasi selengkapnya tentang modifikasi port sumber sakelar Hyper-V yang dapat diperluas, lihat Memodifikasi Data Port Sumber Sakelar yang Dapat Diperluas Paket.

Aturan Pencocokan Callout

Saat menentukan aturan yang cocok untuk pemfilteran, callout sakelar virtual tidak boleh menggunakan alamat MAC sebagai dasar perbandingan. Alamat MAC dapat berubah pada runtime, dan beberapa port dapat menghasilkan lalu lintas dari beberapa alamat MAC. Sebaliknya, callout harus menggunakan aturan pencocokan yang lebih tahan lama seperti ID NIC, yang tidak akan berubah.

Virtualisasi I/O (IOV) dan Koeksistensi WFP

WFP tidak dapat diaktifkan pada sakelar IOV dan diblokir oleh OS jika upaya dilakukan untuk mengaktifkannya.

Mengaktifkan atau Menonaktifkan WFP

Alat penginstal untuk callout sakelar virtual WFP tidak boleh mengubah status ekstensi WFP yang diaktifkan; artinya, mereka tidak boleh mengaktifkan atau menonaktifkan WFP itu sendiri.