Wszystkie komputery podłączone do sieci, które bezpośrednio biorą udział w komunikacji sieciowej, są klasyfikowane jako hosty lub urządzenia końcowe. Hosty mogą wysyłać i odbierać wiadomości z sieci. W nowoczesnych sieciach, urządzenia końcowe mogą pełnić rolę klienta, serwera lub obie jednocześnie. Oprogramowanie zainstalowane na komputerze określa rolę, jaką on pełni.
Serwery to hosty z zainstalowanym oprogramowaniem umożliwiającym im dostarczanie informacji, takich jak poczta elektroniczna czy strony WWW, innym hostom w sieci. Każda usługa wymaga oddzielnego oprogramowania serwerowego. Na przykład host wymaga oprogramowania serwera WWW, aby mógł świadczyć sieci usługi Web.
Klient to host z odpowiednim oprogramowaniem do wysyłania zapytań oraz wyświetlania informacji otrzymanych z serwera. Przykładem oprogramowania klienta jest przeglądarka WWW (np. Internet Explorer).