Serwer wiadomości - News server

Mapa dostawców Usenetu
Mapa dostawców Usenetu

Serwer grup dyskusyjnych jest zbiorem oprogramowania wykorzystywanego do obsługi grup dyskusyjnych artykułów. Może również odnosić się do samego komputera, który jest używany głównie lub wyłącznie do obsługi Usenetu. Dostęp do Usenetu jest możliwy tylko za pośrednictwem dostawcy serwera grup dyskusyjnych.

Artykuły i posty

Użytkownicy końcowi często używają terminu „publikowanie” w odniesieniu do pojedynczej wiadomości lub pliku wysłanego do Usenetu. W przypadku artykułów zawierających zwykły tekst jest to synonim artykułu. W przypadku treści binarnych, takich jak obrazy i pliki, często konieczne jest podzielenie zawartości na wiele artykułów. Zwykle przy użyciu numerowanych nagłówków Temat: wiadomości z wielu artykułów są automatycznie ponownie łączone w jedną jednostkę przez czytnik grup dyskusyjnych . Większość serwerów nie rozróżnia postów jedno- i wieloczęściowych, obsługując tylko na poziomie poszczególnych artykułów składowych.

Nagłówki i przeglądy

Każdy artykuł zawiera pełny zestaw nagłówków, ale w powszechnym użyciu termin „nagłówki” jest również używany w odniesieniu do bazy danych Przegląd wiadomości . Omówienie to lista najczęściej używanych nagłówków oraz dodatkowe informacje, takie jak rozmiary artykułów, zwykle pobierane przez oprogramowanie klienckie za pomocą polecenia NNTP XOVER . Przeglądy przyspieszają czytanie grupy dyskusyjnej zarówno dla klienta, jak i serwera, eliminując potrzebę otwierania każdego artykułu w celu przedstawienia go w formie listy.

Jeśli wymagane są nagłówki bez przeglądu, na przykład podczas używania pliku kill , nadal może być konieczne użycie wolniejszej metody czytania wszystkich pełnych nagłówków artykułów. Wielu klientów nie jest w stanie tego zrobić i ogranicza filtrowanie do tego, co jest dostępne w podsumowaniach.

Atrybuty serwera wiadomości

Wśród operatorów i użytkowników komercyjnych serwerów wiadomości powszechnymi obawami są stale rosnące wymagania dotyczące pamięci masowej i przepustowości sieci oraz ich skutki. Zakończenie (zdolność serwera do pomyślnego odebrania całego ruchu), przechowywanie (czas, przez jaki artykuły są udostępniane czytelnikom) i ogólna wydajność systemu. Wraz ze wzrostem wymagań często role serwera tranzytowego i czytnika są dalej dzielone na systemy numeracji, pamięci masowej i front-endu. Te farmy serwerów są stale monitorowane zarówno przez osoby z zewnątrz, jak i osoby z zewnątrz, a pomiary tych cech są często wykorzystywane przez konsumentów przy wyborze komercyjnej usługi informacyjnej.

Prędkość

Szybkość w stosunku do Usenetu to szybkość, z jaką serwer może dostarczyć artykuł do użytkownika. Serwer, z którym łączy się użytkownik, jest zwykle częścią farmy serwerów, która ma wiele serwerów przeznaczonych do wykonywania wielu zadań. Szybkość przesyłania danych w tej farmie jest pierwszą rzeczą, która wpływa na szybkość dostawy.

Szybkość przesyłania danych w całej farmie może zostać poważnie ograniczona przez operacje na dyskach twardych. Pobieranie artykułu i informacji ogólnych może spowodować ogromne obciążenie dysków twardych. Aby temu zaradzić, opracowano technologię buforowania i cylindryczne systemy przechowywania plików.

Gdy farma jest w stanie dostarczyć dane do sieci, dostawca ma ograniczoną kontrolę nad prędkością dla użytkownika. Ponieważ ścieżka sieciowa do każdego użytkownika jest inna, niektórzy użytkownicy będą mieli dobre trasy, a dane będą przepływać szybko. Inni użytkownicy będą mieli przeciążone routery między sobą a dostawcą, co spowoduje opóźnienia. Prawie wszystko, co dostawca może zrobić w takim przypadku, to spróbować przenieść ruch na inną trasę. Jeśli dostawca usług internetowych ma ograniczoną łączność z siecią, zmiany routingu mogą mieć niewielki wpływ.

