PROXY  WHOIS  RQUOTE  TEXTS  SOFT  FOREX  BBOARD
 Music  Philosophy  Code  Literature  Russian

= ROOT|Technical|RFC|rfc0850.txt =

page 10 of 11




     ##! rnews 1234

where 1234 is the length, in bytes, of the article.   Each
such  line  is followed by an article containing the given
number of bytes.  (The newline at the end of each line  of
the  article  is counted as one byte, for purposes of this
count, even if it is stored as CRLF.) For example, a batch
of articles might look like this:

      #! rnews 374
      Relay-Version: version B 2.10 2/13/83; site cbosgd.UUCP
      Posting-Version: version B 2.10 2/13/83; site eagle.UUCP
      Path: cbosgd!mhuxj!mhuxt!eagle!jerry
      From: jerry@eagle.uucp (Jerry Schwarz)
      Newsgroups: net.general
      Subject: Usenet Etiquette -- Please Read
      Message-ID: <642@eagle.UUCP>
      Date: Friday, 19-Nov-82 16:14:55 EST

      Here is an important message about USENET Etiquette.
      #! rnews 378
      Relay-Version: version B 2.10 2/13/83; site cbosgd.UUCP
      Posting-Version: version B 2.10 2/13/83; site eagle.UUCP
      Path: cbosgd!mhuxj!mhuxt!eagle!jerry
      From: jerry@eagle.uucp (Jerry Schwarz)
      Newsgroups: net.followup
      Subject: Notes on Etiquette article
      Message-ID: <643@eagle.UUCP>
      Date: Friday, 19-Nov-82 17:24:12 EST

      There was something I forgot to mention in the last message.

Batched news is recognized because the first character  in
the  message  is  "#".   The message is then passed to the
unbatcher for interpretation.







                          - 16 -
 

5.  The News Propagation Algorithm

This section describes the overall scheme  of  USENET  and
the algorithm followed by sites in propagating news to the
entire  network.   Since  all  sites   are   affected   by
incorrectly  formatted articles and by propagation errors,
it is important for the method to be standardized.

USENET is a directed graph.  Each node in the graph  is  a
host  computer,  each  arc  in the graph is a transmission
path from one host to another host.  Each arc is  labelled
with  a  newsgroup  pattern,  specifying  which  newsgroup
classes are forwarded along  that  link.   Most  arcs  are
bidirectional,  that  is,  if  site  A  sends  a  class of
newsgroups to site B, then site B usually sends  the  same
class  of  newsgroups to site A.  This bidirectionality is
not, however, required.

USENET is made up of many subnetworks.  Each subnet has  a
name,  such  as   "net"   or   "btl".   The special subnet
"net"   is defined to be USENET, although the union of all
subnets may be a superset of USENET (because of sites that
get local newsgroup classes but do not get net.all).  Each
subnet  is  a connected graph, that is, a path exists from
every  node  to  every  other  node  in  the  subnet.   In
addition,  the  entire graph is (theoretically) connected.
(In practice, some political  considerations  have  caused
some sites to be unable to post articles reaching the rest
of the network.)

An  article  is  posted  on  one  machine  to  a  list  of
newsgroups.    That   machine  accepts  it  locally,  then
forwards it to all its neighbors that are interested in at
least one of the newsgroups of the message.  (Site A deems
site  B  to  be   "interested"   in  a  newsgroup  if  the
newsgroup  matches  the  pattern  on  the arc from A to B.
This pattern is stored in a file on the  A  machine.)  The
sites  receiving  the  incoming article examine it to make
sure they really want the article, accept it locally,  and
then  in  turn forward the article to all their interest
neighbors.   This  process  continues  until  the   entire
network has seen the article.

An important part of the algorithm is  the  prevention  of
loops.   The  above  process would cause a message to loop
along a cycle forever.  In particular, when site  A  sends
an  article to site B, site B will send it back to site A,
which will send it to site B, and so on.  One solution  to
this  is  the history mechanism.  Each site keeps track of
all articles  it  has  seen  (by  their  message  ID)  and
whenever an article comes in that it has already seen, the
incoming article is discarded immediately.  This  solution
is   sufficient   to   prevent   loops,   but   additional
optimizations can be made to  avoid  sending  articles  to
=10=

1.4|5|6|7|8|9| < PREV = PAGE 10 = NEXT > |11

UP TO ROOT | UP TO DIR | TO FIRST PAGE

Google
 


E-mail Facebook Google Digg del.icio.us BlinkList Fark Furl Ma.gnolia Netscape NewsVine Reddit Slashdot Spurl StumbleUpon Technorati YahooMyWeb LiveJournal Blogmarks TwitThis Live News2.ru BobrDobr.ru Memori.ru MoeMesto.ru

0.0373712 wallclock secs ( 0.01 usr + 0.00 sys = 0.01 CPU)