インターネット・リレー・チャット
出典: フリー百科事典『ウィキペディア(Wikipedia)』
アプリケーション層 |
---|
DNS, ENRP, FTP, HTTP IMAP, IRC, NNTP, POP3 SIP, rlogin, RTP, SMTP SNMP, SSH, SSL, TELNET CMIP |
トランスポート層 |
DCCP, IL, RSVP, RUDP SCTP, TCP, UDP |
ネットワーク層 |
ARP, BGP, IP(IPv4,IPv6) ICMP, IGMP, IGP, RARP |
データリンク層 |
ATM, DTM, FDDI, PPP SLIP, SMDS, イーサネット Wi-Fi, トークンリング フレームリレー |
インターネット・リレー・チャット(Internet Relay Chat、IRC)とは、サーバを介してクライアントとクライアントが会話をする枠組みの名称である。文章のみをやり取りして会話を行い、DCCなどを利用することでファイル転送も対応する。
TCPを通信用のプロトコルとして主に用いる。SSLで暗号化することもできる。
目次 |
[編集] 歴史
IRCは1988年8月にヤルッコ・オイカリネンによって作られた。フィンランドの OuluBox というBBSで使われていたMUTと呼ばれるプログラムの代替として作られた。Bitnet networkで運用されていたBitnet Relay Chatに発想を得た。
IRCはその後鉄のカーテンの崩壊に際して東欧の人々が、あるいは湾岸戦争の際に現地からIRCで情報が発信されたために有名となった。
[編集] クライアント・ソフトウェア
IRCはデータの通信に関するプロトコルが簡素かつオープンとなっているため、ユーザ・クライアントに用いるソフトウェアの開発が容易であり、また、種類も多い。
- Windows - mIRC, LimeChat, TalkIRC, MuriChat, CHOCOA, Cotton
- Mac OS X - IRCStep
- クロスプラットフォーム - ChatZilla, Opera, xChat
- Linux - KSirc, Kopete, Konversation,Gaim
[編集] 主なネットワーク
IRCには主だったサーバ・ネットワーク群として、
- IRCnet(WIDE projectのネットワークも接続されている)
があり、他にも、
- freenode
- QuakeNet
- EFnet
- UnderNet
- trpg.net
- DALnet
- IRC@2ch
などがある。
[編集] 構造
IRCにおけるサーバ群はツリー構造のネットワークを形成している。そしてクライアントはネットワークを構成するサーバのどれかと接続することで、他のサーバと接続しているクライアントとも通信が可能になる。これがインターネット・リレー・チャットと言う由来である。
サーバは接続されたクライアントの情報やクライアントから送信されたデータを共用する必要がある。
クライアントには一般のクライアント(ユーザ・クライアント)と、限られた動作を行うためのクライアント(サービス・クライアント)がある。サーバはクライアントのラベルを設定することでこれを認識する。それとは別にニックネームがあり、これはクライアントが自由に変える事が出来るが、ニックネームはそのネットワークで単一の存在である必要がある。クライアントはネットワークにつき一つの接続のみをすべきである。クライアントはチャンネルと呼ぶ、チャットをするためのグループを構成する。
チャンネルは参加者が居れば一定の命名法のもとで自由に作ってよく、最初にそのチャンネルに参加したクライアントがオペレータとなる。オペレータはチャンネルの所有者とみなされ、そのためそのチャンネルに関して好ましくない行為を行うものをチャンネルから追放したり、トピックを設定することが出来る。その他にもチャンネルに関して様々な設定が可能であり、また、オペレータの権限を他のクライアントに分け与えることも可能である。
チャンネルは一つまたはそれ以上のクライアントで構成する。サーバはクライアントからデータを受け取ると、そのデータが何に向けて発信されたデータか判別し、チャンネルに発信されたデータならばそのチャンネルを構成するクライアントへ送信し、サーバへ送られたデータならば、それを処理する。チャンネルを構成するクライアントがそのサーバ以外にも接続していた場合、サーバは他のサーバに向けてデータを送信する。
クライアントがサーバに送るデータはプリフィクス(送信元を特定する情報)、コマンド、パラメータからなり、コマンドをサーバが解釈し処理することによってネットワークやチャットが成立する。
コマンドとしては以下がある。
- USER
- クライアントを特定するコマンド
- QUIT
- サーバとの接続を終了するコマンド
- JOIN
- チャンネルに参加するコマンド
- PART
- チャンネルから外れるコマンド
- MODE
- チャンネルに関してクライアントの権限やチャンネルの設定をするコマンド
- PRIVMSG
- 特定のクライアントやチャンネルと通信するコマンド
サーバはツリー構造を組んで作られているためサーバ同士の接続がなんらかの原因によって切断されることがある。
[編集] 仕様
RFC1459がIRCに関する最初のRFCでその後2000年にRFC2810-13までが出された。現在利用されているIRCのプロトコルはIRC 2が主で、RFC 1459もIRC 2のものである。