Często użytkownik może zmniejszyć wpływ problemów z siecią, korzystając z wielu połączeń. Niektóre serwery pozwalają na nawet 60 jednoczesnych połączeń, ale różni się to znacznie w zależności od dostawcy.

Rozmiary artykułów

Rozmiary artykułów są ograniczone do tego, co akceptuje każdy serwer grup dyskusyjnych. Im większy rozmiar artykułu, tym więcej zajmuje miejsca, a tym samym mniej artykułów na każdym serwerze. Zwykle oznacza to, że serwer może działać z mniejszym narzutem, co czyni serwer bardziej wydajnym, ale zapewnia użytkownikom dostęp do mniejszej liczby artykułów.

Zatrzymywanie

Przechowywanie jest po prostu definiowane jako czas przechowywania artykułów przez serwer. Historycznie większość użytkowników chce, aby przechowywanie danych było wystarczająco długie, aby nie musieli codziennie uzyskiwać dostępu do serwera, ale nie wymagało to zbyt długiego okresu przechowywania, który może przytłoczyć użytkowników wolnymi komputerami lub połączeniami sieciowymi. W dzisiejszych czasach szybkie połączenia, duża pojemność pamięci masowej i zaawansowane narzędzia wyszukiwania pozwalają użytkownikom na szerokie przechowywanie danych bez żadnych wad.

Retencja jest zazwyczaj cytowana oddzielnie dla artykułów tekstowych i binarnych, chociaż może się ona również różnić w różnych grupach w ramach tych kategorii. Czasy różnią się znacznie w zależności od ilości pamięci dostępnej na serwerach i stale rosnącego ruchu. Od 2009 r. Przeciętni dostawcy wiadomości często utrzymują tekst przez ponad 1000 dni, a binarny przez ponad 200 dni. Duzi dostawcy wiadomości oferują przechowywanie tekstu do 2480 dni i binarne przechowywanie przez co najmniej 850 dni. Ważne jest, aby zrozumieć, że czas przechowywania różni się w różnych grupach dyskusyjnych w ramach kategorii tekstowych i binarnych. HW Media firmy Omicron jest obecnie serwerem Usenetu z największą ilością danych binarnych, podczas gdy Google jest serwerem Usenetu z największym zachowaniem tekstu.

Użytkownicy końcowi mogą mieć trudności z dokładnym pomiarem czasu utrzymania serwera. Jedną z powszechnych metod jest zbadanie najstarszych artykułów w grupie i sprawdzenie daty, ale nie zawsze jest to dokładne. Niektóre artykuły w grupie mogą być przechowywane dłużej niż inne, artykuły ze zdalnych serwerów nie zawsze docierają szybko, a czasami nagłówki dat są po prostu nieprawidłowe. Do wykrycia takich anomalii wymagane jest pobranie próbek wielu lub wszystkich artykułów, najlepiej w więcej niż jednej grupie dyskusyjnej.

Serwery wiadomości nie mają nieograniczonej przestrzeni dyskowej, dlatego mogą przechowywać posty tylko przez pewien czas, zanim będą musiały je usunąć, aby zrobić miejsce na nowe posty. Jest to szczególny problem w przypadku binarnych grup dyskusyjnych, które przesyłają duże ilości artykułów.

W przypadku serwerów grup dyskusyjnych udostępnianych przez dostawców usług internetowych w ramach pakietu subskrypcji użytkownika typowe wskaźniki retencji wynoszą zwykle tylko 2–4 dni. Aby poradzić sobie ze wzrostem ruchu w Usenecie, wielu dostawców korzysta z systemu hybrydowego, w którym stare artykuły, których nie ma na serwerze dostawcy, zażądają artykułu z innego serwera z dłuższym okresem przechowywania.

Ukończenie

Biorąc pod uwagę dużą liczbę artykułów przesyłanych między serwerami i duży rozmiar poszczególnych artykułów, ich całkowita propagacja do dowolnej farmy serwerów nie jest gwarantowana. Termin „zakończenie” jest używany do opisania, jak dobrze usługa nadąża za ruchem.

