2016-08-05 65 views
0

我正在研究dns,并想了解这些信息,因为我无法完全理解。RFC 1035头结构

报头包含以下字段:

       1 1 1 1 1 1 
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
|      ID      | 
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
|QR| Opcode |AA|TC|RD|RA| Z | RCODE | 
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
|     QDCOUNT     | 
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
|     ANCOUNT     | 
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
|     NSCOUNT     | 
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
|     ARCOUNT     | 
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 

我想知道是什么意思在上面这个数字。

回答

0

横跨顶部的数字仅仅是16位字中的位号,虽然这是众所周知的与RFC系列文件,他们是从最显著位至少有序,而不是(更直觉)其他方式。

因此,例如,给定包含该标题的八位位组的阵列data,该ID将是:

(data[0] << 8) | data[1] 

和QR比特将是data[2]

+0

确定最显著位,所以 - > '0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5'这是16位字。和关于 - >'1 1 1 1 1 1 1'这是什么?感谢您的回答。 –

+0

'1'只是它们下面的“0 1 2 3 4 5”的“十”,所以它们从0 .. 15 – Alnitak

+0

开始并且不,我不知道RFC作者为什么决定垂直写入它们而不是水平。下次我看到他时,我会问。 – Alnitak