From: xf0r3m Date: Fri, 1 Sep 2023 10:04:03 +0000 (+0200) Subject: Tworzenie rodziału 10. Zakończenie pisania podrozdziału 10.8 X-Git-Url: https://gitweb.morketsmerke.org/?a=commitdiff_plain;h=65e645e3a3523da37b5461726df4425a97ba825e;p=mmdev.git Tworzenie rodziału 10. Zakończenie pisania podrozdziału 10.8 --- diff --git a/articles/terminallog/Linux.Podstawy.html b/articles/terminallog/Linux.Podstawy.html index 5fe4c80..b2bc1a8 100644 --- a/articles/terminallog/Linux.Podstawy.html +++ b/articles/terminallog/Linux.Podstawy.html @@ -9305,6 +9305,48 @@ xf0r3m@vm-76925c3:~$ rpcinfo -p localhost komputer jest zarażony złośliwym oprogramowanie i możesz połączyć się z konsulatantem, który je usunie za darmo.

+

10.8. Gniazda sieciowe

+

+ Omawiając warstwę aplikacji trzeba również wspomnieć o tym w jaki + sposób procesy są wstanie brać udział w komunikacji sieciowej. W + zależności od tego czy połączenie jest już zestawione to sprowadza + się to skorzystania z dwóch wywołań systemowych recv + oraz send. Proces chcąc skorzystać z tych wywołań + musi odwołać się do połączenia za pomocą takie tworu jak + gniazdo. Gniazda są wykorzystywane do uzyskania + dostępu do sieci przy użyciu jądra. Proces wykorzystuje do określenia + tego jak i kiedy komunikuje się on z siecią. Gniazda również biorą + udział w komunikacji międzyprocesowej (IPC). +

+

+ W zależności od tego w jaki sposób proces chce uzyskac dostęp do + sieci wówczas musi skorzystać z określonego rodzaju gniazda. + Dla protokołu TCP używane jest gniazdo strumienia + (SOCK_STREAM) a dla UDP wykorzystywane jest gniazdo + datagramu (SOCK_DGRAM). Konfigracja gniazda wymaga ustalenia + rodzaju gniazda, adresów IP, portów i protokoły warstwy transportowej. + Gniazda zazwyczaj są konfigurowane przez procesów serwerów. Po + ustaleniu tych informacji proces wykorzystuje standardowe metody + obsługi sieci. +

+

+ Typowy serwer podczas swojego działania wykorzystuje dwa gniazda a + nie jedno. Jeśli tak by było to wówczas serwery mogły świadczyć + usługi tylko punktowo. Jedne klient się podłączył to drugi musi + czekać na zakończenie połączenia. Na szczęście jedno z gniazd + służy do nasłuchiwania, jeśli proces nadrzędny wykryje na nim ruch + to za pomocą wywołania systemowego accept akceptuje + to połączenie i tworzy dla tego połączenia dedykowane gniazdo + zapisu i odczytu. Po tej czynności za pomocą wywołania systemowego + fork tworzy proces podrzędny do obsługi tego + połączenia. Gniazdo nasłuchujące dalej będzie prowadzić nasłuch dla + procesu nadrzędnego. +

+

+ Po skonfigurowaniu gniazda proces może prowadzić z nim interakcje + zgodnie z rodzajem użytego gniazda. +

+

2022; COPYLEFT; ALL RIGHTS REVERSED;