Comparison of instant messaging protocols

From Wikipedia, the free encyclopedia
Jump to navigation Jump to 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[a] Spam protection Group, channel or conference support Audio/VoIP support Webcam/Video Batch file sharing Media synchronization Serverless[b] Protocol
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 Bitmessage
Bonjour Apple Inc. 2002 August Proprietary Freeware; portions under the Apache license Username No No No Yes No multicast Medium No No No Yes No Yes Bonjour
Briar Briarproject.org 2018 May 9 Open standard Public & Private key (via QR Codes) Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Briar
Echo spot-on.sf.net / goldbug.sf.net 2013 Open standard Key Yes Yes, optional Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Echo
Gadu-Gadu GG Network 2000 Jul 17 Proprietary Unique number
e.g. 12345678
Yes Yes No Yes No Centralistic Yes[c] (simple) Yes Yes Yes Yes No No Gadu-Gadu
IRC Jarkko Oikarinen 1988 Aug Open standard Nickname!Username@hostname
(or "hostmask")
e.g. user!~usr@a.b.com[d]
Yes, but via a memo system that differs from the main system Yes, depending on individual server support OTR by DM to client-to-client only No[e] No Simplistic multicast Medium Yes (everyone, multiple simultaneous, any size) No No Yes No No IRC
Jami (based on DHT and SIP) Savoir-faire Linux Inc. 2002 August Open Standard 40-digit address Yes Yes Yes Yes No Yes Medium Yes Yes Yes Yes No Yes Jami (based on DHT and SIP)
Matrix Matrix.org 2014 Sep[3][failed verification] Open standard @Username:Hostname (MXID) Yes Yes, mandatory Yes, default for private conversations[4] Yes Yes Yes Yes (using pluggable server-side filtering modules and contact ignoring) Yes Yes Yes Yes Yes Under development[5] Matrix
Mesibo (Mesibo API, Messenger, etc.) Microsoft 2017 Partly Proprietary Any Uniqie String (Mesibo Address) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Mesibo (Mesibo API, Open Source Messenger, etc.)
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 MSNP (Windows Live Messenger, etc.)
MTProto (Telegram) Telegram Messenger LLP 2013 Aug Open standard Phone number (e.g. +1234567890), nickname (e.g. @example) Yes Yes No end-to-end encryption for group chats Yes No Yes Yes, contact blocking Yes Yes[6] Yes Yes Yes No MTProto (Telegram)
Mumble Thorvald Natvig 1999 Jul Open standard Username Yes Yes No Only for certified robots No Centralistic Yes Yes Yes No Yes No No Mumble
OSCAR (AIM, ICQ) AOL 1997 Proprietary (Discontinued 15-Dec-2017)[7] 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 OSCAR (AIM, ICQ)
RVP (Windows Messenger, etc.) Microsoft 1997 Mar Proprietary (Discontinued) Windows Active Directory Login No No No ? No Centralistic None No ? ? No No No RVP (Windows Messenger, etc.)
Ricochet Invisible.im 2014 Mar Open standard Tor onion address Yes Yes Yes Yes No Yes Yes Yes No No Yes No Yes Ricochet
Serval Project Serval Project 2016 Open Standard Digit address Yes No Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Serval Project
Signal Protocol Signal Foundation 2014 Feb[8] Open standard Phone number (e.g. +1234567890) Yes Yes Yes Yes ? Yes Yes, contact blocking Yes Yes Yes Yes Yes No Signal Protocol
SimpleX Messaging Protocol simplex-chat 2020 Oct[9] Open standard No global user identity Yes Yes Yes Yes, on the clients ? Yes, client broadcast Yes, no global addresses Yes, on the clients Planned, via WebRTC Planned, via WebRTC Yes Yes Partial, servers are redundant relays SimpleX Messaging Protocol
SIP/SIMPLE IETF 1996 Open standard user@hostname Yes Yes Optional Yes Yes No Medium ? Yes Yes Yes No Depends on implementation SIP/SIMPLE
Skype Skype 2003 Aug Proprietary Username Yes Proprietary No No No Centralistic client-based Yes Yes Yes Yes No No Skype
Steam Friends Valve 2003 Sep 12 Proprietary SteamID/Username or Unique Number Yes Proprietary ? No, although rising Yes ? No Yes Yes No No No No Steam Friends
TOC2 AOL 2005 Sep Proprietary (Discontinued) Username or UIN
e.g. 12345678
Yes No No No No Centralistic No paying members only ? ? Partial ? No TOC2
TOX (based on DHT) irungentoo (github user) 2013 June GNU General Public License (GPL) version 3 or later Public & Private key Yes Yes Yes Yes Yes Yes[10][11] Yes Yes Yes Yes Yes Yes[12] Yes TOX (based on DHT)
Tuenti Tuenti 2006 Proprietary Username Yes Yes No Yes ? Yes Yes Yes Yes Yes Yes ? No Tuenti
Windows Messenger service Microsoft 1990 Proprietary (Discontinued) NetBIOS Yes No No Yes Yes Yes No No No No No No No Windows Messenger service
XMPP Jeremie Miller, standardized via IETF 1999 Jan Open standard Jabber ID (JID)
e.g. usr@a.b.c/home[f]
Yes Yes Optional[13][14][15] Yes Yes Yes[16][17] Yes[18][19][20] Yes[16] Yes, via Jingle Yes, via Jingle Yes Yes[21] Optional[22] XMPP
YMSG (Yahoo! Messenger) Yahoo! 1998, March 9 Proprietary Username Yes No[needs update?] No No Yes Centralistic Yes Yes Yes Yes Yes No No YMSG (Yahoo! Messenger)
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 Zephyr Notification Service
SMS/MMS/EMS/Call Friedhelm Hillebrand 1985 Proprietary Phone number (e.g. +1234567890) Yes No No About 250 contacts in SIM, unlimited from phone. No serial messages Medium No Yes 3G-324M/ViLTE No No ? SMS
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[a] Spam protection Group, channel or conference support Audio/VoIP support Webcam/Video Batch file sharing Media synchronization Serverless[b] (decentralized) Protocol
  1. ^ a b 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.
  2. ^ a b 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.
  3. ^ There have been reports from users that the antispam filter is used to censor links to other IM programs and some websites.
  4. ^ 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.
  5. ^ Scalability issue: The protocol gets increasingly inefficient with the number of contacts.[1][2]
  6. ^ 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.

