Bagikan melalui


Pengantar Antarmuka Penyedia Paket NDIS

PacketDirect Provider Interface (PDPI) memperluas NDIS dengan model I/O yang dipercepat, untuk lingkungan fisik dan virtual, yang dapat meningkatkan jumlah paket yang diproses per detik dengan urutan besaran dan secara signifikan mengurangi jitter jika dibandingkan dengan jalur I/O NDIS tradisional.

Background

Model I/O tradisional di Windows diimplementasikan untuk menjadi platform I/O umum multiguna yang dimaksudkan untuk bekerja dengan beberapa jenis media dengan banyak karakteristik yang berbeda dan di mana jaringan hanya satu aspek dari sistem keseluruhan. Saat ini, karena virtualisasi jaringan telah menjadi teknologi yang lazim di pusat data, model I/O NDIS tradisional di OS Windows Server tidak hanya tidak cukup untuk mengikuti beban kerja intensif jaringan yang kami harapkan menjadi semakin umum tetapi juga model yang tidak pantas untuk mendedikasikan sumber daya ke pemrosesan I/O jaringan. Di lingkungan pusat data, tidak jarang mengimplementasikan satu mesin tujuan yang didedikasikan untuk jaringan yang melakukan fungsi yang biasanya disediakan untuk appliance perangkat keras. Contoh appliance jaringan ini termasuk load balancer perangkat lunak, appliance DDoS, dan gateway penerusan. Untuk memperburuk masalah, ada mekanisme pada OS lain' untuk mempercepat I/O yang menjadikan OS alternatif ini sebagai platform yang disukai untuk membangun aplikasi intensif jaringan seperti appliance virtual.

PacketDirect (PD) memperluas model NDIS saat ini dengan jalur I/O jaringan yang dipercepat yang dioptimalkan untuk paket per detik (pps) menghitung urutan besaran yang lebih tinggi dari apa yang telah terlihat dengan model I/O NDIS tradisional. Hal ini dicapai melalui:

  • Latensi berkurang
  • Mengurangi siklus/paket
  • Kecepatan linier dengan penggunaan sumber daya sistem tambahan

PacketDirect ada berdampingan dengan model tradisional. Jalur PD baru dapat digunakan ketika aplikasi lebih menyukainya dan ada sumber daya perangkat keras yang memadai untuk mengakomodasinya. PD tidak dimaksudkan untuk mengganti model I/O tradisional dan mengasumsikan bahwa penulisan klien ke antarmuka PD akan memiliki persyaratan partisi yang ketat untuk sumber daya yang mendasar berdasarkan topologi sistem. PD dimaksudkan untuk menjadi jalur data kecepatan tinggi baru yang akan membantu sistem Windows menggantikan beban kerja pps tinggi yang telah secara tradisional dilakukan dalam perangkat keras, menghemat pemilik pusat data jutaan biaya infrastruktur.

Konsep PacketDirect

PD bekerja dengan memungkinkan klien PD mengelola lalu lintas jaringan secara eksplisit dari adaptor jaringan (NIC). PD memberikan kontrol klien PD atas fungsionalitas pengiriman dan penerimaan performa tinggi NIC melalui antarmuka klien PacketDirect (PDCI). Secara internal, fungsi kirim/terima PDCI dipetakan langsung ke PDPI. Fungsi kirim/terima PD beroperasi pada antrean PD yang dibuat oleh klien PD pada NIC berkemampuan PD. PD memberi klien PD kemampuan untuk mengatur filter kustom untuk jenis lalu lintas yang sangat spesifik atau lalu lintas yang sangat umum, berdasarkan kebutuhan klien PD. Ini memungkinkan klien PD untuk mengarahkan paket masuk tertentu ke antrean PD-nya. Pemrosesan paket dalam model PD selalu berlangsung dalam konteks eksekusi yang dimiliki (atau dikontrol/dikoordinasikan) oleh klien PD. Driver NIC berkemampuan PD benar-benar pasif, yang berarti tidak secara aktif meneruskan paket masuk atau indikasi penyelesaian untuk paket yang dikirim ke klien PD dalam konteks eksekusi milik driver seperti DPC atau worker-thread.

Jika klien PD tidak memahami cara memproses paket atau menerima paket kontrol dalam salah satu antreannya, seperti ARP, LLDP, atau paket protokol lainnya, klien PD dapat mengalihkan rute paket kembali ke jalur I/O saat ini untuk diproses. Ini memungkinkan PD untuk terus memproses paket yang memiliki konteks untuk dan tidak membuang siklus pada lalu lintas kontrol.

Penting Mungkin ada satu penyedia PD dan satu klien PD per adaptor bersih. Oleh karena itu, mungkin ada beberapa klien PD dan penyedia PD pada satu sistem.

Klien PD memiliki kontrol atas sumber daya yang dialokasikan untuk PD dalam sistem. Dalam kasus lalu lintas jaringan yang tinggi, klien PD bertanggung jawab untuk meminimalkan beban kerjanya sehingga OS dapat responsif terhadap beban kerja lain.

Platform PacketDirect yang diimplementasikan oleh Windows memetakan antarmuka klien ke antarmuka penyedia. Platform ini mengontrol manajemen buffer dan kemampuan untuk memasukkan kembali paket yang diterima melalui PD ke jalur penerimaan NDIS saat ini. Ini juga menangani interaksi dengan klien PD untuk memenuhi persyaratan jalur kontrol NDIS seperti menonaktifkan NIC, masuk ke daya rendah, pematian sistem, dan penghapusan mendadak dengan cara yang TIDAK menghambat performa jalur data PD.

Antarmuka Penyedia PaketDirect (PDPI)

PDPI memungkinkan driver NIC untuk mengekspos fungsionalitas pengiriman dan penerimaan performa tinggi mereka ke OS Windows. Fungsi yang diterapkan adalah subset dari fungsionalitas MiniPort lengkap dan umum untuk semua NIC yang mengimplementasikan PD. Untuk dokumentasi referensi untuk PDPI, lihat Referensi Antarmuka Penyedia Pengalihan Paket (PDPI).

Antarmuka Klien PacketDirect (PDCI)

PDCI memungkinkan layanan/aplikasi Windows pihak pertama (misalnya, Load-balancer, NAT, VM-switch, dll.) untuk mempercepat jalur data mereka dengan memanfaatkan model I/O PacketDirect melalui penggunaan klien PD. Antarmuka ini adalah antarmuka lapisan 2 sama seperti antarmuka kirim/terima NDIS saat ini. Fungsionalitas utama yang disediakan PDCI (selain akses PDPI) adalah alokasi/manajemen buffer paket PD, saluran belakang untuk menyuntikkan paket kembali ke jalur penerimaan NDIS reguler, penanganan peristiwa daya/PnP NDIS.

Referensi Antarmuka Penyedia Paket (PDPI)