ニュース・システム

並列分散ソフトウェア

                                       電子・情報工学系
                                       新城 靖
                                       <yas@is.tsukuba.ac.jp>

このページは、次の URL にあります。
http://www.hlla.is.tsukuba.ac.jp/~yas/sie/pdsoft-2000/2001-01-11 /news-system.html
あるいは、次のページから手繰っていくこともできます。
http://www.hlla.is.tsukuba.ac.jp/~yas/sie/
http://www.is.tsukuba.ac.jp/~yas/index-j.html
http://www.hlla.is.tsukuba.ac.jp/~yas/index-j.html

■インターネット

◆インターネット

internet (小文字)
ネットワークとネットワークが相互接続したもの
The Internet (大文字)

◆サービス

基本は、コンピュータで扱えるデータのコピー

高度なサービス

■ニュース・システムの仕組み

◆ネットワーク・ニュース

◆ニュースシステムの設計目標

◆ニュースの記事の形式

----------------------------------------------------------------------
Path: gama.is.tsukuba.ac.jp!is.tsukuba.ac.jp!hagi!chiba-ns!odins-suita!news.cs.ritsumei.ac.jp!nf2.spnet.ne.jp!nf1.spnet.ne.jp!news.hits.ad.jp!spinnews!spin-hsd0-tky!news-relay.jpn!hpujjpo!hpscit.sc.hp.com!sdd.hp.com!vixen.cso.uiuc.edu!logbridge.uoregon.edu!hammer.uoregon.edu!cs.uoregon.edu!news.nero.net!takikawm
From: fj-committee@cow.nara.sharp.co.jp
Newsgroups: fj.news.lists,fj.news.group,fj.archives.answers
Subject: Active Newsgroups List of fj (1998/1/15)
Date: 16 Jan 1998 01:18:53 GMT
Organization: Fj Newsgroups Management Committee
Lines: 1033
Message-ID: <fj.active.newsgroups.19980115@cow.nara.sharp.co.jp>
References: <fj.active.newsgroups.19971228@cow.nara.sharp.co.jp>

Archive-name: fj-news/active-newsgroups/part1
Original-author: saitoh@ics.es.osaka-u.ac.jp (SAITOH akinori)
Last-change: 15 January 1998 by takikawm@cs.orst.edu (Masami Takikawa)

fjのニュースグループの一覧とその解説

・現在 fj にあるニュースグループ 373 個の名前と説明文です。
・この文書は「JUNET利用の手引 (第1版)」に由来するもので、現在
  はfjニュースグループ管理委員会が維持管理を担当しています。
  出所 (題名と日付) を明示すれば、引用、転載、複製等は、断り
  なく自由におこなって構いません。文書の一部を他の著作物に流用
  する等の利用は、完全に自由とします。
・・・
----------------------------------------------------------------------

◆記事のヘッダ

Newsgroups:
ニュース・グループ
From:
差出人の電子メールアドレス
Subject:
記事の題名(題目、表題)。
Date:
記事が書かれた日付
Message-ID:
メッセージ識別子。 その記事に対して世界中で重複がないように付けられた文字
Path:
記事が通過したサーバ。

◆ネットワーク・ニュースの記事の配送の仕組

図 ネットワーク・ニュースの記事の配送の仕組
図 ネットワーク・ニュースの記事の配送の仕組

サーバ NNTP

◆NNTP

NNTP(Network News Transfer Protocol) とは、ネットワーク・ニュースの記 事の転送や、記事の読み書きを行うためのプロトコルである。mnews や GNUS などのネットワーク・ニュースを読み書きするソフトウェアは、クライアント として NNTP サーバとの間に TCP/IP による通信路を開設する。そして、クラ イアントは、記事を要求する文字列や、ニュース・グループの一覧を要求する コマンドをサーバに送る。これに対してサーバは、要求された記事やニュース・ グループの一覧をクライアントに返す。表4に、クライアントからサーバへ送 られるNNTPのコマンド、表5に、サーバからクライアントへ返される応答を示 す。

表4 NNTPのコマンド

--------------------------------------------------------------------
GROUP	ニュース・グループ名
	ニュース・グループを選択する。結果として、記事の数、記事の番号
	の上限と下限が返される。

ARTICLE 記事番号
	その記事の内容を得る。ニュース・グループが選択されている状態の
	時に使える。

ARTICLE 
	メッセージIDの記事の内容を得る。
