Network News Transfer Protocol

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Nntp stránky dk.admin z 16 července 2004 NNTP (Network News Transfer Protocol) je v informatice přenosový protokol pro síťové diskuzní skupiny (též Usenet NetNews), které byly používány zejména v počátcích Internetu. Příspěvky diskuzních skupin jsou uloženy na mnoha serverech, mezi kterými se příspěvky synchronizují. Servery tvoří distribuovanou síť, která využívá NNTP protokol ke vzájemné komunikaci.

...

Popis

Původně byla distribuce příspěvků zajišťována pomocí UUCP, které používalo pro přenosy telefonní linky (tj. vytáčené připojení pomocí modemů), kterými byly přenášeny jednotlivé soubory se zprávami typicky v nočních hodinách. +more Uživatelé si pak zprávy četli z lokálních disků. Příspěvky se ukládaly na disk a opět v nočních hodinách distribuovaly na další Usenet servery.

Po přechodu na interaktivní spojení pomocí protokolu TCP byla metoda výměny souborů (příspěvků) pomocí UUCP nahrazena protokolem NNTP, který umožňuje uživatelům číst a psát do diskusních skupin v reálném čase. Klient se z libovolného místa v počítačové síti spojuje pomocí NNTP protokolu se serverem, který uchovává příspěvky na svém diskovém prostoru. +more NNTP umožňuje interaktivní přenos článků s takřka nulovým zpožděním, čímž je omezena potřeba replikace článků na mnoha místech současně.

Komunikace se serverem

Ke komunikaci se serverem, ukládání, čtení a předávání článků slouží klientům různé příkazy. Protokol NNTP umožňuje také aktivní a pasivní způsob přenosu příspěvků, kterému se také hovorově říká „pushing“ (tlačení) a „pulling“ (tažení). +more Při tlačení klient zadá příkaz IHAVE <varmsig> a následně se dozví, zda se již článek na serveru vyskytuje, či nikoli. Tlačení však díky neustálému vyhledávání, zda již článek není v historii značně zatěžuje systém serveru.

Naproti tomu tažení zadané příkazem NEWNEWS zašle uživateli seznam všech dostupných článků a ten si následně vybere ty články, které ještě nevlastní. Problémem tažení je však autorizace osob a tudíž se server musí ujistit, zda neposílá neautorizovaným uživatelům tajné dokumenty, nebo jim nepřístupné články.

Zabezpečenou variantou NNTP je protokol NNTPS, který komunikaci šifruje pomocí SSL. Server standardně naslouchá na TCP portu 119, při zabezpečeném spojení pak na portu 563. +more Protokol je definován v RFC 977.

Příklad komunikace mezi klientem a serverem

Klient (C) se připojí k serveru (S), komunikaci zahajuje server uvítací zprávou začínající kódem 200 nebo 201. Komunikace probíhá na textové úrovni. +more Každý řádek je ukončen znaky CR-LF. Maximální délka řádku zasílanému serveru je 510 znaků (512 i s CR-LF). Příspěvek se skládá z hlavičky a těla (u příkazu <ARTICLE> je server oddělí jedním prázdným řádkem). Za každým příspěvkem zašle server jednu tečku na samostatném řádku. Jestliže se v těle příspěvku vyskytuje řádek začínající tečkou, je tato tečka zdvojena.

C: GROUP linux.kernel

C: ARTICLE

C: NEXT

C: ARTICLE

C: QUIT

Problém NNTP

Celkový problém protokolu NNTP je umožnění informovanému klientovi vložit do sítě články s falešnou specifikací odesílatele, které se označuje jako falšování news (news faking). Stejný problém se týká protokolu SMTP (Simple Mail Transfer Protocol). +more Avšak rozšíření protokolu NNTP umožňuje u některých příkazů vyžadovat autentizaci uživatele, čímž se možnost vytváření falešných zpráv částečně omezí.

Software

Nejpoužívanějším balíkem protokolu NNTP je v současnosti démon NNTP, jehož původními autory jsou Phil Lapsley a Stan Barber, kteří ho původně vytvořili, aby jeho prostřednictvím přiblížili detaily RFC 977.

Mezi jinými balíky, kdy máme na výběr mezi balíky binárních souborů, nebo různé programy pro instalaci můžeme použít také balík nazvaný „InterNet News“ (INN). Autorem INN je Rich Salz a tento balík umožňuje jak přenos NNTP, tak i starší UUCP-news. +more Tento balík je spíš navržen pro větší systémové servery.

Instalace serveru

Server NNTP se nazývá nntpd a lze ho zkompilovat dvěma různými způsoby, které závisí na očekávaném zatížení systému news. Z důvodu žádných neexistujících již zkompilovaných verzí se veškerá konfigurace provádí skrze makro, které je definováno v souboru common/conf. +moreh.

# Systém nntpd je nakonfigurován jako samostatný server, který se spouští při zavádění systému z rc. inet2. +more # Systém nntpd je nakonfigurován jako démon řízený inetd.

Omezení přístupu k NNTP:

Přístup ke zdrojům NNTP je řízen souborem nntp_access, který je uložen v adresáři /usr/lib/news.

Řádky v tomto souboru specifikují přístupová práva přidělená vzdáleným hostitelům. Každý řádek má následující formát:

site read|xfer|both|no post|no [!exceptgroup]

Jakmile se klient připojí na NNTP-port, pokusí se server nntpd pomocí zpětného překladu IP adresy získat doménové jméno klienta. Doménové jméno a jeho IP adresa jsou porovnávány s polem site každého záznamu v takovém pořadí, v jakém jsou uvedeny v souboru. +more Shoda může být buď částečná, nebo úplná. V případě úplné shody ji použije, kdežto v případě částečné shody ji použije jen pokud se nenajde žádná další částečná shoda. Záznamy s obecnější specifikací adres jsou uváděny na začátku souboru, protože případné shody jsou pozdějšími přesnějšími záznamy potlačeny.

Literatura

Příručka správce sítě Linux; Pavel Janík; Praha 1998; nakladatelství Press * Linux - praktické návody; Jiří Veselský; Praha 1998; Computer Press

Kategorie:Aplikační protokoly IP Kategorie:Usenet

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top