Difference between revisions of "XMPP Core"
m (→Сеть: typo) |
m (→Транспорт: ссылки) |
||
Line 28: | Line 28: | ||
=== Транспорт === | === Транспорт === | ||
− | Транспорт - специальный сервис, работающий на стороне сервера, чья основная функция - обеспечивать перевод [[XMPP]] в протокол сторонней (не XMPP) [[IM]] сети и обратно. Примерами могут являться [[SMTP|e-mail]], [[IRC|Internet Relay Chat]], [[SIMPLE]], [[SMS]], а также коммерческие IM-сети, такие как [[AIM]], [[ICQ]], [[MSN]] и [[Yahoo! Messenger|Yahoo! IM]]. Коммуникации между транспортами и XMPP-серверами, а также между транспортами и сторонними серверами не описываются в этом документе. | + | Транспорт - специальный сервис, работающий на стороне сервера, чья основная функция - обеспечивать перевод [[XMPP]] в протокол сторонней (не XMPP) [[IM]] сети и обратно. Примерами могут являться [[Gateway:SMTP|e-mail]], [[Gateway:IRC|Internet Relay Chat]], [[SIMPLE]], [[Gateway:SMS|SMS]], а также коммерческие IM-сети, такие как [[AIM]], [[ICQ]], [[MSN]] и [[Yahoo! Messenger|Yahoo! IM]]. Коммуникации между транспортами и XMPP-серверами, а также между транспортами и сторонними серверами не описываются в этом документе. |
=== Сеть === | === Сеть === |
Revision as of 10:02, 5 July 2009
Информации мало или она отсутствует Пока в данной статье мало информации. Приносим извинения. Если вы хотите написать по теме, — . |
ЯВики используйте название
Основы XMPP
На других ресурсах
можно также давать ссылку
http://jawiki.ru/XMPP_Core
Основы протокола XMPP изложены в документе RFC 3920: "Extensible Messaging and Presence Protocol (XMPP): Core".
Этот документ описывает обощённую архитектуру, схему адресации, термины "XML поток" и "XML станс", правила использования XML, требования к совместимым реализациям протокола, а также соображения по поводу интернациональности и безопасности.
Contents
- 1 Обобщённая архитектура сети
- 2 Схема адресации
- 3 XML потоки
- 4 Использование TLS
- 5 Использование SASL
- 6 Назначение ресурса
- 7 Server Dialback
- 8 XML стансы
- 9 Правила обработки XML стансов на сервере
- 10 Использование XML в протоколе XMPP
- 11 Требования к совместимости с Основами
- 12 Соображения по поводу интернациональности
- 13 Соображения по поводу безопасности
- 14 Соображения IANA
- 15 Примечания
- 16 Различия между Основами Jabber и XMPP
- 17 Ссылки
Обобщённая архитектура сети
Обзор
Хотя XMPP и не привязан к конкретной сетевой архитектуре, обычно он реализуется с архитектурой "клиент-сервер", где клиент соединяется с сервером по протоколу TCP, и соединения между серверами тоже производятся по протоколу TCP.
Примерная структура сети XMPP включает в себя сервера, к которым подключаются клиенты. На схеме также показан транспорт в другую IM сеть. Синим цветом выделены соединения XMPP, черным - соединения сторонней сети.
Сервер
Сервер действует как уровень абстракции для соединений XMPP. Его основные обязанности:
- управлять соединениями(сессиями) других сущностей, в форме XML потоков от/для авторизованных клиентов, других серверов и прочих сущностей.
- маршрутизировать корректно адресованные XML стансы между указанными сущностями посредством XML потоков.
Большинство XMPP-совместимых серверов также выполняют обязанности по хранению данных клиентов (например, их контакт-листов в случае базирующихся на XMPP IM-приложений). В этом случае данные XML обрабатываются самим сервером, и никуда не перенаправляются.
Клиент
Большинство клиентов подключаются напрямую к серверам через TCP-соединения, и используют XMPP для получения доступа к возможностям сервера и связанных с ним сервисов. Одновременно могут быть подключены несколько ресурсов (например, обозначающих устройства или местоположения) одного клиента. Каждый ресурс должен иметь уникальный идентификатор ресурса (см. XMPP Core#Схема адресации).
Рекомендуется для клиент-серверных соединений использовать порт 5222.
Транспорт
Транспорт - специальный сервис, работающий на стороне сервера, чья основная функция - обеспечивать перевод XMPP в протокол сторонней (не XMPP) IM сети и обратно. Примерами могут являться e-mail, Internet Relay Chat, SIMPLE, SMS, а также коммерческие IM-сети, такие как AIM, ICQ, MSN и Yahoo! IM. Коммуникации между транспортами и XMPP-серверами, а также между транспортами и сторонними серверами не описываются в этом документе.
Сеть
Поскольку каждый сервер идентифицируется его сетевым адресом, и поскольку сервер-серверные коммуникации являются прямым расширением клиент-серверного протокола, фактически система состоит из набора взаимодействующих серверов. Таким образом, <juliet@example.com> может обмениваться сообщениями, информацией о присутствии и др. с <romeo@example.net>. Этот шаблон знаком по протоколам вроде SMTP, которые пользуются стандартами сетевой адресации. Взаимодействие между серверами НЕОБЯЗАТЕЛЬНО. Если оно доступно, оно должно производиться посредством XML потоков через TCP соединения. Рекомендуемый порт для межсерверного взаимодействия 5269.
Схема адресации
Обзор
Сущность - что-то, что может быть воспринято как конечная точка сети и может обмениваться данными по протоколу XMPP. Все сущности имеют уникальный адрес, соотвествующий RFC 2396. По историческим причинам, идентификатор называется Jabber Identifier или JID. Корректный JID состоит из идентификатора домена (domain), идентификатора узла(node) и идентификатора ресурса(resource).
Синтакс JID в форме Бэкуса—Наура:
jid = [ node "@" ] domain [ "/" resource ] domain = fqdn / address-literal fqdn = (sub-domain 1*("." sub-domain)) sub-domain = (internationalized domain label) address-literal = IPv4address / IPv6address
Все JID'ы строятся по указанной схеме. Наиболее частое её применение - идентификация пользователя IM, сервера, к которому пользователь подключен, и ресурса пользователя в форме user@server/resource.
Тем не менее, могут существовать узлы, не являющиеся пользователями. Например, конкретная конференция на сервере конференций может быть адресована как room@server, а её участник может быть адресован как room@server/nick.
Каждая допустимая часть JID'а по длине не должна превышать 1023 байта. Таким образом, полная длина JID с учетом символов "@" и "/" не может превышать 3071 байт.
XML потоки
Использование TLS
Использование SASL
Назначение ресурса
Server Dialback
XML стансы
Правила обработки XML стансов на сервере
Использование XML в протоколе XMPP
Требования к совместимости с Основами
Соображения по поводу интернациональности
Соображения по поводу безопасности
Соображения IANA
Примечания
Различия между Основами Jabber и XMPP
Ссылки
- RFC 3920 на сайте ietf.org (англ.)