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:
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.