Apa itu Packet Coalescing?

Packet coalescing adalah teknik yang digunakan oleh network interface card (NIC) dalam komputer untuk mengurangi jumlah interupsi penerimaan yang dihasilkan oleh adapter. Interupsi adalah sinyal yang dikirimkan oleh perangkat untuk memberi tahu prosesor agar menghentikan tugasnya saat ini dan menangani kejadian tersebut.

Interupsi penerimaan terjadi ketika NIC menerima satu atau lebih paket data dari jaringan yang terhubung dan paket-paket tersebut siap untuk diproses. Terlalu banyak interupsi penerimaan dapat menambah beban pemrosesan sistem, mempengaruhi kinerja aplikasi, dan meningkatkan konsumsi daya. Packet coalescing mengatasi masalah ini dengan cara menyimpan sementara paket-paket hingga dapat diproses secara bersamaan, sehingga mengurangi jumlah interupsi.

Penerapan packet coalescing tergantung pada sistem host, adapter jaringan, dan pengaturan spesifik. Metode ini membutuhkan satu atau lebih mekanisme untuk menentukan kapan interupsi harus dikeluarkan untuk paket yang disimpan. Misalnya, bisa menggunakan timer untuk menunda interupsi dalam jangka waktu tertentu atau menggunakan penghitung untuk menentukan jumlah paket yang harus dikumpulkan sebelum mengeluarkan interupsi.

Meski packet coalescing bisa mengurangi beban prosesor dan konsumsi daya, penerapannya harus dilakukan dengan hati-hati agar tidak menimbulkan masalah performa. Jika diterapkan secara berlebihan, packet coalescing dapat menyebabkan latensi pada beban kerja ringan yang hanya menghasilkan sedikit interupsi penerimaan. Aplikasi yang mengandalkan pertukaran data secara real-time dan membutuhkan latensi minimal bisa mengalami penurunan performa akibat packet coalescing yang berlebihan.

Di sisi lain, packet coalescing yang kurang optimal juga bisa menyebabkan aplikasi dengan lalu lintas paket tinggi menjadi tidak efisien. Kuncinya adalah menemukan keseimbangan yang sesuai dengan beban kerja tertentu tanpa mengorbankan jenis aplikasi tertentu. Jika ada kendala, pengguna bisa melakukan troubleshooting.

Tangkapan layar antarmuka Wireshark yang menunjukkan informasi paket.
Seperti yang ditunjukkan dalam tangkapan layar ini, alat seperti Wireshark bisa digunakan untuk menangkap informasi paket yang berguna untuk analisis dan troubleshooting.

Packet Coalescing di Windows

Packet coalescing sering dikaitkan dengan komputer Windows yang menggunakan Network Driver Interface Specification (NDIS). Microsoft dan 3Com mengembangkan NDIS sebagai antarmuka pemrograman aplikasi (API) untuk NIC. API ini bertindak sebagai lapisan abstraksi antara perangkat keras dan driver jaringan, serta memfasilitasi komunikasi antar perangkat jaringan.

Dukungan untuk packet coalescing pertama kali diperkenalkan pada NDIS versi 6.30 dan terus disertakan dalam setiap versi setelahnya. Di komputer Windows, packet coalescing digunakan untuk mengelompokkan lalu lintas acak dan multicast guna meningkatkan efisiensi sistem host secara keseluruhan.

Untuk menerapkan packet coalescing dalam NDIS, driver jaringan harus mendefinisikan filter penerimaan yang menentukan cara menyaring paket siaran (broadcast) dan multicast. Setiap filter berisi sejumlah bidang spesifik dalam header protokol paket. Misalnya, filter dapat mencakup informasi seperti port tujuan dalam header User Datagram Protocol (UDP) atau alamat tujuan dalam header media access control (MAC).

Driver jaringan mengunduh filter penerimaan ke miniport driver yang mendasarinya, yang kemudian menginisialisasi adapter jaringan. Sebagai bagian dari proses ini, miniport driver mendaftarkan kemampuan coalescing dari adapter dan menentukan fitur mana yang sedang diaktifkan.

Miniport driver juga mengonfigurasi NIC dengan pengaturan filter yang sesuai. Salah satu pengaturannya adalah filter penerimaan yang menentukan berapa lama NIC harus menyimpan paket yang cocok dengan kriteria filter. Adapter menggunakan nilai ini untuk mengatur timer perangkat keras, yang menentukan kapan harus mengeluarkan interupsi untuk paket yang disimpan.

Ketika NIC menerima paket data, ia akan menyimpannya jika sesuai dengan kriteria filter. Paket-paket tersebut akan dilepaskan dalam satu interupsi jika terjadi salah satu dari kejadian berikut:

  • Cache sudah penuh.
  • Timer perangkat keras habis karena mencapai nilai batas maksimum.
  • Adapter menerima paket yang tidak memenuhi kriteria filter.
  • Ruang yang tersedia di buffer coalescing perangkat mencapai batas minimum.
  • Terjadi interupsi lain, seperti penyelesaian pengiriman paket.

Ketika salah satu kejadian ini terjadi, adapter mengeluarkan interupsi, yang menyebabkan miniport driver memproses paket yang telah disimpan. Packet coalescing dalam NDIS hanya dapat terjadi jika paket data diterima di port 0, yaitu port NDIS default. Fitur ini tidak dapat digunakan pada port NDIS yang ditetapkan untuk virtual network adapter.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *