Структура заголовка RFC 1035

Я изучаю DNS и хотел бы понять об этой информации, потому что я не мог полностью понять.

Заголовок содержит следующие поля:

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

Я бы хотел знать, что означают эти цифры сверху.

1 ответ

Числа в верхней части - это просто битовые числа в 16-битном слове, хотя, как и в серии документов RFC, они упорядочены от старшего к младшему, а не (более интуитивно) наоборот.

Так, например, дан массив data октетов, содержащих этот заголовок, идентификатор будет:

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

и бит QR будет самым значительным битом data[2]

Другие вопросы по тегам