SRV: различия между версиями

Материал из Мир Jabber
Перейти к навигацииПерейти к поиску
(Убрал ToDo)
м (→‎Ссылки: + генератор SRV)
 
(не показано 9 промежуточных версий 3 участников)
Строка 1: Строка 1:
Иногда возникает ситуация, когда реальный адрес сервера не совпадает с адресом из [[JID]]'а. Например, в случае с GMail [[Jabber ID]] имеет вид user@gmail.com, а ''реальный адрес сервера'' - '''talk.google.com'''. В таком случае клиент попытается соединиться с gmail.com, но не обнаружит там Jabber сервера и не сможет подключиться. Для подобных случаев во многих клиентах [[Настройки сети в Jabber-клиентах|есть специальное поле]] "адрес для подключения" (или просто "хост"). Для того, чтобы сделать использование Jabber в таких случаях легче, некоторые клиенты автоматически считывают реальный адрес сервера из SRV записи DNS.
Иногда возникает ситуация, когда реальный адрес сервера не совпадает с адресом из [[JID]]'а. Например, в случае с [[Google Talk]] [[Jabber ID]] имеет вид user@gmail.com, а ''реальный адрес сервера'' - '''talk.google.com'''. В таком случае, если не предпринято специальных мер, клиент попытается соединиться с gmail.com, но не обнаружит там Jabber-сервера и не сможет подключиться. Во времена "молодости" Jabber решение было одно: указать адрес сервера в [[Настройки сети в Jabber-клиентах|настройке клиента]] в специальном поле "адрес для подключения" (или "хост", "адрес сервера", "сервер"). Такая же проблема возникает и в соединениях "сервер-сервер", и тут указывать для каждого домена свой сервер довольно сложно. Поэтому было решено сделать так, чтобы программы сами могли находить реальный адрес сервера, для чего решено было использовать специальные записи в DNS - тип "SRV".
Клиенты, умеющие считывать SRV запись DNS:
 
В настоящее время по стандарту используются такие записи SRV:
 
* '''_xmpp-client._tcp.EXAMPLE.COM''' (порт '''5222''') - чтобы указать, куда подключаться [[Клиенты Jabber|jabber-клиенту]] (нешифрованные и STARTTLS-подключения)
* '''_xmpps-client._tcp.EXAMPLE.COM''' (порт '''5223''') - аналогичная запись для TLS-подключений клиентов
* '''_xmpp-server._tcp.EXAMPLE.COM''' (порт '''5269''') - чтобы указать, куда подключаться [[Публичные серверы Jabber|jabber-серверу]]
* '''_xmpps-server._tcp.EXAMPLE.COM''' (порт '''5270''') - аналогичная запись для TLS-подключений серверов.
 
Для старых серверов иногда бывает необходимо указать еще одну запись - '''_jabber._tcp.domain.tld''', указывающую на адрес сервера.
Записи ниже служат для работы сервиса аудио/видеозвонков через jabber<ref name="avcalls">https://www.process-one.net/blog/how-to-set-up-ejabberd-video-voice-calling/</ref>:
 
* '''_stun._tcp.EXAMPLE.COM''' (порт '''3478''') - [[ru_wikipedia:STUN|STUN]] через [[ru_wikipedia:TCP|TCP]]
* '''_stun._udp.EXAMPLE.COM''' (порт '''3478''') - STUN через [[ru_wikipedia:UDP|UDP]]
* '''_stuns._tcp.EXAMPLE.COM''' (порт '''5349''') - шифрованный STUN через TCP
* '''_turn._tcp.EXAMPLE.COM''' (порт '''3478''') - [[ru_wikipedia:Traversal Using Relay NAT|TURN]] через [[ru_wikipedia:TCP|TCP]]
* '''_turn._udp.EXAMPLE.COM''' (порт '''3478''') - TURN через UDP
* '''_turns._tcp.EXAMPLE.COM''' (порт '''5349''') - шифрованный TURN через TCP
 
Клиенты, умеющие считывать SRV-запись DNS:
 
* [[Изображение:Icon 16-16 psi.png]] [[Psi]]
* [[Изображение:Icon 16-16 psi.png]] [[Psi]]
* [[Изображение:Logo 16-16 gajim.png]] [[Gajim]]
* [[Изображение:Logo 16-16 gajim.png]] [[Gajim]]
* [[Изображение:Icon 16-16 pidgin.png]] [[Pidgin]]
* [[Изображение:Icon 16-16 pidgin.png]] [[Pidgin]]
* [[Файл:Conversations logo.png|16px|link=Conversations]]&nbsp;[[Conversations]]
* [[Файл:Quicksy logo.png|16px|link=Quicksy]]&nbsp;[[Quicksy]]
* [[Файл:Blabber logo android.png|16px|link=Blabber.im]]&nbsp;[[Blabber.im]]
* [[Изображение:Jabbim logo 16-16.png]] [[Jabbim]]
* [[Изображение:Jabbim logo 16-16.png]] [[Jabbim]]
* [[Изображение:Icon 16-16 miranda.png]] [[Miranda]]
* [[Изображение:Icon 16-16 miranda.png]] [[Miranda]]
* [[Изображение:Logo 16-16 qip-logo.png.png]] [[QIP Infium]]
* [[Изображение:Logo 16-16 qip-logo.png.png]] [[QIP Infium]]
* [[Изображение:Logo 16-16 bombus.png]] [[Bombus]]
* [[Изображение:Logo 16-16 bombus.png]] [[Bombus]] и [[Bombus-ng]]
* [[Изображение:Logo 16-16 tkabber.png]] [[Tkabber]]
* [[Изображение:Logo 16-16 tkabber.png]] [[Tkabber]]
* [[Изображение:Icon 16-16 pandion.png]] [[Pandion]]
* [[Изображение:Icon 16-16 pandion.png]] [[Pandion]]
* [[Изображение:Logo 16-16 jajc.png]] [[JAJC]]
* [[Изображение:Logo 16-16 jajc.png]] [[JAJC]]
* [[Изображение:Yaonline 16 logo.png]] [[Я.Онлайн клиент|Я.Онлайн]]
* [[Изображение:Logo 16-16 coccinella.png]] [[Coccinella]]


==Сноски==
<references/>
==Ссылки==
==Ссылки==


[[JRD:DNS SRV|Подробнее о SRV-записи]] на [[JRD:|JRuDevels Wiki]]
* [[JRD:DNS SRV|Подробнее о SRV-записи]] на [[JRD:|JRuDevels Wiki]]
* [https://jms1.net/jabberd2/srv.shtml Генератор SRV-записей для Jabber]


[[Category:Сеть]][[Category:Тонкости работы]]
[[Category:Сеть]][[Category:Тонкости работы]][[Категория:Свой сервер]]

Текущая версия на 17:32, 25 сентября 2022

Иногда возникает ситуация, когда реальный адрес сервера не совпадает с адресом из JID'а. Например, в случае с Google Talk Jabber ID имеет вид user@gmail.com, а реальный адрес сервера - talk.google.com. В таком случае, если не предпринято специальных мер, клиент попытается соединиться с gmail.com, но не обнаружит там Jabber-сервера и не сможет подключиться. Во времена "молодости" Jabber решение было одно: указать адрес сервера в настройке клиента в специальном поле "адрес для подключения" (или "хост", "адрес сервера", "сервер"). Такая же проблема возникает и в соединениях "сервер-сервер", и тут указывать для каждого домена свой сервер довольно сложно. Поэтому было решено сделать так, чтобы программы сами могли находить реальный адрес сервера, для чего решено было использовать специальные записи в DNS - тип "SRV".

В настоящее время по стандарту используются такие записи SRV:

  • _xmpp-client._tcp.EXAMPLE.COM (порт 5222) - чтобы указать, куда подключаться jabber-клиенту (нешифрованные и STARTTLS-подключения)
  • _xmpps-client._tcp.EXAMPLE.COM (порт 5223) - аналогичная запись для TLS-подключений клиентов
  • _xmpp-server._tcp.EXAMPLE.COM (порт 5269) - чтобы указать, куда подключаться jabber-серверу
  • _xmpps-server._tcp.EXAMPLE.COM (порт 5270) - аналогичная запись для TLS-подключений серверов.

Для старых серверов иногда бывает необходимо указать еще одну запись - _jabber._tcp.domain.tld, указывающую на адрес сервера. Записи ниже служат для работы сервиса аудио/видеозвонков через jabber[1]:

  • _stun._tcp.EXAMPLE.COM (порт 3478) - STUN через TCP
  • _stun._udp.EXAMPLE.COM (порт 3478) - STUN через UDP
  • _stuns._tcp.EXAMPLE.COM (порт 5349) - шифрованный STUN через TCP
  • _turn._tcp.EXAMPLE.COM (порт 3478) - TURN через TCP
  • _turn._udp.EXAMPLE.COM (порт 3478) - TURN через UDP
  • _turns._tcp.EXAMPLE.COM (порт 5349) - шифрованный TURN через TCP

Клиенты, умеющие считывать SRV-запись DNS:

Сноски[править]

Ссылки[править]