Topic.Lt Войти
Закрыть


Jabber

Предыдущая страница Следующая страница


Jabber

Открытый протокол для быстрого обмена сообщениями и информацией между абонентами Интернет.

Jabber



Jabber

Jabber ( досл. пер. с англ. — болтовня, трёп)


Первым применением технологии Jabber стало появление асинхронной и расширяемой платформы для обмена мгновенными сообщениями и сети обмена мгновенными сообщениями (англ. IM — Instant Messaging), сходной по возможностям c коммерческими системами IM, такими, как AIM, ICQ, MSN и Yahoo. На базе использования данной технологии было создано множество частных и корпоративных серверов Jabber. Среди них выделяются такие крупные проекты, как системы обмена мгновенными сообщениями компании Google (Google Talk) и «Живого журнала».

В основе протокола XMPP лежит язык XML, имеется поддержка шлюзов в другие IM-сети, однако их реализация зависит от конкретного Jabber-сервера и подвержена нестабильности из-за закрытости коммерческих IM-сервисов. Семейство протоколов Jabber принято(англ.) как стандарт RFC.

Jabber имеет ряд преимуществ по сравнению с коммерческими системами IM:


* Открытость:
протокол Jabber открыт, общедоступен и достаточно лёгок для понимания; существует множество реализаций серверов и клиентов, а также библиотек с открытым исходным кодом.

* Расширяемость:
с помощью пространств имён в XML можно расширить протокол Jabber для выполнения требуемых задач и для обеспечения поддержки взаимодействия между различными системами. Общие расширения разрабатываются под контролем Jabber Software Foundation.

* Децентрализованность:
кто угодно может запустить свой собственный сервер Jabber, что позволяет организациям и частным лицам заниматься любыми экспериментами с IM.

* Безопасность:
любой сервер Jabber может быть изолирован от общедоступной сети Jabber, многие из вариантов реализации сервера используют SSL при обмене между клиентом и сервером, и немало клиентов поддерживают шифрование с помощью PGP/GPG внутри протокола.

Jabber удовлетворяет многие потребности частных лиц и организаций.
Но важно понимать, что он не является универсальным решением всех задач.

В частности, Jabber не является:

* Универсальным чат-клиентом для различных систем IM — несмотря на множество клиентов Jabber под различные платформы, они не предоставляют таких возможностей по взаимодействию с различными системами IM, которые обеспечиваются программами Miranda IM, Trillian или Pidgin: вместо этого взаимодействие между Jabber и другими системами осуществляют шлюзы, расположенные на стороне сервера.

* Универсальным решением проблем взаимодействия с различными IM-системами — некоторые сервера Jabber предоставляют возможность взаимодействия с другими системами IM через шлюзы, которые транслируют протокол Jabber в протокол этих систем; однако только от самих систем зависит осуществление взаимодействия (к чему они подчас не стремятся, и даже наоборот).

* Единообразной IM-системой, созданной одной компанией — Jabber-cообщество не монолитно; напротив, существует большой набор общедоступных и закрытых серверов Jabber, проектов с открытым кодом, компаний по разработке ПО, использующих протокол Jabber.

История


Проект Jabber был основан Джереми Миллером в начале 1998 года с разработки сервера jabberd. Первое сообщение о проекте появилось 4 января 1999 года на Slashdot. Вскоре после этого к проекту присоединилось несколько основных разработчиков, которые стали работать над сервером jabberd, клиентами Jabber для Windows и GNU/Linux, а также шлюзами в основные системы IM (AIM, ICQ, MSN, и Yahoo). Позже, в 1999, Webb Interactive Services начало спонсировать основных разработчиков, что ускорило процесс создания проекта. В то время появилась основа протокола Jabber, а также сервер jabberd и ранние клиенты, такие, как WinJab (устарел и получил своё развитие в Exodus) и Gabber.
Этот ранний период постоянных изменений закончился в мае 2000 с выпуском jabberd 1.0.

