protocollo news NNTP
Transcript
protocollo news NNTP
NNTP e l'Usenet Globale Basato su trasparenze di Jeffrey M. Vinocur Con ringraziamenti a Dan Ritter, Eli the Bearded, e Jeanna Matthews Cos’è Usenet? • Concettualmente: una collezione semiorganizzata di forum (“newsgroups”) per la discussione pubblica – I gruppi sono organizzati in uno spazio di nomi gerarchico • Tecnicamente: un sistema per distribuire messaggi analoghi all’e-mail – Database replicato e distribuito, di dimensioni rilevanti • DBMS ad-hoc, basato sul filesystem • Aggiornamento multi-master • Expiration: i messaggi vengono cancellati dai server quando sono “vecchi” (o quando finisce lo spazio su disco!) Perché studiare Usenet? • Protocollo interessante? – no! • Paradigma diverso (dal web, dall’email, dal filesharing peer-to-peer) – Ciascun sito mantiene una copia di tutti i messaggi – Un messaggio può essere inviato ad un newsgroup da qualsiasi sito • Una importante applicazione di rete con problemi reali Messaggi di Usenet • Formato: simile all’email, ma più restrittivo e con alcuni header specifici (come Newsgroups) – Header e corpo del messaggio – Messaggi multipart (MIME) • Message-ID: simile quello usato per l’email – È essenziale che ogni messaggio abbia un identificatore globalmente unico (ma non è difficile assegnarli) • Path: traccia il percorso attraverso cui il messaggio è stato distribuito Path: news.litech.org!lnsnews.lns.cornell.edu! paradoxa.ogoense.net!not-for-meow From: [email protected] (A Meowbot) Newsgroups: alt.dev.null Subject: Why? Date: Sun, 27 Jan 2002 23:25:52 +0000 (UTC) Organization: a tyranny of meowing fascist censor cabalists Lines: 4 Approved: nope. Message-ID: <[email protected]> X-Trace: paradoxa.ogoense.net 1012173952 6565 141.154.205.147 (27 Jan 2002 23:25:52 GMT) X-Complaints-To: [email protected] X-Meow: Wouf Mail-Copies-To: nobody X-No-Repost: yes Xref: news.litech.org alt.dev.null:492 Because we like you. -Meow Topologia della rete • Gli utenti si connettono ad un server locale • I siti sono connessi (peering) con altri siti – I peering vengono richiesti e configurati manualmente – Grandi siti possono avere centinaia di peer • Trasporto su TCP (oggi) – Una volta si usava UUCP (su connessioni dial-up tra server), come anche per l’e-mail mando un messaggio… e poi? • Obiettivo: far arrivare ciascun articolo a ogni server nel mondo – modello dell’inondazione • La diffusione può richiedere da pochi secondi ad alcuni giorni (normalmente alcune ore) Utilizzo importante di banda Credit: CAIDA (1999) Arriva un articolo… • • • • Può essere un nuovo invio da un utente o un articolo che ci viene passato da un peer Il nome del server viene aggiunto all’header Path Il server memorizza l’articolo perché gli utenti possano leggerlo Per ciascun peer, determina se ha già l’articolo • Verifica se il nome del del peer è già nel path • Contatta il peer e chiedi se ha già quel Message-ID Invia l’articolo ai peer che non lo hanno header Path e Message-ID • Seguiamo il percorso di un articolo. Il componente inziale (l’ultimo!) del path segnala il mittente, poi il server di origine aggiunge il suo nome: Path: paradoxa.ogoense.net!not-for-meow • Poi questo articolo è passato a cornell: Path: lnsnews.lns.cornell.edu! paradoxa.ogoense.net!not-for-meow • E infine arriva a litech: Path: news.litech.org! lnsnews.lns.cornell.edu! paradoxa.ogoense.net!not-for-meow Usenet, 1980 reed phs \ / \ uok---duke-unc / \ research vax135 | ucbvax Credit: Mark Horton Credit: ucbvax!mark Usenet, 1981 pdp (Misc) ! (NC) (Misc) decvax sii reed phs--unc--grumpy duke34 utzoo cincy teklabs ! ! ! ! ! ! ! ! ! ! ! +--+----+-----+-+--+-------------+-------+------+ ! ! ! ! ! duke ! ! ! ! ! +------+---+-----------------------+--------+ ! ! ! ! ! ! ! ucbopt ! hocsr--mhtsa----research mh135a harpo-----chico : ! ! ! ! ucbcory ! ! eagle ihnss vax135 (Bell Labs) (UCB) : ! ! ! ! ! ucbvax--++----------+--+--+-----+--+------+--------+ : @ ! ! ! (Silicon Valley) ucbarpa @ (UCSD) sdcsvax ! menlo70--hao : @ sdcattb-----+ ! ! ! ucbonyx @ +-----ucsfcgl sytek sri-unix @ phonlab-----+ cca-unix sdcarl !Uucp links : @ Berknet links Arpanet links Usenet, 1993 Credit: Brian Reid Usenet oggi • 1.4 milioni di articoli al giorno - ~ 360 GB al giorno Credit: Karl L. Swartz
Documenti analoghi
la bacheca elettronica del Ia com un ità vi rtuale
un'area, in modo che tutti coloro
che hanno un account sul sistema
possano accedervi. In questo modo non importa quante persone
contemporaneamenteleggono un
messaggio, ogni sistema host avrà
solo u...