Główną przeszkodą w obliczaniu procentu ukończenia jest liczba opublikowanych artykułów. Patrząc tylko na jeden serwer, nie można wiedzieć, ile artykułów faktycznie zostało umieszczonych w sieci. Artykuły mogą nigdy nie wydostać się poza serwer źródłowy lub mogą nie znaleźć się w chmurze tranzytowej. Bardzo duże artykuły są często upuszczane i mają tendencję do słabszego rozmnażania niż mniejsze.

Jednym ze sposobów mierzenia ukończenia jest dostęp do wielu serwerów i pobieranie list artykułów. Ponieważ nagłówki Message-ID: są nominalnie unikatowe w całej sieci, porównanie list jest przeważnie prostym zadaniem. Praktyczne ograniczenia tego rodzaju pomiarów obejmują niemożność uzyskania list ze wszystkich serwerów na całym świecie, fakt, że wiele serwerów odfiltrowuje spam lub stosuje kary śmierci Usenetu , a niektóre serwery maskują niekompletność, ukrywając wieloczęściowe zestawy binarne z brakującymi artykułami. Konieczne jest również uwzględnienie czasów rozmnażania i retencji; artykuł mógł po prostu jeszcze nie dotrzeć na dany serwer lub mógł być obecny, ale już wygasł.

Działanie serwera wiadomości

Peering

Wszystkie serwery Usenet współpracują z co najmniej jednym innym serwerem w celu wymiany artykułów. Od czasu do czasu pojawiają się nowe serwery. Chociaż istnieje kilka zasobów internetowych, które mogą pomóc w znalezieniu rówieśników, lepszym źródłem jest grupa dyskusyjna news.admin.peering (portal Grup dyskusyjnych Google).

Od 2020 r. Kanały tekstowe można zwykle udostępniać bezpłatnie, natomiast pełne kanały binarne mogą być bezpłatne lub płatne (w zależności od liczby artykułów wysyłanych przez każdy serwer do drugiego). Ze względu na dużą ilość danych w pełnym binarnym + tekstowym kanale Usenetu (może to być nawet 30 terabajtów dziennie) i wysokie koszty przesyłania tych danych przez dostawcę tranzytu IP, takiego jak Cogent , Telia lub Zayo , większość dostawców Usenetu będzie angażują się w binarne połączenia równorzędne tylko wtedy, gdy są połączone na giełdzie internetowej, takiej jak AMS-IX , SIX lub DeCIX .

Szpule

Gdy serwer przechowuje treść artykułu, umieszcza ją w obszarze przechowywania na dysku, ogólnie nazywanym „buforowaniem”. Istnieje kilka typowych sposobów organizacji szpuli:

  • Jeden plik na artykuł to najstarszy schemat przechowywania danych, nadal powszechnie używany na mniejszych serwerach i replikowany na wielu klientach. Jego wydajność jest bezpośrednią funkcją zdolności systemu operacyjnego do tworzenia, usuwania i lokalizowania plików w katalogu i często ten schemat jest niewystarczający, aby nadążyć za współczesnym ruchem w Usenecie. Pozwala jednak na największą elastyczność w zarządzaniu ilością i lokalizacją pamięci wykorzystywanej przez serwer. Prawie wszystkie obecne programy korzystające z tego schematu przechowują artykuły w układzie B News 2.10.
  • Od lat 90. XX wieku coraz powszechniejsze jest przechowywanie cykliczne. W tej metodzie przechowywania artykuły są dodawane kolejno do dużych indeksowanych plików kontenerów. Po osiągnięciu końca pliku nowe artykuły są zapisywane na początku pliku, nadpisując najstarsze wpisy. Na niektórych serwerach to nadpisywanie nie jest wykonywane, ale zamiast tego tworzone są nowe pliki kontenerów, gdy starsze są usuwane. Główne zalety tego systemu obejmują przewidywalne wymagania dotyczące pamięci masowej, jeśli stosowany jest schemat nadpisywania, oraz pewną wolność od zależności od podstawowej wydajności systemu operacyjnego. Istnieje jednak mniejsza elastyczność w zachowywaniu artykułów według wieku, a nie zajętego miejsca, a tradycyjne narzędzia do manipulacji tekstem, takie jak grep, są mniej odpowiednie do analizowania tych plików. Pewien stopień kontroli długowieczności artykułu można wykonać, kierując podzbiory grup dyskusyjnych do określonych zestawów plików kontenerów.
  • W niektórych przypadkach do przechowywania buforu jest używana relacyjna baza danych lub coś podobnego. Jest to najczęściej widoczne w przypadku oprogramowania do obsługi forum internetowego , które oferuje również interfejs NNTP.
  • Niektóre serwery, takie jak INN , umożliwiają jednoczesne korzystanie z wielu schematów pamięci masowej. Na serwerach grup dyskusyjnych stosowano również różne schematy pamięci hybrydowej, w tym różne organizacje typu „plik na artykuł” lub mniejsze kontenery zawierające po 100 artykułów.

