XMPP 【Extensible Messaging and Presence Protocol】
概要
XMPP(Extensible Messaging and Presence Protocol)とは、インスタントメッセンジャー(IM)の通信方式やデータ形式を定めた規格の一つ。IETFによってRFC 6120などとして標準化されている。インスタントメッセンジャーはある利用者から別の利用者へリアルタイムに文字ベースのメッセージを伝達するシステムで、XMPPは交換するメッセージの形式や伝送手順などを定めている。データ形式はXMLをベースとしており、標準ではTCPの5222番ポートを用いて通信する。
電子メールに似たシステム形態を採用しており、メッセンジャーサービス全体を統括するシステムは存在せず、メールサーバのように各主体が自分のXMPPサーバを用意する。XMPPクライアントから別のXMPPサーバの利用者へ宛ててメッセージを発信すると、サーバ間で伝送されて相手方に配達される。
利用者の識別名も電子メールアドレスに似ており、「John@example.com」のように「ユーザー名@ドメイン名」という形式になっている。非同期のメールとは異なり、複数の場所を使い分ける場合は現在地にメッセージを配達しなければならないため、「John@example.com/home」のようにスラッシュ(/)に続けて場所の識別名を追加できる。
XMPPサーバから他の通信方式のIMサービスにメッセージを相互に転送するゲートウェイ機能も用意されており、2000年代初頭の著名なIMサービス(IRC、ICQ、AOL Instant Messenger、Yahoo! Messenger、MSN Messengerなど)と相互接続された。IMサービス自体への採用例としてはGoogle Talkがよく知られる。
XMPPは1999年に米ジャバー(Jabber)社が開発し、当初は社名、IMシステム製品名、通信規格がすべて同名の「Jabber」だった。クライアントやサーバ、通信仕様はすべてオープンソースとして公開されており、2004年にTLS暗号化やSASL認証などを追加してXMPPの名称でIETFにより標準化された。Jabber社は2008年に米シスコシステムズ(Cisco Systems)社に買収・統合された。