SRV記錄(英語:Service Record,中文又名服務定位記錄)是域名系統中用於指定伺服器提供服務的位置(如主機名和端口)數據。此數據於RFC 2782中定義,類型代碼為33。部分協議,如會話發起協議(SIP)及可擴展消息與存在協議(XMPP)通常需要服務記錄的支持。
記錄格式
服務記錄的格式為:
_服务._协议.名称. TTL 类别 SRV 优先级 权重 端口 主机.
- 服務:服務的符號名稱。
- 協議:服務的傳輸協議,通常為TCP或UDP。
- 名稱:此記錄生效的所在域名,以半角逗號結尾。
- TTL:標準DNS存活時間值。
- 類別:標準DNS類別值(此值總為IN)。
- 優先級:目標主機的優先級,值越小越優先。
- 權重:相同優先度記錄的相對權重,值越大越優先。
- 端口:服務所在的TCP或UDP端口。
- 主機:提供服務的規範主機名,以半角句號結尾。
以下是區域文件中的服務記錄示例:
_minecraft._tcp.example.com. 86400 IN SRV 0 5 25565 mc.example.com.
此記錄指向在TCP端口25565上監聽Minecraft遊戲協議的 mc.example.com。此處的優先級為0,權重為5。
與MX記錄一樣,SRV記錄中的主機必須指向已有地址記錄(A或AAAA記錄)的主機名。指向帶有CNAME記錄的主機名則無效。
負載均衡
優先級值決定記錄數據的先後順序。客戶端應先嘗試使用優先級最高的數據,在連接失敗時嘗試更低優先級的數據。若一項服務有着同一優先級的多個SRV記錄,客戶端則應根據記錄中的權重進行負載均衡。下例中,優先度及權重值用於提供負載均衡與備份服務。
# _服務._協議.名稱. TTL 類別 SRV 優先級 權重 端口 主機.
_sip._tcp.example.com. 86400 IN SRV 10 60 5060 bigbox.example.com.
_sip._tcp.example.com. 86400 IN SRV 10 20 5060 smallbox1.example.com.
_sip._tcp.example.com. 86400 IN SRV 10 20 5060 smallbox2.example.com.
_sip._tcp.example.com. 86400 IN SRV 20 0 5060 backupbox.example.com.
前三個記錄優先度均為10,故客戶端將根據權重決定該聯繫哪台伺服器(主機及端口)。三個記錄的權重值相加為100,故60%的時間內客戶端使用 bigbox.example.com。剩下40%的時間內,客戶端會將請求發送給主機 smallbox1 和 smallbox2;其中的一半將發送給 smallbox1,另一半給 smallbox2。若bigbox
不可用,則剩餘兩台機器由於權重相同,其將共享負載。
若三台優先級為10的伺服器均不可用,則客戶端將使用下一優先級的記錄,即backupbox.example.com。這台機器可能為位於其他地理位置且不受造成上述三台機器不可用原因影響的主機。
由於SRV記錄所提供的記錄均為靜態數據,其負載均衡能力天生有限。記錄無法根據伺服器的當前負載進行變通,除非TTL值足夠低(一分鐘或更小)才能使優先級(或權重值)迅速更新。
用法
- CalDAV或CardDAV
- Ceph[1]
- DANE
- DNS服務探索(DNS-SD)
- 主機標識協議
- Kerberos[2]
- LDAP[3]
- SMTP郵件投遞、POP及IMAP[4]
- Matrix.org[5]
- Minecraft[6]
- IMPS[7]
- Puppet[8]
- 會話發起協議
- STUN
- Teamspeak 3[9][10]
- XMPP[11]
在微軟Windows 2000中,客戶端查詢SRV服務來確定特定服務的域名控制器。SRV記錄同時也被Outlook 2007、2010及macOS 10.6郵件使用來定位Exchange自動發現服務。[12] 微軟Windows網絡域名控制器在DNS中註冊其活動目錄的服務類型。
另請參閱
參考文獻
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.