DNS的主要作用是将域名转换成对应的IP地址,为什么一定要成为应用层协议呢?
我认为 DNS 是一个应用层协议,因为例如,如果我想创建一个 TCP 连接,我需要第 4 层中的目标 IP 地址,我正确吗?还有另一个答案吗?
谢谢!
DNS的主要作用是将域名转换成对应的IP地址,为什么一定要成为应用层协议呢?
我认为 DNS 是一个应用层协议,因为例如,如果我想创建一个 TCP 连接,我需要第 4 层中的目标 IP 地址,我正确吗?还有另一个答案吗?
谢谢!
DNS是应用层协议,因为DNS查询和应答是应用层通信。应用层只理解 DNS 数据包中的查询和应答部分。所以应用层DNS查询/应答被封装在第4层udp然后是第3层IP......等等。
物理、数据链路、网络或传输层的协议不使用名称。只有应用程序需要使用名称,因此 DNS 是一种应用层协议,因为它允许应用程序将名称转换为网络地址。
我认为 DNS 是一个应用层协议,因为例如,如果我想创建一个 TCP 连接,我需要第 4 层中的目标 IP 地址,我正确吗?
IP 是第 3 层协议。
DNS 只是一种将主机名转换为 IP 地址的服务,您需要这样做是因为人类更擅长记住名称而不是数字。
因此,一旦您输入网站名称,您的浏览器客户端就会有一些 API 来要求操作系统为您输入的名称发出 DNS 请求。
DNS 请求被传输到位于 Internet 某处的特定 DNS 服务器 IP 地址(您手动配置或通过 DHCP 更新接收的地址)。为了让那个服务器知道你特别想要哪个服务(因为这个服务器也可能是一个 HTTP 服务器)你还需要指定一个端口号,DNS 使用 UDP 端口 53。因此,因此它必须是一个应用层协议。
如果您的 DNS 服务器始终驻留在您的本地子网上,您可以使用第 4 层协议来实现这一点(服务器将通过专用于此服务的唯一多播 IP 地址识别传入请求 - 例如与 OSPF 相同的机制)。