Rodzaje serwerów

Serwer czytnik zapewnia interfejs do czytania i publikowania artykułów, zazwyczaj z pomocą do klienta wiadomości . Serwer tranzyt wymienia artykuły z innych serwerów. Większość serwerów może zapewnić obie funkcje.

Serwer tranzytowy

Nowoczesne serwery tranzytowe zwykle używają NNTP do ciągłej wymiany wiadomości przez Internet i podobne stale aktywne połączenia. W przeszłości serwery zwykle korzystały z protokołu UUCP , który został zaprojektowany do sporadycznych połączeń dial-up. Inne protokoły ad hoc , w tym e-mail , są rzadziej spotykane. Serwery wiadomości zwykle łączą się z wieloma rówieśnikami, a nadmiarowość pomaga rozłożyć obciążenia i zapewnia, że ​​artykuły nie zostaną utracone. Mniejsze lokacje, zwane węzłami-liśćmi , są połączone z jednym innym głównym serwerem.

Artykuły są kierowane na podstawie informacji znajdujących się w wierszach nagłówka zdefiniowanych w dokumencie RFC 1036. Szczególnie interesujące dla serwera tranzytowego są:

  • Message-ID - globalnie unikalny klucz
  • Grupy dyskusyjne - lista jednej lub więcej grup dyskusyjnych, w których artykuł ma się pojawić
  • Dystrybucja - (opcjonalnie) dodatek do grup dyskusyjnych, używany do ograniczania obiegu artykułów.
  • Data - godzina powstania artykułu
  • Ścieżka - lista serwerów, przez które przesyłany jest artykuł w drodze na serwer lokalny
  • Wygasa - (opcjonalnie) czas, w którym zażądano usunięcia artykułu
  • Zatwierdzony - (opcjonalnie) wskazuje artykuł, który został przyjęty do moderowanej grupy dyskusyjnej
  • Kontrola - (opcjonalnie) zawiera żądania poleceń

W większości przypadków serwer wysyłający kontroluje proces przesyłania artykułów. Porównuje on grupy dyskusyjne i dystrybucję każdego nowo przybyłego artykułu z zestawem wzorców zwanych kanałami aktualności , wymieniając każdy serwer zdalny i grupy dyskusyjne, które chce otrzymywać jego operator. Niektórzy nadawcy również badają Ścieżkę; jeśli serwer odbierający pojawia się w tej linii, nie jest oferowany. Można również dodać inne przepisy lokalne. Nadawca przesyła identyfikatory wiadomości pasujących artykułów do serwera odbierającego. Odbiorca wskazuje, które ID wiadomości nie zostały jeszcze zapisane lokalnie i te artykuły są wysyłane.

Serwer odbierający sprawdza artykuły przychodzące. Wiadomość jest zwykle odrzucana, jeśli identyfikator wiadomości jest zduplikowany przez artykuł już odebrany (tj. Inny serwer wysłał go w międzyczasie), wiersze Date lub Expires wskazują, że artykuł jest zbyt stary, składnia nagłówka wydaje się być nieprawidłowa, brakuje nagłówka Approved dla moderowanej grupy dyskusyjnej lub dodatkowe reguły lokalne tego zabraniają. Większość serwerów utrzymuje również listę aktywnych grup dyskusyjnych. Jeśli nagłówek Newsgroups nowego artykułu nie pasuje do aktywnej listy, może zostać odrzucony lub umieszczony w specjalnej grupie „śmieciowej”. Po zapisaniu artykułu serwer podejmuje próbę ponownego przesłania go do dowolnego serwera znajdującego się na własnej liście kanałów informacyjnych.