HELP
	ヘルプ・メッセージの表示
QUIT
	終了
POST
	記事を投稿する。
--------------------------------------------------------------------

表5 NNTPの応答

--------------------------------------------------------------------
応答コード	説明
--------------------------------------------------------------------
100		ヘルプのテキストが続く。
200		要求受け付け可能である(投稿可)。
201		要求受け付け可能である(投稿不可)。 
205		通信路を切断する。
211		ニュース・グループが選ばれた。
		記事の数、記事番号の上限、下限、ニュース・グループ名。
235		記事の転送は成功した。
335		記事を送れ。最後は、YHM_Escape(.)。
400		サービスを中断する。
411		そのようなニュース・グループがない。
421		もうそのニュース・グループには次の記事がない。
435		その記事は欲しくない。(もう既に受け取っている)
436		転送に失敗した。後でもう一度転送しB$iて欲しい。
437		転送に失敗した。もう転送するな。
500		コマンドが認識できなった。
501		コマンドの文法に誤りがあった。
502		アクセスが制限されている。
--------------------------------------------------------------------

以下に、telnet コマンドを利用して、NNTP サーバに接続した様子を示す。

----------------------------------------------------------------------
% telnet newshost nntp [←]
Trying XXX.YYY.ZZZ.UUU ...
Connected to newshost.
Escape character is '^]'.
200 newshost NNTP[auth] server version 1.5.11 (31 January 1991) ready at Fri Jul  5 15:58:07 1996 (posting ok).
help[←]
100 This server accepts the following commands:
ARTICLE     BODY         GROUP
HEAD        LAST         LIST
NEXT        POST         QUIT
STAT        NEWGROUPS    HELP
IHAVE       NEWNEWS      SLAVE

Additionally, the following extention is supported:

XHDR        Retrieve a single header line from a range of articles.
XHIST       Retrieve history file.
XMIME       Control MIME  article handling.

Bugs to Stan Barber (Internet: nntp@tmc.edu; UUCP: ...!bcm!nntp)
.
quit[←]
205 newshost closing connection.  Goodbye.
Connection closed by foreign host.
% []
----------------------------------------------------------------------
ここで、強調で示した部分が、キーボードからのタイプである。 この例では、ホスト newshost のポート番号119(nntp)のポートに、 TCP/IPにより接続を試みている。2行目から4行目は、telnet コマンドによる 定型的な表示である。通信路が開設されると、サーバは、 "200" という応答を返している。これは、NNTP で定義されて いる応答であり、サーバが、要求を受け付け可能であり、かつ、要求としては 投稿要求(POST)も受け付けることを意味している。"200" 以 降の文字列は、コメントである。

第6行では、"help" というコマンドをサーバに送っ ている。これに対して、サーバは、"100" という応答に続けて、 受け付け可能なコマンドなど、簡単な使い方を返している。23行目に "." からなる行がある。これが、1つのコマンドに対する応答 の終りを示している。

次に、24行において、"quit" というコマンドをサーバに送っている。これに たいして、サーバは、205 という応答を返し、続いて TCP/IP の通信路を切断 している。26行目は、telnet コマンドが生成したメッセージである。

参考

NNTP は、現在改定作業中。 http://www.ietf.org/ids.by.wg/nntpext.html

◆INN newsfeed

----------------------------------------------------------------------
ME\
        :!*/!local::
news.jks.is.tsukuba.ac.jp/jks-news:campus.*,coins.*,comp.*,denjo.*,fj.*,gnu.*,news.*,okinawa.*,tnn.*,tsukuba.*:Tf,Wnm:
nadesico.cc.tsukuba.ac.jp/nadesico.cc.tsukuba.ac.jp:comp.*,sci.*,rec.*,news.*,soc.*,talk.*,misc.*,fj.*,gnu.*,tsukuba.*,campus.*,tnn.*:Tf,Wnm:
etlnews.etl.go.jp/etlnews.etl.go.jp:tsukuba.*:Tf,Wnm:
----------------------------------------------------------------------
転送の様子


