【好书精读】网络是怎样连接的 向 DNS 服务器查询 Web 服务器的 IP 地址

(该图由AI制作 学习AI绘图 联系我)

目录

IP 地址的基本知识

实际的 IP 地址

域名和 IP 地址并用的理由 

Socket 库提供查询 IP 地址的功能

通过解析器向 DNS 服务器发出查询

解析器的内部原理


IP 地址的基本知识

  1. 生成 HTTP 消息
  2. 根据域名查询 IP 地址
  3. 委托操作系统 消息发送给 Web 服务器
在委托操作系统发送消息时 必须要提供的 不是通信对象的域名,而是它的 IP 地址

【好书精读】网络是怎样连接的 向 DNS 服务器查询 Web 服务器的 IP 地址_第1张图片

实际的 IP 地址

【好书精读】网络是怎样连接的 向 DNS 服务器查询 Web 服务器的 IP 地址_第2张图片

域名和 IP 地址并用的理由 

简单来说就是效率

Socket 库提供查询 IP 地址的功能

Socket 库是用于调用网络功能的程序组件集合。

通过解析器向 DNS 服务器发出查询

【好书精读】网络是怎样连接的 向 DNS 服务器查询 Web 服务器的 IP 地址_第3张图片

  1. 调用解析器后解析器会向 DNS 服务器发送查询消息
  2. DNS 服务器会返回响应消息
根据域名查询 IP 地址时,浏览器会使用 Socket 库中的解析器

解析器的内部原理

应用程序调用解析器时,解析器内部是怎样工作的

【好书精读】网络是怎样连接的 向 DNS 服务器查询 Web 服务器的 IP 地址_第4张图片

网络应用程序 \rightarrow 调用解析器 \rightarrow 控制流程转移

解析器开始运行 \rightarrow 当控制流程转移到解析器后,解析器 \overset{generate}{\rightarrow}发送给 DNS 服务器的查询消息器 \overset{send}{\rightarrow} DNS 服务器
\overset{entrust}{\rightarrow} 操作系统内部协议栈 \rightarrow  DNS服务器 ④⑤ \rightarrow IP 地址会被写入响应消息并返回给客户端( \rightarrow 返回
解析器的工作就完成了,控制流程重新回到应用程序(浏览器)

补充:DNS 服务器发送消息时我们当然也需要知道 DNS 务器的 IP 地址只不过这个 IP 地址是作为 TCP/IP 的一个设置项目事先设 置好的不需要再去查询

你可能感兴趣的:(计算机网络,服务器,运维)