Internet Relay Chat

IRC:インターネットリレーチャットの概要



IRC(Internet Relay Chat)は、インターネット上で複数のユーザーがリアルタイムにテキストベースの会話を楽しむためのシステムです。クライアントソフトウェアを介してIRCサーバーに接続し、チャットに参加します。インスタントメッセンジャーの一種であり、ファイル転送機能も備えています。TCPプロトコルを使用し、TLSによる暗号化にも対応しています。

歴史



IRCは1988年フィンランドのヤルッコ・オイカリネン氏によって開発されました。MUTというBBSプログラムの代替として考案され、Bitnet Relay Chatから着想を得ています。冷戦終結や湾岸戦争といった歴史的出来事において、情報伝達手段として広く利用され、注目を集めました。

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



IRCはオープンなプロトコルであるため、様々なプラットフォームに対応したクライアントソフトウェアが開発されています。有名なクライアントには、クロスプラットフォーム対応のIrssi、LimeChat、Pidgin、WeeChat、Windows向けのmIRC、macOS向けのColloquy、Linux向けのKonversationなどがあります。多くのクライアントは複数のプロトコルに対応しています。

主要ネットワーク



IRCネットワークは複数のサーバーで構成され、EFnet、UnderNet、DALnet、QuakeNet、freenode、Libera Chat、IRCnetなどが代表的なネットワークです。日本国内では、SceneCritique、ReichaNet、irc.cre.jp系などが利用されています。

システム構造



IRCネットワークはツリー構造で構成されており、クライアントはサーバーに接続することで、他のサーバーに接続しているクライアントとも通信できます。サーバーは接続クライアントの情報や送受信データを管理します。クライアントには、一般ユーザー用のクライアントと、特定の機能を持つサービスクライアントがあります。各クライアントはニックネームを持ち、チャンネルと呼ばれるチャットグループに参加します。チャンネルは参加者が自由に作成でき、最初の参加者がオペレータとなり、チャンネル管理を行います。サーバーはクライアント間のデータ送受信を仲介し、データの転送を行います。クライアントは、PREFIX(送信元情報)、コマンド、パラメータからなるデータを送信し、サーバーはコマンドを解釈して処理します。主なコマンドには、ニックネーム設定(NICK)、クライアント識別(USER)、接続終了(QUIT)、チャンネル参加(JOIN)、チャンネル退出(PART)、チャンネル設定(MODE)、メッセージ送信(PRIVMSG)などがあります。サーバー間の接続が切断される場合もあります。

文字コード



IRCプロトコル自体では文字コードが規定されていません。そのため、異なる文字コードを使用するクライアント間では文字化けが発生する可能性があります。多くのネットワークでは暗黙的にISO-2022-JP(JISコード)が使用されてきましたが、UTF-8を採用するネットワークも増えています。クライアントソフトウェアによっては、複数の文字コードを選択できるようになっています。

仕様



IRCプロトコルはRFC 1459(IRC 2)で定義されています。RFC 2810から2813も関連する仕様です。

まとめ



IRCは古くから存在するテキストベースのチャットシステムですが、シンプルで拡張性の高いプロトコルと多くのクライアントソフトウェアによって、現在も世界中で利用されています。セキュリティや多言語対応といった課題も改善されつつあり、今後も発展を続けることが期待されます。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。