- Xmpp
-
Официальный логотип XMPP Standards Foundation
XMPP (англ. eXtensible Messaging and Presence Protocol — расширяемый протокол обмена сообщениями и информацией о присутствии, ранее известный как XML открытый, свободный для использования протокол для мгновенного обмена сообщениями и информацией о присутствии (см. список контактов) в режиме околореального времени. Изначально спроектированный легко расширяемым протокол помимо передачи текстовых сообщений поддерживает передачу голоса и файлов по сети.
Содержание
История
Джереми Миллер начал проект Jabber в 1998 году. Его первый главный официальный релиз был в мае 2000 года. Основным продуктом проекта был jabberd, сервер Jabber.
Ранний Jabber протокол сформировал основы для стандарта XMPP, опубликованного как RFC 3920. Часто этот момент рассматривается как начало соперничества с SIP, как стандартного протокола для мгновенного обмена сообщениями и информацей о присутствии. [1]
В августе 2005, Google Talk - комбинация VoIP и клиент для обмена сообщениями, использующий XMPP для функций переписки, и также как основа для передачи голоса и файлов. Первоначальный запуск сервиса от [2]
Преимущества протокола
- Децентрализация
- Архитектура сети XMPP схожа с email; кто угодно может запустить свой собственный XMPP сервер и нет какого-либо центрального сервера.
- Открытый стандарт
- Internet Engineering Task Force формализовал XMPP как стандарт обмена мгновенными сообщениями и технологии присутствия под названием XMPP, и спецификации XMPP были опубликованы как RFC 3920 и RFC 3921. Никаких привилегий не требуется для добавления поддержки этих спецификаций и их разработка не привязана к какому-либо разработчику.
- История
- Технологии XMPP используются с 1998 года. При поддержке таких крупных компаний как Sun Microsystems и
- Безопасность
- XMPP серверы могут быть изолированы от публичных сетей Jabber (например во внутренней сети компании), и хорошо защищены (благодаря использованию SASL и TLS) встроенными в ядро XMPP спецификациями. Для поддержки использования шифрования канала, XMPP Standards Foundation также использовал вспомогательный certification authority в xmpp.net обеспечивая цифровые сертификаты для администраторов XMPP серверов при содействии StartCom Certification Authority (который является основным хранителем сертификатов для всех вспомогательных).
- Гибкость
- Настраиваемая функциональность может быть надстроена поверх XMPP; для поддержки возможности взаимодействия различных сетей, стандартные расширения поддерживаются XMPP Software Foundation. Приложения XMPP в дополнение к функциональности клиента сетевого общения включают в себя администрирование сети, распределение ресурсов, утилиты для совместной работы, обмен файлами, игры и мониторинг удалённых систем.
Слабые стороны протокола
- Избыточность передаваемой информации
- Как правило более 70% межсерверного трафика XMPP составляют сообщения о присутствии [3], около 60% которых являются излишними[4]. XMPP на данный момент создает избыточный трафик при доставке сообщений о присутствии (т.е. "статус-сообщений") нескольким пользователям. Для решения этой проблемы разрабатываются новые протоколы. Также решением является расширение XEP-0138[5] - компрессия передаваемых данных протокола алгоритмами lzw и zlib, а также использование компрессии в рамках шифрования соединения TLS RFC-3749 глава 3[6].
- Масштабируемость
- XMPP сейчас страдает от фактически той же проблемы избыточности, но применительно к чат-комнатам и возможностям публикации информации.[7] Решение этих проблем также ожидается в виде XEP-расширений. Пока они не введены, большие чат-комнаты интенсивно образуют избыточный трафик.
- Невозможность передачи двоичных данных
- Так как XMPP является, по сути, одним длинным XML документом, невозможно передать немодифицированную двоичную информацию. В результате этого, для передачи файлов стараются использовать дополнительные протоколы, например base64-кодирование.
Соединение с другими протоколами
Элис посылает сообщение через сеть джаббер к ICQ-транспорту. Дальше сообщение передаётся Бобу через сеть ICQ.Полезной особенностью XMPP систем являются транспорты, или шлюзы, позволяющие пользователям получать доступ к сетям, использующим другие протоколы. Это могут быть другие протоколы обмена мгновенными сообщениями или такие протоколы как E-mail. В отличие от мультипротокольных клиентов, XMPP предоставляет доступ на уровне сервера, посредством коммуникации через специальные сервисы-шлюзы, выполняющиеся на удалённом компьютере. Любой пользователь может "зарегистрироваться" на одном из этих шлюзов, предоставив информацию, необходимую для входа в сеть, и может общаться с пользователями сети так, как если бы они были пользователями сети джаббер. Это значит, что любой клиент, полностью поддерживающий XMPP может быть использован для доступа к любой сети, для которой существуют шлюзы, без какого-либо дополнительного кода в клиенте и без необходимости клиенту иметь прямой доступ в Интернет.
Примечания
- ↑ 16 январе 2007 года Jabber Software Foundation переименован в XMPP Standards Foundation 16 января 2007[1] jabber.org is still maintained (March 2008)
- ↑ Burd, Gary XMPP Federation. Проверено 30 ноября 2007.
- ↑ http://mail.jabber.org/pipermail/standards/2006-May/011158.html
- ↑ http://mail.jabber.org/pipermail/standards/2006-May/011182.html
- ↑ http://xmpp.org/extensions/xep-0138.html
- ↑ http://tools.ietf.org/html/rfc3749#section-3
- ↑ http://mail.jabber.org/pipermail/standards/2006-February/010028.html
См. также
Wikimedia Foundation. 2010.