See also[edit]

References[edit]

  1. ^ RFC 1324, D. Reed, 1992. 2.5.1, Size
  2. ^ Functionality provided by systems for synchronous conferencing, C.v. Loesch, 1992. 1.2.1 Growth
  3. ^ Ermoshina, Ksenia; Musiani, Francesca; Halpin, Harry (September 2016). "End-to-End Encrypted Messaging Protocols: An Overview". In Bagnoli, Franco; et al. (eds.). Internet Science. INSCI 2016. Florence, Italy: Springer. pp. 244–254. doi:10.1007/978-3-319-45982-0_22. ISBN 978-3-319-45982-0.
  4. ^ "Cross-signing and End-to-end Encryption by Default is HERE!!!". Matrix.org. Retrieved 2020-05-08.
  5. ^ "Introducing P2P Matrix". matrix.org. The Matrix.org Foundation. Retrieved 19 June 2021.
  6. ^ https://telegram.org/blog/calls
  7. ^ https://aimemories.tumblr.com/post/166091776077/aimemories
  8. ^ Marlinspike, Moxie (24 February 2014). "The New TextSecure: Privacy Beyond SMS". Open Whisper Systems. Retrieved 12 December 2015.
  9. ^ Poberezkin, Evgeny (October 2020). "Simplex Messaging Protocol (SMP)". simplex-chat.
  10. ^ "Groups : Chat, call, and share video and files with the whole gang in Tox's group chats". tox.chat. Retrieved 2021-06-18.
  11. ^ Presence information is indicated to other users by a small coloured dot."Tox clients". tox.chat. Retrieved 2021-06-18.
  12. ^ "File sharing : Trade files, with no artificial limits or caps". tox.chat. Retrieved 2021-06-18.
  13. ^ "XEP-0027: Current Jabber OpenPGP Usage". xmpp.org. 2014-03-14. Retrieved 2020-03-09.
  14. ^ "XEP-0373: OpenPGP for XMPP". xmpp.org. 2018-07-30. Retrieved 2020-03-09.
  15. ^ "XEP-0384: OMEMO Encryption". xmpp.org. 2018-07-31. Retrieved 2020-03-09.
  16. ^ a b "XEP-0045: Multi-User Chat". xmpp.org. 2019-05-15. Retrieved 2020-03-09.
  17. ^ "XEP-0060: Publish-Subscribe". xmpp.org. 2019-10-06. Retrieved 2020-03-09.
  18. ^ "Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence". xmpp.org. March 2011. Retrieved 2020-03-09.
  19. ^ "XEP-0159: Spim-Blocking Control". xmpp.org. 2006-07-11. Retrieved 2020-03-09.
  20. ^ "XEP-0161: Abuse Reporting". xmpp.org. 2007-05-06. Retrieved 2020-03-09.
  21. ^ "XEP-0280: Message Carbons". xmpp.org. 2017-02-16. Retrieved 13 December 2018.
  22. ^ "XEP-0174: Serverless Messaging". xmpp.org. 26 November 2008. Retrieved 1 November 2017.