在协议栈的哪个层发生DNS?

use*_*415 11 dns tcp http

我们以浏览器为例.HTTP请求不需要包含任何IP地址.那么www.example.com会被翻译成TPC层的IP地址吗?

编辑

似乎DNS用于告诉TCP要连接的IP地址.那么HTTP调用DNS吗?

有了这个堆栈:

HTTP


DNS


TCP

小智 17

DNS是一种可以说属于应用程序级别的协议,但它本身就是一个单独的应用程序,它利用整个TCP/IP"堆栈".(LDAP类似,如果这有助于"放置"DNS.)它是一个基本的"电话簿"式的Internet目录,并且绝对没有任何与HTTP协议有关的内容.DNS使用UDP和TCP传输来查询其他分布式DNS服务器以回答客户端问题,例如"哪些IP地址与名称www.google.com相关联?".一旦客户端应用程序(如Web浏览器)具有可用于连接的IP地址,DNS就会失效.浏览器打开与IP地址的TCP连接,然后通过该TCP传输会话启动HTTP协议以交谈Web内容.


Aln*_*tak 8

在OSI堆栈术语中,DNS 与应用层(第7层)中的HTTP 并行运行.

DNS实际上是一个被调用来帮助HTTP应用程序的应用程序,因此不会在OSI堆栈中"位于"HTTP下面.

DNS本身也使用UDP而且很少使用TCP,而这两者又使用IP.