Artykuły z liniami kontrolnymi są traktowane w specjalny sposób. Zwykle są umieszczane w specjalnych grupach dyskusyjnych „kontrolnych” i mogą powodować automatyczne wykonywanie wyjątkowych działań przez serwer. Te newgroup i rmgroup polecenia mogą powodować dyskusyjnych do tworzenia lub usuwania; checkgroups może służyć do uzgodnienia lokalnej listy aktywnej z powszechnie akceptowanym zestawem; i cancel polecenia służą do żądania usunięcia określonego artykułu. ihave i sendme czasami są używane z UUCP do przesyłania list oferowanych i pożądanych identyfikatorów komunikatów. Inne polecenia ( version , sendsys i uuname ) to żądania szczegółów konfiguracji serwera. Kiedyś były używane do tworzenia map sieciowych, obecnie są generalnie przestarzałe.

Serwer czytnika

Serwer czytający to taki, który udostępnia artykuły w hierarchicznym formacie katalogu na dysku , zapoczątkowanym przez B News 2.10, lub oferuje polecenia NNTP lub IMAP do użytku przez czytniki grup dyskusyjnych. Serwer czytnika zwykle działa również jako serwer tranzytowy, ale może działać niezależnie lub służyć jako alternatywny interfejs dla forum internetowego . Podczas odbierania wiadomości ten typ serwera musi wykonywać dodatkowe czynności polegające na umieszczaniu artykułów w grupach dyskusyjnych i przypisywaniu kolejnych numerów w każdej grupie. Xref linia dodaje się zwykle z listą wszystkich grup, w których pojawia się komunikat i numery sekwencyjne. W przeciwieństwie do identyfikatorów wiadomości numery i kolejność artykułów będą się różnić na każdym serwerze; ale powiązane serwery mogą wymusić zgodę, działając w trybie slave, ponownie wykorzystując linie Xref ich rodzeństwa. Serwery czytające zazwyczaj utrzymują również bazę danych Przegląd wiadomości (NOV), która umożliwia czytnikom grup dyskusyjnych szybkie uzyskiwanie podsumowań wiadomości i prezentowanie wiadomości w formie wątków.

Większość serwerów czytników obsługuje wysyłanie wiadomości za pośrednictwem protokołu NNTP lub specjalnego programu inews . Gdy artykuł jest publikowany, proces przebiega tak samo, jak w przypadku otrzymywania wiadomości przez serwer tranzytowy, ale z dodatkowymi kontrolami. Podczas wysyłania serwer zwykle uzupełnia brakujące wiersze Path i Message-ID oraz sprawdza składnię nagłówków przeznaczonych dla czytelników, takich jak From i Subject . Jeśli artykuł zostanie wysłany do moderowanej grupy, serwer spróbuje wysłać go pocztą do moderatora grupy dyskusyjnej, jeśli nie ma nagłówka Approved. W tym momencie zwykle stosowane są również dodatkowe kontrole tożsamości i filtry.

Serwer hybrydowy lub z pamięcią podręczną

Mniejsze witryny z ograniczoną przepustowością sieci mogą obsługiwać serwery „wysysające” lub buforujące . Pełnią one tę samą rolę serwera czytającego co konwencjonalne serwery grup dyskusyjnych, ale same działają jako czytniki grup dyskusyjnych wymieniające artykuły z innymi serwerami czytającymi. Serwery hybrydowe zapewniają większą elastyczność operatorowi serwera, ponieważ odbierane grupy mogą być dostosowywane bez ręcznej interwencji operatorów. Mogą też być jedynymi dostępnymi sposobami uzyskiwania artykułów ze zdalnych serwerów, które nie oferują konwencjonalnego zasilania.

Ponieważ serwery hybrydowe zwykle używają funkcji publikowania do wysyłania wiadomości, nagłówki artykułów są ponownie formatowane przez funkcję publikowania, a informacje o śledzeniu mogą zostać utracone. Ponadto opóźniony proces zasysania może spowodować nadmierną aktywność na zdalnych serwerach czytników. Z tych powodów korzystanie z serwerów hybrydowych jest często odradzane lub zabronione bez uprzedniej zgody.

Zobacz też

Bibliografia

Linki zewnętrzne