REKLAMA

Programista 12/2018 (79) – marzec 2019 – Pakiet i karta sieciowa – czyli jak to się programuje

Były sobie pakiet i karta sieciowa, czyli jak to się programuje

W dzisiejszym świecie nieustannie słyszymy o pakietach przesyłanych przez sieć. Czym jest taki pakiet? W najprostszym ujęciu jest to odpowiednio sformatowana jednostka informacji. Co to znaczy? Otóż musi mieć w ściśle określony sposób wyszczególniony adres, dokąd ma trafić, a także mieć w odpowiednim miejscu zapisaną zawartość wiadomości. Aby został zrozumiany przez maszynę, musimy go przetłumaczyć z języka ludzkiego (jeśli wiadomość zawiera słowa) na liczby, a z kolei liczby te na ciągi bitów. To jednak nie wszystko: teraz należy pakiet wysłać, a z drugiej strony go odebrać. Za tę część odpowiedzialna jest karta sieciowa, działająca pomiędzy procesorem a fizycznym medium transferującym informacje ‒ to oczywistość, jednak jak to się programuje? Gdzie i jaki software pomoże nam odebrać, odczytać lub wysłać takie pakiety? Odpowiedź brzmi: sterownik sieciowy...

Zagadnienia poruszane w tym artykule:

  • Co potrafi NIC;
  • Kilka słów o pamięci;
  • Deskryptory, kolejki;
  • Strona nadawca;
  • Strona obiorcza;
  • Scatter-gather;
  • NIC ująć, coś dodać.

Artykuł pochodzi magazynu Programista nr 79 (12/2018). Jest to wydanie z marca 2019 r. Szczegółowy spis treści: https://programistamag.pl/programista-12-2018-79/

Autorem artykułu jest Zyta Szpak. Inżynier systemów wbudowanych w firmie Semihalf. Aktualnie zajmuje się programowaniem sterowników sieciowych z wykorzystaniem frameworku DPDK dla sprzętu o wysokiej wydajności. Poza pracą całodobowa mama i miłośniczka górskich wypraw wszelkiego rodzaju.