我知道可以将 IP 地址列入白名单/黑名单(例如,只允许从 VPN 内部联系几个外部 IP 地址)。但是由于 IP 地址目的地是递归 DNS 解析过程的结果(至少从我的理解来看)。
这是否意味着网络请求的 DNS 解析阶段在源和目标之间的网络通信之前完成,因此是一个与建立/维护连接完全分开的过程。这是否意味着 IP/TCP 完全不知道 DNS 主机名解析?
DNS 解析在哪里发生 WRT TCP/IP 堆栈?
我知道可以将 IP 地址列入白名单/黑名单(例如,只允许从 VPN 内部联系几个外部 IP 地址)。但是由于 IP 地址目的地是递归 DNS 解析过程的结果(至少从我的理解来看)。
这是否意味着网络请求的 DNS 解析阶段在源和目标之间的网络通信之前完成,因此是一个与建立/维护连接完全分开的过程。这是否意味着 IP/TCP 完全不知道 DNS 主机名解析?
DNS 解析在哪里发生 WRT TCP/IP 堆栈?
DNS 解析位于应用层:主机通过 DNS 与服务器通信,服务器封装在(通常)UDP(传输层)中,UDP封装在 IP 数据包(互联网层)中,通常封装在以太网帧(链路层)并发送到本地解析器或本地路由器以转发到解析器。
但是,正如您所说,这发生在主 TCP 连接之前。例如,在 Web 连接中www.example.com
,客户端将进行 DNS 解析www.example.com
以获取 IP 地址。
只有在获得地址后,客户端才会通过 TCP(传输层)打开一个 HTTP 连接(应用层),通过任何适当的链接(链路层)连接到 IP(互联网层)上的适当地址。