Устройство сети Jabber: различия между версиями

Материал из Мир Jabber
Перейти к навигацииПерейти к поиску
(не показано 7 промежуточных версий 2 участников)
Строка 1: Строка 1:
=== Введение ===
=== Введение ===


Устройство сети Jabber отличается от других IM сетей ввиду своей децентрализованной структуры. Сеть состоит из большого количества публичных или изолированных серверов, некоторого числа клиентов, которые к ним подключаются, соединений - межсерверных ('''s2s''') и клиент-сервер ('''c2s''') и опционально - набором транспортов на стороне сервера, обеспечивающих связь с другими IM-сетями либо выполняющих те или иные функции. Наглядно структура сети показана на рисунке ниже:
Устройство сети Jabber отличается от других IM сетей ввиду своей децентрализованной структуры. Сеть состоит из большого количества публичных или изолированных серверов, некоторого числа клиентов, которые к ним подключаются, соединений - межсерверных ('''s2s''') и клиент-сервер ('''c2s''') и опционально - набором [[Транспорт|транспортов]] на стороне сервера, обеспечивающих связь с другими IM-сетями либо выполняющих те или иные функции. Наглядно структура сети показана на рисунке ниже:


[[Изображение:Jabber network.png|center|frame|Графическое отображение структуры Jabber-сети]]
[[Изображение:Jabber network.png|center|frame|Графическое отображение структуры Jabber-сети]]


Рассмотрим процедуру передачи сообщения. В самом начале клиент передает сообщение на свой сервер. Это соединение называется c2s (client to server). На данном этапе происходит обработка (конвертирование текста в формат XML, шифрование и/или сжатие при необходимости) текста и [[Пользовательские статусы|статус-сообщений]] клиентом и пересылка данных на сервер. Далее сервер производит обратную процедуру (распаковку и расшифрование). Исходя из полученных данных он либо пересылает сообщение другому клиенту (если этот клиент подключён на том же сервере, где и первый), или отправляет данные другому серверу (если клиент подключён к другому серверу). В первом случае соединение называется s2c (server to client) и происходит аналогично c2s. Во втором случае соединение называется s2s (server to server). В этом случае сообщение при необходимости шифруется и передается на другой сервер, а на другом сервере происходит соединение s2c.
Рассмотрим процедуру передачи сообщения. В самом начале клиент передает сообщение на свой сервер. Это соединение называется c2s (client to server). На данном этапе происходит обработка (конвертирование текста в формат XML, шифрование и/или сжатие при необходимости) текста и [[Пользовательские статусы|статус-сообщений]] клиентом и пересылка данных на сервер. Далее сервер производит обратную процедуру (распаковку и расшифровку). Исходя из полученных данных он либо пересылает сообщение другому клиенту (если этот клиент подключён на том же сервере, где и первый), или отправляет данные другому серверу (если клиент подключён к другому серверу). В первом случае соединение называется s2c (server to client) и происходит аналогично c2s. Во втором случае соединение называется s2s (server to server). В этом случае сообщение при необходимости шифруется и передается на другой сервер, а на другом сервере происходит соединение s2c.


=== Изолированные сервера  ===
=== Изолированные сервера  ===


Серверы, для которых недоступны s2s-подключения к публичным серверам (либо недоступны вообще) называются ''изолированными Jabber-серверами''. Проявляется это в том, что невозможны любые коммуникации с внешними серверами, отправка сообщений, подключение и использование транспортов, а также просмотр сервисов доступны только локально. Чаще всего такие сервера находятся в тех местах, где нежелательна бесконтрольная передача информации во внешнюю сеть, либо просто недоступно подключение к Интернет; пример - различные организации или локальные сети провайдеров.
Серверы, для которых недоступны s2s-подключения к публичным серверам (либо недоступны вообще) называются ''изолированными Jabber-серверами''. Проявляется это в том, что невозможны любые коммуникации с другими серверами, такие как отправка сообщений, подключение и использование транспортов. Чаще всего такие сервера находятся в тех местах, где нежелательна бесконтрольная передача информации во внешнюю сеть, либо просто недоступно подключение к Интернет; пример - различные организации или локальные сети провайдеров.


