2009-11-16 7 views
3

Вопрос в моей домашней домашней работе - это то, почему нужно использовать свое дополнение вместо суммы бит в контрольной сумме TCP. Я не могу найти его в своей книге, и Google не помогает. Любой шанс, который кто-то может указать мне в правильном направлении?Дополнение вместо суммы битов

Спасибо, Mike

+6

BTW, это дополнение (с 'e') –

ответ

3

Поскольку это домашнее задание вопрос, вот подсказка:

Предположим, вы рассчитали второй контрольную сумму всего пакета, в том числе первой контрольной суммы? Есть ли математическое выражение, определяющее результат?

+0

Да. Спасибо за совет. – 2009-11-16 04:00:41

2

Вероятно, наиболее важным является то, что он является обратным порядком байтов независимым.

Маленькие компьютеры Endian хранят шестнадцатеричные номера с последним LSB (например, процессоры Intel). Большие компьютеры Endian сначала используют LSB (например, мэйнфреймы IBM). Когда перенос добавляется в LSB для формирования суммы дополнения 1), не имеет значения, добавим ли мы 03 + 01 или 01 + 03: результат будет таким же.

Другие преимущества включают в себя простоту проверки передачи и вычисления контрольной суммы, а также множество способов ускорить расчет, обновив только измененные поля IP.

Ref: http://www.netfor2.com/checksum.html