インターネット・リレー・チャット

出典: フリー百科事典『ウィキペディア(Wikipedia)』

インターネット・リレー・チャット(Internet Relay ChatIRC)とは、サーバを介してクライアントとクライアントが会話をする枠組みの名称である。文章のみをやり取りして会話を行い、DCCなどを利用することでファイル転送も対応する。

TCPを通信用のプロトコルとして主に用いる。SSLで暗号化することもできる。

目次

歴史

IRCは1988年8月にヤルッコ・オイカリネンによって作られた。フィンランドの OuluBox というBBSで使われていたMUTと呼ばれるプログラムの代替として作られた。Bitnet networkで運用されていたBitnet Relay Chatに発想を得た。

IRCはその後鉄のカーテンの崩壊に際して東欧の人々が、あるいは湾岸戦争の際に現地からIRCで情報が発信されたために有名となった。

クライアント・ソフトウェア

IRCはデータの通信に関するプロトコルが簡素かつオープンとなっているため、ユーザ・クライアントに用いるソフトウェアの開発が容易であり、また、種類も多い。

主なネットワーク

IRCには主だったサーバ・ネットワーク群として、

  • EFnet
  • UnderNet
  • DALnet
  • QuakeNet
  • freenode
  • IRCnet (WIDE projectのネットワークも接続されている)

などがあり、日本人向けにはIRCnetのほか、

などがある。


構造

IRCにおけるサーバ群はツリー構造のネットワークを形成している。そしてクライアントはネットワークを構成するサーバのどれかと接続することで、他のサーバと接続しているクライアントとも通信が可能になる。これがインターネット・リレー・チャットと言う由来である。

サーバは接続されたクライアントの情報やクライアントから送信されたデータを共用する必要がある。

クライアントには一般のクライアント(ユーザ・クライアント)と、限られた動作を行うためのクライアント(サービス・クライアント)がある。サーバはクライアントのラベルを設定することでこれを認識する。それとは別にニックネームがあり、これはクライアントが自由に変える事が出来るが、ニックネームはそのネットワークで単一の存在である必要がある。クライアントはネットワークにつき一つの接続のみをすべきである。クライアントはチャンネルと呼ぶ、チャットをするためのグループを構成する。

チャンネルは参加者が居れば一定の命名法のもとで自由に作ってよく、最初にそのチャンネルに参加したクライアントがオペレータとなる。オペレータはチャンネルの所有者とみなされ、そのためそのチャンネルに関して好ましくない行為を行うものをチャンネルから追放したり、トピックを設定することが出来る。その他にもチャンネルに関して様々な設定が可能であり、また、オペレータの権限を他のクライアントに分け与えることも可能である。

チャンネルは一つまたはそれ以上のクライアントで構成する。サーバはクライアントからデータを受け取ると、そのデータが何に向けて発信されたデータか判別し、チャンネルに発信されたデータならばそのチャンネルを構成するクライアントへ送信し、サーバへ送られたデータならば、それを処理する。チャンネルを構成するクライアントがそのサーバ以外にも接続していた場合、サーバは他のサーバに向けてデータを送信する。

クライアントがサーバに送るデータはプリフィクス(送信元を特定する情報)、コマンド、パラメータからなり、コマンドをサーバが解釈し処理することによってネットワークやチャットが成立する。

コマンドとしては以下がある。

  • USER
    クライアントを特定するコマンド
  • QUIT
    サーバとの接続を終了するコマンド
  • JOIN
    チャンネルに参加するコマンド
  • PART
    チャンネルから外れるコマンド
  • MODE
    チャンネルに関してクライアントの権限やチャンネルの設定をするコマンド
  • PRIVMSG
    特定のクライアントやチャンネルと通信するコマンド

サーバはツリー構造を組んで作られているためサーバ同士の接続がなんらかの原因によって切断されることがある。

仕様

RFC 1459がIRCに関する最初のRFCでその後2000年にRFC 2810から2813までが出された。現在利用されているIRCのプロトコルはIRC 2が主で、RFC 1459もIRC 2のものである。

関連項目

今日は何の日(7月17日

もっと見る

「インターネット・リレー・チャット」のQ&A