С тех пор протокол Jabber продолжает развиваться (с августа 2001 под контролем Jabber Software Foundation). Например, в 2003 году было, по крайней мере, четыре реализации сервера, несколько библиотек для немалого количества языков программирования.

Адресация

Каждый пользователь в сети имеет уникальный идентификатор, адрес — Jabber ID (сокращённо JID). Во избежание необходимости существования сервера с полным списком всех адресов, JID подобно адресу электронной почты содержит имя пользователя и DNS-адрес сервера, на котором зарегистрирован пользователь, разделённые знаком (@). Например, пользователь example, зарегистрированный на сервере example.com, будет иметь следующий адрес (JID): [email protected].

Также пользователь может подключаться, находясь в разных местах, сервер позволяет определять дополнительное значение, называемое ресурсом, который идентифицирует клиента пользователя в данный момент. Так можно включить в адрес пользователя (JID) имя его ресурса, добавив через слэш в конце адреса. К примеру, пусть полный адрес пользователя будет [email protected]/work, тогда сообщения, посланные на адрес [email protected], дойдут на указанный адрес вне зависимости от имени ресурса, но сообщения для [email protected]/work дойдут на указанный адрес только при соответствующем подключённом ресурсе.

Адреса (JID) могут также использоваться без явного указания имени пользователя (с указанием имени ресурса или без такового) для системных сообщений и для контроля специальных возможностей на сервере.

Программное обеспечение

Jabber-клиенты

* Psi — свободная программа для обмена сообщениями по протоколу Jabber, основанная на библиотеке Qt.
* Tkabber — свободная программа для обмена сообщениями по протоколу Jabber, написана на Tcl/Tk.
* Bombus — свободная программа для обмена сообщениями по протоколу Jabber, предназначенная для мобильных телефонов и смартфонов с поддержкой Java/MIDP.
* SieJC — свободная программа для обмена сообщениями по протоколу Jabber, для телефонов Siemens с установленным эльфпаком
* Google Talk — Jabber-совместимая программа Google, поддерживающая функции голосового общения.
* LJTalk - программа для обмена сообщениями по протоколу XMPP проекта Livejournal.
* Spark — свободная программа для обмена сообщениями по протоколу Jabber, основанная на Java.
* Gajim — свободная программа для обмена сообщениями по протоколу Jabber, основанная на Python и PyGTK.

Многофункциональные клиенты, поддерживающие протокол Jabber

* Kopete — свободная программа для мгновенного обмена сообщениями в Интернете, работающая в KDE. Работает с протоколами Jabber, ICQ, AIM, Yahoo, MSN, IRC, Gadu-Gadu, Novell GroupWise Messenger и др.
* Pidgin — свободная программа для мгновенного обмена сообщениями в Интернете, понимающая протоколы ICQ, IRC, AIM, MSN, Jabber, Yahoo, Gadu-Gadu и т. д.
* Instantbird — свободная программа для мгновенного обмена сообщениями в Интернете, поддерживающая протоколы XMPP, Google Talk, ICQ, Yahoo!, AIM, MSN, Gadu-Gadu и т. д. базирующаяся на Pidgin и Mozilla Firefox.
* SIM — свободная программа для мгновенного обмена сообщениями в Интернете, понимающая протоколы ICQ, AIM, MSN, Jabber, Yahoo и др.
* iChat — программа, поставляемая вместе с операционной системой Mac OS X.сообщениями сервисов Jabber, Google Talk, LiveJournal, Bonjour, Gadu- * Adium — клиент для ОС Mac OS X для обмена мгновенными Gadu, ICQ, Lotus Sametime, .Mac, MeBeam, MySpaceIM, Novell GroupWise, Tencent QQ, SIP / SIMPLE, Tlen, Xfire, .NET Messenger Service, Yahoo! Messenger, Zephyr.

Дополнительные аспекты, плюсы и доводы перехода на Jabber

* Абсолютная бесплатность сети в целом.

