IRC[網際網路中繼聊天]
IIRC是Internet Relay Chat的英文縮寫,中文一般稱為網際網路中繼聊天。它是由芬蘭人Jarkko Oikarinen於1988年首創的一種網路聊天協定。經過十年的發展,目前世界上有超過60個國家提供了IRC的服務。IRC的工作原理非常簡單,您只要在自己的PC上運行客戶端軟體,然後通過網際網路以IRC協定連線到一台IRC伺服器上即可。它的特點是速度非常之快,聊天時幾乎沒有延遲的現象,並且只占用很小的頻寬資源。所有用戶可以在一個被稱為\"Channel\"(頻道)的地方就某一話題進行交談或密談。每個IRC的使用者都有一個Nickname(暱稱)。
基本信息
- 中文名:網際網路中繼聊天
- 英文名:Internet Relay Chat
- 簡稱:IRC
- 首創:芬蘭人Jarkko Oikarinen
簡介
IRC(InternetRelayChat)1988年起源於芬蘭,現已廣泛套用於全世界60多個國家。它是多用戶、多頻道的討論系統,許多用戶可以在一個頻道內就某一話題進行交談或私談,每個用戶都有一個不同的暱稱。IRC允許任意的網際網路用戶之間做即時的交談。
IRC用戶使用特定的用戶端聊天軟體連線到IRC伺服器,通過伺服器中繼與其他連線到這一伺服器上的用戶交流,所以IRC的中文名為“網際網路中繼聊天”。
IRC的最大特點是實現了線上實時交談,速度快、功能多的優點使它比電子郵件或新聞組等聯絡溝通方式更具吸引力。IRC可以設定單獨的頻道,在這個頻道內,輸出的文字可供所有人都看到。這樣,來自世界不同角落的人能同時得到有關信息。而如果是兩個人之間的單獨交談,甚至可以不用通過伺服器,以保證談話的保密性。隨著網路頻寬的增加和技術的發展,現在有一些IRC不僅可以傳輸文字信息,還能傳輸聲音或圖像信息,這樣的功能就更強了。
信息流的中轉
我們來做一個比較說明.假設,A與B要交談.如果不採用中轉,那么A直接建立一條到達B的通信隧道,二者通過這條通信隧道進行信息交流,信息流的方向為:A->B和B->A;如果採用中轉,則需要有一個第三方來擔任中轉角色,設為C,A建立一條到達C的通信隧道,B也建立一條到達C的通信隧道,然後A與B通過C來間接進行通信,信息流的方向為:
A->;C->;B和B->;C->;A
C就起著A與B間的中轉站的作用.中轉有什麼優點呢?中轉的最大優點是使"群聊"能夠方便地進行.恰當地說,中轉模式為信息廣播提供了方便.我們來舉例子.假設A,B和D三者要一起聊天.如果沒有C的中轉,那么A要將所說的每句話分別發給B和D;如果有C做中轉,那么A將所說的話發給C,然後C將A的話分別發給B和D.可見,當沒有中轉時,每個參與聊天的計算機都要執行信息廣播的任務,當存在中轉時,信息廣播的任務全由中轉者來執行.中轉站C的存在使得信息交流過程中的工作任務發生分離,可以把網路環境好、機器配置高的計算機作為中轉站來提供服務功能.這就形成了IRC的伺服器-客戶端模型,聊天者作為客戶端,連線到中轉站伺服器上.
伺服器網路
在上面的例子裡,只有一個中轉者C來承擔服務.當聊天者數量很多時,會使C不堪重負.解決的辦法是,使用多個伺服器,伺服器之間互相連線成網路,把聊天者分散到各個伺服器上.伺服器網路以樹型結構互相連通.聊天者可以任選一個伺服器連線.舉例來說,在北京建立一個IRC伺服器,稱為BJ,在上海建立一個IRC伺服器,稱為SH,然後將BJ和SH連線起來,組成一個只有兩個伺服器的IRC網路.北京的用戶連線到BJ上,上海的用戶連線到SH上,這樣北京的用戶就可以與上海的用戶聊天了.其他地區的用戶可以根據地理位置的遠近選擇使用BJ或SH伺服器.概括地說,聊天網路上的每個伺服器都是一個中轉站,當它從一個伺服器或客戶收到一條訊息時,就將該訊息轉發給其它伺服器,同時也根據具體情況,決定是否將訊息轉發給連線到自己的用戶.
頻道設定
頻道的本質是廣播組.用戶可以進入一個頻道,也可以離開一個頻道.當一個用戶朝頻道說話時,頻道里的其他用戶都能收到他的話(由伺服器中轉).當第一個用戶進入頻道時,頻道被創建,當最後一個用戶離開頻道時,頻道被取消.因此,從用戶的角度看,頻道就是聊天室.下面說說頻道之所以被稱為"頻道"的原因.如果一個聊天網路有多個伺服器,頻道要由伺服器共同維護.舉一個例子.有三個伺服器,連線方式為A-B-C.在 伺服器A上,有第一個用戶進入#IRC頻道,這時,伺服器A上即創建頻道"#IRC",A將頻道"IRC"的創建訊息發給B和C.由於B和C上都沒有用戶位於#IRC頻道,因此不執行任何操作.在這以後,伺服器C上有 一個用戶進入#IRC頻道,此時伺服器C上也創建頻道"#IRC",C將"#IRC"的創建訊息發給A和B.之後,需要執行以下操作:B上建立頻道"#IRC"並將A與C的"#IRC"頻道連線起來,組成一個統一的#IRC.目前,雖然B上沒有用戶位於#IRC頻道內,但是B上也開通了#IRC頻道.可見,頻道好像一條通信管道,將所有開通此頻道的伺服器貫穿起來,信息流在這個管道中流通.
請求與應答
IRC上的信息交流採用請求與應答的模式.請求是由伺服器或客戶端發出的,其目的是請求(另)一個伺服器執行某個操作或提供某些信息;應答是伺服器對一個請求的回應信息.請求通常被稱為命令;由於對每種應答都規定了一個三位數字做標識,應答也稱為數字應答(numericreply).