在DNS中,很久以前就定义了SRV记录,它允许将某个域的某些服务定向到不同的机器。例如,我是如何为在example.com端口389上服务的域server1.example.net发布LDAP服务的:
_ldap._tcp.example.com IN SRV 100 1 389 server1.example.net 可能有不止一个这样的记录,这样我就可以实现一些负载平衡。
一些服务通常支持相应的DNS查找,包括LDAP、Kerberos、SIP、XMPP和其他一些服务。然而,对于电子邮件,我们使用了一种称为MX记录的“缩减形式”的D4记录。它不允许我们定义权重和更改端口(它总是使用tcp 25)。有些服务根本不使用这种类型的查找,例如,HTTP客户端从不发出相应的DNS请求,并且总是连接到相应主机的TCP端口80 (或HTTPS的端口443 )。
最近出现了一个新草案,它建议使用特殊类型的DNS记录,称为SVCB记录。它还定义了一种特殊类型的SVCB记录,即HTTPS记录。在草案中,作者确认这是一种新型的SRV记录。
所以我想了解为什么他们发明了一种具有全新语义的新类型的记录,而不是推动采用众所周知和广泛使用的SRV记录?为什么不使用类似的东西
_https._tcp.example.net IN SRV 100 1 443 server2.example.com缺点是相似的:这需要软件的改变。旧的客户端软件不会进行SRV或SVCB/HTTPS请求,因此也不能工作。
然而,SVCB还有一个巨大的额外缺点:记录类型是新的,因此它还需要DNS服务器更新和管理员培训。顺便说一下,一个记录的语义并不是那么简单。
作为一个专业的管理员,有十几个公共DNS域名负责,我关注这一点。
什么是重要的优势?
发布于 2022-02-15 07:04:40
引用草稿,附录C.1
C.1. Differences from the SRV RR type
An SRV record [SRV] can perform a similar function to the SVCB
record, informing a client to look in a different location for a
service. However, there are several differences:
* SRV records are typically mandatory, whereas SVCB is intended to
be optional when used with pre-existing protocols.
* SRV records cannot instruct the client to switch or upgrade
protocols, whereas SVCB can signal such an upgrade (e.g. to
HTTP/2).
* SRV records are not extensible, whereas SVCB and HTTPS RRs can be
extended with new parameters.
* SRV records specify a "weight" for unbalanced randomized load-
balancing. SVCB only supports balanced randomized load-balancing,
although weights could be added via a future SvcParam.https://serverfault.com/questions/1093680
复制相似问题