Компьютерра, 2006 № 40 (660) | страница 64



«Вирусный эффект», позволяющий привлекать новых пользователей за счет уже существующих или продвигать одни продукты за счет популярности других — штука очень заманчивая. Настолько заманчивая, что интересы самих пользователей отходят на второй план, уступая место желанию захватить рынок целиком. Но технологии развиваются по своим законам, естественным образом стремясь к открытости и стандартизации. Так было с электронной почтой. Так будет с IM и VoIP. Мы можем воочию наблюдать этот процесс.

Не для протокола

Появлению протокола Jabber (англ. «болтовня», «бормотание») мы обязаны отсутствию совместимости между сетями ICQ и AIM, а также Джереми Миллеру (Jeremie Miller), решившему исправить этот существенный недостаток в 1998 году. Исходно Jabber задумывался как промежуточный протокол, основанный на XML, через который можно было бы «перенаправлять» сообщения из одной IM-сети в другую. Впрочем, быстро стало ясно, что подобное решение можно использовать и для непосредственной связи между пользователями. И не только между пользователями: между любыми объектами в Сети (например, двумя серверами или клиентом и сервером), которым требуется двусторонняя связь в реальном времени, контроль присутствия и другие функции IM.

Ядро разработанных и разрабатываемых в рамках проекта Jabber протоколов было принято в качестве интернет-стандартов RFC в 2004 году под именем XMPP (Extensible Messaging and Presence Protocol). Это семейство протоколов описывает базовый уровень взаимодействия (передача XML-потока, способы идентификации участников обмена), собственно обмен сообщениями и информацией о присутствии (presence), авторизацию и шифрование сообщений и т. д. При общении по XMPP сервер и клиент как бы последовательно пишут по кусочкам единый XML-файл.

В отличие от большинства закрытых IM-протоколов, рассчитанных на взаимодействие клиента только с одним центральным сервером, Jabber/XMPP является децентрализованным: он позволяет связываться двум пользователям, подключенным к разным серверам. В этом смысле Jabber-сеть аналогична e-mail, и для идентификации в ней приняты очень похожие адреса (так называемые JID, Jabber IDentificator), включающие имя пользователя и название сервера (например, v_pupkin@jabber.ru). Запустить собственный Jabber-сервер может кто угодно — достаточно иметь компьютер со статическим IP-адресом или постоянным доменным именем. При этом можно как разрешить взаимодействие с другими Jabber-серверами (federating), так и запретить его, создав собственную частную IM-сеть — последнее свойство особенно ценно в корпоративной среде, где Jabber часто и используется. В этом случае внутренняя IM-сеть компании уже не зависит ни от каких внешних факторов и не пересылает никаких данных за пределы корпоративной сети.