Co to jest sterownik karty sieciowej?

Sterownik karty sieciowej to oprogramowanie niskiego poziomu, które kontroluje kartę sieciową. Każdy sterownik sieciowy obsługuje jedną lub więcej kart sieciowych w systemie komputerowym. Został zaprojektowany specjalnie dla określonego typu adaptera i określonego systemu operacyjnego (OS). Sterownik karty sieciowej działa w warstwie Media Access Control w sieci; bezpośrednio kontroluje obwody powiązanej z nim karty sieciowej. W połączeniu z innymi warstwami sieciowymi system komputerowy używa sterownika karty sieciowej do komunikacji z innymi komputerami w sieci iz Internetem.

Przed późnymi latami 1990. sterowniki kart sieciowych zwykle wykonywały większość podstawowej pracy związanej z komunikacją sieciową. Niektóre karty sieciowe wymagały od sterowników kopiowania wszystkich danych pakietów między ich buforami pamięci a buforami systemu operacyjnego; nagłówki identyfikacyjne były często wypełniane przez kierowców podczas tego procesu. Sterowniki kart często musiały radzić sobie ze specjalnymi przypadkami, takimi jak odbiór pakietów multiemisji i działanie w trybie „promiskuous”. Podczas konfiguracji sterownik często musiał zidentyfikować typ magistrali komputerowej i odpowiednio zaprogramować kartę. Aby nadążyć za szybkością łącza sieciowego, większość sterowników kart została napisana w wysoce wydajnym języku asemblerowym.

Wraz ze wzrostem maksymalnej prędkości łącza sieciowego sterowniki sieciowe i inne warstwy oprogramowania systemu operacyjnego często stawały się wąskimi gardłami. Aby temu przeciwdziałać, projektanci systemów operacyjnych przenieśli wiele funkcji sterownika karty sieciowej głębiej do systemu operacyjnego; ścisła integracja i optymalizacja z innymi warstwami sieci często poprawiała wydajność. Nowsze karty sieciowe mogą konstruować i kopiować wszystkie dane pakietowe za pomocą sprzętu, po poinformowaniu, gdzie znajdują się bufory danych systemu operacyjnego. Jednocześnie lepsze generowanie kodu kompilatora umożliwiło pisanie sterowników kart w języku C ogólnego przeznaczenia zamiast w języku asemblera. W wyniku tych optymalizacji sterowniki kart sieciowych stały się znacznie prostsze w pisaniu i utrzymaniu. Nowoczesne sterowniki muszą nadal implementować pewną konfigurację, zarządzanie energią i obsługę wieloprocesorową; Jednak system operacyjny i sprzętowa karta sieciowa wykonują teraz większość prac, w których liczy się czas.

W systemie może być jednocześnie uruchomionych kilka sterowników kart sieciowych. Większość nowoczesnych komputerów zawiera przewodowy interfejs karty sieciowej wbudowany w płytę główną; jego sterownik karty sieciowej jest zwykle dołączony do systemu operacyjnego. Laptopy i inne komputery przenośne często zawierają również bezprzewodową kartę sieciową i sterownik. Wiele systemów umożliwia podłączenie dodatkowych kart sieciowych — często wybierane są szybkie karty Gigabit Ethernet lub Fibre Channel. Ich sterowniki są często dołączane do zakupionych kart sieciowych. Większość producentów publikuje również najnowsze wersje swoich sterowników w Internecie; użytkownicy powinni okresowo sprawdzać i instalować te zaktualizowane sterowniki, aby uzyskać najnowsze poprawki błędów i ulepszenia wydajności.