?? rfc2811.txt
字號:
組織:中國互動出版網(http://www.china-pub.com/)
RFC文檔中文翻譯計劃(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
譯者:謝煒(x1982212 x1982212@263.net)
譯文發(fā)布時間:2001-8-7
版權:本中文翻譯文檔版權歸中國互動出版網所有。可以用于非商業(yè)用途自由轉載,但必須
保留本文檔的翻譯及版權信息。
Network Working Group C. Kalt
Request for Comments: 2811 April 2000
Updates: 1459
Category: Informational
Internet延遲交談:通道管理
(RFC2811— Internet relay chat:client protocol)
此備忘錄的狀態(tài)
該備忘錄為互聯(lián)網團體提供信息。它并不制定任何互聯(lián)網標準,可以被無限制的發(fā)布。
Copyright Notice
Copyright (C) The Internet Society (2000). All Rights Reserved.
摘要
IRC(Internet延遲交談)協(xié)議最引人注目的一個特征就是允許用戶按論壇分組,稱作通道,
提供了一種多個用戶一起交流的方法。
這篇文檔詳細講述了通道、它們的特征和屬性怎樣經由IRC服務器管理。
1.介紹 2
2.通道特征 2
2.1名字空間 2
2.2通道范圍 3
2.3通道屬性 3
2.4特權通道用戶 3
3.通道生存期 4
3.1標準通道 4
3.2安全通道 4
4.通道模式 5
4.1成員身份 5
4.2通道標志 6
4.3通道訪問控制 7
5.目前的實現(xiàn) 8
5.1追蹤最近使用過的通道 8
5.2安全通道 8
6.目前的問題 10
6.1標志 10
6.2狀態(tài)傳播延遲 10
6.3沖突和通道狀態(tài) 11
6.4資源耗盡 11
7.安全考慮 11
7.1訪問控制 11
7.2通道秘密 12
7.3匿名 12
8.目前的支持和獲取渠道 12
9. 感謝 12
10. 參考文獻 12
11. 作者地址 13
1.介紹
這篇文檔詳細地定義了通道是如何由IRC服務器定義的,它對從事IRC服務器實現(xiàn)的人
特別有用。
盡管這里定義的概念是IRC的一個重要部分,但它們對于客戶端的實現(xiàn)卻不是必需的。
盡管客戶端的趨勢是越來越復雜和“聰明”,能夠利用通道的內部工作為用戶提供一個更
友好的界面,但是簡單的客戶端不需要閱讀這篇文檔就能夠實現(xiàn)。
這里定義的許多概念都是由頭腦里的IRC體系結構 [IRC-ARCH]所限定的,并且大多數
只有在這種環(huán)境下才有意義。但是其他的許多概念能夠運用到其他的體系結構,以便為會
議系統(tǒng)提供論壇場所。
最后,要聲明的是IRC用戶可能發(fā)現(xiàn)以下幾部分有用,特別是第二部分(通道特征)和第四
部分(通道狀態(tài))。
2.通道特征
通道就是由一個或更多用戶組成的命名組,組里所有成員都接收寄到這個通道的消息,通
道由它的名字,屬性,目前的成員來標志。
2.1名字空間
通道的名字(由一個‘&’,‘#’,‘+’或者‘!’開頭)可以長達五十個字符。通道的
名字對大小寫敏感。
除了第一個字符必須是‘&’,‘#’,‘+’或者‘!’(今后稱作“通道前綴”)的要
求外。對通道名字的唯一限制是它不能包含任何空格(‘ ’)、控制符G(^G或者ASCII 7)、
逗號(‘,’被協(xié)議用作列表項的分隔符)。還有,冒號(‘:’)用作通道掩碼的分隔符。
精確的通道名字語法在“IRC Server Protocol“[IRC-Server]中定義。
不同前綴的使用有效地為通道名字創(chuàng)造了四個名字空間。這很重要,因為此協(xié)議的局限性
和名字空間有關(一般意義上)。參閱6.1部分(標志)以獲得關于局限性的更多細節(jié)。
2.2通道范圍
一個通道實體被IRC網絡上一個或更多個服務器所知曉。只有與用戶直連的服務器
知道的通道,用戶才能加入。知道一個特定通道存在的一系列服務器必須是IRC網絡上
一個鄰近的部分,這樣發(fā)送給該通道的消息才能被發(fā)送給所有通道成員。
以‘&’為前綴的通道對創(chuàng)建它們的的服務器來說是本地的。
其它通道被連到網絡上的一個或更多個服務器知曉,依賴于通道掩碼:
如果沒有通道掩碼,該通道就被所有服務器知曉。
如果有一個通道掩碼,此通道只被那些有本地用戶連到通道上的服務器所知曉,如果
掩碼和本地的以及相鄰的服務器名字相配,那么也為他的鄰近服務器知曉。因為其他服務
器完全沒有這樣一個通道的存在的任何信息,如果這個通道要為所有服務器知曉的話,這
些具有和掩碼相配的名字的服務器組成的區(qū)域必須和該通道相鄰。通道掩碼最好與服務器
主機掩碼[IRC-SERVER]配合使用。
2.3通道屬性
每個通道都有它自己的有通道狀態(tài)定義的屬性。通道模式能夠被通道成員使用。模
式影響服務器管理通道的方式。
以‘+’作為前綴的通道不支持通道模式。這意味著所有的模式都是未設定的,只設
定了‘t’通道標志。
2.4特權通道用戶
為了使通道成員對通道保持一定的控制和一些秩序,一些通道成員被賦予特權。只
有這些成員才允許在通道上執(zhí)行一下操作:
INVITE — 邀請一個客戶到一個invite-only通道(模式+i)
KICK — 將一個客戶從通道中逐出
MODE — 改變通道的模式,也可以改變成員的特權
PRIVMSG — 向通道發(fā)消息(模式 +n,+m+v)
TOPIC — 在模式為+t的通道中改變通道主題
2.4.1通道管理員
一個給定通道上的通道管理員(也被稱為“chop”或“chanop”)被認為擁有此通道。
通道所有權由通道管理員共享。
無論什么時候和通道相關,通道管理員都由與其名字相鄰的‘@’符號來標志(比
如說,回答NAMES,WHO,和WHOIS命令)。
由于以字符‘+’為前綴的通道不支持通道模式,因此沒有成員具有通道管理員的地位。
2.4.2通道創(chuàng)建者
創(chuàng)建一個通道的用戶稱為“通道創(chuàng)建者”,以‘!’前綴作為其標志。一旦創(chuàng)建了通
道,此用戶也就被賦予了通道管理員的地位。
為了識別此地位,通道創(chuàng)建者被賦予鎖定通道狀態(tài)的能力,這種能力是通道管理員所沒有
的。
通過發(fā)送恰當的MODE命令能夠區(qū)分‘通道創(chuàng)建者’和通道管理員。參閱“IRC Client
Protocol”[IRC—CLIENT]以獲取這方面的更多信息。
3.通道生存期
和通道生存期相關的是,存在兩組典型的通道:標準通道,它的前綴不是‘&’‘#’
就是‘+’,以及安全通道,它的前綴是‘!’。
3.1標準通道
這些通道當地一個用戶加入時暗中創(chuàng)建,最后一個用戶離開時停止生存。但通道生存
時,任何客戶都能夠通過通道的名字引用此通道。
創(chuàng)建通道的用戶自動變成通道管理員,當然前綴是‘+’的通道除外,參見第四部分(通
道模式)。參閱2.4.1部分以獲取此主題的更多信息。
為了避免創(chuàng)建兩個一樣的通道(特別是當IRC網絡由于兩個服務器的斷連而脫節(jié)),通
道名字在通道管理員由于網絡斷連離開時應該不允許再被用戶使用。如果這種情況發(fā)生了,
通道名字就是暫時不能使用了。通道持續(xù)不可用時間應該在每個IRC網絡的基礎上做出調
整。需要重點聲明的是這樣可以防止用同一個名字再創(chuàng)建一個通道,但是不能防止遠端用
戶重新創(chuàng)建該通道。后者在IRC網絡重新連接時特別容易發(fā)生。很明顯,這種機制知識和
與名字以字符‘#’開頭的通道,但也可能被名字以字符‘+’開頭的通道使用。這種機制
被普遍稱作‘通道延遲’。
3.2安全通道
和其他通道不同,“安全通道”不是暗中創(chuàng)建的。希望創(chuàng)建這類通道的用戶必須向服
務器發(fā)送一個特別的JOIN命令以申請創(chuàng)建,服務器中的通道標識符(接著就是未知的了)
被字符‘!’替代。此類通道的創(chuàng)建受到嚴格控制。用戶只選擇部分通道名字(稱為通道
‘短名’),服務器自動將用戶提供的名字前面加上五個通道標識符。這兩種元素結合而
成的通道名字是唯一的,使通道不會因為網絡斷連而被濫用。
創(chuàng)建此類通道的用戶自動成為‘通道創(chuàng)建者’。參閱2.4.2部分(通道創(chuàng)建者)以獲得關
于此主題的更多信息。
如果新通道的短名和另一個業(yè)已存在的通道的短名相同,又如果另一個具有相同短名
的通道最近存在過而且它的成員由于網絡斷連離開,那么服務器就禁止這樣的通道的創(chuàng)建。
這類通道在最后的成員離開并且最近沒有其他成員由于網絡斷連離開后停止生存。
和5.2.2部分(通道延遲)描述的機制不同的是,在這種情況下通道的名字并不變成不可用的:
這些通道在最后的成員離開后可能繼續(xù)生存。只有創(chuàng)建通道的用戶才變成“通道創(chuàng)建者”,
假如一個存在的空通道的用戶并不自動變成“通道創(chuàng)建者”也不變成“通道管理員”。
為了保證通道名字的唯一性,由服務器創(chuàng)建的通道標識符必須遵循一定的規(guī)則。更多的細
節(jié),參閱5.2.1部分(通道標識符)。
4.通道模式
通道能夠獲取的各種模式如下所示:
0 — 賦予“通道創(chuàng)建者”地位;
o — 賦予/收回 “通道管理員”特權;
v — 賦予/收回 發(fā)言特權;
a — 轉換匿名通道標志;
i — 轉換invite-only通道標志;
m — 轉換是否調節(jié)通道
n — 轉換是否允許外部客戶發(fā)送消息到通道
q — 轉換安靜通道標志;
p — 轉換私人通道標志
s — 轉換秘密通道標志
r — 轉換服務器reop通道標志
t — 轉換是否只能由通道管理員設置主題
k — 設置/刪除通道鑰匙(密碼);
l — 設置/刪除通道用戶限制
b — 設置/刪除禁令掩碼使用戶不能進入
e — 設置/刪除異常掩碼來覆蓋禁令掩碼;
I — 設置/刪除邀請掩碼來覆蓋invite-only標志;
除非在下面特別聲明,所有這些狀態(tài)都能被“通道管理員”通過MODE命令使用,MODE
命令在“IRC Client Protocol”[IRC-CLIENT]中定義。
4.1成員身份
此域中的模式將通道成員的昵稱作為參數并影響賦予成員的特權。
4.1.1“通道創(chuàng)建者”身份
模式‘0’只和“安全通道”結合使用而且不能被用戶使用。服務器用它來
給予創(chuàng)建通道的用戶“通道創(chuàng)建者”的身份。
4.1.2通道管理員地位
模式‘o’用來轉換通道成員的管理員身份。
4.1.3發(fā)言特權
模式‘v’用來給予通道成員發(fā)言特權和從成員處收回發(fā)言特權。具有這種特
權的用戶能夠在調節(jié)過的通道上交談。(參閱4.2.3部分(Moderated Channel Flag)。
4.2通道標志
此域中的模式用來定義影響通道如何管理的屬性。
4.2.1匿名標志
通道標志‘a’定義了一個匿名通道。這意味著當一條發(fā)送到通道的消息被
服務器發(fā)送給用戶時,并且它來自用戶,那么它就要被屏蔽掉。為了屏蔽掉消息,來源被改
成“anonymous!anonymous@anonymous.”(也就是說,一個別名是“anonymous”,用戶名是
“anonymous”的用戶,來自叫做“anonymous”的主機)。因為這樣,服務器必須禁止別名
為“anonymous”的用戶。服務器不能為用戶離開這類通道而發(fā)送QUIT笑給其他通道的成員,
而是產生一條PART消息。
在以字符‘&’為前綴的通道上,這個標志也許由通道管理員轉換,但是在以字符‘!’為前
綴的通道上,這個標志只能由‘通道創(chuàng)建者’設定(但是不能夠不設定)。此標志在其它類型
的通道上不能夠使用。
在匿名標志已經設定的通道上,對whois,who,和names命令的答復不能夠表明通道上其他用
戶的存在。
4.2.2 Invite Only標志
當通道標志‘i’設定后,新成員只有當他們的掩碼和邀請列表相符(參見4.3.2部
分)或者他們已經被通道管理員邀請。這個標志也對通道管理員限制了INVITE命令的使用
(參見“IRC Client Protocol”[IRC-CLIENT]。
4.2.3通道已調節(jié)標志
通道標志‘m’用來控制誰可以再通道上說話。當它設定時,只有通道管理員,和
被賦予了發(fā)言特權的成員才可以向其他通道發(fā)送消息。
這個標志只影響用戶。
4.2.4不允許通道外客戶向通道發(fā)送消息
當通道標志‘n’設定時,只有通道成員才可以向通道發(fā)送消息。
這個標志只影響用戶。
4.2.5安靜通道
通道標志‘q’僅供服務器使用。設定時,它限制發(fā)送給用戶的關于通道操作的數據
類型:其他用戶加入,離開和重要的變化都不發(fā)送。從用戶的觀點來看,通道只包含一個用
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -