Co to jest surowe gniazdo?
Gniazdo sieciowe jest punktem końcowym wymiany danych w całej sieci. Pomyśl o gnieździe jak o fizycznym adresie: informacje przechodzące przez sieć komputera są kierowane do określonego gniazda w samym komputerze. Surowe gniazdo to rodzaj gniazda sieciowego, które pozwala aplikacji komputerowej na wysyłanie i uzyskiwanie pakietów informacji z sieci bez korzystania z systemu operacyjnego komputera jako pośrednika. Innymi słowy, umożliwia bezpośrednią komunikację między programem a zewnętrznym źródłem bez interwencji podstawowego systemu operacyjnego komputera.
Podstawową zaletą korzystania z obsługi sieci typu „raw socket” jest to, że odcina on pośrednika. Ponieważ system operacyjny nie obsługuje danych konkretnie, zmniejsza obciążenie sieci, oszczędzając cykle jednostki centralnej (CPU) i zmniejszając obciążenie sprzętu systemowego. Surowe gniazdo zapewnia tunel ekspresowy między aplikacją a źródłem zewnętrznym. Ani system operacyjny, ani żaden inny program na komputerze nie może zakłócać nieprzetworzonego połączenia.
Surowe interfejsy sieciowe gniazd mają swoje wady. chociaż. Hakerzy często używają nieprzetworzonych połączeń gniazd w celu przeprowadzania ataków na protokół kontroli transmisji (TCP) w sieci. Podczas ataku TCP haker wysyła sfałszowany bit danych do sieci za pośrednictwem połączenia typu raw. Te sfałszowane dane zawierają sygnał resetowania połączenia TCP, który z kolei przerywa i psuje bieżące połączenia sieciowe na komputerze.
Z tego powodu niektóre systemy operacyjne wycofały obsługę surowych gniazd. Uzasadnieniem tego jest to, że może pomóc zapewnić bezpieczeństwo sieci. Firmy produkujące oprogramowanie mogą ograniczyć zdolność użytkowników do korzystania z surowych gniazd, stosując tak zwaną „poprawkę”, stałą aktualizację systemu operacyjnego. Uaktualnienia te nie miały znaczącego negatywnego wpływu na wrażenia użytkownika, ponieważ zalety surowych gniazd zmniejszyły się wraz z poprawą technologii.
W przypadku nowoczesnych komputerów ilość dodatkowego przetwarzania wymaganego do obsługi zwykłych połączeń gniazdowych w przeciwieństwie do gniazd surowych jest tak minimalna, że jest w dużej mierze nieistotna. Przy nowoczesnych procesorach dostępnych w wersjach dwu-, cztero-, a nawet sześciordzeniowych, szanse na zwykłe połączenia sieciowe z opóźnieniem w komputerze są znikome. Z tego powodu, o ile nie ma konkretnego uzasadnienia dla użycia połączenia typu raw przez standardowe gniazdo sieciowe, ryzyko związane z atakami hakerów i TCP w sieci przeważa nad wszelkimi zaletami.