2016-08-05 33 views
0

Ich studiere über DNS und möchte über diese Informationen verstehen, weil ich nicht vollständig verstehen konnte.RFC 1035 Header Struktur

Der Header enthält die folgenden Felder:

       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     | 
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 

Ich möchte wissen, was diese Zahlen an der Spitze bedeuten.

Antwort

0

Die Zahlen am oberen Rande sind einfach die Bit-Zahlen in dem 16-Bit-Wort, obwohl wie bei der RFC-Serie von Dokumenten gemeinsam ist, dass sie von höchstwertigen Bits-mindestens bestellt sind, anstelle des (mehr intuitiv) andersherum.

So zum Beispiel bei einem gegebenen Array data von Oktetts diesen Header enthält, lautet die ID:

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

und der QR-Bit würde das höchstwertige Bit von data[2]

+0

ok so sein -> '0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 'Dies ist das 16-Bit-Wort. und über -> '1 1 1 1 1 1' was das ist? Danke für deine Antwort. –

+0

Die '1 sind nur die "Zehner" für die "0 1 2 3 4 5" unter ihnen, so dass sie von 0 gehen .. 15 – Alnitak

+0

und Nein, ich weiß nicht, warum der RFC-Autor entschied, sie vertikal zu schreiben statt horizontal. Das nächste Mal, wenn ich ihn sehe, werde ich fragen. – Alnitak