インターネット上でチャットを実現する技術の一つで、中でも代表的なもの。
各クライアントは、まず公開されたIRCサーバに対して接続(connect)する。
その後は、二種類の方法を選択する。
チャンネルトークは、チャットの会場となる「チャンネル」へjoin(参加)することで、そこの参加者と会話ができる。
チャンネルには、チャンネルオペレータが置かれるのが通例である。通常はチャンネルを開いたユーザのことで、チャンネルの管理権限を持つ。何人でも良い。
サーバからチャンネルリストを取得することで検索もでき、適当な話題のところを探して参加し、会話を楽しむこともできる。サーバは多くのものが同一グループとして相互接続されており、同じグループ内のサーバであればどのサーバに接続していても同じチャンネルに参加することができるようになっている。
名称の頭の記号でチャンネルの種類を表わす。
チャンネル名は英字の大小を区別しない。日本語(専らシフトJIS)でチャンネルを作る事も可能だが、前述の制限によりにとるが同じ文字として処理されてしまうなどの問題がある。
プライベートトークは、二人だけで会話する機能である。
ICQなどに代表されるインスタントメッセンジャーと同様の機能である。
但しIRCでは、個人を管理する機能は存在しないため、個人識別はNickだけである。Nickは接続されるネットワーク上で重複しないよう管理されるが、常に同じNickが使えるとも限らないので、プライベートトークを始める前にまず当人のNick確認が必要である。
一般には、目的の人と同じチャンネルにjoinし、必要に応じてプライベートメッセージの交換をする、という使い方がなされる。
文字の符号化に関してはRFCでは規定がない。
IRCサーバは8ビットも通すが、日本語対応のIRCクライアントは慣例により、会話文はISO-2022-JPで出力している。但しチャンネル名はシフトJISが一般に使われている。
最近は、IRCクライアントはUTF-8に対応するものが増えて来てはいるが、現在の日本では、UTF-8は殆ど使われていないようである。
IRCのプロトコルはRFCにより既定されるが、Telnetベースで1行のコマンドを送受信するスタイルの、非常にシンプルなプロトコルである。
ポート番号は6667/tcpが多く使われている。
接続するIRCサーバは様々あるが、大きくは単体で動作しているものと、複数のサーバがリンクしているものの二種類に分けられると考えられる。
プライベートなIRCサーバは、それ単体で動いているもので、そのサーバ内だけで解決される。従って、そこにあるチャンネルに参加したければ、そのサーバに接続しなければならない。
複数のサーバがリンクしているものは一般に大規模な運用が想定されているもので、世界中と繋がっているもので代表的なものはIRCnetである。それ以外のIRC網は独立型IRC網サービスなどと呼ばれ区別される。
代表的なものに、次のようなものがある。
国内では、奈良・東京・藤沢のWIDEからIRCnetに接続するのが一般的である。
2007(平成19)年8月3日現在のMAPコマンドによる情報。
irc.tokyo.wide.ad.jp ├ irc.huie.hokudai.ac.jp ├ irc.nara.wide.ad.jp │ └ irc6.nara.wide.ad.jp ├ *.pl │ ├ ircnet.choopa.net │ ├ *.cz │ │ └ *.sk │ ├ *.is │ ├ ircnet.eversible.com │ ├ *.dotsrc.org │ ├ *.at │ │ ├ *.hu │ │ ├ *.si │ │ └ irc.datacomm.ch │ ├ *.se │ │ ├ *.tiscali.it │ │ │ ├ *.eutelia.it │ │ │ └ irc.excite.it │ │ ├ *.lv │ │ ├ *.il │ │ ├ *.ee │ │ └ *.no │ └ *.club-internet.fr │ ├ ircnet.demon.co.uk │ │ └ uk.ircnet.org │ ├ *.nl │ │ ├ hub.uk.ircnet.org │ │ │ └ *.tin.it │ │ │ └ irc6.ngnet.it │ │ ├ us.ircnet.org │ │ ├ *.DE │ │ │ └ *.fi │ │ ├ *.realroot.be │ │ └ *.irc6.net │ ├ *.tw │ └ ircnet.nerim.fr ├ irc-new.media.kyoto-u.ac.jp └ irc.fujisawa.wide.ad.jp