我不是在问DNS是如何将域名转换为IP地址的“事情” - 我可以找到丰富的非常好的信息。我似乎无法找到描述的内容是应用程序如何与DNS进行交互以建立双方之间的连接。我的错误理解在我写这个问题的时候会变得很清楚 - 这不是刻意的,我只是无法理解这种“DNS互动”。在会话建立过程中的什么时候是DNS“名为”
如果有一个网络链接(我没有找到)解释我的问题的答案,请提供。
让我给一个简单的场景。我想访问我最喜欢的网站,果味派。
所以我输入到网页浏览器:http://www.fruity-pies.com
现在,早在“连接过程”该地址需要转换成IP地址 - 这就是DNS不适合我。 DNS,或者更准确地说BIND(?),可以像HTTP那样在应用层“起作用”。所以我认为HTTP(或者我使用的任何服务,比如ftp)“知道”需要调用DNS/BIND(?)。发送的是域名fruity-pies.com,返回的是该资源的IP地址213.1.19.34。这是怎么回事?如果这是正确的,那么每个应用程序层进程都必须让代码“调用”DNS,并且重复对我来说似乎不正确。
尽管应用程序已从DNS接收到IP地址,但这仅在网络层变得重要。那么从应用层传递到传输层的IP地址是什么,但是被忽略了,因为它在传输层不相关?传输层将原始消息拆分为数据包并添加端口号以标识哪个进程在目的地处理消息。然后数据包通过IP地址(来自与DNS/BIND的应用层交互)传递到将IP地址作为头部的网络层?那是对的吗?
对不起,如果这是一个误解,但现在强调我的主要问题是DNS/BIND如何适应通信的设置。我可以看到,一旦IP地址解析完毕,DNS/BIND就不再需要这种特定的通信。