SRV: различия между версиями
Rain (обсуждение | вклад) м (добавил про _jabber._tcp) |
Rain (обсуждение | вклад) (Актуализировал) |
||
Строка 1: | Строка 1: | ||
Иногда возникает ситуация, когда реальный адрес сервера не совпадает с адресом из [[JID]]'а. Например, в случае с [[Google Talk]] [[Jabber ID]] имеет вид user@gmail.com, а ''реальный адрес сервера'' - '''talk.google.com'''. В таком случае, если не предпринято специальных мер, клиент попытается соединиться с gmail.com, но не обнаружит там Jabber сервера и не сможет подключиться. Во времена "молодости" Jabber решение было одно: указать адрес сервера в [[Настройки сети в Jabber-клиентах|настройке клиента]] в специальном поле "адрес для подключения" (или "хост", "адрес сервера", "сервер"). Такая же проблема возникает и в соединениях "сервер-сервер", и тут указывать для каждого домена свой сервер довольно сложно. Поэтому было решено сделать так, чтобы программы сами могли находить реальный адрес сервера, для чего решено было использовать специальные записи в DNS - тип "SRV". | Иногда возникает ситуация, когда реальный адрес сервера не совпадает с адресом из [[JID]]'а. Например, в случае с [[Google Talk]] [[Jabber ID]] имеет вид user@gmail.com, а ''реальный адрес сервера'' - '''talk.google.com'''. В таком случае, если не предпринято специальных мер, клиент попытается соединиться с gmail.com, но не обнаружит там Jabber-сервера и не сможет подключиться. Во времена "молодости" Jabber решение было одно: указать адрес сервера в [[Настройки сети в Jabber-клиентах|настройке клиента]] в специальном поле "адрес для подключения" (или "хост", "адрес сервера", "сервер"). Такая же проблема возникает и в соединениях "сервер-сервер", и тут указывать для каждого домена свой сервер довольно сложно. Поэтому было решено сделать так, чтобы программы сами могли находить реальный адрес сервера, для чего решено было использовать специальные записи в DNS - тип "SRV". | ||
В настоящее время | В настоящее время по стандарту используются такие записи 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 через 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]] | ||
Строка 16: | Строка 32: | ||
* [[Изображение:Yaonline 16 logo.png]] [[Я.Онлайн клиент|Я.Онлайн]] | * [[Изображение:Yaonline 16 logo.png]] [[Я.Онлайн клиент|Я.Онлайн]] | ||
* [[Изображение:Logo 16-16 coccinella.png]] [[Coccinella]] | * [[Изображение:Logo 16-16 coccinella.png]] [[Coccinella]] | ||
==Сноски== | |||
<references/> | |||
==Ссылки== | ==Ссылки== |
Версия 12:29, 19 сентября 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:
- Psi
- Gajim
- Pidgin
- Jabbim
- Miranda
- QIP Infium
- Bombus и Bombus-ng
- Tkabber
- Pandion
- JAJC
- Я.Онлайн
- Coccinella