----------------------------------------------------------------------
maple% telnet gama.is.tsukuba.ac.jp nntp[←]
Trying 130.158.80.241 ...
Connected to gama.is.tsukuba.ac.jp.
Escape character is '^]'.
200 gama.is.tsukuba.ac.jp InterNetNews server INN 1.5.1sec2 25-Jul-1997 ready
IHAVE  <YAS.98Feb2175819@is.tsukuba.ac.jp>
335
Newsgroups: denjo.test[←]
Path: is.tsukuba.ac.jp!gama.is.tsukuba.ac.jp!is.tsukuba.ac.jp!yas[←]
From: yas@is.tsukuba.ac.jp (Yasushi Shinjo)[←]
Subject: from maple[←]
Date: Mon, 2 Feb 1998 08:58:17 GMT[←]
Nntp-Posting-Host: hlla-gw[←]
Organization: Institute of Information Sciences and Electronics, University of[←]
Tsukuba[←]
Sender: news@is.tsukuba.ac.jp (News Manager)[←]
Message-ID: <YAS.98Feb2175819@is.tsukuba.ac.jp>[←]
Lines: 2[←]
[←]
fake Path: gama.is.tsukuba.ac.jp!is.tsukuba.ac.jp!yas[←]
1998/02/02 17:58:13[←]
.[←]
235
QUIT[←]
205 .
Connection closed by foreign host.
maple% []
----------------------------------------------------------------------

◆故障への対応

サーバやネットワークが落ちることがある。 核攻撃が無くても落ちる。

冗長リンクを持つと、同じ記事が複数の隣接するサーバから送られて来る。

◆冗長のリンク

図? 冗長リンクを含むニュースの配送

図? 冗長リンクを含むニュースの配送

◆記事の重複への対応(1)

履歴を利用する。
----------------------------------------------------------------------
#gama[lib-news] 113# tail history
<19980131213101.QAA14061@ladder03.news.aol.com> 886406952~-~886282319   rec.collecting.sport.hockey/46595
<8E8622E.0015000738.uuout@venture.fipnet.fi>    886406953~-~886231080   comp.sys.ibm.pc.demos/3590
<34D57354.592B@pp.kolumbus.fi>  886406953~-~886403924   comp.sys.ibm.pc.games.action/24913
   886406953~-~886282077   control/403867
<01bd2b53$921e9680$LocalHost@santotan>  886406953~-~886282077
<6b3s6k$85k$1@talia.mad.ibernet.es>     886406953~-~886403962   comp.sys.ibm.pc.games.flight-sim/52150
<34cd5ecb.20149236@nntp.best.com>       886406953~-~885929344   rec.arts.sf.tv.babylon5.moderated/10108
<34d4eeb3.2546651@news.txdirect.net>    886406953~-~886370114   rec.backcountry/9841
  886406954~-~885923414   misc.fitness.weights/21696
<6b3s8r$dp0@sjx-ixn5.ix.netcom.com>     886406954~-~886404085   comp.sys.ibm.pc.games.flight-sim/52151
#gama[lib-news] 114# ls -l history*
-rw-rw-r--   1 news     110490739 Feb  2 17:09 history
-rw-rw-r--   1 news          122 Feb  2 17:14 history.dir
-rw-rw-r--   1 news      8294372 Feb  2 17:09 history.pag
#gama[lib-news] 115#
----------------------------------------------------------------------
同じ記事を送ろうとしたとき。

----------------------------------------------------------------------
maple% telnet gama.is.tsukuba.ac.jp nntp[←]
Trying 130.158.80.241 ...
Connected to gama.is.tsukuba.ac.jp.
Escape character is '^]'.
200 gama.is.tsukuba.ac.jp InterNetNews server INN 1.5.1sec2 25-Jul-1997 ready
Trying 130.158.80.241 ...
Connected to gama.is.tsukuba.ac.jp.
Escape character is '^]'.
200 gama.is.tsukuba.ac.jp InterNetNews server INN 1.5.1sec2 25-Jul-1997 ready
IHAVE  <YAS.98Feb2175819@is.tsukuba.ac.jp>
435 Duplicate
QUIT[←]
205 .
Connection closed by foreign host.
maple% []
----------------------------------------------------------------------

◆記事の重複への対応(2)

Path: の利用 図? 冗長リンクを含むニュースの配送

Aで投稿された記事が、B,C,Dを通って E までやってきた時には、Path: には、通ってきたニュースのサイトの名前が入る。


Path: E!D!C!B!A!username
サイト E のサーバは、この記事は サイト A を通ったと判断し、その記事を サイト A には送らない。

実際の Path: の例。

