2016-08-05 61 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