XMPP (Jabber) — отворен XML протокол за незабавни съобщения и присъствие

XMPP (Jabber) — отворен XML протокол за незабавни съобщения и присъствие: децентрализиран, съвместим с множество клиенти, с отворен код и милиони потребители за сигурна комуникация.

Автор: Leandro Alegsa

Extensible Messaging and Presence Protocol (XMPP) (с предишно име Jabber) е отворен стандартен протокол за незабавни съобщения и сигнализация за присъствие, вдъхновен от XML. XMPP позволява разпределена, федеративна комуникация — всеки с име на домейн и интернет връзка може да поддържа собствен сървър и да комуникира с други сървъри в мрежата.

Протоколът се откроява със своята отвореност и разширяемост: голяма част от сървърния и клиентския софтуер е с отворен код, което улеснява внедряването, прегледа на кода и интеграцията в различни системи.

Как работи XMPP

  • XML съобщения (stanzas) — обменът на данни става чрез XML-основни "стензи" (stanzas), които съдържат съобщения, присъствие и запитвания (IQ).
  • Присъствие (presence) — потребителите могат да публикуват статуса си (онлайн, офлайн, зает и т.н.), което позволява да се вижда кой е достъпен за чат.
  • Ро́стер (списък с контакти) — XMPP поддържа списъци с контакти и абонаменти за присъствие.
  • Федерация — различни XMPP сървъри могат да комуникират помежду си по подобие на електронната поща, осигурявайки децентрализирана мрежа.
  • Разширяемост — функциите се добавят чрез XMPP Extension Protocols (XEPs), които стандартизират допълнителни възможности (напр. мулти-потребителски чат, трансфер на файлове, глас/видео и др.).

Разширения и стандарти

XMPP се поддържа чрез набор от допълнителни спецификации (XEPs), които позволяват добавяне на функции като:

  • мулти-потребителски чат (MUC, XEP-0045);
  • обмен на файлове и големи съобщения;
  • универсална адресна книга (vCard) и синхронизация на контакти;
  • Jingle (XEP-0166) за реализиране на глас и видео връзки;
  • пълна разширяемост за интеграция с други услуги и шлюзове.

Сигурност и поверителност

XMPP поддържа стандартни механизми за сигурност като TLS (шифрован транспорт) и SASL (идентификация). За защита от наблюдение и осигуряване на край-до-край шифроване се използват допълнителни протоколи и разширения като OMEMO и OpenPGP или OTR в по-стари реализации. Администраторите на сървъри и клиентите трябва да конфигурират TLS и да използват актуални XEP-и за по-добра защита на съобщенията.

Приложения, сървъри и внедряване

Протоколът е внедрен на хиляди сървъри в интернет. В миналото се оценяваше, че стотици милиони потребители използват софтуер, базиран на XMPP; популярността и разпространението варират във времето в зависимост от доставчиците и интеграциите. Някои търговски и облачни услуги също са използвали XMPP — например Google Talk и Gizmo5.

Има множество сървърни реализации (като ejabberd, Prosody, Openfire и други) и разнообразие от клиенти за различни платформи. Клиентите включват Pidgin, iChat и много мобилни приложения, които поддържат стандартни и разширени XMPP функции.

Типични случаи на употреба

  • незабавни съобщения и групови чатове;
  • корпоративна комуникация и интеграция със системи за уведомяване;
  • глас и видео (через Jingle/която се осъществява чрез XMPP сигнализация);
  • интернет на нещата (IoT) и машино-към-машин комуникация при нужда от разширяем, текстово-базиран протокол;
  • шлюзове към други мрежи и услуги.

Как да започнете

  • Изберете клиент (настолен или мобилен) или използвайте уеб-базирано приложение.
  • Регистрирайте акаунт на публичен XMPP сървър или създайте/инсталирайте собствен сървър, ако имате домейн и нужда от пълен контрол.
  • Конфигурирайте TLS и актуализирайте сървъра/клиента, за да използвате съвременни XEP-и за сигурност и функционалност.
  • Запознайте се с разширенията (XEP), които ви трябват — напр. за групов чат, трансфер на файлове или край-до-край шифроване.

XMPP остава популярен избор за разработчици и организации, които търсят отворен, разширяем и федеративен протокол за реално-времеви комуникации. Благодарение на стандартизирания си XML-подход и богат набор от XEP-и, той може да обслужва много различни потребности — от прост чат до сложни интеграции и мултимедийни услуги.

История

Джеръми Милър стартира проекта Jabber през 1998 г. Първото голямо публично издание е през май 2000 г. Този ранен софтуер е в основата на XMPP. Той беше конкурент на SIMPLE, който се основаваше на протокола SIP.

През август 2001 г. беше създадена софтуерната фондация Jabber (JSF). Основната роля на JSF е да управлява XML протоколите за XMPP, като ги документира. Наред с това организацията трябваше да координира многобройните компании, които използваха технологията XMPP.

През 2002 г. Internet Engineering Task Force създаде работна група, която да официализира протокола. Групата е наречена Extensible Messaging and Presence Protocol Working Group (Работна група за разширяем протокол за съобщения и присъствие), или XMPP WG.

През 2007 г. Jabber Software Foundation (JSF) се превърна в XMPP Standards Foundation (XSF).

XMPP и HTTP

XMPP може да използва HTTP за изпращане на данни към сървърите. Това е полезно, когато има строги защитни стени, тъй като данните могат да се изпращат през уеб, а не през друг порт (порт 5222 и 5223).

Съществуват и отворени публични сървъри, които използват стандартни портове (80 и 443), така че потребителите могат да се свързват зад повечето защитни стени.

Въпроси и отговори

В: Какво е XMPP?


О: XMPP означава Extensible Messaging and Presence Protocol (разширяем протокол за съобщения и присъствие). Това е протокол за незабавни съобщения, който е вдъхновен от XML и е отворен стандарт.

В: По какво XMPP се различава от другите протоколи?


О: XMPP се различава от другите протоколи, защото е отворен стандарт. Това означава, че всеки, който има име на домейн и интернет връзка, може да стартира свой собствен сървър.

В: Кой е софтуерът, който използва протокола XMPP?


О: Google Talk и Gizmo5 са примери за софтуер, който използва протокола XMPP. Повечето от софтуерите и клиентите са с отворен код.

В: Колко сървъра в интернет са инсталирали XMPP?


О: XMPP е инсталиран на хиляди сървъри в интернет.

В: Колко потребители използват софтуер, базиран на протокола XMPP?


О: Има над петстотин милиона потребители, които използват софтуер, базиран на протокола XMPP.

В: Кои са някои клиенти, които използват XMPP?


О: Някои клиенти, които използват XMPP, включват Pidgin и iChat.

В: Кое е основното предимство на това, че XMPP е отворен стандарт?


О: Основното предимство на XMPP като отворен стандарт е, че всеки, който има име на домейн и интернет връзка, може да стартира свой собствен сървър.


обискирам
AlegsaOnline.com - 2020 / 2025 - License CC3