Я прочитал IP RFC, и там он говорит, что 4 первых бита IP-заголовка - это версия. На чертеже также показано, что биты 0-3 являются версией.Неполадки протокола заголовка IP
http://tools.ietf.org/html/rfc791#section-3.1
Но когда я смотрю на первый байт заголовка (как захвачено с использованием PCAP ОМТ) Я вижу этот байт:
0x45
Это заголовок IP версии 4, но очевидно, биты с 4 по 7 равны 4, а не биты от 0 до 3, как я ожидал.
Я ожидал, что побито и на первом байте, и 0x0F получит мне версию, но мне кажется, что мне нужно и с 0xF0.
Я что-то упустил? Понимание чего-то неправильно?
Похоже на то, что и проблема (http://en.wikipedia.org/wiki/Endianness). – erenon
Я тоже думал об эндианнах, но понял, что он добился правильного результата. @Mormegil ответ правильный. –
Обратите внимание, что «endianness» sensu stricto относится к упорядочению _bytes_ в более крупных структурах, а не к нумерации _bits_ внутри байта. – Mormegil