Это значит что никаких баннеров и _лишнего_ траффика (дело в том, что Jabber использует XML, что потребляет больше траффика чем обычная ася. Но сопоставимо с оригинальным клиентом, использущим расширенные статусные сообщения ака xStatus. С Вас не возьмут ни копейки за использование этой сети. Ситуация, когда Вас лишат Вашего аккаунта, в случае с Jabber'ом в принципе исключена (кроме противоправных действий). Кстати, Вы в курсе, что юридически Ваш номер ICQ принадлежит не Вам, а компании AOL, которая может свернуть всю эту лавочку в любой момент? А также тот момент, что вся пересылаемая по ICQ информация является собственностью AOL.
Также замечу такой момент - бывает так, что даже когда у Вас неоплачен траффик, то Jabber остается работоспособным (тут зависит от жмотства самих провайдеров, но в локальных сетях в крупных городах России и в Украине (особенно у кого jabber-аккаунт в зоне @jabber.kiev.ua) это не редкость).

* огромный выбор сетей, где можно зарегистрироваться.

Кроме уже упомянутых выше gmail.com, yandex.ru и livejournal.com (несколько нестабилен и недоработан, но это исправляется), Вы можете зарегистрироваться в любой общедоступной jabber-сети, например jabber.ru, jabber.org, для жителей Украины еще и jabber.kiev.ua.
Тут - большой список общедоступных jabber-серверов.

* Огромное количество клиентов, поддерживающих Jabber.

Клиенты под любую платформу и операционную систему, большинство из них вполне качественны. На компьютер, КПК, мобильный телефон - везде. В Jabber также, по сути, отсутствует понятие "официальный клиент".
Список клиентов можно посмотреть тут или тут (на английском). Согласитесь, вполне внушает. :)

* Стабильность.

Наверняка все испытывали проблемы со стабильностью ICQ в последнее время. С Jabber это происходит, как правило, редко (только когда происходит техническое обслуживание). К примеру, на jabber.ru за последние полгода сбой был всего один раз. Прямо говоря jabber может "накрыться" в случае, если сервер, который обслуживает эту сеть, выйдет из строя. В данном случае про jabber-сети можно сказать так: чем больше/крупнее и популярнее сервер - тем меньше шансов что он выйдет из строя поскольку за ним более внимательно и тщательно следят, и наоборот.

* Защищенность.

поддержка SSL/TSL, PGP/GPG, SecureIM, OTR. у ICQ есть только SecureIM - и то при условии что на обоих концах Миранда с этим плагином.

* Нет украденных уинов и аккаунтов.

хотя бы потому что номеров как таковых нет :) соответственно всякие кражи паролей и уинов отпадают сами собой (как и большинство бессмысленных разговоров из серии "а у меня уин короче!"). Да и запомнить такой "e-mail" зачастую гораздо проще чем номер UINа.

* Jabber - по сути давно корпоративный стандарт общения.

Пока не де-юре, но уже де-факто. Подавляющее (именно подавляющее, а не просто большинство) количество корпоративных сетей сделано именно на базе Jabber. Появление сетей Google Talk, LiveJournal (которые сделаны на базе протокола Jabber), а также у российского "Билайна" (жду перечисления денег за рекламу :)) - лишние тому доказательства (в том плане что эти две компании оценивают перспективность протокола как такового).

* Отсутствие проблем с кодировками.

Jabber по определению лишен этой проблемы - изначальная полноценная поддержка Unicode, что в 99,9% случаев гарантирует, что сообщение будет доставлено в нормальном, читабельном виде.

* Нет лимита на размер сообщений.

Теоретически нет лимита на размер пересылаемых сообщений, точнее 64k - это гарантируемая величина пересылаемого сообщения (реальный потолок размера сообщений неизвестен). А также нет глупого лимита в 450 символов для сообщений, которые отправляются собеседнику в оффлайн.

* При желании к джабберу можно подключить другие протоколы (так называемые транспорты).

