Comparison of instant messaging protocols

From Wikipedia, the free encyclopedia
Jump to: navigation, search

The following is a comparison of instant messaging protocols. It contains basic general information about the protocols.

Table of instant messaging protocols[edit]

Protocol Creator First public release date License Identity (not inc. alias) Asynchronous message relaying Transport Layer Security End-to-end encryption Unlimited number of contacts Bulletins to all contacts One-to-many routing 4 Spam protection Group, channel or conference support Audio/VoIP support Webcam/Video Batch file sharing Media synchronisation Serverless 6 (decentralized)
Bitmessage Jonathan Warren 2012 Nov Open standard Alphanumeric address Yes Yes Yes Yes No Yes Yes (through proof-of-work) Yes No No Yes No Yes
Gadu-Gadu GG Network 2000 Jul 17 Proprietary Unique number
e.g. 12345678
Yes Yes No Yes No Centralistic Yes 5 (simple) Yes Yes Yes Yes No No
IRC Jarkko Oikarinen 1988 Aug Open standard Nickname!Username@hostname
(or "hostmask")
e.g. user!~usr@a.b.com1
Yes, but via a memo system that differs from the main system Yes, depending on individual server support No No3 No Simplistic multicast Medium Yes (everyone, multiple simultaneous, any size) No No Yes No No
Matrix Matrix.org 2014 Open standard Matrix user ID (MXID) Yes Yes, mandatory Optional ? ? No ? Yes Yes Yes ? ? No
MSNP (Windows Live Messenger, etc.) Microsoft 1999 Jul Proprietary Email address (Microsoft account) Yes No No Only for certified robots No Centralistic Yes Yes Yes Yes Yes Yes No
MTProto (Telegram) Telegram Messenger LLP 2013 Aug Open standard Phone number (e.g. +1234567890), nickname (e.g. @example) Yes Yes Optional Yes No Yes No Yes Yes, voice messages No Yes Yes No
Mumble Thorvald Natvig 1999 Jul Open standard Username Yes Yes No Only for certified robots No Centralistic Yes Yes Yes Yes Yes No No
OSCAR (AIM, ICQ) AOL 1997 Proprietary Username, Email Address or UIN
e.g. 12345678
Yes Yes (Aim Pro, Aim Lite) No No No Centralistic client-based Yes (Multiple, simultaneous) Yes Yes Yes No No
RVP (Windows Messenger, etc.) Microsoft 1997 Mar Proprietary (Discontinued) Windows Active Directory Login No No No ? No Centralistic None No ? ? No No No
Ricochet Invisible.im 2014 Mar Open standard Tor onion address Yes Yes Yes Yes No Yes Yes Yes No No Yes No Yes
Ring (based on DHT and SIP) Savoir-faire Linux Inc. 2015 May Open standard 40-digit address Yes Yes No Yes No Yes Medium Yes Yes Yes Yes No Yes
Signal Protocol Open Whisper Systems 2014 Feb[1] Open standard Phone number (e.g. +1234567890) Yes Yes Yes Yes ? Yes Yes, contact blocking Yes Yes ? Yes Yes No
SIP/SIMPLE IETF 2002 Dec Open standard user@hostname Yes Yes No Yes Yes No Medium ? Yes Yes Yes No Depends on implemenation
Skype Skype 2003 Aug Proprietary Username Yes Proprietary No No No ? ? Yes Yes Yes Yes No No
Steam Friends Valve Corporation 2003 Sep 12 Proprietary SteamID/Username or Unique Number Yes Proprietary ? No, although rising Yes ? No Yes Yes No No No No
TOC2 AOL 2005 Sep Proprietary (Discontinued) Username or UIN
e.g. 12345678
Yes No No No No Centralistic No paying members only ? ? Partial ? No
TOX (based on DHT) irungentoo (github user) 2013 June Open standard Public & Private key Yes Yes Yes Yes Yes ? ? Yes Yes Yes Yes ? Yes
Tuenti Tuenti 2006 Proprietary Username Yes Yes No Yes ? Yes Yes Yes Yes Yes Yes ? No
Windows Messenger service Microsoft 1990 Proprietary (Discontinued) NetBIOS Yes No No Yes Yes Yes No No No No No No No
XMPP/Jingle (Google Talk) Jeremie Miller, standardized via IETF 1999 Jan Open standard Jabber ID (JID)
e.g. usr@a.b.c/home2
Yes Yes Optional, multiple implementations Yes Yes Unicast lists Several Standardized Types Optional Yes Yes Yes No No
YMSG (Yahoo! Messenger) Yahoo! 1998, March 9 Proprietary Username Yes No[needs update?] No No Yes Centralistic Yes Yes Yes Yes Yes No No
Zephyr Notification Service MIT 1987 Open standard Kerberos principal
e.g. user@ATHENA.MIT.EDU
Yes No No Yes Yes Yes No Yes No No No No No
Protocol Creator First public release date License Identity (not inc. alias) Asynchronous message relaying Transport Layer Security End-to-end encryption Unlimited number of contacts Bulletins to all contacts One-to-many routing 4 Spam protection Group, channel or conference support Audio/VoIP support Webcam/Video Batch file sharing Media synchronisation Serverless 6 (decentralized)

Note 1: In ~usr@a.b.com, the a.b.com part is known as the "hostmask" and can either be the server being connected from or a "cloak" granted by the server administrator; a more realistic example is ~myname@myisp.example.com. The tilde generally indicates that the username provided by the IRC client on signon was not verified with the ident service.

Note 2: In usr@a.b.c/home, the home part is a "resource", which distinguishes the same user when logged in from multiple locations, possibly simultaneously; a more realistic example is user@xmppserver.example.com/home

Note 3: Scalability issue: The protocol gets increasingly inefficient with the number of contacts.[2][3]

Note 4: One-to-many/many-to-many communications primarily comprise presence information, publish/subscribe and groupchat distribution. Some technologies have the ability to distribute data by multicast, avoiding bottlenecks on the sending side caused by the number of recipients. Efficient distribution of presence is currently however a technological scalability issue for both XMPP and SIP/SIMPLE.

Note 5: There have been reports from users that the antispam filter is used to censor links to other IM programs and some websites.

Note 6: Serverless protocols don't have any central entities (usually companies) controlling the network. Serverless network consists only of clients. Such systems are usually extremely resistant to surveillance and censorship.

See also[edit]

References[edit]

  1. ^ Marlinspike, Moxie (24 February 2014). "The New TextSecure: Privacy Beyond SMS". Open Whisper Systems. Retrieved 12 December 2015. 
  2. ^ RFC 1324, D. Reed, 1992. 2.5.1, Size
  3. ^ Functionality provided by systems for synchronous conferencing, C.v. Loesch, 1992. 1.2.1 Growth