XMPP/Jabber服务器的SRV DNS配置

来源:百度文库 编辑:神马文学网 时间:2024/05/17 02:22:15
通常XMPP client连接服务器是无须指定IP的,比如登录 gtalk, 只需填入账号 username@gmail.com 及密码,标准的客户端都可以自动解析需要的服务器和端口连接到服务器上。这个解析就是通过DNS的SRV record来实现的。

标准的 XMPP client解析的流程为(以timyang.net为例)
  1. 解析 "_xmpp-client._tcp.timyang.net" ,获得连接的服务器和端口;
  2. 如果失败,则解析 "_jabber._tcp.timyang.net",这个主要针对老的服务器配置;
  3. 如果还是失败,则客户端认为该域没有配置SRV记录,则直接解析"timyang.net"并使用默认端口5222连接。
SRV配置方法可参看:SRV record

具体的格式为
_Service._Proto.Name TTL Class SRV Priority Weight Port Target

可使用 Linux 命令 dig 查看设置结果。

$ dig -t SRV _xmpp-client._TCP.gmail.com

; <<>> DiG 9.4.2-P2 <<>> -t SRV _xmpp-client._TCP.gmail.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53058
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;_xmpp-client._TCP.gmail.com.   IN   SRV

;; ANSWER SECTION:
_xmpp-client._TCP.gmail.com. 85182 IN   SRV   20 0 5222 talk3.l.google.com.
_xmpp-client._TCP.gmail.com. 85182 IN   SRV   20 0 5222 talk4.l.google.com.
_xmpp-client._TCP.gmail.com. 85182 IN   SRV   5 0 5222 talk.l.google.com.
_xmpp-client._TCP.gmail.com. 85182 IN   SRV   20 0 5222 talk1.l.google.com.
_xmpp-client._TCP.gmail.com. 85182 IN   SRV   20 0 5222 talk2.l.google.com.

;; Query time: 202 msec
;; SERVER: 208.67.222.222#53(208.67.222.222)
;; WHEN: Tue Jan 20 10:29:59 2009
;; MSG SIZE rcvd: 234