为什么DNS查询不返回子网掩码?

什拉德亚·桑德雷

DNS服务器为什么不提供所查询主机名的子网掩码?为了转发到下一跳,路由表匹配算法(最长前缀匹配)需要IP地址以及子网掩码。那么,DNS服务器是否也不应返回子网掩码,以便将数据包路由到正确的下一跳?
我看到AnswersDNS查询响应字段仅包含以下值(在Wireshark中):

Answers
    google.com: type A, class IN, addr 216.58.197.78
        Name: google.com
        Type: A (Host Address) (1)
        Class: IN (0x0001)
        Time to live: 300
        Data length: 4
        Address: 216.58.197.78

那么,谁提供子网掩码来确定特定数据包的下一跳google.com呢?

沉重的

简短的答案是DNS与配置路由没有任何关系,有两件事完全不同。

将路由表视为一组规则,这些规则确定如何从计算机中设置IP数据包。路由规则告诉您的计算机,下一跳路由器在哪里,并允许您根据IP地址和网络掩码将不同的IP组发送到不同的路由器。

DNS与路由无关。收到DNS响应后,您的计算机可能会尝试与DNS响应中的IP地址建立连接。建立此连接时,网络堆栈将使用路由表中的IP /网络掩码组合来确定路由表中的哪个条目与目标IP匹配(或者如果不匹配,它将选择默认路由)。然后,堆栈使用路由表中的此项来确定将数据包发送到何处,以便最终将其发送到目标IP。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章