----------------------------------------------------------------------
Path: gama.is.tsukuba.ac.jp!is.tsukuba.ac.jp!hagi!chiba-ns!odins-suita!news.cs.ritsumei.ac.jp!nf2.spnet.ne.jp!nf1.spnet.ne.jp!news.hits.ad.jp!spinnews!spin-hsd0-tky!news-relay.jpn!hpujjpo!hpscit.sc.hp.com!sdd.hp.com!vixen.cso.uiuc.edu!logbridge.uoregon.edu!hammer.uoregon.edu!cs.uoregon.edu!news.nero.net!takikawm
From: fj-committee@cow.nara.sharp.co.jp
Newsgroups: fj.news.lists,fj.news.group,fj.archives.answers
Subject: Active Newsgroups List of fj (1998/1/15)
Date: 16 Jan 1998 01:18:53 GMT
Organization: Fj Newsgroups Management Committee
Lines: 1033
Message-ID: <fj.active.newsgroups.19980115@cow.nara.sharp.co.jp>
References: <fj.active.newsgroups.19971228@cow.nara.sharp.co.jp>

----------------------------------------------------------------------

◆制御メッセージ(Control Message)

----------------------------------------------------------------------
Path: gama.is.tsukuba.ac.jp!is.tsukuba.ac.jp!hagi!ume!igakukei!news.cs.ritsumei.ac.jp!kuis-news!kuee-news!tamaru-news!Q.T.Honey!news.hbl.or.jp!news.ksi.co.jp!spinosk!threeWeb-news!nf2.iij.ad.jp!nr0.iij.ad.jp!news.iij.ad.jp!newsgw.yokohama.tao.or.jp!news.yokohama.tao.or.jp!citron!miyano
From: fj-committee@cow.nara.sharp.co.jp
Newsgroups: fj.rec.trading-cards
Subject: cmsg newgroup fj.rec.trading-cards
Control: newgroup fj.rec.trading-cards
Date: 12 Jan 1998 23:53:28 GMT
Message-ID: 

For your newsgroups file:
fj.rec.trading-cards	Topics and discussions on trading-cards
----------------------------------------------------------------------

◆よく使われるコントロール・メッセージ

--------------------------------------------------------------------
名前
--------------------------------------------------------------------
cancel 	記事のキャンセル
newgrop groupname [moderated]
			ニュース・グループの作成
rmgroup groupname	ニュース・グループの削除
checkgroups		activeファイルの確認
ihave	systemname	送りたい記事のリスト
sendme	systemname	送って欲しい記事のリスト
sendsys			sysファイルの転送要求
version			ニュース・システムのバージョンの転送
--------------------------------------------------------------------
)

◆問題点

ニュース・システムは、権限のない制御メッセージに弱かった。

◆ディジタル署名

送られてきたメッセージが送信者本人のものであることを識別・確認する。

----------------------------------------------------------------------
Path: bounce-back
From: committee@fj-news.org (Fj Newsgroups Management Committee)
Newsgroups: fj.comp.dev.pc-card
Subject: cmsg newgroup fj.comp.dev.pc-card
Control: newgroup fj.comp.dev.pc-card
Approved: yas@is.tsukuba.ac.jp
Message-ID: <newgroup.fj.comp.dev.pc-card.19990112@fj-news.org>
Date: Tue, 12 Jan 1999 07:12:37 -0000
Lines: 26
X-Info: ftp://ftp.isc.org/pub/pgpcontrol/README.html
	ftp://ftp.isc.org/pub/pgpcontrol/README
X-PGP-Sig: 2.6.3ia Subject,Control,Message-ID,Date,From,Sender
	iQCVAwUBNpr16hf4TH9gf12pAQHabwP/SLnIuV26QMrAB6EdSahCzHniDvlmwjWB
	EXbPine+y0zcoSWYtj0h1ZBuY9HTV8h/Y3WMGEbsZ7UTDrK8HKYh3agEB1ZRQEe8
	jY3Ya1WCTk8ht7WGqf6mfihJB9pyXy2tkTLjaJ3CwjyQ/OGx+Ogo+4kr1oZeJ/Vt
	pC9OH+/G0CI=
	=KxP+

For your newsgroups file:
fj.comp.dev.pc-card	Discussion on PC Card(JEIDA/PCMCIA Card).
----------------------------------------------------------------------

◆まとめ

ニュース・システムに見られる分散システム構築の技術
↑[もどる]
Last updated: 2001/01/11 03:23:48
Yasushi Shinjo / <yas@is.tsukuba.ac.jp>