Driver antarmuka adalah program komputer kecil, atau satu set program, yang bertindak sebagai penghubung antara perangkat lunak komputer dan perangkat keras dari kartu antarmuka jaringan (NIC). Pembuat dan pemrogram NIC menggunakan antarmuka pemrograman aplikasi (API) tertentu yang dikenal sebagai spesifikasi antarmuka driver jaringan (NDIS). Ini menetapkan semua aturan yang diperlukan untuk program komputer, seperti sistem operasi, untuk berinteraksi dengan NIC. Sebenarnya ada beberapa jenis driver antarmuka yang dijelaskan di bawah NDIS tetapi, pada dasarnya, tugas utama NDIS adalah membuat beberapa lapisan model interkoneksi sistem terbuka (OSI) untuk bekerja sama satu sama lain.
Model OSI terdiri dari tujuh lapisan, beberapa di antaranya memiliki beberapa sub-lapisan. Lapisan pertama adalah lapisan fisik, yang berhubungan dengan spesifikasi fisik untuk NIC seperti dongle universal serial bus (USB), kartu Ethernet, kartu adaptor nirkabel, dan sebagainya. Lapisan kedua dan ketiga dari model OSI adalah tempat semua keajaiban NDIS terjadi. Lapisan kedua adalah lapisan data link dan terdiri dari dua sub-lapisan, yang atas disebut sebagai kontrol tautan logis (LLC) dan yang lebih rendah bernama kontrol akses media (MAC). Driver perangkat menangani sub-lapisan MAC, sedangkan driver antarmuka menangani sub-lapisan LLC, menyediakan antarmuka antara itu dan lapisan ketiga model OSI, lapisan jaringan.
Bekerja sebagai perantara, NDIS pada dasarnya membungkus semua kerumitan membingungkan dari perangkat keras NIC dan menyediakan serangkaian fungsi untuk interaksinya dengan protokol jaringan yang diperlukan untuk komunikasi. Seorang programmer hanya harus mengikuti aturan yang ditetapkan dalam NDIS untuk membuat driver antarmuka yang sebenarnya. Pada tingkat perangkat keras yang lebih rendah, driver ini dikenal sebagai driver miniport, sedangkan driver tingkat atas ditulis menggunakan NDIS API untuk menangani protokol jaringan inti seperti protokol Internet (IP), keamanan protokol Internet (IPsec), protokol pesan kontrol Internet (ICMP), dan pertukaran paket Internetwork (IPX), antara lain.
Ketika komunikasi jaringan terjadi melalui NIC, bit data pertama diterima oleh perangkat fisik dan kemudian, melalui arsitektur model OSI, data dipindahkan dari perangkat keras ke berbagai lapisan model OSI hingga disajikan dalam format yang lebih mudah dipahami oleh pengguna. Dengan demikian, setiap lapisan model menyediakan layanan untuk tetangganya. Data meninggalkan lapisan pertama, lapisan fisik, dan mengenai MAC dari sub-lapisan bawah di lapisan kedua, di mana driver perangkat meneruskannya ke LLC. Driver protokol LLC kemudian memindahkannya ke lapisan jaringan.
Jenis lain dari driver antarmuka adalah driver perantara, yang bertindak sebagai sesuatu dari perumahan, yang berisi antarmuka untuk driver miniport dan driver protokol jaringan. Driver perantara ini kemudian dapat dirantai bersama dan memberikan kemampuan bagi driver antarmuka untuk mengontrol lalu lintas yang diterima oleh NIC. Driver perantara berguna untuk berbagai kebutuhan, seperti penyaringan data, penyeimbangan beban, pemantauan lalu lintas jaringan, dan pengumpulan informasi statistik. Mereka juga berfungsi dengan baik sebagai penerjemah antara pengemudi transportasi yang lebih tua dan pengemudi miniport yang berbicara dengan format media yang tidak dapat dipahami oleh pengemudi yang lebih tua.
NDIS awalnya dirancang oleh Microsoft®, bekerja sama dengan 3Com®, sehingga banyak pembuat perangkat keras menulis driver mereka untuk mendukung sistem operasi Microsoft® terlebih dahulu. Akibatnya, NDIS terbatas pada arsitektur perangkat keras komputer yang didasarkan pada keluarga Intel® 80386 dari prosesor 32-bit atau 64-bit. Pergerakan perangkat lunak bebas juga telah mengembangkan sebuah program, yang disebut NDISWrapper, yang mampu memuat driver antarmuka yang awalnya dikembangkan untuk Microsoft® Windows® untuk digunakan dengan sistem operasi serupa Unix® seperti Linux®. Pengguna turunan gratis Berkley Software Distributions (BSD), seperti FreeBSD® dan NetBSD®, juga menemukan kemampuan untuk menggunakan driver antarmuka Windows® melalui penggunaan perangkat lunak yang dikembangkan oleh proyek yang dikenal sebagai Project Evil. Keterbatasan perangkat keras x86 dari NDIS menyebabkan proyek lain, yang dikembangkan oleh Apple dan Novell®, yang disebut antarmuka tautan data terbuka (ODI), yang menyediakan banyak aturan dan fungsionalitas yang sama dengan NDIS tetapi dengan fokus pada Apple® Macintosh&; dan sistem Novell NetWare®.