это значит, что если у Вас есть Jabber, то значит у Вас есть практически ЛЮБАЯ IM-сеть. Хоть они и реализованы не самым идеальным образом. Но когда админ закручивает Вам все гайки - это много лучше, чем ничего :)

* Никакого спама.

в ICQ все с ним сталкивались, и нет ни одного человека, кого бы это не достало (и не вынуждало использовать антиспам-плагин). в Jabber его по сути нет - во всяком случае пока (есть бреши [1] [2] [3] [4], но они фактически не используются). :))

* Быстрый логин

Очень быстрый вход в сеть. Быстрее чем в MSN и много быстрее чем в ICQ.

* Тематические конференции

большинство jabber-серверов содержат много тематических конференций наподобие таких, как в IRC. конференции можно подключать извне (как транспорт), а также создавать свои.

* С одного аккаунта можно заходить с нескольких мест одновременно.

Все это сделано довольно грамотно, и не вызывает проблем, одни удобства.

Для девелоперов, админов и параноиков

* Все спецификации протокола и исходные коды программного обеспечения для jabber-серверов являются открытыми и общедоступными, и очень хорошо продокументированы (в отличие от закрытого и относительно документированного протокола ICQ, большинство вещей которого были добыты с помощью реверс инженеринга).
* Вы можете самостоятельно поставить свой собственный локальный jabber-сервер и изолировать его от "внешнего мира" - это обеспечит безопасность информации. Большинство корпоративных сетей так и построены. Некоторые из них все же дают возможность доступа к внешним сетям.
* Многие клиенты также распространяются с исходными кодами. Вы можете сами компилить, можете сами писать и отправлять разработчикам патчи для закрытия тех или иных уязвимостей в их серверном ПО.

Особенности протокола Jabber:

* в ICQ используется понятие UIN (Unified Identification Number) в виде уникального номера, в Jabber - JabberID или JID (Jabber IDentification), выглядящее как почтовый адрес (например [email protected]).

* в Jabber есть понятие приоритета. Допустим, Вы сидели дома с jabber-аккаунта. Пришли на работу, не отключив jabber-клиент дома. Вы заходите с работы - и оба аккаунта у Вас в сети (точнее оба клиента с одного аккаунта). Сообщения будут приходить на тот клиент, у кого приоритет (номер) выше. Соответственно
* в Jabber есть ресурс (resource) - это специальный дополнительный идентификатор, который в большинстве случаев позволяет пользователю добавлять некую информацию о себе. узнать

Минусы

Вот я сейчас расписал все сейчас в довольно розовых красках, но минусы все же, безусловно, имеются:

* Децентрализованность сети.

Отчасти спорный момент. Главный минус - нет общей базы для поиска юзера. Ад для спаммера, но и некоторое неудобство для конечного юзера.

* Пользователей ICQ много больше

В открытых сетях, к сожалению, ICQ пока лидер. Но это дело времени. :)

* Перегонять пользователей с ICQ на Jabber проблематично.

в какой-то степени это так.
Для начала узнайте у собеседников, имеются ли у них jabber/gtalk аккаунты, и главное - пользуются ли они ими. :) с вероятностью отличной от нуля у некоторых из них таковые аккаунты точно будут.
Админам того проще - они банят аську как таковую (icq.com и все его IP и логин-серверы), разрешая только джаббер и соответствующие порты. :) Зверство, но во благо. :)

* Проблемное восстановление пароля.

Увы, как таковой нормальной централизованной системы восстановления пароля в jabber нету, поэтому приходится писать письмо в техподдержку чтобы Вам его восстановили (поэтому забывать пароль крайне не рекомендуется :)).

НО!!!

В случае же Google Talk (GTalk) и LiveJournal (LJ) все много проще - пароли от аккаунтов в ЖЖ и мыле и в jabber одни и те же, поэтому чтобы их сменить достаточно их сменить в панели управления аккаунта в LJ или GTalk.

Jabber

Внимание! У Вас нет прав для просмотра скрытого текста.

Предыдущая страница Следующая страница