Cyfrowy Hyde Park

Krzysztof Krala
Marcin Pawlak

W Internecie funkcjonuje ponad dwadzieścia tysięcy grup dyskusyjnych, których użytkownicy publikują codziennie kilkaset tysięcy wiadomości. Oto jak własnoręcznie zainstalować serwer newsów na domowym komputerze.

W poprzednim numerze przedstawiliśmy sposób, w jaki przeglądarka grup dyskusyjnych komunikuje się z serwerem w celu wysłania i pobrania nowych wiadomości (CHIP 10/99). Jednak na tej operacji historia wysłanej wiadomości się nie kończy – serwerów grup dyskusyjnych są na świecie tysiące, a wiadomość wysłana na globalną (np. comp.os.systems.linux) grupę musi dotrzeć do każdego z nich.

W odróżnieniu od usługi takiej jak np. ICQ ogólnoświatowa sieć serwerów grup dyskusyjnych, zwana Usenetem, nie ma serwera centralnego, który zarządzałby globalną dystrybucją postów. Wiadomości przekazywane są od serwera do serwera, stąd lista serwerów, przez które przeszła wiadomość zawarta w polu Path jej nagłówka, liczy nierzadko kilkadziesiąt pozycji. Z jednej strony taki sposób dystrybucji artykułów wprowadza opóźnienia tym większe, im więcej serwerów pośredniczy w przekazaniu wiadomości odbiorcy. Z drugiej zaś w pewnym stopniu zabezpiecza przed awariami łączy lub serwerów, gdyż większość z nich wymienia wiadomości z więcej niż jednym komputerem. W sytuacji gdy awarii ulegnie któraś z maszyn, wiadomości zazwyczaj bez problemów docierają do pozostałych – choć często okrężną drogą.

Informacje w Internecie i na CHIP-CD
Leafnode:#
INN: #
suck: http://www.usenet.pl/doc/
Netwin:http://www.netwin.com/
ServerWatch Rewiev:http://serverwatch.internet.com/newsservers.html
FAQ:http://www.usenet.pl/
SSH:#mamy to na chip-cd 11/99Na CHIP-CD w dziale CHIP-offline | Zastosowania | Serwery grup dyskusyjnych znajdują się m.in. opisane w tekście serwery, interpreter Perla dla Linuksa, oraz pakiet SSH.

Wiadomości pomiędzy serwerami wymieniane są za pośrednictwem tzw. feedów, czyli strumieni artykułów. Najważniejszymi parametrami, określającymi taki strumień, są: zakres wysyłanych artykułów (na przykład grupy z hierarchii pl.* i comp.*) oraz metoda transmisji artykułów.

Podstawowa metoda wymiany wiadomości pomiędzy serwerami została określona w pierwszej specyfikacji protokołu NNTP i opiera się na komendzie IHAVE. Jest to metoda synchroniczna, polegająca na tym, że serwer wysyłający zgłasza “chęć” nadania wiadomości o konkretnym identyfikatorze Message Id, a serwer odbierający, w zależności od tego, czy już ma daną wiadomość, zgłasza gotowość do odbioru. Jednak procedura taka jest dość powolna i, zwłaszcza w przypadku feedów zawierających wszystkie grupy (a jest ich ponad 20 000), za mało wydajna. W związku z tym w późniejszych modyfikacjach protokołu NNTP wprowadzono asynchroniczny sposób wysyłania artykułów za pomocą pary komend CHECK/TAKETHIS. W tym wypadku wiadomości oferowane są “taśmowo” (komendą check <message id> ), bez oczekiwania na potwierdzenie, a serwer odbierający zgłasza jedynie chęć otrzymania tych wiadomości, których jeszcze nie ma. Są one wówczas wysyłane poleceniem takethis <message id> .

Jeśli serwery połączone są szybkim łączem, wiadomości przesyła się niekiedy za pośrednictwem protokołu UUCP. Artykuły są wówczas łączone w większe “paczki” i wysyłane do odbiorcy “hurtem”, bez sprawdzania, czy ma on już daną wiadomość. Do niego należy wówczas posortowanie artykułów i odrzucenie duplikatów. W podobny sposób działają również jednokierunkowe feedy satelitarne – serwer rozsyła za pośrednictwem satelity każdy artykuł, który do niego dociera.

Więcej:bezcatnews