正向 DNS 查找中如何知道端口号?

正向 DNS 查找中如何知道端口号?

假设我在浏览器中输入网站名称 www.yahoo.com。正向 DNS 查找将获取服务器的 IP 地址,但客户端(浏览器)如何知道应用程序正在运行的端口号?

答案1

只要我们谈论网页浏览,这都是相当琐碎的事情。

假设你写入http://example.com。浏览器将连接到端口 80。同样https://example.com将连接到端口 443。

还可以将 Web 服务器配置为在备用端口上运行(例如端口 8080)。

在这种情况下,您需要写入:(http://example.com:8080/如果网站已加密,则需要写入 https)。


但是有时您会使用不同的应用程序连接到 IMAP、SMTP、SIP(IP 电话)等服务。

可以手动输入主机名、端口号等,但对于不太懂技术的人来说,他们更喜欢尽可能多的即插即用。

DNS 有答案:服务记录!

例如,您可能有以下 DNS 条目:

_imap._tcp.example.com   IN SRV mail.example.com 10 60 143 43200
_smtp._tcp.example.com   IN SRV mail.example.com 10 60 25 43200
mail.example.com               IN A 1.2.3.4

它的工作原理是,假设您有一个电子邮件地址[email protected]。当您首次设置邮件客户端时,它会首先询问您的用户名和密码,然后自行找出其余信息。

邮件客户端会依次进行 DNS 查找:“example.com 的 IMAP 服务在哪里?”

DNS 将回复:“主机 mail.example.com 具有 IMAP 服务并且它在端口 143 上运行”。

以下 DNS 条目显示:mail.example.com 的 IP 地址为 1.2.3.4。

SMTP 也适用同样的程序。


从最终用户的角度来看,他们所看到的只是要求输入用户名和密码,然后邮件客户端会说:“一切都已设置好,您可以使用了。”

维基百科对 SRV 记录有更详细的解释,比我在这里写的要详细。

看:https://en.m.wikipedia.org/wiki/SRV_record

相关内容