=== Транспорты  ===
=== Транспорты  ===


При использовании транспортов возникает еще один этап. На данном этапе сервер передает данные транспорту, а транспорт преобразует данные в формат чужого IM и передает их в чужую сеть. Если транспорт находится на другом сервере, то предварительно происходит этап s2s. Важно заметить, что взаимодействие клиента с другим сервером (не с тем, к которому он подключён) практически никогда не происходит. Все делается через свой сервер (это относится не только к транспортам, а ко всей сети). При использовании транспорта J2J клиентом является сервер, на котором размещен транспорт J2J
При использовании [[Транспорт|транспортов]] возникает еще один этап. На данном этапе сервер передает данные транспорту, а транспорт преобразует данные в формат чужого IM и передает их в чужую сеть. Если транспорт находится на другом сервере, то предварительно происходит этап s2s. Важно заметить, что взаимодействие клиента с другим сервером (не с тем, к которому он подключён) практически никогда не происходит. Все делается через свой сервер (это относится не только к транспортам, а ко всей сети). При использовании транспорта J2J клиентом является сервер, на котором размещен транспорт J2J.


== Ссылки ==
== Ссылки ==


[[SRV|Использование SRV-записи в DNS для указания сервера]]
* [[SRV|Использование SRV-записи в DNS для указания сервера]]
* [[Проблемы при подключении к Jabber|Если подключиться не удается...]]
* [[Link-Local]]
* [[XMPP]]
* [http://vonderer.blogspot.com/2007/07/xmpp-3.html Vonderer Blog. "Децентрализация - вот в чем соль."]
* [http://www.portal-on.ru/jabber/?q=node/75 Безопасная аська]


[http://vonderer.blogspot.com/2007/07/xmpp-3.html Vonderer Blog. "Децентрализация - вот в чем соль."]
[[Category:Сеть]][[Category:Тонкости работы]]
 
[http://www.portal-on.ru/jabber/node/75 Безопасная аська]
 
[[Category:Сеть]][[Category:Подключение]][[Category:Тонкости работы]]

Версия 18:58, 24 мая 2010

Введение

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

Графическое отображение структуры Jabber-сети

Рассмотрим процедуру передачи сообщения. В самом начале клиент передает сообщение на свой сервер. Это соединение называется c2s (client to server). На данном этапе происходит обработка (конвертирование текста в формат XML, шифрование и/или сжатие при необходимости) текста и статус-сообщений клиентом и пересылка данных на сервер. Далее сервер производит обратную процедуру (распаковку и расшифровку). Исходя из полученных данных он либо пересылает сообщение другому клиенту (если этот клиент подключён на том же сервере, где и первый), или отправляет данные другому серверу (если клиент подключён к другому серверу). В первом случае соединение называется s2c (server to client) и происходит аналогично c2s. Во втором случае соединение называется s2s (server to server). В этом случае сообщение при необходимости шифруется и передается на другой сервер, а на другом сервере происходит соединение s2c.

Изолированные сервера

Серверы, для которых недоступны s2s-подключения к публичным серверам (либо недоступны вообще) называются изолированными Jabber-серверами. Проявляется это в том, что невозможны любые коммуникации с другими серверами, такие как отправка сообщений, подключение и использование транспортов. Чаще всего такие сервера находятся в тех местах, где нежелательна бесконтрольная передача информации во внешнюю сеть, либо просто недоступно подключение к Интернет; пример - различные организации или локальные сети провайдеров.

Транспорты

При использовании транспортов возникает еще один этап. На данном этапе сервер передает данные транспорту, а транспорт преобразует данные в формат чужого IM и передает их в чужую сеть. Если транспорт находится на другом сервере, то предварительно происходит этап s2s. Важно заметить, что взаимодействие клиента с другим сервером (не с тем, к которому он подключён) практически никогда не происходит. Все делается через свой сервер (это относится не только к транспортам, а ко всей сети). При использовании транспорта J2J клиентом является сервер, на котором размещен транспорт J2J.

Ссылки