?? rfc2810.txt
字號:
組織:中國互動出版網(wǎng)(http://www.china-pub.com/)
RFC文檔中文翻譯計(jì)劃(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
譯者:謝煒(x1982212 x1982212@263.net)
譯文發(fā)布時(shí)間:2001-7-26
版權(quán):本中文翻譯文檔版權(quán)歸中國互動出版網(wǎng)所有。可以用于非商業(yè)用途自由轉(zhuǎn)載,但必須
保留本文檔的翻譯及版權(quán)信息。
Network Working Group C. Kalt
Request for Comments: 2810 April 2000
Updates: 1459
Category: Informational
因特網(wǎng)延遲交談:體系結(jié)構(gòu)
(Internet Relay Chat: Architecture)
該備忘錄的狀態(tài)
該備忘錄為互聯(lián)網(wǎng)團(tuán)體提供信息。它并不制定任何互聯(lián)網(wǎng)標(biāo)準(zhǔn),可以被無限制的發(fā)布。
Copyright(c)The Internet Society (2000).All Rights Reserved.
摘要:
IRC(因特網(wǎng)延遲交談)協(xié)議用于文本交談,1989年它首次被實(shí)現(xiàn)并用于BBS用戶間的交談
1993年五月RFC 1459(IRC)將它以文獻(xiàn)形式正式確立下來,以后它就不斷發(fā)展
這篇文獻(xiàn)描述了目前IRC協(xié)議的結(jié)構(gòu)以及它各個(gè)組成部分的在整個(gè)協(xié)議中的角色
其它文獻(xiàn)詳描述了這里定義的各種組成之間的協(xié)議
目錄
1.介紹 2
2.組件 2
2.1服務(wù)器 3
2.2客戶機(jī) 3
2.2.1用戶客戶機(jī) 3
2.2.2服務(wù)客戶機(jī) 3
3.結(jié)構(gòu) 3
4.IRC協(xié)議服務(wù) 3
4.1客戶機(jī)定位 4
4.2消息延遲 4
4.3頻道收集和管理 4
5.IRC 概念 4
5.1一對一交流 4
5.2和多個(gè) 4
5.2.1和一個(gè)頻道 5
5.2.2向 一個(gè)主機(jī)/服務(wù)器掩網(wǎng) 5
5.2.3向一系列目標(biāo) 5
5.3向所有 5
5.3.1客戶機(jī)向客戶機(jī) 5
5.3.2客戶機(jī)向服務(wù)器 6
5.3.3服務(wù)器向服務(wù)器 6
6當(dāng)前的問題 6
6.1可用范圍 6
6.2可靠性 6
6.3網(wǎng)絡(luò)擁塞 6
6.4保密問題 6
7.保密 7
8.目前的支持和獲取渠道 7
9. 感謝 7
10.參考文獻(xiàn) 7
11.作者地址 7
12.完整版權(quán)說明 8
致謝 8
1.介紹
IRC(Internet延遲交談)協(xié)議用于文本交談被設(shè)計(jì)出來已經(jīng)有許多年了,這篇文檔描述了
它目前的體系結(jié)構(gòu)。
IRC協(xié)議是基于客戶服務(wù)器模型的,可以很好地分布式地在許多機(jī)器上運(yùn)行。一個(gè)典型
的設(shè)置涉及一個(gè)進(jìn)程(服務(wù)器),它作為中心點(diǎn)接受客戶(或其它服務(wù)器)的連接,并且實(shí)現(xiàn)
要求的消息傳送/多元技術(shù)和其它的功能。
這種分布模型,由于它要求每個(gè)服務(wù)器都擁有全局狀態(tài)信息,限制了一個(gè)網(wǎng)絡(luò)所能達(dá)到
的最大規(guī)模,因此是此協(xié)議最令人不能容忍的問題。現(xiàn)存的網(wǎng)絡(luò)能夠以難以置信的速度
持續(xù)增長,我們必須感謝硬件制造商們給了我們比以往更加強(qiáng)大的系統(tǒng)。
2.組件
接下來的幾節(jié)定義了IRC協(xié)議的基本組件
2.1服務(wù)器
服務(wù)器是IRC的主干,因?yàn)樗菂f(xié)議中唯一能夠?qū)⑺衅渌M件連接在一起的組件:它
為客戶機(jī)提供連接的節(jié)點(diǎn)以使它們之間進(jìn)行交談[IRC-CLIENT],并且提供供其它服務(wù)器
連接的節(jié)點(diǎn)[IRC-SERVER]。服務(wù)器也負(fù)責(zé)提供IRC協(xié)議定義的基本服務(wù)。
2.2客戶機(jī)
任何不是服務(wù)器并且連到一個(gè)服務(wù)器的機(jī)器都可以稱作客戶機(jī)。有兩種客戶機(jī),它們用
于不同的目的。
2.2.1用戶客戶機(jī)
用戶客戶機(jī)一般是提供基于文本界面的程序,程序用來通過IRC進(jìn)行交流。這種特
殊類型的客戶機(jī)常被稱作“用戶機(jī)”。
2.2.2服務(wù)客戶機(jī)
不像用戶機(jī),服務(wù)客戶機(jī)沒有設(shè)計(jì)為手工作用,也不用于交談。它們對協(xié)議交談功
能的使用受到更加的限制,卻可以隨意地使用來自服務(wù)器的更加秘密的數(shù)據(jù).
服務(wù)機(jī)是典型的用來向用戶機(jī)提供各種服務(wù)(不必和IRC自身相關(guān))的自動機(jī)器。一
個(gè)例子是一個(gè)收集和IRC網(wǎng)絡(luò)相連的用戶機(jī)的來源的統(tǒng)計(jì)數(shù)據(jù)的服務(wù)。
3.結(jié)構(gòu)
一組相互連接的服務(wù)器就定義了一個(gè)IRC網(wǎng)絡(luò),一臺服務(wù)器構(gòu)成最簡單的IRC網(wǎng)絡(luò)。
對IRC服務(wù)器來說,唯一允許的網(wǎng)絡(luò)結(jié)構(gòu)是一個(gè)生成樹,每個(gè)服務(wù)器都作為對它可見的
網(wǎng)絡(luò)的中心結(jié)點(diǎn)。
1--\
A D---4
2--/ \ /
B----C
/ \
3 E
服務(wù)器:A,B,C,D,E 客戶機(jī):1,2,3,4
[圖一 小型IRC網(wǎng)絡(luò)示例]
4.IRC協(xié)議服務(wù)
這個(gè)部分描述了IRC協(xié)議提供的服務(wù)。這些服務(wù)的組合可以實(shí)現(xiàn)實(shí)時(shí)會議。
4.1客戶機(jī)定位
為了相互交換消息,兩個(gè)客戶機(jī)必須能夠相互定位對方。
一連上服務(wù)器,客戶機(jī)就注冊一個(gè)標(biāo)志,此標(biāo)志此后被其它服務(wù)器和客戶機(jī)用來定位該客
戶機(jī)。服務(wù)器負(fù)責(zé)跟蹤所有使用的標(biāo)志。
4.2消息延遲
IRC協(xié)議無法提供兩臺客戶機(jī)的直接連接,所有客戶機(jī)間的交流都被服務(wù)器延遲
4.3頻道收集和管理
一個(gè)頻道是一個(gè)由一個(gè)或更多的客戶機(jī)組成的命名組,這個(gè)組中的所有成員都接收發(fā)送給
這個(gè)頻道的消息。一個(gè)頻道由它的名字和目前的成員來標(biāo)志,它也有一系列能被它的成員
使用的屬性。
頻道提供了向多個(gè)客戶機(jī)發(fā)送信息的方法。服務(wù)器收集頻道,提供必須的消息多路技術(shù)。服
務(wù)器也負(fù)責(zé)通過跟蹤頻道成員來管理頻道。服務(wù)器的確切角色在"Internet Relay Chat:
Channel Management" [IRC-CHAN]中定義。
5.IRC 概念
這個(gè)部分專門描述IRC協(xié)議組織背后的真實(shí)概念,以及不同種類的消息如何被傳送。
5.1一對一交流
一對一基礎(chǔ)上的交流經(jīng)常由客戶機(jī)實(shí)現(xiàn),因?yàn)榇蟛糠值淖枞墙?jīng)由服務(wù)器進(jìn)行的交談。
為了提供一各客戶機(jī)相互交談的方法,要求所有服務(wù)器能夠沿著生成樹到達(dá)任何客戶
機(jī)以單向發(fā)送消息。因此消息發(fā)送路徑是生成樹上任意兩點(diǎn)之間的最短路徑。
下面的例子都涉及上面的圖一。
例一:1和2之間的消息只同時(shí)被服務(wù)器A看到,A直接將消息發(fā)送給2。
例二:1和3之間的消息同時(shí)被服務(wù)器A,B和客戶機(jī)3看到。沒有其它客戶機(jī)或服
務(wù)器允許看到此消息。
例三:2和4之間的消息只被服務(wù)器A,B,C,D和客戶機(jī)4看到。
5.2和多個(gè)
IRC的方根目的是提供簡單有效的會議論壇。IRC提供了許多方法來實(shí)現(xiàn),每個(gè)方法
都為各自的目的服務(wù)。
5.2.1和一個(gè)頻道
在IRC里,頻道和多播組角色等同,它們都動態(tài)生存而且實(shí)際上的談話必須發(fā)送到
正支持給定頻道上客戶機(jī)的服務(wù)器。還有,消息將向每個(gè)本地鏈接只發(fā)送一次,因
為每個(gè)服務(wù)器都負(fù)責(zé)散發(fā)原始消息以保證它能到達(dá)所有收件人。
下面的例子都涉及圖二
例四:任何包括客戶機(jī)一在內(nèi)的頻道。任何發(fā)送給該頻道的消息到達(dá)服務(wù)器并且不會
到達(dá)其它任何地方。
例五:二個(gè)客戶機(jī)在一個(gè)頻道里。所有消息經(jīng)過的路徑使它們看起來像頻道、之外的
兩個(gè)客戶機(jī)之間的秘密消息。
例六:客戶機(jī)1,2,3在一個(gè)頻道里。所有發(fā)送給該的消息都發(fā)送給所有客戶機(jī)和那些發(fā)
送給單個(gè)客戶機(jī)的秘密消息所必須經(jīng)過的服務(wù)器。如果客戶機(jī)1發(fā)送一條消息,它返回
到客戶機(jī)2然后經(jīng)由服務(wù)器B到達(dá)客戶機(jī)3。
5.2.2向 一個(gè)主機(jī)/服務(wù)器掩網(wǎng)
為了提供一種向大量相關(guān)客戶機(jī)發(fā)送消息的機(jī)制,必須能夠向主機(jī)/服務(wù)器掩網(wǎng)發(fā)送消
息。這些消息發(fā)送給掩碼信息相符的那些主機(jī)和服務(wù)器。消息只被發(fā)送到客戶機(jī)所在
的特定區(qū)域,和頻道的方式差不多。
5.2.3向一系列目標(biāo)
效率最差的一對多談話方式是客戶機(jī)向一系列目標(biāo)談話(客戶機(jī),頻道,掩網(wǎng))。
這種方式的實(shí)現(xiàn)是不言自明的:客戶機(jī)給出消息目的地的列表,服務(wù)器將它分解并向
每個(gè)目的地發(fā)送一份消息拷貝。
這種方式?jīng)]有頻道方式有效率,因?yàn)榱斜砜赡鼙黄茐亩也荒鼙WC沿著每條路徑向下
發(fā)送每條消息的拷貝。
5.3向所有
一對所有式的消息最好是用廣播消息來描述,這種消息是發(fā)送給所有客戶機(jī)或服務(wù)
器或兩者兼?zhèn)洹T谝粋€(gè)包含客戶機(jī)和服務(wù)器的大型網(wǎng)絡(luò)上,一條消息就能引起大量
堵塞,因?yàn)樗鼤Ρ话l(fā)送到所有想達(dá)到的目的地。
對某些種類的消息來說,沒有其它選擇只有向所有服務(wù)器廣播,這樣才能保持各個(gè)
服務(wù)器保存的狀態(tài)信息之間的一致性。
5.3.1客戶機(jī)向客戶機(jī)
沒有哪種消息能夠?qū)е聛碜詥我豢蛻魴C(jī)的消息發(fā)送給所有其它客戶機(jī)。
5.3.2客戶機(jī)向服務(wù)器
大部分引起狀態(tài)信息(比如頻道成員人數(shù),頻道狀態(tài),客戶機(jī)狀態(tài)等等)改變的命令
必須缺省地向所有服務(wù)器發(fā)送,而且這種分發(fā)不應(yīng)被客戶機(jī)改變。
5.3.3服務(wù)器向服務(wù)器
盡管大多數(shù)服務(wù)器之間的消息都向所有其它服務(wù)器分發(fā),但只有當(dāng)消息影響客戶機(jī),
頻道或服務(wù)器時(shí)才有必要。因?yàn)樵贗RC里有一些基本的條目,因此幾乎所有的來自
服務(wù)器的消息都向其它相連的服務(wù)器廣播。
6當(dāng)前的問題
這個(gè)協(xié)議有一些公認(rèn)的問題,這個(gè)部分僅僅講述那些和協(xié)議體系有關(guān)的問題。
6.1可用范圍
當(dāng)大范圍應(yīng)用時(shí),此協(xié)議用得不太好,這一點(diǎn)已經(jīng)得到廣泛認(rèn)同。主要原因是所有服務(wù)器
都必須知道其它服務(wù)器,客戶機(jī)和頻道并且關(guān)于它們的信息必須及時(shí)更新。
6.2可靠性
因?yàn)镮RC服務(wù)器唯一允許的網(wǎng)絡(luò)結(jié)構(gòu)是生成樹,因此兩個(gè)服務(wù)器之間的連接是明顯的而
且很容易斷連。這個(gè)問題在“Internet延遲交談:服務(wù)器協(xié)議”[IRC-SERVER]中有更加詳
細(xì)的描述。
6.3網(wǎng)絡(luò)擁塞
生成樹結(jié)構(gòu)引起的問題除了可用范圍和可靠性兩個(gè)問題之外,還有就是使IRC極容易導(dǎo)
致網(wǎng)絡(luò)擁塞。這個(gè)問題是區(qū)域性的,直到下一代才能解決:如果擁塞和高流量導(dǎo)致兩個(gè)
服務(wù)器之間的連接失敗,不僅這種失敗導(dǎo)致網(wǎng)絡(luò)擁塞,而且它們之間的重連也將導(dǎo)致更
加嚴(yán)重的網(wǎng)絡(luò)擁塞。
為了使這個(gè)問題的影響減到最小,服務(wù)器最好不要自動地太快地嘗試重新連接,以避免
使情況惡化。
6.4保密問題
除了不能很好地適用大范圍,以及服務(wù)器必須知道其它實(shí)體的所有信息外,優(yōu)先級問題
也是引人注目的問題。特別是對頻道,
7.保密
除了6.4節(jié)提到的保密問題外,安全和這個(gè)文檔不相關(guān)。
8.目前的支持和獲取渠道
IRC相關(guān)討論郵件列表:
一般討論:irce-user@irc.org
協(xié)議開發(fā):ircd-dev@irc.org
實(shí)現(xiàn)軟件:ftp://ftp.irc.org/irc/server
ftp://ftp.funet.fi/pub/unix/irc
ftp://coombs.anu.edu.au/pub/irc
新聞組: alt.irc
9. 感謝
這篇文檔部分拷貝自第一次正式發(fā)布的IRC協(xié)議RFC 1459[IRC],它也受益于許多評論
和討論。特別是以下人對這篇文檔作出了重要貢獻(xiàn):
Matthew Green, Michael Neumayer, Volker Paulsen, Kurt Roeckx, Vesa
Ruokonen, Magnus Tjernstrom, Stefan Zehl.
10.參考文獻(xiàn)
[KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[IRC] Oikarinen, J. and D. Reed, "Internet Relay Chat
Protocol", RFC 1459, May 1993.
[IRC-CLIENT] Kalt, C., "Internet Relay Chat: Client Protocol", RFC
2812, April 2000.
[IRC-SERVER] Kalt, C., "Internet Relay Chat: Server Protocol", RFC
2813, April 2000.
[IRC-CHAN] Kalt, C., "Internet Relay Chat: Channel Management", RFC
2811, April 2000.
11.作者地址
Christophe Kalt
99 Teaneck Rd, Apt #117
Ridgefield Park, NJ 07660
USA
EMail: kalt@stealth.net
12.完整版權(quán)說明
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
致謝
Funding for the RFC Editor function is currently provided by the
Internet Society.
RFC2811——Internet Relay Chat: Channel Management
Internet延遲交談:體系與結(jié)構(gòu)
1
RFC文檔中文翻譯計(jì)劃
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -