《网络是怎样连接的》1.2、1.3节图表(自用)

图2.1:浏览器调用socket库中的解析器,向DNS服务器询问域名的ip地址

(图中的gethostbyname是解析器的名称;协议栈是操作系统的网络控制软件,也称协议驱动、TCP/IP驱动)

《网络是怎样连接的》1.2、1.3节图表(自用)_第1张图片

图2.2 DNS服务器根据客户端查询信息查询IP

《网络是怎样连接的》1.2、1.3节图表(自用)_第2张图片

来自客户端的查询消息包含以下3种信息。

(a)域名服务器、邮件服务器(邮件地址中@后面的部分)的名称

(b)Class

在最早设计DNS方案时,DNS在互联网以外的其他网络中的应用也被考虑到了,而Class就是用来识别网络的信息。不过,如今除了互联网并没有其他的网络了,因此Class的值永远是代表互联网的IN

(c)记录类型

表示域名对应何种类型的记录。例如,当类型为A时,表示域名对应的是IP地址;当类型为MX时,表示域名对应的是邮件服务器。对于不同的记录类型,服务器向客户端返回的信息也会不同,DNS服务器上事先保存有前面这3种信息对应的记录数据。

还有很多其他的类型。例如根据IP地址反查域名的PTR类型,查询域名相关别名的CNAME类型,查询DNS服务器IP地址的NS类型,以及查询域名属性信息的SOA类型等。

图2.3 DNS服务器接力查询域名ip的过程

《网络是怎样连接的》1.2、1.3节图表(自用)_第3张图片

(1)每台DNS服务器都可以找到根域DNS服务器

(2)离客户端最近的的DNS服务器就是客户端网络设置里填写的DNS服务器地址

(3)一台DNS服务器管理多个域

(4)上图中从根域DNS服务器层层下查的过程的前提是,离客户端最近的DNS服务器中没有这个域名的资源记录,同时它的缓存中也没有查找过该域名的记录。

你可能感兴趣的:(网络)