Kontroler interfejsu sieciowego - Network interface controller
Łączy się z |
Płyta główna za pośrednictwem jednego z:
Sieć za pośrednictwem jednego z: |
---|---|
Prędkości |
Pełny dupleks lub półdupleks :
Pełny dupleks :
|
Wspólni producenci |
Intel Realtek Broadcom (obejmuje dawny Avago , Emulex ) Marvell Technology Group Cavium (dawniej QLogic ) Mellanox Chelsio |
Interfejs sieciowy kontroler ( NIC , znany również jako karta sieciowa , karta sieciowa , adapter LAN lub fizycznego interfejsu sieciowego , oraz podobnych warunkach) jest sprzęt komputerowy składnik, który łączy komputer z siecią komputerową .
Wczesne kontrolery interfejsu sieciowego były powszechnie implementowane na kartach rozszerzeń podłączanych do magistrali komputerowej . Niski koszt i wszechobecność Ethernet standardowe oznacza, że większość nowych komputerów posiada interfejs sieciowy wbudowany w płytę główną , albo jest zawarty w USB -connected klucza .
Nowoczesne kontrolery interfejsów sieciowych oferują zaawansowane funkcje, takie jak interfejsy przerwań i DMA do procesorów hosta, obsługa wielu kolejek odbierania i wysyłania, partycjonowanie na wiele interfejsów logicznych oraz przetwarzanie ruchu sieciowego na kontrolerze, takie jak mechanizm odciążania TCP .
Cel, powód
Kontroler sieciowy implementuje układy elektroniczne wymagane do komunikacji przy użyciu określonej warstwy fizycznej i standardu warstwy łącza danych, takiego jak Ethernet lub Wi-Fi . Stanowi to podstawę dla pełnego stosu protokołów sieciowych , umożliwiając komunikację między komputerami w tej samej sieci lokalnej (LAN) i komunikację sieciową na dużą skalę za pośrednictwem protokołów routowalnych, takich jak protokół internetowy (IP).
Karta sieciowa umożliwia komputerom komunikację w sieci komputerowej za pomocą kabli lub bezprzewodowo. Karta sieciowa jest zarówno urządzeniem warstwy fizycznej, jak i warstwy łącza danych, ponieważ zapewnia fizyczny dostęp do medium sieciowego, a w przypadku sieci IEEE 802 i podobnych zapewnia system adresowania niskiego poziomu dzięki wykorzystaniu adresów MAC, które są jednoznacznie przypisane do sieci interfejsy.
Realizacja
Kontrolery sieciowe zostały pierwotnie zaimplementowane jako karty rozszerzeń podłączane do magistrali komputerowej. Niski koszt i wszechobecność standardu Ethernet oznacza, że większość nowych komputerów ma wbudowany w płytę główną kontroler interfejsu sieciowego. Nowsze płyty główne serwerów mogą mieć wbudowanych wiele interfejsów sieciowych. Możliwości Ethernet są albo zintegrowane z chipsetem płyty głównej, albo zaimplementowane za pomocą niedrogiego dedykowanego układu Ethernet. Oddzielna karta sieciowa zwykle nie jest już wymagana, chyba że potrzebne są dodatkowe niezależne połączenia sieciowe lub używany jest jakiś typ sieci inny niż Ethernet. Ogólny trend w sprzęcie komputerowym zmierza w kierunku integracji różnych komponentów systemów na chipie , co dotyczy również kart sieciowych.
Kontroler sieci Ethernet zazwyczaj ma gniazdo 8P8C, do którego podłączony jest kabel sieciowy. Starsze karty sieciowe również dostarczały połączenia BNC lub AUI . Kontrolery sieci Ethernet zazwyczaj obsługują 10 Mbit/s Ethernet, 100 Mbit/s Ethernet i 1000 Mbit/s Ethernet . Takie kontrolery są oznaczone jako 10/100/1000 , co oznacza, że mogą obsługiwać szybkości transmisji danych 10, 100 lub 1000 Mbit/s. Dostępne są również karty sieciowe 10 Gigabit Ethernet , które od listopada 2014 r. zaczynają być dostępne na płytach głównych komputerów .
Konstrukcje modułowe, takie jak SFP i SFP+, są bardzo popularne, zwłaszcza w przypadku komunikacji światłowodowej . Określają one standardowe gniazdo dla nadajników-odbiorników zależnych od mediów, dzięki czemu użytkownicy mogą łatwo dostosować interfejs sieciowy do swoich potrzeb.
Diody LED przylegające do złącza sieciowego lub zintegrowane ze złączem sieciowym informują użytkownika o tym, czy sieć jest podłączona i kiedy występuje aktywność danych.
Karta sieciowa może wykorzystywać jedną lub więcej z następujących technik, aby wskazać dostępność pakietów do przesłania:
- Odpytywanie polega na tym, że procesor sprawdza stan urządzenia peryferyjnego pod kontrolą programu.
- We/wy sterowane przerwaniami to sytuacja, w której urządzenie peryferyjne ostrzega procesor, że jest gotowe do przesyłania danych.
Karty sieciowe mogą wykorzystywać jedną lub więcej z następujących technik do przesyłania danych pakietowych:
- Zaprogramowane wejście/wyjście , w którym procesor przenosi dane do lub z karty sieciowej do pamięci.
- Bezpośredni dostęp do pamięci (DMA), w którym urządzenie inne niż procesor przejmuje kontrolę nad magistralą systemową w celu przenoszenia danych do lub z karty sieciowej do pamięci. To usuwa obciążenie z procesora, ale wymaga więcej logiki na karcie. Ponadto bufor pakietów na karcie sieciowej może nie być wymagany i można zmniejszyć opóźnienie .
Wydajność i zaawansowana funkcjonalność
Karty sieciowe z wieloma kolejkami zapewniają wiele kolejek transmisji i odbioru , dzięki czemu pakiety odebrane przez kartę sieciową mogą być przypisywane do jednej z jej kolejek odbiorczych. Karta sieciowa może rozdzielać ruch przychodzący między kolejkami odbiorczymi za pomocą funkcji mieszającej . Każda kolejka odbiorcza jest przypisana do oddzielnego przerwania ; poprzez kierowanie każdego z tych przerwań do różnych procesorów lub rdzeni procesorów , przetwarzanie żądań przerwań wyzwalanych przez ruch sieciowy odbierany przez pojedynczą kartę sieciową może być rozłożone, poprawiając wydajność.
Oparta na sprzęcie dystrybucja przerwań, opisana powyżej, jest określana jako skalowanie po stronie odbiorczej (RSS). Istnieją również implementacje czysto programowe, takie jak sterowanie odbieraniem pakietów (RPS) i sterowanie przepływem odbierania (RFS). Dalszą poprawę wydajności można osiągnąć poprzez kierowanie żądań przerwań do procesorów lub rdzeni wykonujących aplikacje, które są ostatecznymi miejscami docelowymi pakietów sieciowych, które wygenerowały przerwania. Ta technika poprawia lokalność odniesienia i skutkuje wyższą ogólną wydajnością, zmniejszonymi opóźnieniami i lepszym wykorzystaniem sprzętu dzięki większemu wykorzystaniu pamięci podręcznej procesora i mniejszej liczbie wymaganych przełączników kontekstowych . Przykładami takich wdrożeń są RFS i Intel Flow Director .
Dzięki kartom sieciowym z wieloma kolejkami można uzyskać dodatkowe ulepszenia wydajności, rozdzielając ruch wychodzący między różne kolejki transmisji. Przypisując różne kolejki transmisji do różnych procesorów lub rdzeni procesorów, można uniknąć wewnętrznych rywalizacji o system operacyjny. Takie podejście jest zwykle określane jako sterowanie pakietami transmisji (XPS).
Niektóre produkty obsługują partycjonowanie kart sieciowych (NPAR, znane również jako partycjonowanie portów ), które wykorzystuje wirtualizację SR-IOV do dzielenia pojedynczej karty sieciowej 10 Gigabit Ethernet na wiele oddzielnych wirtualnych kart sieciowych o dedykowanej przepustowości, które są prezentowane oprogramowaniu układowemu i systemowi operacyjnemu jako oddzielne urządzenie PCI funkcje .
Aparat odciążania TCP to technologia używana w niektórych kartach sieciowych do przenoszenia przetwarzania całego stosu TCP/IP na kontroler sieci. Jest używany głównie z szybkimi interfejsami sieciowymi, takimi jak Gigabit Ethernet i 10 Gigabit Ethernet, dla których obciążenie przetwarzania stosu sieciowego staje się znaczące.
Niektóre karty sieciowe oferują zintegrowane macierze FPGA (ang. field programmable gate arrays ) do programowanego przez użytkownika przetwarzania ruchu sieciowego przed dotarciem do komputera hosta, co pozwala na znaczne zmniejszenie opóźnień w przypadku obciążeń wrażliwych na czas. Co więcej, niektóre karty sieciowe oferują kompletne stosy TCP/IP o niskich opóźnieniach działające na zintegrowanych układach FPGA w połączeniu z bibliotekami przestrzeni użytkownika, które przechwytują operacje sieciowe zwykle wykonywane przez jądro systemu operacyjnego ; Solarflare jest open-source OpenOnload sieć stos, który działa na Linux jest przykładem. Ten rodzaj funkcjonalności jest zwykle określany jako sieć na poziomie użytkownika .
Zobacz też
- Konwergentna karta sieciowa (CNA)
- Adapter hosta
- Bezpośrednie we/wy Intel Data (DDIO)
- Interfejs sieciowy
- Karta interfejsu monitorowania sieci (NMIC)
- Wirtualny interfejs sieciowy (VIF)
- Kontroler interfejsu sieci bezprzewodowej (WNIC)