Я наткнулся на следующий пример создания контрольной суммы в Интернете:
Возьмите пример заголовка IP 45 00 00 54 41 e0 40 00 40 01 00 00 0a 00 00 04 0a 00 00 05
:
- Добавление полей вместе дает дополнение двухсумма
01 1b 3e
. - Затем, чтобы преобразовать его в дополнение, биты переноса добавляются к первым 16 битам:
1b 3e + 01 = 1b 3f
. - Наконец, дополнение к одномусумма взята, в результате чего получается значение контрольной суммы
e4c0
.
Мне было интересно, как IP-заголовок складывается вместе, чтобы получить 01 1b 3e
?