Bagikan melalui


Meneruskan Paket ke Adaptor Jaringan Fisik

Catatan Halaman ini mengasumsikan bahwa Anda terbiasa dengan informasi dan diagram di halaman berikut:

Halaman ini menjelaskan bagaimana ekstensi penerusan sakelar Hyper-V yang dapat diperluas dapat meneruskan permintaan pengiriman paket ke adaptor fisik yang mendasar. Satu atau beberapa adaptor jaringan fisik dapat terikat ke adaptor jaringan eksternal sakelar yang dapat diperluas.

Misalnya, adaptor jaringan eksternal sakelar yang dapat diperluas dapat terikat ke tepi miniport virtual dari driver perantara multiplekser NDIS (MUX). Driver perantara MUX itu sendiri dapat terikat dengan tim dari satu atau beberapa jaringan fisik pada host. Konfigurasi ini dikenal sebagai tim pengalih yang dapat diperluas. Untuk informasi selengkapnya tentang tim sakelar yang dapat diperluas, lihat Jenis Konfigurasi Adaptor Jaringan Fisik.

Dalam konfigurasi ini, ekstensi sakelar yang dapat diperluas diekspos ke setiap adaptor jaringan dalam tim sakelar yang dapat diperluas. Ini memungkinkan ekstensi penerusan di tumpukan driver sakelar yang dapat diperluas untuk mengelola konfigurasi dan penggunaan adaptor jaringan individual dalam tim. Misalnya, ekstensi dapat memberikan dukungan untuk solusi load balancing failover (LBFO) melalui tim dengan meneruskan paket keluar ke adaptor individual. Seperti ekstensi dikenal sebagai penyedia tim. Untuk informasi selengkapnya tentang penyedia tim, lihat Ekstensi Penyedia Teaming.

Jika ekstensi penerusan diinstal dan diaktifkan di tumpukan driver sakelar yang dapat diperluas, ia bertanggung jawab untuk membuat keputusan penerusan untuk setiap paket yang diperolehnya pada jalur data ingress switch yang dapat diperluas, kecuali paket tersebut adalah paket NVGRE. (Untuk informasi selengkapnya tentang paket NVGRE, lihat Penerusan Hibrid.) Berdasarkan keputusan penerusan ini, ekstensi dapat menambahkan port tujuan ke dalam data out-of-band (OOB) dari struktur NET_BUFFER_LIST paket. Setelah paket menyelesaikan traversal jalur data sakelar yang dapat diperluas, antarmuka sakelar yang dapat diperluas mengirimkan paket ke port tujuan yang ditentukan.

Catatan Jika ekstensi penerusan tidak diinstal atau diaktifkan, sakelar yang dapat diperluas itu sendiri membuat keputusan penerusan untuk paket yang diperolehnya dari jalur data masuk. Sakelar menambahkan port tujuan ke data OOB dari struktur NET_BUFFER_LIST paket sebelum meneruskan paket ke jalur data keluar sakelar yang dapat diperluas.

Saat fungsi FilterSendNetBufferLists ekstensi penerusan dipanggil, parameter NetBufferList berisi penunjuk ke daftar struktur NET_BUFFER_LIST yang ditautkan. Masing-masing struktur ini menentukan paket yang diperoleh dari jalur data ingress. Dalam data OOB dari struktur NET_BUFFER_LIST setiap paket, data untuk port tujuan terkandung dalam struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY . Ekstensi ini mendapatkan struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY dan elemennya dengan memanggil GetNetBufferListDestinations.

Catatan Untuk meningkatkan performa, ekstensi penerusan dapat memanggil fungsi GrowNetBufferListDestinations alih-alih GetNetBufferListDestinations untuk mendapatkan penunjuk ke struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY . Ekstensi melakukan ini jika menentukan bahwa ia membutuhkan elemen array tambahan dalam data OOB paket untuk port tujuan. Untuk informasi selengkapnya, lihat Menambahkan Data Port Tujuan Sakelar yang Dapat Diperluas ke Paket.

Setiap elemen dalam array NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY mendefinisikan port tujuan dan diformat sebagai struktur NDIS_SWITCH_PORT_DESTINATION . Struktur ini berisi anggota berikut:

  • Anggota PortId berisi nilai yang menentukan port tujuan pada sakelar yang dapat diperluas.

  • Anggota NicIndex menentukan indeks adaptor jaringan yang tersambung ke port sakelar yang dapat diperluas yang ditentukan oleh anggota PortId .

    Untuk informasi selengkapnya tentang nilai indeks ini, lihat Nilai Indeks Adapter Jaringan.

Jika ekstensi penerusan menambahkan port tujuan yang tersambung ke adaptor jaringan eksternal, ekstensi dapat menentukan indeks adaptor jaringan fisik yang mendasar. Misalnya, ekstensi dapat beroperasi sebagai penyedia tim untuk dukungan LBFO melalui tim switch yang dapat diperluas. Ini memungkinkan ekstensi untuk menyeimbangkan overhead lalu lintas dengan meneruskan permintaan pengiriman ke adaptor tim yang berbeda.

Ekstensi penerusan harus mengikuti panduan ini saat menambahkan atau memodifikasi struktur NDIS_SWITCH_PORT_DESTINATION untuk meneruskan permintaan pengiriman ke adaptor jaringan fisik yang mendasar:

  • Jika anggota PortId menentukan port sakelar yang dapat diperluas tempat adaptor jaringan eksternal tersambung, ekstensi harus mengatur anggota NicIndex ke salah satu nilai indeks berikut:

    • Jika hanya satu adaptor jaringan fisik yang terikat ke adaptor jaringan eksternal, ekstensi harus mengatur anggota NicIndex ke NDIS_SWITCH_DEFAULT_NIC_INDEX atau satu.

    • Jika beberapa adaptor jaringan fisik terikat ke adaptor jaringan eksternal, ekstensi harus mengatur anggota NicIndex ke nilai indeks bukan nol adaptor jaringan tujuan di tim sakelar yang dapat diperluas.

    Catatan Jika anggota PortId tidak menentukan port sakelar yang dapat diperluas tempat adaptor jaringan eksternal tersambung, ekstensi harus mengatur anggota NicIndex ke NDIS_SWITCH_DEFAULT_NIC_INDEX.

  • Setelah ekstensi menambahkan semua port tujuan untuk paket, ekstensi harus memanggil NdisFSendNetBufferLists untuk meneruskan paket pada jalur data ingress.

Untuk informasi selengkapnya tentang cara menambahkan port tujuan ke paket, lihat Meneruskan Paket ke Hyper-V Extensible Switch Ports.

Untuk informasi selengkapnya tentang jalur data keluar, lihat Jalur Data Sakelar Yang Dapat Diperluas Hyper-V.