Структура IP: почему HeaderLength опережает версию
Это мой код ctypes в Python:
class IP(Structure):
_fields_ = [
('ip_hl', c_ubyte, 4),
('ip_version', c_ubyte, 4),
('tos', c_ubyte),
('len', c_ushort),
('id', c_ushort),
('offset', c_ushort),
('ttl', c_ubyte),
('protocol_num', c_ubyte),
('sum', c_ushort),
('src', c_ulong),
('dst', c_ulong)
]
Как мы все знаем, в заголовке IP 0-3bit - это версия, а 4-7bit - это HeaderLength, но почему в этом коде HeaderLength опережает версию