发信人: sage.cao(sage)
整理人: amac(2002-05-05 08:54:43), 站内信件
|
5.2.7. QNAME=USC-ISIC.ARPA,QTYPE=A
从A.ISI.EDU的响应如下:
+---------------------------------------------------+
Header | OPCODE=SQUERY, RESPONSE, AA |
+---------------------------------------------------+
Question | QNAME=USC-ISIC.ARPA., QCLASS=IN, QTYPE=A |
+---------------------------------------------------+
Answer | USC-ISIC.ARPA. 86400 IN CNAME C.ISI.EDU. |
| C.ISI.EDU. 86400 IN A 10.0.0.52 |
+---------------------------------------------------+
Authority | <empty> |
+---------------------------------------------------+
Additional | <empty> |
+---------------------------------------------------+
请注意,头中的AA域保证匹配的QNAME是认证过的,但对于C.ISI.EDU的数据是不是认证的可没有说,由于A.ISI.EDU可能是ARPA域和ISI.EDU的认证权威,而且找到了USC-ISIC.ARPA和C.ISI.EDU的数据,因此此响应是可能的。如果相同的查询发到C.ISI.EDU,响应差不多:
+---------------------------------------------------+
Header | OPCODE=SQUERY, RESPONSE, AA |
+---------------------------------------------------+
Question | QNAME=USC-ISIC.ARPA., QCLASS=IN, QTYPE=A |
+---------------------------------------------------+
Answer | USC-ISIC.ARPA. 86400 IN CNAME C.ISI.EDU. |
+---------------------------------------------------+
Authority | ISI.EDU. 172800 IN NS VAXA.ISI.EDU. |
| NS A.ISI.EDU. |
| NS VENERA.ISI.EDU. |
+---------------------------------------------------+
Additional | VAXA.ISI.EDU. 172800 A 10.2.0.27 |
| 172800 A 128.9.0.33 |
| VENERA.ISI.EDU. 172800 A 10.1.0.52 |
| 172800 A 128.9.0.32 |
| A.ISI.EDU. 172800 A 26.3.0.103 |
+---------------------------------------------------+
响应包括对别名USC-ISIC.ARPA的认证响应,而且包括一个对ISI.EDU的推荐。
5.2.8. QNAME=USC-ISIC.ARPA,QTYPE=CNAME
如果查询发到A.ISI.EDU或C.ISI.EDU,响应如下:
+---------------------------------------------------+
Header | OPCODE=SQUERY, RESPONSE, AA |
+---------------------------------------------------+
Question | QNAME=USC-ISIC.ARPA., QCLASS=IN, QTYPE=A |
+---------------------------------------------------+
Answer | USC-ISIC.ARPA. 86400 IN CNAME C.ISI.EDU. |
+---------------------------------------------------+
Authority | <empty> |
+---------------------------------------------------+
Additional | <empty> |
+---------------------------------------------------+
因为QTYPE=CNAME,CNAME RR本身就响应了查询,服务器不用查询别的东西。
5.3. 解析例子
下面的例子表示了resolver的动作,我们假设resolver开始时没有缓冲,我们假设查询主机在26号网络,而且它的SBELT如下:
Match count = -1
SRI-NIC.ARPA. 26.0.0.73 10.0.0.51
A.ISI.EDU. 26.3.0.103
其中的匹配记数为-1,表示服务器不靠近目标,这个靠近不靠近是一个相对值,不能精确表示什么,它为以后的算法提供了一个数据。下面的例子显示缓冲的使用,所以每个例子都假设前一个例子中的查询已经完成。
5.3.1. 解析ISI.EDU的MX
假设第一个解析是为了解析[email protected]的地址。resolver会检查缓冲,但空的缓冲区可是帮不上什么忙,resolver然后会查询ISI.EDU,EDU和根域,查询也失败了,于是resolver就从SBELT中获得数据,并复制到SLIST中。此时resolver会检查3个有用的服务器地址进行尝试,因为resolver在26号网络,它会首先选择26.0.0.73或26.3.0.103,发出的请求如下:
+---------------------------------------------------+
Header | OPCODE=SQUERY |
+---------------------------------------------------+
Question | QNAME=ISI.EDU., QCLASS=IN, QTYPE=MX |
+---------------------------------------------------+
Answer | <empty> |
+---------------------------------------------------+
Authority | <empty> |
+---------------------------------------------------+
Additional | <empty> |
+---------------------------------------------------+
resolver会等待结果,如果超时,它会尝试另一个地址,下来是相同服务器的不同地址,最后再试试试过的地址,它最终可能从SRI-NIC.ARPA获得响应:
+---------------------------------------------------+
Header | OPCODE=SQUERY, RESPONSE |
+---------------------------------------------------+
Question | QNAME=ISI.EDU., QCLASS=IN, QTYPE=MX |
+---------------------------------------------------+
Answer | <empty> |
+---------------------------------------------------+
Authority | ISI.EDU. 172800 IN NS VAXA.ISI.EDU. |
| NS A.ISI.EDU. |
| NS VENERA.ISI.EDU.|
+---------------------------------------------------+
Additional | VAXA.ISI.EDU. 172800 A 10.2.0.27 |
| 172800 A 128.9.0.33 |
| VENERA.ISI.EDU. 172800 A 10.1.0.52 |
| 172800 A 128.9.0.32 |
| A.ISI.EDU. 172800 A 26.3.0.103 |
+---------------------------------------------------+
resolver发现响应是给出的推荐服务器比现在的SLIST要好,resolver会缓冲响应中的信息,并用它建立新的SLIST:
Match count = 3
A.ISI.EDU. 26.3.0.103
VAXA.ISI.EDU. 10.2.0.27 128.9.0.33
VENERA.ISI.EDU. 10.1.0.52 128.9.0.32
A.ISI.EDU在列表上,这是巧合,resolver将再一次开始发送,等待,最终得到响应:
+---------------------------------------------------+
Header | OPCODE=SQUERY, RESPONSE, AA |
+---------------------------------------------------+
Question | QNAME=ISI.EDU., QCLASS=IN, QTYPE=MX |
+---------------------------------------------------+
Answer | ISI.EDU. MX 10 VENERA.ISI.EDU. |
| MX 20 VAXA.ISI.EDU. |
+---------------------------------------------------+
Authority | <empty> |
+---------------------------------------------------+
Additional | VAXA.ISI.EDU. 172800 A 10.2.0.27 |
| 172800 A 128.9.0.33 |
| VENERA.ISI.EDU. 172800 A 10.1.0.52 |
| 172800 A 128.9.0.32 |
+---------------------------------------------------+
resolver缓冲结果,同时返回结果给客户。
5.3.2. 获得地址26.6.0.65的主机名
resolver会将查询转换为对65.0.6.26.IN-ADDR.ARPA.有PTR RR=查询。此信息不在缓冲中,所以要查询别的服务器,又是没有找到合适的服务器,需要再次使用SBELT。因为请求的数据在缓冲中两个服务器的认证数据中,所以响应如下所示:
+---------------------------------------------------+
Header | OPCODE=SQUERY, RESPONSE, AA |
+---------------------------------------------------+
Question | QNAME=65.0.6.26.IN-ADDR.ARPA.,QCLASS=IN,QTYPE=PTR |
+---------------------------------------------------+
Answer | 65.0.6.26.IN-ADDR.ARPA. PTR ACC.ARPA. |
+---------------------------------------------------+
Authority | <empty> |
+---------------------------------------------------+
Additional | <empty> |
+---------------------------------------------------+
这会是一个对poneria.ISI.EDU的A请求,resolver找不到缓冲数据,但是能够在ISI.EDU的缓冲中的找到NS RR,使用这样的数据,它可以建立下面的SLIST表:
Match count = 3
A.ISI.EDU. 26.3.0.103
VAXA.ISI.EDU. 10.2.0.27 128.9.0.33
VENERA.ISI.EDU. 10.1.0.52
A.ISI.EDU列在最前面,因为它是最合适的服务器,A.ISI.EDU和resolver在同一网络上。上表中有许多服务器,其中之一就可以响应请求。
----
 
SAGE = Semi-Automatic Ground Environment 半自动地面防空警备系统[装置],最早的网络系统
Sage[ seidV ] adj.贤明的, 明智的, 审慎的
n.贤人, 圣人
sage n. 鼠尾草(花语:尊敬,轰轰烈烈的爱......)
|
|